Forum > Games Discussion

Exanima

<< < (9/13) > >>

Asid:
Coffee Diary - March 2024
Mon, 4 March 2024




This has been a month of mostly wrapping things up and getting them ready for a release. There have been a lot of important core improvements that affect the entire game and content, so we want to get the game in testing and updated before moving on to other things. This includes the switch to 64 bit and optimisations to many parts of the engine, the overhauled terrain system and all related assets, improvements our physics engine and important new features, a complete graphical overhaul of the golem area, a huge rework and expansion of the Catacombs map and a few other smaller, but still important improvements. It's a lot.

Most recently we've been working on improvements and additions to our physics engine. These are things we've been wanting to do for some time and are extremely important for the future of the game. The core physics improvements are immediately obvious in gameplay, they make weapon interactions feel and function better in combat, they solve many problems and we're already noticing how they allow us to do more with level design and interaction. Last month we released a video where we showed what was basically a prototype version of new cloth and soft body features. This is something we hope to use extensively for things like clothing, plants, those creepy fleshy growths, sheets of paper and generally the many things that should be soft, flexible, floppy and squishy. This would allow a new level of immersion and interactivity. Dynamic physical interactions are at the core of Exanima's gameplay and immersive world, and this is something we want to extend to every part of it.

The key breakthrough we demonstrated in our video was a performant way to do polygonal collision on deformable bodies. While it's great that we're able to do realistic interactions between cloth and things like weapons, this provides a versatile solution for all sorts of soft bodies beyond cloth, where simpler methods could be considered sufficient. Since the video we've further improved our model, stress testing it and making it very functional and stable under many conditions and applications. We can drape cloth over objects, hold objects in nets and sacks and do all sort of tricky things that require a very stable and accurate model.

Performance is of course a major concern, we identified good, fast methods, but we still had to optimise what we showed then. We knew our prototype implementation could be made roughly 10 times faster, and we joked about making it 20 times faster, but that's what we did. Then we optimised it even more, and made it 40 times faster. This being physics, This being physics, it means a bigger performance budget for more cool things. Another important optimisation was making deformable bodies that aren't currently doing much and actively interacting with anything, or visible, or casting a visible shadow etc., go into an idle state where they cost virtually nothing. This is ultimately what allows us to have a huge number of these complex objects in an environment.

In keeping with Exanima's full interactivity, we also added the ability to move and drag cloth around with the cursor. Besides that consistent immersive feel, this has a number of gameplay implications that we're eager to explore. Another of Exanima's more unique features is perfect persistence of everything, this means that if you leave a piece of cloth draped over something in a particular way and exited your game, it has to be in the same exact position when you return to it.

We've also extended our development tools to support these new features and generally improve our workflow for all physics. We've been constantly making improvements to our tools and also making them more intuitive and user friendly, for eventual modding use and also if and when we expand our team.

There is so much we can do with these new features and we're very excited by the possibilities, but as usual much will be revealed when we add new content and gameplay where you can experience it fully first hand. Everything we listed up top and these core improvements are in the polishing stage now and we hope to begin testing in the next few days and get it all released for everyone soon after.

Best,
Bare Mettle

Asid:
Coffee Diary - April 2024
Mon, 1 April 2024



We've been testing the many changes to the game and our engine with insiders this past month, which especially considering the extent of the changes to engine code, has gone very smoothly. It all seems very stable and we didn't really run into serious issues, though some proved tricky to fix. Insiders are always very thorough and meticulous, uncovering minute flaws and obscure little problems. We've done a few patches already, with many fixes and improvements to things both new and old.

We do still want to try to make a couple of improvements and additions for the full update, but things are in a pretty good place already so we're thinking to update the public test branch within the next few days to get things tested by more players and on more hardware. This basically includes physics engine improvements, some cloth physics, 64 bit, updated terrain system and assets, golems area graphical overhaul, a big expansion of the catacombs and a few other bits and bobs.

The physics are working better than ever, with more improvements we made during testing, and the performance increase is big, giving us a lot of headroom for more upgrades, new features and richer content. We are currently looking into some very interesting further core improvements we might be able to make, but it's a bit uncertain still and we are trying to move on to other things. There have also been general performance improvements, and better loading times too.

