Exanima : 3D isometric RPG

Started by Asid, February 10, 2017, 12:28:18 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Asid

EXANIMA 0.9.5.2c BETA
Fri, September 18, 2026



A patch with various improvements and fixes before we move on to testing changes to combat mechanics.

  • Improved stagger mechanics (less stunlock)
  • Adjusted combat AI aggressiveness (reduced)
  • Fixed some character mass inconsistencies
  • Adjusted grip of spetums, glaives and guisarmes
  • Fixed incorrect assembly of falchions
  • Remastered some more items
  • Performance improvements
  • Fixed incorrect rendering of wet hair
  • Fixed missing rainfall sound effects
  • Fixed some incorrect fog effects
  • Fixed characters sometimes not gripping weapons properly
  • Fixed NPCs doing weird poses when first engaging
  • Fixed odd leaning in characters screens for tall characters
  • Improved item icon highlighting
  • The game now caps to 30 fps when it doesn't have focus
  • Fixed double click on NPCs causing crashes under some conditions
  • Fixed double click on NPCs not working under some conditions
  • Fixed a foot devouring walkway in Gentry
  • Fixed a rare cause of feet not updating positions
  • Many content fixes
  • Various bug fixes


Regarding the combat AI aggression, we felt that as an unintended consequence of the combat AI improvements in 0.9.5 the AI had no chill and attacked almost relentlessly, which just made the combat less fun. With these changes the AI should be a bit more varied in behaviour and not just be constantly on the offensive.


Thanks!

Bare Mettle

I stand against Racism, Bigotry and Bullying

Asid

EXANIMA 0.9.5.2e
Sat, October 3, 2026

Another patch with a few improvements and fixes. Leading up to our combat revision we're taking a look at some foundational things, here in particular we added some dynamic adjustments to peak muscle power.

This, in addition to some mass balance improvements In the previous patch, should make emergent grapples and bashes function closer to how they used to. It should also improve the speed and power of many attack motions. An old issue was also fixed which could make your attack inputs briefly unresponsive, and parry motions for two handed weapons (not polearms, yet) were improved.

Following the last patch's improvement to weather effects, we've increased the variety of weather conditions and added various ambient soundscapes, including dynamic 3D positional sounds like birds and crickets and wind sounds to match the wind effects.

  • Increased peak muscle power for various motions
  • Fixed a cause of abnormally long recoveries preventing attacks
  • Improved parry motions for two handed weapons
  • Increased variety of weather conditions
  • Added ambient soundscapes to outdoor arenas
  • Randomised 3D positional ambient sounds
  • Reduced frequency of night time matches
  • Fixed environment cloth objects not moving with wind
  • Fixed some issues with feet dragging or getting stuck
  • Performance improvements

I stand against Racism, Bigotry and Bullying

Asid

Exanima 0.9.5.2g
Thu, October 8, 2026



Another patch with some changes as we solidify the foundations of combat physics and mechanics before larger scale changes.

We've done an overhaul of all attack "targeting" and some related mechanics. By this we mean the adjustments that characters make during an attack to line them up with cursor inputs or to hit their target under different conditions. Thrust motions are improved, they are smoother and target more accurately for many weapons. Overheads better track the cursor throughout their arc. Horizontal swings better adjust to targets at different elevations and of different heights, while also allowing more manipulation with the controls. This means they are less likely to miss completely, but can hit lower or higher due to crouching and other inputs.

Previously we estimated masses of weapons based on a combination of the 3D model volume and the weapon's stats, but these estimates were often off, leading to weapons with abnormal masses. Most often weapons could have very low masses, leading to glitchy physics and weapons feeling unsubstantial. We've now switched to explicitly defined masses for all weapons, giving much more consistent and realistic masses. The mass of most popular weapons has barely changed, but many odd outliers now have proper masses. The weight value on weapons is now also indicative of the weapon's actual physical mass. Keep in mind that these values are specific to the weapon type (one handed, two handed, polearm) and not on a global scale.

We can of course tweak these mass values so give us your feedback on the feel of specific weapons and overall.

Changelog for 0.9.5.2g:

  • Improved thrusting motions and targeting
  • Improved overhead accuracy and targeting
  • Improved horizontal swing targeting
  • Improved weapon mass value accuracy and consistency
  • Improved some attack motions
  • Improved flail physics
  • Fixed missing flail movement sounds when first equipped
  • Fixed a rare cause of abnormal hit damage


I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - November 2026
Mon, November 2, 2026