One of the features we're actively working on is the late game "save system", which is something that ties into the content and the player needs to discover and interact with, and comes with a few other additions. To support this we need new interaction mechanics, which we're implementing through a "placement zone system" which will support many things, like socketing items into elements of the environment, snapping objects into logical positions (e.g. torch in a holder, bar across a door) and just triggering all sorts of events when a particular thing or type of thing enters or is placed in a specific location. This opens up a bunch of new gameplay elements and interactivity. The concept is fairly simple, but the physics and persistence of the game do introduce a few complications, and we're going for a very versatile system, with core features that can be useful for other things too.

We did the thing again, where we invested in big core technologies and features for the future of the game, but we're wrapping this up now and moving on to gameplay systems and content additions. A lot of what we did here will be invaluable for some future content, and we like to tackle the most difficult problems first. The role system will be our next major focus, but we have a long list of features and additions to suit everyone's taste.

Best,

Bare Mettle

Asid:
Coffee Diary - May 2024
Mon, 6 May 2024



PHYSICS 2.0

We recently re-wrote a lot of our physics engine and optimised it for 64 bit, in the process we also made big improvements to collisions and some complex interactions. This has been in testing for a while now, and of course everything physics came under a lot of careful scrutiny, every little flaw exposed. Originally we designed our physics engine to tackle specific difficult problems, and we accepted that this came with some limitations and compromises. We should know by now that just won't do.

The level of physics simulation in our characters and combat isn't easy to do, we've improved it a lot over time, but of course it can always be better. We also have a dedicated portion of our playerbase that engages in "grappling", using weapons and shields to trip and throw opponents, pushing the limits of what the simulation can handle.

The collision improvements are big and definitely help, but there's a lot more to it. A quite evident flaw is things separating from each other. This is most obvious when a weapon separates from hands during difficult collisions because it's got nowhere to go. With collisions becoming more solid, this problem became more obvious, and when a weapon is used as a lever to throw an opponent, but it separates from the hands, then the opponent can slip between the weapon and the hands, or the weapon between the opponent's joints and body parts.

Another difficult problem is static friction. This is basically the increased friction between surfaces that are not moving relative to each other, and prevents any movement at all. In many situations correctly eliminating all movement and slow drift or jitter is very difficult and leads to all sort of problems. We had already improved friction, but while this addressed some important cases, others were still not very good, and objects slowly drifting when active remained a problem.

A related issue, but also a separate problem, is vertical stacking. Creating something like a pile of books or plates is a good example of this, which wasn't really possible and particularly erratic when disparate masses are involved.



This being a real time sim, we could improve all these issues with just increasing the simulation rate, but it would be very expensive and only an incremental improvement. With the recent upgrades and optimisations, we felt we had the foundations here to make some dramatic changes to how our physics engine works, to address all these issues and generally take our physics to another level. We considered these things already long ago, but it seemed too difficult and expensive, especially with our character physics, and we couldn't see how to do it without losing our engine's "special sauce". With these new foundations and uncompromising attitude we made a new effort and had a breakthrough.

This is a fundamental transformative change to our physics engine. We dramatically improved on all our problem areas. Collisions are even better still, the separating parts problem basically eliminated, friction and stacking vastly improved. We basically went from our physics engine being quite good at specific things to being much better at those and good at everything else too.

Great! But we weren't done yet. With everything being more "solid", the next link in the chain took all the stress and suffered. A character's joints and muscles, when placed under extreme stress, could overextend and dislocate. This was an existing problem, but exacerbated and highlighted by these changes. We also have a problem with weapons being light and nimble in the hands, but artificially heavier in the world, to make impacts feel stronger. This disparity in masses obviously causes some problems, and exerts even more stress on the joints.

To deal with this problem we made new tools that allow us to interactively modify and test joint and muscle configurations on characters. With these tools we were quickly able to improve muscle structure and overcome these issues too, while making characters feel much stronger and more controlled.

All these changes have dramatically improved the feel of combat, it feels tighter, more precise, more real. All hits and exchanges are extremely solid, footwork is more quick and precise and it can all take some serious abuse and still function correctly. It's not just combat that's improved, all physics interactions are much more robust and realistic, making the whole experience better, allowing us to do more with environment design and generally making our lives easier as developers.

We have made a few specific changes on the back of this, mainly to combat mechanics, and we also improved things like object interaction. We're still tweaking things, with so many core changes there need to be some adjustments, but we've set a great baseline already and this is a process that continues as we observe things and receive feedback. This better physics foundation is obviously huge in importance and scope for this game, and supports key mechanical improvements and future additions to combat, and everything else.

SOME GRAPHICS AND CONTENT STUFF TOO

As much as we've done on physics, we have been working on a few other things besides. We've been making more updates to the game's content and we've been improving and adding graphics features to support new content. We've made some general improvements to lighting and post-processing, which particularly benefit outdoor environments, but also make everything a bit brighter and clearer without compromising the mood and darkness.

There's been a bit more in the works here in terms of graphical features and content to support the next major area to be added, which is a bit different from what you've seen so far, but we're not quite ready to show those things just yet.

LIVE ON TEST BRANCH (SAVE WARNING)

This and everything we've discussed in recent diaries is live on the test branch and has already received a few hotfixes. We're still tuning things and ironing out a couple of kinks, but overall things are stable and in good shape and feedback so far has been very positive. You can find changelogs, more information and a place to give feedback on our discord: https://discord.com/invite/Z5aV2bF

Be warned that existing story saves will not work correctly due to the extensive changes to terrain and level assets. Once the update goes live on the main branch, there will be a full save wipe, so any progress you make in the story now will be reset. To access the test branch you need the password: BMXATestB915

Best,

Bare Mettle

Asid:
Coffee Diary - June 2024
Mon, June 3, 2024



Hey Exanimates,

Since updating the test branch we've been doing a lot of tuning and adjusting things, the extensive changes to the core physics affected a great many things, and while absolutely a huge fundamental improvement, a lot needed to be updated to take advantage of this, or even function properly. We also ran a few experiments, iterating over some core combat and character physics and getting feedback from the community. A lot more has changed for the better thanks to this and core combat is in a really good place, with very positive feedback from players.

This means we needed to do yet more changes and adjustments. Muscle structure and other changes have made characters effectively much stronger and more rigid, less prone to limbs failing, able to apply more leverage and better supporting emergent gameplay, like grappling. The somewhat "floppy" feeling they could have is gone. These changes however really affected all our existing combat motions, and while we did make some adjustments right away, over the last couple of weeks we've been properly updating and redesigning most of the attack motions. We found we now have more control and are able to make the motions more complex, but it also takes a bit more work now to make them look fluid and transition smoothly. There's a lot of these motions, and dynamic components to them, but we're' finally done and we think they look and feel noticeably better. We'll be updating with these very soon.

Footwork is also in a great place right now. However, we do think that where uneven ground, obstacles and vertical movement in general is involved there is still room for improvement. Navigating environments can also feel a bit clunky, and all this seems like something that needs to be addressed to make the gameplay flow and feel better in general. We've been investigating this and we think we have a clear plan to address it, however it will take quite a development effort and for the time being we feel there are other priorities. It is on the horizon.

All in all this has been a huge transformative upgrade to the combat and the physics in general. We'll always be polishing and ironing out the kinks, and there's still some notable combat features to add, but we'll be building on top of a much more solid base.

We've got a bunch of other fixes and tweaks ready to go now and the test branch update is in a good place. We also got controllers working again and Steam Deck too, however there are still issues with the current version of SteamOS and if you want to play this on the Steam Deck you need to be on SteamOS beta preview until they go live with it on the stable branch.

With this chapter closed, it's time to move to other topics. You may have noticed a pattern recently of us working on things for natural environments. We overhauled our terrain system, we dramatically improved our rocks, improved 3D grass, lighting, we extended our generative tools with features for more organic assets and various things besides. This will all be critical when we move on to overworld content, but the reason we're doing it now is because the next area that will be added is The Gardens, and as the name suggests it will feature lots of nature. One difficult problem remains, which is vegetation. Recently we've been working on adding high quality trees and plants to our repertoire, and also on realistic, but performance efficient foliage rendering, which includes some additions to our global illumination and translucency effects.