Hey Exanimates,

In this diary we're going to focus on whatever silly things Madoc is doing to bottleneck development again now that he's done tinkering with multiplayer (for now), but remember that while we are very small, this is not a solo dev team. Meanwhile other people are working on new content, new and reworked creatures, a gazillion procedural shields, new art, finalising the alchemy system and dye design and a vegetation generator that will include physics, among other things. Not much of what we do is suitable material for this diary, or spoiler free.


We've got another video this month, because some things are definitely easier to show than explain. The main goal now is finalising combat and the skills, but there's inevitably technical groundwork to features in this game, and technical development presents opportunities to tackle many goals beyond what's in focus. Watch the video, and then if you like come back for some more details. Or just keep reading.


WIP new parrying system and a bunch of really big improvements to our physics engine as we work towards a final revision of combat, new skills and other new features.



We had our multiplayer detour, and it made sense to get an idea of what was involved before we start setting things in stone with combat in general. There's definitely some things that need some attention with the combat, but mainly it's about adding the remaining skills to support more build diversity and play styles. Parrying and blocking are our main obstacle to getting combat on the right track, they're in dire state of disrepair when they are such a key mechanic in close combat. They also create some fundamental problems with shields which should represent one of the biggest build choices.

We've mentioned this before, but we're finally transitioning from a binary parry system that just disables attacks on contact to one where attacks must actually be physically blocked or deflected as result of physics. This means attacks can power through blocks, reach behind them or glance off them and still hit their mark and do damage. This has very important implications and leads to more nuanced and emergent gameplay. It also helps us move forward with shields with a less mechanically constrained design, as shields are no longer this huge passive barrier and we can lean more into their other qualities.

The first problem we obviously need to confront is how unreliable parries are even with the current binary defence. This is largely because we haven't been doing maintenance as we keep changing character physics and attacks, but now it's time to finalise this stuff. At the forefront of this is a new tool where we automatically collect the raw physics data of the trajectories of every attack in the game, every weapon loadout, skill and race modifier, creature attacks etc. This raw data feeds the new system, and with this design we can automatically update it whenever we make further changes to physics or attack motions, alleviating most of the maintenance work that has prevented us from keeping parries in a good state so far.

We're still working on some of the more dynamic elements of parries, but we've already established much better mechanics and have started updating parry motions. The most challenging thing to tackle here was deflecting thrusts, which requires extremely precise prediction and timing. We've gotten some pretty good results, it definitely requires some skill to consistently deflect thrusts, but that's inevitable and on par for our design. We don't intend for defence to be an invincibility mode, but something that requires some aim, positioning and timing. Parries aren't just about defence, but controlling the fight and creating openings.

The new parry system also means that neither attacks nor parries are immediately cancelled on contact. This leads to some sustained binds, which look very nice, and all sorts of combat possibilities that we've yet to fully explore, but we're sure players will thrive on. It also means that all those physical features on weapons combined with our accurate collisions are much more important now. Different guards, rings, discs, parrying hooks and more all affects the dynamics of parries and binds.

But mo physics mo problems. The last update and some of the previous betas included a major physics engine rework where we greatly improved the reliability of collisions, however, with our somewhat cartoonishly strong characters now actively trying to force weapons against each other this was no longer enough. You've probably also noticed that we traded unresolved collisions for sometimes quite obvious vibration, which is again greatly exacerbated here. Worst still, because we had to make collisions even more rigid, and keep making characters stronger, this is an even bigger problem. This would make what should be nice cinematic binds into something quite messy and ugly.

At the time of the physics engine rework we had some theories of how things could be improved further, but we had a lot on our plate at the time and we figured it was good enough. It's always good enough, until it isn't. This was no small change, and it would affect how almost everything worked, not just parries and strong interacting forces. Some of this would also interact in important ways with how we handle multiplayer, ranged combat, and other things.

One of the main things this would affect is stacking and resting. Our engine was designed primarily with characters and their very active nature in mind, as well as solving collision between complex and detailed objects, not stacking piles of boxes. Stacking was a low priority and something it did no excel at, but the poor stacking is a nuisance for our level designers and of course for players who like to build a home, arrange their items, or just mess around with the physics hoping for something cool and realistic. We've said this before, but our goal and concept was always that everything should be physics driven because it makes the world feel more real, not to make a physics combat game.