It took a lot of tinkering to get things looking and working the way we wanted, and we've still got a bunch of assets to get through, but we're off to a very good start. The following screenshots are not from the new gardens area, but they make for a good showcase of the new assets and features.








Best,
Bare Mettle

Asid:
Coffee Diary - July 2024
Mon, 1 July 2024



Hey Exanimates,

The last round of changes we discussed in the last coffee diary went live on the test branch shortly after. The new weapon motions and other adjustments were very well received, and we will of course continue to tweak things based on feedback. The new arena with new vegetation features was also included and seems to be working and performing well for everyone. Before we move things to the main branch and do a save wipe we are making some content changes that are required to support upcoming features, so that we won't need to save wipe again when they are introduced.

This major overhaul of our engine, physics and many big core features is finally complete. Some of this such as terrain, vegetation and cloth was in our original immediate plans, but realistically most of it wasn't. These are all hugely important changes though, planned or not, and now that they're done we're finally turning our attention back to the role system.

We briefly introduced the role system topic a few coffee diaries ago, but basically the role system is what drives all "high level" NPC behaviour. We already have a very good and functional system in place for modelling behaviour based on emotions and basic relationships, but with just these things, AI basically behaves like animals. We do already have a version of the role system in place, which is used in a very basic way to give characters dialogue and some basic understanding of others, but as it is this is very static with few placeholder roles, and does almost the opposite of what the role system was designed to do.

What we call a "role" system is very broad in scope. Roles provide different behaviours, decision making that exerts control over raw emotions, they model relationships, carry memories of past events and interactions and generally context for AI to understand and interface with things. They can be very broad like "human", very specific like "Derrin the farmhand" with personal details, or just fleeting contextual things like "pulling lever at friend's request". Relational roles identify others based on experiences with them, context or assumptions, and carry histories between individuals. A character can have many roles active at the same time, and remember them even when they are no longer active.

It's hard to talk about without being vague, but the takeaway is that roles can do a lot of things. It all depends on what roles we design, as part of general AI behaviour, specific events, player interaction and all sorts. Most roles can be circumstantially adopted by any character, and as we expand our library of roles all NPCs will gain more behaviours and awareness. Building this library of roles is one of the key challenges, but it's something we can do incrementally once we've defined a good foundation.

In the past month we've made some important strides in defining what our key role types are, how they interact with each other and the mechanics to support more functional and dynamic roles, control emotions and more. We figured out a lot of important stuff, and are already moving into implementation and optimisation details as far as the most important mechanics go. As we get into a lot of the more practical roles, we do also need to pair them with new AI actions or events that drive behaviour, but we do have a good foundation here for how this works. It's a matter of adding to the range of things that AI can do and understand. Beyond that, the role system itself can be considered complete and becomes mainly content driven. That means we can continue to add new roles and nuanced behaviour without changing how things work.

Our first intermediate goal is a smarter and more aware Derrin. We will use him to aggressively test new role system feature and interactions. The somewhat lofty goal would be to make him feel like a real human companion that is more independent, reacts to things and makes decisions on his own. His relationship with the player should be more nuanced and dynamic, with more things affecting it, but also a better understanding of context and when cooperation is useful even if he doesn't really like it. Basically, we want him to feel smart and alive, not an NPC following scripted behaviours and commands without question. That and emergent outcomes is the purpose of the role system.

The next major update will also feature new NPCs, able to have complex interactions not just with the player, but also with other NPCs. The roles for the most part, as stated previously, are not static things designed to fit one character, but things that can be attached to any character, if circumstances are right. All NPCs have a broad range of behaviours and relationships, and events are mutable and can carry things in new directions.

It's a lot, and we've seen that people tend to either consider too abstract and are somewhat indifferent, or let their imagination run and get very hyped. Whatever your expectations might be, and what we actually accomplish, it will absolutely make for a more immersive and dynamic experience with many new interactions and outcomes. That is the kind of game we're making, and the role system in our eyes is perhaps the most important part of it.

Best,

Bare Mettle

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version