Previously the engine would struggle to resolve the interactions of larger stacks, so they quickly collapse and piled objects would churn, vibrate and drift, preventing them from coming to rest. Yet in isolation objects would often come to rest too quickly, stopping in unrealistic positions. The stacking is now massively improved and can handle anything we might realistically throw at it and we have a new highly accurate kinetic energy measurement that filters out vibration, but correctly measures all other motion preventing objects from stopping when they shouldn't. A new physically accurate friction model also helps with these things and produces much more realistic behaviour.

The resting also needed to be designed in a way that it could coordinate the process in multiplayer to converge on the same exact result for all of the independently running simulations. This was another key change that had to be part of our updated design and functionality.

Resting is also critical for performance. Just one of our levels contains several thousand dynamic objects, and this only works because most of them are resting and not being actively simulated. In multiplayer this becomes even more important, because active objects also consume bandwidth, and also if someone's simulation can't keep up it becomes a desynch. When many objects are touching the engine would wake all of them to simulate how they interact, but with a high dynamic object density this could quickly spiral out of control. The new system tracks stacking structures and measures impulses to only wake objects when they actually need to move, so that typically only a small fraction of many objects in contact needs to be simulated at once.

Here is a screenshot of a character standing on 1'500 objects, but only a few of them are actively simulated and the simulation runs in 1.1 milliseconds on one thread. Previously this would grind the simulation to a halt.



On the topic of performance, we've also optimised our core physics engine further, offering better baseline performance. There's still a lot more we want to do with physics, but we still want to support low end systems. Besides supporting more characters and higher object density, we want to introduce physics for things like vegetation, tentacles and other soft bodies, cloth on characters and all sorts.

The improvements don't stop there. Our physics is inherently stable and can take quite a beating, but the way it handles collisions using always detailed models for complex concave objects creates some situations that seemed impossible to solve. If for whatever reasons such objects intersected, they would become stuck inside each other, sometimes causing the objects to fly around as they tried to solve impossible collisions. You may have noticed things like your weapon getting stuck inside a shield for example, and the engine didn't know how to extricate it. We've not only made this less likely to happen in the first place with improved collision response, but also figured out a way to resolve these impossible collisions. Physics glitches can be game breaking here, so this stuff is important.

On that note we've also finally fixed the object placement glitches. If you know you know. The default object placement tries to project objects into a new position, but this could be cancelled with right click or if you tried to place them somewhere invalid. When the object would snap back to its original position and in the meantime objects there moved, this could cause some silly, and dangerous, glitches. Now you only manipulate a visual projection that's completely decoupled from the physics, and the physics doesn't update until you confirm the movement. This is also something that needed to be fixed for multiplayer interaction.

This is a major evolution of our physics engine, and in this game that matters a whole lot. Everything about the physics works much better, it performs better and we got ahead of many problems before they reared their ugly head when we approached things like ranged combat and a fleshed out multiplayer mode. Importantly we overcame some major hurdles for our final revision of combat mechanics and skills.

Unrelated to physics, we also have a new higher quality shadow setting which comes with some big visual improvements. Soft shadows look nice, but in some cases they look wrong, the shadows of smaller objects or details get completely obliterated and contact shadows look very unnatural. This is something that's been bugging us for years, but there aren't really any cheap good solutions, especially that work well with our rendering pipeline. It wasn't something we were willing to sacrifice much time or performance for, but Madoc came up with an idea, had a late night coding adventure and got something pretty good working in just a day.

Shadows are perhaps the most important visual queue of depth and really bring out the shape and position of objects. In the real world, shadows are sharper or softer based on the distance between the occluder and receiver, and also the size and distance of the light. This is a cheap approximation of those effects, it's quite effective and only costs little GPU power. It will be included as a higher shadow quality setting for those who want it. The added detail, depth and visual clarity are very significant, also making small items and dropped weapons easier to see. Our priority is always crisp and cohesive graphics, and this is exactly the kind of thing we like. We've said in the past how maybe we could one day leverage raytracing to fix contact shadows, but another cheap, practical solution saves the day.

Here's a comparison with an explanation of the improvements:





Ironically just before talking about shadow improvements in the video you see a pot with very broken shadows. This is not an issues with the shadows themselves, but a misconfigured asset. The fixed asset looks like this:



That's it for this month. We should now be able to focus entirely on combat and we'll probably start pushing some changes to the testing branch soon so we can get some early feedback. We've already made some initial changes in patches over the last couple of months, but now we're getting into larger and somewhat experimental changes.

Best,

Bare Mettle

I stand against Racism, Bigotry and Bullying