Exanima

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Asid

Coffee Diary - November 2025
Mon, 3 November 2025



Hey Exanimates,

At this point we're mainly putting the final layers of polish on the new content. This is mostly material work, to make everything look good and cohesive. Making detailed and realistic materials for modern graphics is very difficult, and making sure all the colours are balanced and that all the materials, the dirt and grime etc. belong together and their environment is like a giant game of whack-a-mole.


Even Madoc who is our main programmer has been mostly helping with getting art finalised. When Madoc gets involved in the art pipeline there's a lot of finding tool based solutions to improve results and avoid lots of brute force work. Why fix a problem once when you can fix it forever? While making the game and our own engine, in total we probably spend more time developing our content and asset creation tools. We have our own unique way of doing everything from physics, animation and AI to rendering, with many unique features; our tools are the backbone that allows us to take advantage of these features, and to develop them in the first place. When there's a major advancement in what we're able to do in the game, it usually has more to do with tools than anything else.

Our tools are extensive and designed around creating instructions for how something is made, so that the process can then be rapidly repeated and iterated on. Adjusting or improving any step of the process is relatively quick and easy, as well as creating more assets using the same or a similar process. We're proud of our tools and they're how our tiny little team is able to consistently produce cohesive, high quality, original art and content. Exanima has grown to be quite a large game, but mainly it has an enormous amount of carefully crafted stuff in it. Our most recent addition to the team, a second programmer (Jimmini), has been almost entirely dedicated to expanding our tools and content creation pipeline. These range from improving on what we can do with engine features to brand new tools which will play a major role in how we make content going forward. Some will be used for the content in the Exanima 1.0 release, but we are gearing up for what comes after.

We typically avoid showing any new content before release, but we'll make a small exception with screenshots of one asset to illustrate our art pipeline. Beyond some low poly modelling work, this was created entirely within our tools and uses our newest features, also in terms of rendering. Everything down to the brickwork and roof tiles is created entirely from scratch, giving us complete artistic control. This asset is part of a highly modular "kitbash", meaning we carefully make many individual elements (e.g. the segments of an arch) which combined in many ways and with some tricks can a large number of different assets, that still look well integrated and varied, while using fewer resources. We aim for a certain level of quality and immersive visuals that contribute to the game's atmosphere, while using approaches that are very performance friendly to keep everything running well, even on low end hardware.





And here is a detail of the roof tiles which shows the kind of thing we're able to generate using procedural methods in our tools.



In our last diary we mentioned we were overhauling our 3D grass. The main goal was for the grass system to support not just grass but also small plants and dense undergrowth, as this would be more scalable and efficient in terms of performance and especially in terms of level design. We've made a large number of all new grasses, plants and flowers, more detailed and much higher quality than our previous assets. To make convincing 3D plants we also had to use more advanced rendering methods and there were a number of difficult problems to solve with this. We're using dense grass in environments with lots of lights and high contrast lighting, making grass not look flat or polygonal while preserving lighting detail is difficult, and performance is a concern when so much of the screen is covered in layers of grass being lit by many lights. Indeed our previous grass was heavily reliant on shadows for any depth, which are not always possible. Another common and difficult 3D graphics problem is blending, the grass in our game is small therefore thin, and we really wanted to avoid the pixelated or fuzzy look this often produces, so we needed some clever solutions.

It took a lot of fixing, tweaking and adjusting to finally get everything working and looking how we wanted, and once again adding some features to our asset creation tools was critical to getting it right. We solved all the problems we mentioned and developed some fancy custom shading that is also highly optimised. It looks great even on lower settings and blends perfectly with the ground and all its variation.

Here is an example of dense undergrowth to fill in more vegetation heavy areas. We can now quickly paint this in with a brush and it will dynamically adapt to changes in the terrain as it is edited or modified.



Here is a large amount of grass showing the variation and how it adapts and blends with the ground.



While the ground is not intended for such close-up viewing, this zoomed in shot shows the lighting detail, including specularity and translucency. It looks convincingly 3D even under high contrast lighting:



As well as a new NPC thaumaturge, in this update we're adding four new non-human encounters. The most we've added at once until now was two, and adding new creature types requires a lot of rigging, animation work, careful tweaking of physics, combat AI, sound design etc. So far we've been developing the features to support each new creature and its unique physical and other behaviours as needed and the result is a lot of custom hard coded rules and systems. With four new character types added now and more on the way, this is becoming cumbersome, but importantly this hard coded system has been a big problem for modders who like to add as many modified versions of them as possible. Modders have been very limited in this regard and when we add new creatures it takes away valuable slots they rely on and undoes their work. They've asked, and we promised modders a better system some time ago, so we decided it was finally time to add it.

We developed a proper "race" system which allows adding virtually unlimited character types featuring a massive number of properties and parameters for their appearance, physical properties, animation behaviour, AI, sound and voice effects, stats, locational resistances, equipment use, blood effects and generally how they interact with every game system. On the back of this we've made various improvements to some of the underlying mechanics and tools. We're now able to make adjustments to physics and animation in real-time to immediately see the effects in game, which really improves our workflow.

The biggest change we made though is to how character motions are managed. The new system can create custom motion sets on the fly based on race parameters, equipment, skills and combat styles and effects like special properties on items, powers etc. Motion sets are mixed and matched dynamically allowing all these conditions to provide highly specific overrides while also finding appropriate fallbacks if a motion for specific combinations is not provided, which is also great for modders. We've been wanting this sort of functionality for a long time, but understanding all the requirements and mechanics for a data driven system was a difficult problem. This is also the perfect foundation for changing motions for different weapon grips and even layering motions to support things like performing actions while running or dynamically changing stances.

In general we've been trying to work more closely with modders recently and we've been putting a lot of work into developing polished, user-friendly visual interfaces for all our tools as well as versatile systems to eventually pass on to them. We hope to begin releasing some of these soon and we're quite excited to see what the modding community comes up with. Already with these new systems we expect there's a whole lot they'll be able to do. We're a little restricted with the relatively serious and realistic tone of the game, but modders can be more daring and tend to push at the limits of what our game can do.

We do mention our tools from time to time, but only briefly and usually without specifics. We realise it's not what many gamers get excited about, you just want more content nao, and the amount of effort we put into the back end or seemingly small additions to the game might seem insane, but while Exanima might now be close to its 1.0 release, we're only just getting started and there is so much more we plan to do with these systems and tools. We're in it for the long haul, and to create something special. We know the long development cycles can be frustrating, but we're still here, as dedicated as ever and we will continue to deliver more and better game. The 1.0 release is ultimately an arbitrary milestone.


Best,
Bare Mettle


I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - December 2025
Mon, 1 December 2025



Hey Exanimates,

We're very close to beginning closed testing of the full 0.9.5 update. This will be mainly for the new area, encounter types, new items and thaumaturgy.


While there have been some engine changes such as rendering optimisations and the new grass and race systems, it's mostly content and the big changes were already thoroughly tested in the testing branch. We don't expect this to last long or involve difficult technical issues. Originally we hoped to begin testing a bit sooner, but of course we ended up making a few more improvements and additions.

The new race system we discussed in the last diary is up and running, and while switching everything over to it we improved many things. We won't repeat all things it was designed to support and how it improves our creature and animation workflow, but we immediately saw benefits and took advantage of some of the new features. In configuring animations with the new tools and making new animations for the new encounters we ended up improving many of the older animations too, sometimes because of what the new tools allowed, and sometimes because we noticed some weren't working very well. The walk and run cycles is something that we improved on particularly, but while updating those we had some issues with characters losing balance, which led to a long investigation which finally ended in improving how characters balance during locomotion. This means there's now a lot less falling over or stumbling for no good reason while walking and running.

In animating the new creatures (and some new armour) we ran into another production bottleneck that has been a particular annoyance throughout development: skinning. Skinning is a term for how characters and whatever they're wearing deform as they move. We use a peculiar system of our own design which is optimised for our extremely modular and dynamic armour system and also to give us very fine-grained control over the behaviour of things like the articulation in armour. Designing these deformations however is a very lengthy and tedious process, made much more tedious by our reliance on 3rd party modelling programs for most of the work and basically not really being able to see what we're doing. We recently overhauled our apparel system, and a big part of this was a new skinning solution for clothing specifically which is almost completely automatic and give much better results, but for articulation of armour and whole new creatures this doesn't work. Faced with this big skinning workload, Madoc again decided it was time to improve and invest in our tools, so we can now design the deformations and even skeletal structure of creatures directly in our engine with much better tools designed for this purpose, and interactive results. These tools represent a big step for a lot more than just skinning though, as they are essentially the foundation of our in-house modelling tools, which will solve other problems and importantly allow us to better use a lot of other engine specific features. This includes some big new environment design features we've been working on. It's too much to get into right now, but we'll probably do a showcase of these later on as they're a pretty big deal.

The game has a lot of unique features and a unique engine and this means a lot of unique problems to solve and just difficult technical development. It is what it is, we're not just developing the game, but the entire platform it is developed on at the same time. We're moving in a different direction to everyone else so we have to figure out a lot of stuff that no one else has tried to figure out yet. Sometimes we have to make a difficult choice between the quickest way to do something now and the best way to do it now and in the future too. We made the wrong choice many times early in development, and doing things better, not quicker is a lesson we wished we would have learned earlier and that would have saved us a lot of time. We don't want to make that mistake again.

Anyway, no more developing new tools and systems before the update is out, we promise! At this point we're really just wrapping things up and at most we'll be touching up the content while testing is ongoing.


Best,

Bare Mettle


I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - January 2026
Mon, January 5, 2026


Hey Exanimates,

We're working as hard as we can to get everything ready for the 0.9.5 update, but one of the new creatures we're introducing has proven a lot more problematic than we expected. This creature is larger and more oddly proportioned than anything we've done before, and this has caused a lot of problems with our physics driven character motion. Character physics have been our biggest development challenge, it took us literally years of experimenting, iterating and refining them before we got them to a point where most players were happy with how characters move and respond to inputs.

This is immeasurably more complex than just an animation problem. Our character's movements are driven exclusively by physical forces and virtual muscles, they physically interact with everything, they must promptly react to inputs and move in any direction while also turning, performing actions, negotiating uneven ground, reacting to collisions and forces and trying to stay balanced, all at the same time. And that's just the basics, with many more specific and difficult problems we had to tackle. It's not just an animation or physics problem, the meat of it is how characters reactively decide when and how to move each part of their body, how much force to exert with each muscle in every moment to produce slick, smooth and plausibly human-like movement while also feeling very responsive to control. Humans are able to do this thanks to millions of years of evolution and a lifetime of practice in the real world. A program that can replicate much of this in a fast real time sim is no small feat. We started with something very clumsy, and while we hoped to improve it, we believed that players would be more forgiving of some of the clumsiness for everything that such a dynamic system has to offer. We know now that's not how things go. There's always room to improve many things, but after all this work the core physics that are the foundation of gameplay are undeniably in a good place and far better than we ever imagined they could be.

Unfortunately, this new creature threw a huge spanner in the works of all this fine tuning we've done over the years. We've been focusing on teaching humans to move, and so far we've gotten away with just some broad adjustments for other humanoid characters. The odd proportions and even just the distribution of mass on this new creature really did not work well at all, and this was kind of terrifying as it's a very delicately balanced system that at this point feels more like magic than science. Any small change could throw everything out of whack, and we couldn't even be sure if getting this creature working is possible. Humans after all are real, bio-mechanically sound creatures, this is something less anatomically plausible.

The new creature could barely even stand, it wasn't able to move its limbs properly and dashing and running around was far beyond its capabilities. We weren't just going to give up and cut it though, we had to try. We still want to add many more creatures, our plans include that creature types are very local and vary as we expand the world. We're even considering adding procedural elements to creatures as well, building on our already very modular and morphable character system. So we began the difficult and scary process of trying to understand all the reasons why it failed to move properly and do something about it.

Our first problem was with basic muscle function, and this at least was relatively simple to solve. Instead of scaling all muscles while assuming human proportions we now measure parts of the body and scale each muscle accordingly. This worked well and it's fully automatic, adapting to any change in body structure for any individual character, which is great. Our next problem was definitely on the scary side: footwork. All the fast and completely dynamic work of movement and staying balanced in combat while performing actions. This was the magic sauce that we were so scared of spoiling, something we arrived at through years of trial and error, sometimes working on a promising idea for months only to discard it when we just couldn't get it to work, and sometimes discovering improvements more by accident than intent. Our new creature wasn't impressed, and so we warily tried to unravel the magic and figure out exactly why some things that worked so well didn't here. Eventually we transformed enough of the magic into exact math that took the specific proportions of the body into account and got things working well without breaking anything. Again we had something that should just work better than ever with any creature. Big sigh of relief.

Our final problem was with walking and running, which has proven much more difficult than we anticipated. We'd recently made some improvements for other creatures and thought this would be easy, but no matter what we do the new creature keeps falling, stumbling, dragging their feet and so on. Walking and running is the most artificial part of our character physics, unlike the entirely physics driven and dynamic combat movement where motions are generated on the fly, this is based on motions that are designed by hand to look natural, with some invisible forces and essentially hacks to help the character stay upright and moving. This seems like a simpler system, but it must still interact with physics and have dynamic behaviours, and the simplified part is where things went wrong. It's just too rigidly coded to our current animations, so the new creature with its weird long legs and animations just can't move effectively or stay balanced.

We tried to just make adjustments, but nothing worked and it became clear the only solution was a more complete simulation, and this means a significant overhaul that we're still in the process of. We're now analysing the specific hand made animations as they apply to the character, comparing animation inputs to what's actually happening in the physics to make dynamic adjustments, predicting exactly where and when the feet should land and how high above the ground they should be as they move, how much each leg should push the character off the ground and propel them forward at any moment among other things. The creature now moves well on flat ground at least, and things are generally improved for everyone, the motions look more grounded and physical. We're still working on balancing on uneven ground, but we've done a lot of the big difficult stuff so hopefully we can fix the last few issues quickly. We do expect to see more general improvements, and as we keep adding more verticality to the world and more creatures these are important. Some of the things we developed here are also interesting for features we hope to add in future, such as more contextual movement and traversal animations and things like quick recoveries for losing balance or falling in different ways.

Rewinding a little, before we could even test the new creature in game, we've been using our new in-house tools for rigging and skinning. You never know what's missing, needs fixing or improving until you use something, so there was a lot of that. While the tools are fairly specific for now, they're part of new tool systems we plan to use for many things yet and there was quite a lot of engine level support to getting the entire workflow in a good solid state. We also realised that there was one important step still missing from our character production process, which is modelling additional collision mesh for parts of the character such as the joints. Our tools aren't quite yet equipped for this kind of modelling, but we did one better and can now just generate this entirely automatically. At this point we can take our character artist's raw 3D models and create textures and materials, rig them, skin them, animate them, give them properties and behaviours and add them as fully functional in game characters without ever touching a 3rd party program or a line of code. We don't expect you to understand just how much of a difficult and confusing process this previously was, but this is a pretty big deal.

We have also been working on some improvements to our procedural item and material systems, some of these were urgent, but we've also got other things still in progress and can probably wait until after the update. We're working on some improvements to how materials and parts of objects blend together, adding more advanced effects to character materials and also expanding the procedural materials to work not only as part of our procedural item system, but as a general engine feature. This means we can give any object dynamic procedural materials, we can use them while authoring items which is great for our new tools and we can "break" the procedural item rules as needed. If for example an armour had a lot of additional elements that don't fit in our character layouts, we could add "modules" with custom layouts. We already made our weapon layouts more versatile and added some new features for compound elements to support some new weapons. Speaking of which, we're adding a first batch of the new ornate procedural weapons that we've teased a few times on our discord. These will be rare loot, and once we have more types we will probably also add them as alternative tournament rewards. Here's a few examples of some in game generated outputs:

Have a great new year,

Bare Mettle

I stand against Racism, Bigotry and Bullying

Asid


I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - February 2026
Mon, 2 February 2026



Hey Exanimates,

We quickly recorded a video at the last minute to showcase some of the improvements discussed in this diary, but read on for a more in depth and accurate explanation.


Just a quick last minute video to accompany this month's dev diary for Exanima. You can find our monthly dev diaries here: Bare Mettle Forums:...




We last talked about some difficulties we encountered with physics for a new creature, and how despite our efforts to get it working with some incremental improvements and adjustments, it became clear that some aspects of our character physics required a significant overhaul. While it's unfortunate that it's taken so much additional work (no one wants the work on this update to stop more than us!), this has led to some really important improvements to the game overall and how it plays. Considering how difficult this character physics work is and how much time we've spent on these things in the past with varying levels of success, we got through these many and big improvements surprisingly quickly.

After we'd managed to at least cover some basics like good muscle function and control and moving on flat ground without constantly face planting, the next goal was traversing uneven ground, slopes, stairs etc. This was already problematic even for human characters, there's a lot tripping or stumbling over even minor obstacles or bumps in the ground. We know this is something that players can find quite annoying and it produces a lot of clumsy and silly moments in general. This has only become more of an issue as we've introduced more verticality and complex environments. We've made some attempts to improve this over the years, but the improvements have been marginal. This new creature really couldn't handle the clumsy movement and it was time to give properly solving these issues our best shot.

We've failed so far because it is indeed a very difficult problem. Our physics means that the feet collide with every little thing, if the character fails to avoid hitting something with their foot, they will trip and lose balance. The "ground" isn't some simplified navigation mesh, it's really a bunch of random polygons, it could be a pile of dynamic objects. The character isn't just some 3D animated sprite gliding over it, it needs to use muscles and generate forces well ahead of time to eventually clear obstacles, ascend and descend slopes, stairs etc., not just with their legs, but the entire body. This requires scanning the ground ahead, trying to determine its shape, predicting what adjustments will be necessary to the animation to traverse it, how muscles should contract to produce those motions, how hard to push off the ground, how fast it can all be realistically done and so on. Besides the mechanical problems, it also has to look natural. If the motions are exaggerated or too fast, if the character does things like lift their feet too high to clear small bumps, it looks silly or just very weird. It all has to be measured just right and very smooth. And that's just the basics, movement must work on any type of slanted or uneven ground with perhaps dips and holes, there's no artificial barriers so anything goes and characters must react to tripping, stumbling and slipping and try to recover their balance.

Hopefully that gives you an idea of the scope of the problem. It's such a complex problem with so many moving parts with variable outcomes over time, there isn't some exact solution that you can realistically just work out. We started by laying down some foundations for better scanning and mapping the shape of the environment ahead, which was already a difficult problem, more so because of performance constraints with potentially lots of characters running around at once (whether you see them or not, physics don't disappear). We also made a new system for controlling muscles that would be better able to make precise adjustments to pre-designed motions like running. We also finally tackled an old problem with how strongly characters push off the ground to counter gravity or generate vertical motion to try to stay at the right height. A good start, but these are just building blocks and not a solution.

The next step was adding some visual aids for how we were scanning the ground, what the prediction targets were, when and where exactly the character decided to plant each foot and so on. From here we were able to fine tune prediction mostly through trial and error, diagnose problems and make various improvements, making dynamic adjustments to mechanical states based on what was physically happening rather than what was expected in the reference animation. Eventually we started to see some good results. Characters were negotiating difficult ground and smartly stepping or hopping over most obstacles, our new monster was climbing over stuff like a champ and it all looked good and smooth. This can all be made even better, but fine tuning these things takes time and we're in a hurry, so it was time to move on. With everything working so differently there were a lot of cascading effects and other things that didn't work anymore or we had to outright disable just to test this.

Our next problem was the dynamic balancer, how we detect that the character is losing balance, tripping or slipping so they can try to do something about it, or understand when they're not able to negotiate particularly difficult ground so they can adjust or give up gracefully. There's a lot of potential goofiness here, but a big problem was that the dynamic balancer must smoothly take over, sometimes briefly and barely assisting, so these must interact seamlessly, but walking and running were now using a completely new system for dynamic behaviours from the balancer which is also the foundation of all combat and other movement. The logical thing to do was to make everything work on the new improved systems rather than try to maintain both and make them communicate, but this meant changing combat footwork again, which as we've noted before, is scary ground as it's such a fine tuned system and critical to the feel of combat.

Eventually we got the footwork seemingly working well using the new systems, we thought we had almost everything working and moved on to testing the new creature's combat AI. But in testing combat we noticed the footwork wasn't there, it felt a bit sluggish and unresponsive, looked clumsy at times and characters were falling over too easily. This was discouraging, it was quite possible that while some things were technically better, the flaws of the old system are what gave the footwork its "magic". Eventually with a lot of A-B testing between the new and old footwork we were able to identify the differences and return the footwork to its former glory, with a few notable improvements.

Another thing that broke from all the changes was crouching. Crouching is one those "WIP" features, and it already wasn't working well. A proper crouching implementation would need more work, but we were able to do something that is still not perfect, but definitely better than it was. Characters can now crouch well on uneven ground, they can perform attacks better and even move around reasonably well. Some quite ugly problems were fixed.

We also had a separate problem with getting up from prone positions. You may have noticed that when getting up characters will occasionally slide or spin in weird ways. Of course this problem was much more pronounced with the new creature, which basically just started turning in place without ever managing to get up. This was again due to some artificial forces we used to try to get characters in the right orientation to perform their getting up move. It's another one of those problems we've had difficulties with in the past, but as we keep discovering with so many core improvements to our character physics these heavy handed hacks are not really needed anymore. We managed to work around the problem without the ugly hacks, so they're gone too. In future we plan to add more quick recoveries from different positions and partial falls, but not today.

We're trying not to bore you with too many details, but these are the broad strokes. It took a lot of failed experiments, dead ends, promising things abandoned for now due to time constraints and maddening persistent problems like ankles misbehaving or characters leaning too much and falling and so on. It's been a truly hectic month. We know we can improve a lot on these new foundations, but we've been trying to get through this as quickly as possible and moving on as soon as we could call it "good enough for now". Even so, these are huge improvements already, and a big hit on the backlog of difficult issues to solve. Considering all we got through it fast. Moving around feels so much smoother and there's a lot less weird, silly or irritating moments in general.

One last thing, we mentioned testing combat AI for the new creature, and this is quite an important topic. We want this new monster to be quite accurate with some of its attacks, and because it's also big we wanted it to be more deliberate in its actions and less like the typically quite hectic AI. As we explored ideas for this we realised that probably a lot of things, even humans, could benefit from some of this, and this led to some new designs for AI tactical decisions. We've been testing these ideas and we've now got a barebones, but fully functional version of this new combat AI which already seems to be a notable improvement. The combat is very dynamic and landing hits on an unpredictable human player is difficult, the AI tends to be quite spammy, if it had to wait for the player to make a mistake and give a good opening it wouldn't be much fun. AI behaviour is an absolutely crucial part of what makes the combat fun and engaging. This would be a massive topic of its own, but to keep things brief we've come up with a method to allow both hasty and impulsive actions and more precise and careful ones and to support more methodical behaviour without it feeling slow and dull. The new creature no longer felt too twitchy and hyperactive for its size, but still very threatening. It's still early, but we should be able to control how "energetic" fighters are, give them more varied and personalised styles of combat, add dynamic changes, make the AI feel more diverse and engaging and hopefully raise its skill ceiling. We expect this to really elevate the gameplay with more work down the line.

There's always many things that happen in a month of development that we can't realistically cover in these diaries, but this was a particularly productive month. There were setbacks, but with good outcomes. We're constantly entering unknown territory as we expand the game and we just don't know when we'll bump into an unexpected problem or how big it will be. Honestly sometimes they seem practically impossible, and sometimes our efforts come to nothing. So many things that might have very simple tried and tested solutions in many games can be immeasurably more complex in this one, and we're a tiny team developing everything from scratch where much larger projects use ready-made engines and solutions. We're fully devoted to our community's desire for something special and your countless hopes and dreams, nothing else matters to us.


Best,

Bare Mettle

I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - March 2026
Mon, 2 March 2026



Hey Exanimates,


We've finally started insider testing of the update! We've done one patch and we've got another big patch on the way. The testing release already feels very solid, with only a couple of very specific issues that we want to do some more targeted testing on. The new map is massive, varied and looks very different from anything so far. We've been trying some more complex things with the environment design and they have been well received and are working well. We're still adding a bit of visual polish to some assets and things like a few more small objects here and there, but these are small touches. We're going to make one significant addition in the test build still, the new thaumaturge / shaper encounter, which needs a little revision after many changes to character physics and AI, but that's it.

Leading up to the test release it's mostly been finalising content and just transitioning from a still a bit prototypey dev build to a release build. Much of this was migrating all our creature types to the new race system and adjusting their motions and AI after all the changes to those systems too. A few of the older creatures got a visual upgrade too. All the changes to muscle function really messed with existing motions, and this meant having to redo or at least modify almost every attack motion and many others, not just for creatures, but also humans with all the different weapon types. There's literally hundreds of these, so it was quite the slog, but between the improvements to character physics and the fresh look at motion design things look and feel great. There was really a lot of testing new creature physics, new motions and the new combat AI which is still a work in progress. This led to a lot of improvements beyond the initial scope as we noticed various little issues, including some notable combat mechanics problems that had been reported in the past.

In the last stages of development of an update we're much more hands on with the game instead of deep in the engine code and artwork creation. This, and especially when we do these rounds of insider testing, leads to uncovering and fixing many little old issues beyond the scope of the latest build and features. Maybe not game breaking stuff, but it all makes for a more polished and enjoyable experience. Our list of things we'd like to improve is many pages long and always growing, with many things that often seem small, but can take a lot of work to do. We do gradually complete the items on the list, which usually include something that someone in our community will be particularly happy to see.

One thing that is a more serious issue that we've been giving particular attention to since the test release is pathfinding, particularly the tendency for NPCs to fall into pits as well as take some unlikely paths. This is a very difficult problem. On the one hand we don't want NPCs to take dangerous paths that could lead them to falling somewhere bad, on the other we do want NPCs to be able to take the same dangerous paths the player can, such as crossing a pit via a plank placed over it, or walk along a thin ledge between a wall and a drop. We also want NPCs to avoid walking against walls, except for cases like the narrow ledge, where it's better than falling. To be able to drop off a small ledge, but still prefer taking the stairs in most cases and so on. This requires complex pathfinding logic and nuanced decisions, things like this may seem straightforward to a human, but for a computer program that doesn't understand what these things are it's a whole different story. Our pathfinding isn't based on anything hand designed or designated walkable areas, it's just "polygon soup", characters can walk on anything including dynamic objects which change and create potential paths.

We've been iterating on our pathfinding a lot, and while it keeps improving, these problems remained. It's one of those difficult open ended problems that we can't be sure even has a solution. Recently however we've had some new ideas on how to better represent things and how AI decides if and when to take dangerous paths. We've implemented these changes and our problematic test cases seem to be solved and we're also seeing generally improved pathfinding behaviour, with NPCs taking more sensible paths. We're also considering further additions, like perhaps companions voicing their reluctance to cross a particularly dodgy path, but being willing if encouraged by the player. This is not something we were confident we could solve, and it's been bothering us for a long time, so it's great and a relief to see such an improvement.

It's been a hectic time working on a huge amount of different things to get everything ready, but it's been exciting and uplifting to finally see it all come together, especially after a stressful few months of unexpected and sometimes seemingly insurmountable problems. We can't say for sure how long we'll keep things in testing, so we won't, but things are looking good.


Best,

Bare Mettle


I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - April 2026
Mon, 6 April 2026



Hey Exanimates,

It has been a very busy month indeed. Our next test run will basically be a release candidate that includes pretty much everything. Testing so far has gone pretty smoothly, so hopefully the trend will continue, though there are some pretty big changes and additions.


Besides some more content and polish for the Gardens, a lot of focus has been on overall polish and making sure that some core systems are really solid. We mentioned we were working on solving some pathfinding issues, mostly to stop your companions and enemies from falling into holes with your precious loot, but this went really deep with a lot of fundamental improvements and additions to pathfinding systems and features. The smarter pathing is a big improvement and NPCs can now negotiate some seriously tricky paths. In the same vein, we wanted to finally solve issues with characters occasionally getting stuck in objects or the environment. This happens when distant characters stop testing collision to save performance, or when the game lapses time while you're unconscious and repositions them, or when entering a map with followers in tow. All it takes is for a character's foot to be in the wrong place (for example) and they can become permanently stuck inside something. Trying to fully position a character in a way that no part of them is colliding is actually a very difficult problem that requires many things to solve. But these solutions have many uses, we were able to solve various other physics and placement issues and we can now also do a really solid unstuck feature. These aren't the most exciting things to be working on, but the complex nature of the game and developing our own engine means we have to tackle these difficult problems and can't just work on game features and content.

We also did some nice improvements to the new thaumaturgy domain. We were happy with the new core visual effects we developed for it, but some of the supporting effects were letting it down and there were still a few quirks to solve. The effects we wanted to improve seemed like hard rendering limitations at first, but we started to see ways they could be overcome. These were not easy to do though, so we were hesitant to try, but in the end we just had to do it so now we have some really nice new features in our rendering engine that will be useful for many things. We can't really go into specifics without spoiling what the new thaumaturgy domain is, but the changes and additions are about solving some fundamental real time rendering problems and here they provide some nice visual polish.

Some of the new content we're introducing in Gardens put us in need of very fast loading times. We're always trying to improve them, and we'd already done a lot here, but the levels keep getting bigger, more complex and varied. Procedural items and characters also require a bunch of extra processing and resources compared to non-unique pre-made assets. The dream would be for any content to be fully streaming with zero loading times, but in many situations this is extremely difficult to do and requires many clever systems working in perfect synchrony. Very fast loading times would allow seamless travel between zones, entering buildings, sections of maps or falling into pits to land somewhere else, without breaking the flow of the game, but streaming and virtualisation can also be critical to some game features, make many other things seamless and responsive and reduce resource consumption, allowing us to do more. It becomes necessary for large open maps, but also the game can't freeze when NPCs are allowed to move around the world, enter a map you're in, change and interact with things. Or other players for that matter.

Streaming content isn't especially difficult when it's just loading some assets or something specialised like terrain, but all our characters and items go through the same procedural generation that touches on many engine systems and resources that are busy doing something else. If these are accessed the game will crash, if we just wait for work to complete we're back to freezing, or terrible performance. This means everything had to change to coordinate this work, and every little interaction or small change must be carefully scheduled and pipelined, it can't just execute as needed. Characters can wear almost 30 procedural items at once that need to be modified based on how they interact with other items (a single piece of clothing can be dynamically assembled from 100s of meshes), collision volumes and voxels are generated, masses are calculated and all sorts, so generating or modifying a character can take a lot of work and time. A brief pause when using the UI can be forgiven, but sometimes this needs to happen in the middle of the action and the game freezing is unacceptable.

We're not trying to achieve the zero loading times everywhere dream here yet, but just to meet our immediate requirements we had to tackle the most difficult problems, build support for all this at an engine level and change the way we handle every character UI, item interaction and many things besides. It's been a lot of difficult work, but now loading times are up to four times faster and content can be loaded, generated and modified as you play without the game freezing, or even stuttering. As to why we deemed it necessary to do this now, you'll have to wait and see, but the faster loading times are really nice in general, things like opening the inventory no longer freeze the game and a lot of things just feel more responsive and smooth. We didn't realise how much of a difference this all makes until we tried it ourselves. These changes are also very noticeable in arena, where there's constant loading in and out of matches and a lot of character and item screens which could feel very slow and tedious to navigate.

Speaking of procedural characters, long ago we teased some experiments we did with deep wounds on undead exposing flesh, organs and bones. That was just a rough concept and required a fair amount of work to actually make it into an in-game feature, but we finally got round to it. We've made many changes to the procedural decomposition, but this is the main addition. There's a number of decomposition effects that change including the extent of the wounds, and the patterns of the wounds and other effects are unique to each individual. Here's some screenshots showing some levels of decomposition and different examples.









Something else we've been wanting to do properly for a good while is shader compilation. You've probably noticed the stutters this can cause when you first load up the game, especially on a new update. We've been neglecting this as we're constantly making changes to our rendering engine and maintaining this can be difficult. Our engine is unlike most modern engines, we leverage forward rendering for a lot of versatility in materials and effects, but also to implement a huge number of highly specific optimisations. But this requires a massive number of specific shaders that are generated dynamically and predicting which ones will be needed gets complicated. We've just tackled this and added some dev tools that allow us to track which shaders are being compiled when. This makes maintaining things easier and helps us compile most shaders in advance to remove most of the stuttering. We plan to expand on this as we introduce more ways to mask shader compilation, so that you're not just hit with a long wait when launching the game instead. The new streaming features we just mentioned should also help us do this.

While working on various things we also found new ways to further improve image quality. Image quality is kind of our engine's signature thing, we go to great lengths to produce the best possible sub-pixel rendering and produce a sharp detailed image with minimal aliasing. This is particularly important with all our highly detailed shiny objects which are small on screen and also the subtle motion, which would otherwise be a shimmering or smudged mess. Our "supersampling" (for lack of a better word) does most of the heavy lifting, but there's a lot of tricks and processing that go into this, starting at the asset level. We invented a new trick and made some general improvements which further improve image definition and reduce aliasing. We also made some specific improvements to character views and item icons where the difference is most noticeable.

Best,

Bare Mettle

I stand against Racism, Bigotry and Bullying

Asid

Coffee Diary - May 2026
Mon, 4 May 2026



Hey Exanimates,

The complete update is currently in testing and at this point we're just looking for issues that need to be urgently fixed before release and tuning various things.


The latest test includes the changes we discussed in the last diary, many improvements and additions to the Gardens including a sub-level, the new shaper and their thaumaturgy domain, another new creature, new items and various other things. Some of the changes and additions are quite significant and involve major engine level changes, so they certainly need some testing, but we've already solved a good portion of important issues in a very brief period of testing.

Of course the other new creature was a lot of work, but after having just done a big overhaul of character physics and general improvements for the last one, we didn't run into much of the same issues again. This other creature does have some unique elements that required new features and this time we wanted to create its rig entirely from scratch using our new tools. This meant some significant additions to the tools and we made many improvements along the way. It definitely took longer developing the tools first, but with them in place we are able to do what would normally take several days in about an hour, and do it better too. We will be adding more creatures and redesigning some creatures later, and after the 1.0 release we will work on "human 2.0", which will bring many improvements and an overhaul of core assets for humans. This will require updating many things including hundreds of items, and the new tools will be critical in dealing with the workload. In general this is a new class of tools for our engine that will have many applications besides and we've done a lot of the ground work to support them and the new workflows they enable.

The new creature did still highlight some issues with character physics, AI and combat mechanics, much smaller in scale than last time, but they still led to some general improvements. We fixed some old issues with foot-ground interaction which result in smoother and more consistent footwork behaviour and some horizontal swing targeting improvements which all applies to players too. We also made more combat AI improvements which are very noticeable, though at this point it feels like we need to handicap low skill AI more aggressively.

The new thaumaturgy domain brought some interesting challenges with power mechanics and also teaching the AI to use them. We always develop powers as player usable first, then teach the AI to use them after. Some of the new powers require new general features and kind of broke all the rules we had in place for when and how powers can be used, what interrupts them, how you control their duration etc. so we had to expand on those systems and it got quite complicated, but useful for more powers to come. For the AI we also had to come up with a better tactics system that involves not just evaluating each power individually, but also considering tactical information returned by other available powers. The AI works just like players here, they don't have scripted combat behaviours or patterns, but simply a list of available powers and the same restrictions as the player, so they need to be able to make decisions and plan ahead without a predefined overall strategy.

A notable addition is the ability to acquire powers from defeated shapers. This allows you to learn basic powers from other domains, including the one we just introduced. We're big fans of things that enable you to play and interact with the world in new ways, and new capabilities that are unlocked through interaction with the world rather than stats and levels. This also provides a very nice reward structure for defeating some of these harder encounters, something that will be expanded on once the potential system correctly affects powers.

There has been lots of polishing game and engine systems, content and additions and improvements to gameplay, but because there's so many and it's often difficult to talk about without spoilers or you knowing what's changed from previous test versions this isn't really the right place for that, we mostly focus on major development milestones in our dev diaries. Near releases, during testing and when we've just made some engine changes that touch many systems is when many things get worked on, not necessarily because they're a priority, but simply because of what we happen to be working on at the time. The little things do add up, and attention to detail and subtle, but deep mechanics is very much part of Exanima's identity.

Even though the game has received significant updates on the public testing branch, those updates were mostly about big overhauls to our engine and various game system and content, but didn't include a large chunk of new content to experience as is the norm for major updates. Because of this we've perhaps unwisely held off doing a main branch update this long, and it all took longer than we expected. Things rarely go as planned with all the unique development challenges this game presents when we're breaking new ground. If there's one thing we've learned developing new tech and with the growing scope and standards of the game is that if we do something we better get it right and future proof the first time rather than having to redo it later down the line. We now try to be very thorough and look to everything the game will be in the future, not looking for short term solutions. We've also learned that development and content tools take a lot of effort, but are a good investment that is best made early. Anyway, we're done developing new things as far as this update is concerned, and as soon as we're happy with how things are working we'll finally release to the main branch.

On that note, Exanima isn't really designed as very re-playable game, it has grown so much and become very large indeed, but without tying its elements into a complete experience yet. That really requires the game to be content and feature complete, so we're also trying to head towards that without fatiguing our players with too many pointless playthroughs. This is not a live service game, it was supposed to be a small indie dungeon crawler and a stepping stone that has grown far beyond its original scope and design. From here there will be one more major content update (without the complete engine overhauls!) and features that will tie it all together into something that should make a lot more sense as a story and gameplay experience.


Best,

Bare Mettle

I stand against Racism, Bigotry and Bullying

Asid

Exanima 0.9.5
Wed, May 20, 2026

Massive update to all things Exanima.



Before we get into everything that's in this update, we need to address the elephant in the room. Most of you don't closely follow the game's development, and this was to say the least an unusually long time between updates. Exanima is an unusual game, filled with features you won't see elsewhere, probably because no other developer is stupid enough to attempt them, let alone all of them at once. It has grown far beyond its original scope, with layers of complexity that create an organically rich experience, but also multiply into something extremely difficult to develop and inevitably flawed in some ways. We've toiled endlessly to remove the flaws while making it richer still, in response to the desires of our players and the varying ambitions of our team pushing the envelope further. It's been a chaotic growth, but it doesn't have to make sense, this isn't just some game to us, it's our life's work and consuming passion. We built this game entirely from scratch, our own engine, asset and world building tools and everything to fulfil our unique purpose. It's an insane endeavour, especially for a team as small as ours, but it's also what makes it special, and we hope you can appreciate that.

With that out of the way, let's talk update. Bear with us, it would probably be easier to talk about what hasn't changed. This is the last major update before the 1.0 release, there are huge content additions, but also huge foundational changes to try to address every major problem we ran into throughout the game's development, deliver on things promised, pave the road for the complete game and beyond, and solve those "inevitable flaws" as best we can. Many flaws can be easily dismissed for a game in development, but that in development status must end soon, and we have big ambitions for what comes after. Big or small, if there was a problem we hadn't solved yet, it's because it wasn't easy and probably required big changes and different approaches. Even this far into development, some of our major goals still seemed like faraway dreams, but it was time to make them a reality, and one thing we've learned by now is that if we do something we need to do it right the first time so we don't have to redo it again later.

IMPORTANT: you must begin a new game to experience new content and changes. Existing saves have not been wiped, but will experience many content issues. Your arena saves should be patched and safe.


Changelog for Exanima 0.9.5

This is a highly condensed changelog. There are far too many specific changes to list in once place, so many things are grouped and summarised. If some specific changes are more important to you, you can find more detailed changelogs in our public testing threads and other information on our Discord.

  •     Massive new map: The Gardens
  •     4 new encounter types
  •     Over 60 new or fully redesigned items
  •     New NPC thaumaturgy domain
  •     Acquisition of new powers on defeat of NPC shapers
  •     Large expansions of Catacombs map
  •     Complete graphical overhaul of Golems map
  •     Overhauled terrain and ground system, all new assets
  •     New grass and small plant system
  •     Visual overhaul of many assets throughout the game
  •     Overhauled undead with procedural exposed flesh
  •     Remastered several non human encounters
  •     New outdoor arena
  •     Fully functional role system
  •     Many new NPC interactions and behaviours
  •     New dialogue and dialogue mechanics
  •     Extensive improvements to NPC emotion system
  •     NPCs can now loot and discard items independently
  •     NPCs can equip themselves with found items
  •     NPCs can call out items they think may be useful to allies
  •     Improved character and clothing deformations
  •     New procedural item generation features
  •     New procedural weapons, new variations and materials
  •     Improved armour set bonus functionality
  •     Improved character simulation and animation
  •     Improved muscle function for smoother, more precise motion
  •     More realistic, smoother and consistent footwork and movement
  •     Greatly improved ability to negotiate uneven and steep ground
  •     Improved prone recovery behaviour and speed
  •     Improved crouching behaviour
  •     Improved designed motions for all weapons and creatures
  •     Improved and fixed many combat mechanics
  •     Improved general impact and fall damage mechanics
  •     Fixed many general animation issues
  •     Improved pathfinding system
  •     Improved NPC navigation behaviours
  •     Improved combat AI and tactics
  •     AI can now smartly negotiate multiple opponents at once
  •     Better Scaling of combat AI based on skill level
  •     AI better understands and avoids hazards and abilities
  •     More purposeful and deliberate AI combat behaviour
  •     AI better understands weapon characteristics
  •     Improved AI special ability tactics and strategy
  •     Huge core physics engine overhaul
  •     Greatly improved collision behaviour
  •     Greatly improved stacking behaviour
  •     Improved friction simulation
  •     Advanced cloth and soft body simulation
  •     Greatly improved physics engine performance
  •     Added and improved physics based sound interactions
  •     Improved player interaction behaviour and performance
  •     Improved rendering engine capabilities
  •     Improved global illumination quality and detail
  •     Displacement detail shadowing from all lights
  •     Improved contact shadows and shadow quality
  •     New material and visual effects
  •     Improved procedural materials
  •     High performance vegetation materials
  •     Significant GPU and CPU performance improvements
  •     Improved performance scaling based on settings
  •     Advanced compositing features for complex effects
  •     Improved post-processing
  •     Improved "supersampling" image quality
  •     The game is now 64 bit
  •     Massively improved loading times
  •     Content load and generation streaming
  •     Much faster character and item UI interactions
  •     Inventory now opens without stutters
  •     New interaction and narration features
  •     New and improved fading of objects obstructing view
  •     Improved shader pre-compilation (WIP)
  •     Added skill UI Images
  •     Improved item icon quality
  •     Improved font quality
  •     Many, many fixes

Continued below....

I stand against Racism, Bigotry and Bullying

Asid

THE GARDENS


The biggest content addition yet, a huge and varied new area to explore that will play a major role in the game's story when it reaches its conclusion. As the name implies, this area features plenty of vegetation, but also open spaces and complex environment elements unlike anything in the game so far. It also features the greatest variety of encounters, and our most spectacular and fun battle yet.

We've come a long way from the early days of flat, grid based corridors, this represents the final evolution of our environments, where we no longer feel constrained by our engine's capabilities, though we do still have some tricks up our sleeve. A lot went into making this function, play and perform well on all fronts. World building and exploration are extremely important things to us, environments shape many parts of gameplay and the experience, defining what's possible, and we no longer feel we need to compromise.


GROUND AND TERRAIN


New terrain features and overhauled assets allow us to make much more convincing and detail rich environments.

The terrain and ground system has undergone a major rework, with a richer material system, support for more materials with more advanced blending, better 3D detail, displacement mapping with detail shadows and a better grass and small plant system and rendering, all of which comes with a complete overhaul of all related assets. Exanima's view means the ground is usually most of what you see, ground that is rich in detail, depth and variation is perhaps the most critical element of the visuals.

In addition to improving the visuals of terrain we've greatly expanded our tools and engine functionality with advanced sculpting features, the ability to cut precise holes in terrain and design complex procedural brushes with interactive results and more. This gives us more freedom and allows us to make better looking terrain and environments and do it faster.


Close up of our new 3D grass system and assets, featuring advanced lighting which gives it more depth.


EXTENSIVE CONTENT OVERHAULS

While Gardens is the largest content addition, almost everything in the game has been updated to take advantage of new features, the Catacombs map is greatly expanded, the golem map has been completely remastered, undead received a big visual update with exposed flesh, various other encounters were remastered, countless items were fully redesigned and more. This is part of an ongoing process to update our thousands of assets after our previous big graphics engine update and the newer features added recently, as well as just getting everything up to the same high quality standards.


New procedural character features with exposed flesh and bones on undead, giving each one a unique and gruesome appearance.


ROLE SYSTEM AND NPC BEHAVIOUR


Perhaps our most ambitious goal for the game was the "role system". We're all about organic interactivity and emergent gameplay, and the role system was meant to fulfil that goal in the behaviour of NPCs. We built a system of emotions to drive the decisions of NPCs, and then a very simple version of roles that did little more than assign basic behaviours and nudge dispositions, but the role system as we imagined it was still a huge open ended problem, that grew in complexity as our community told us everything they hoped NPC interaction could be.

This also makes it very hard to describe, but here's the problem we're trying to solve: when games feature a designed narrative it typically follows a few rigid paths, it can't respond to dynamic events, changes in circumstance or the actions of the player, only a few scripted choices. We want both, and roles would provide carefully designed behaviours and dialogues that tell a specific story, as well as many common ones that fit the many activities, interactions and responses to events within our world. Characters can have many roles, changing dynamically as they engage in different tasks and become involved in events and plots. Roles respond to emotions and evolving relationships and remain with characters as a memory of everything they've done and said before, to draw from for further interactions.

That probably still sounds vague, and that's the nature of the complex open ended problem. But we finally buckled down and committed to a design that supports what we need to model these behaviours. We developed the structures and systems that drive these roles and relations and how they interact with everything, the tools to design them, a scripting language for our engine to support complex decision making and outcomes, a more dynamic dialogue system and more. We've been using this to create more complex dynamic behaviours and replacing our hard coded ones with these new systems, much more versatile and also open to modders. As we introduce more NPCs and move beyond the confines of Exanima these roles will drive everything.

We've also been expanding our core behaviours for AI. A prominent addition here is that NPCs can now independently search and loot the environment, containers and corpses. They can evaluate items and understand how they might fit with their equipment or be useful later. They can also do this for allies and call out when they find items that may be useful to them. Your companions are both more independent and able to assist you in searching the game's cluttered environments.


NEW THAUMATURGY



We've added a new thaumaturgy domain, and while this is a subset of powers mostly limited to NPCs, a lot of work went into developing features to support its mechanics and effects. We don't want to spoil what they are so you can experience it in game, but it involved some interesting development challenges in terms of physics, rendering and more which expand our engine's functionality in very useful ways.

We've also added the ability to absorb powers from defeated shapers. This means that when you defeat one you can learn powers from domains other than your innate one, expanding your repertoire of abilities and providing a new progression and reward system.


COMBAT AI AND TACTICS


Another thing to receive a significant overhaul is combat AI. The combat system can be highly dynamic and full of nuanced detail, but without good opponent AI it amounts to little. Exanima's combat requires complex prediction with a great many variables involved. Making AI that can feel smart and engaging to a skilled player is very difficult, and precise predictable behaviour is trivial and boring to counter with experience. AI must also vary greatly in skill, so that common encounters aren't a tedious struggle and the skilled AI stands out as such. This also allows for NPCs such as companions to progress greatly in their proficiency with experience.

Getting these things and this careful balance right has been an ongoing struggle, and as we add new larger and different creatures the rules change and the need for new behaviours arises. We have some ideas on how to enhance combat AI in many ways, but before we make additions we have to get the basics right. We had some long standing fundamental problems to solve, and we wanted a more advanced system that could produce more varied combat behaviour, such as more slow and deliberate large creatures, or just changes that reflect the personality and state of mind of different AI, not just skill, while still being effective.

Our redesigned combat AI does these things, while providing a higher skill ceiling for AI and a better scaling that makes low skill AI feel easier to beat, but not just completely stupid and ineffective. AI is now also able to smartly tackle multiple opponents rather than fixating on one, quickly switching targets to fend off an attack or use an opportunity, and making more advanced tactical decisions in general. They're also more aware of hazards, including drops, obstacles and special abilities, trying to dodge and avoid them in the heat of combat. The tactics system for using abilities is also improved, with AI that are given a random assortment of powers being able to better prioritise and plan ahead for how to use them strategically.


APPAREL AND ITEMISATION


Just a few examples of the 60+ new and overhauled items.

Our layered and slotless apparel and armour system is designed to mimic real life, placing no restrictions on what items can be worn, in what combinations and their design, so long as they physically fit together. You can wear up to 5 items on your head alone. This has been a very difficult system to maintain as we add new items and give our character artist almost complete freedom. The number of possible combinations is incomprehensible, and yet all these items must somehow be wearable in any combination and adapt to it. There's roughly 350 wearable items in the game, and a single item could be made from over 500 meshes that are dynamically combined to create countless shape variations. Despite these efforts the game was still riddled with issues of items clipping when layered together. New items kept multiplying the rules and combinations and it just got too complex to work with.

We've long talked about a "Human 2.0", an improved system designed with the hindsight and experience of having worked this way for so long. This includes many things, but at the core of it was an improved system and tools to simplify this complex layering system and the work involved in creating items. This part we've developed now, creating a much simpler workflow for our artists, solving countless difficult clipping problems, improving how clothing and armour deforms with motion and also improving performance by better removing parts of apparel hidden under other layers. This also came with a complete rework of almost every clothing item in the game, many pieces of armour and at least some refinements to just about every item. As well as solving many issues, the redesigned items and improved features really improve character visuals.

We also improved our procedural materials which are applied to all equipment in the game, particularly with better damage and dirt effects. As well as improving existing items, we've added many new items in every category and new ones, new weapons, new elements for procedural weapons with new features there too. This includes our first batch of highly ornate procedural weapons which are the most modular and advanced yet. Our armour set encumbrance bonus system was also improved, now allowing large sets that include many variations to provide bonuses when any combination of items are worn in a way that connect with each other.


Some examples of new ornate weapons leveraging new procedural item features.


PHYSICS ENGINE


Our physics engine is very much at the core of all gameplay and interaction. It is a completely custom and very unique engine designed to handle complex interactions between intricate objects while remaining stable and performant on even low end systems. Difficult interactions can be largely solved by high simulation rates, but this costs performance and is not friendly with our eventual plans for multiplayer, where stability under infrequent updates and errant behaviour is also critical. It is of course also critical in our unforgiving and perfectly persistent game world, where a physics glitch isn't just amusing or inconvenient, but game breaking.

There were two key issues we felt we needed to solve despite our modest simulation rate. One is what the community refers to as "phasing", where two colliding objects could pass through each other. This is very important especially in more advanced combat interactions. The other was stacking, basically being able to pile objects up such as books etc. which is a notoriously difficult problem, especially with lower simulation rates, and was in a particularly sorry state.

Our engine already featured Continuous Collision Detection, which means that no matter how fast or far between time steps objects moved, collisions would still be detected, but our problem was more with solving collisions when strong dynamic forces were applied to thin objects such as weapon hafts, a common occurrence with parries and grappling fighters. This and stacking both required a fundamental redesign of how our engine handled collisions and other interactions, and by extension many other things. This led to basically a full re-write of our physics engine, which involved a lot of optimisation work, but also the opportunity to include important new features. Despite its enhanced capabilities, our physics engine performs better than ever (more on that later).

One important new feature was an advanced cloth and soft body simulation system. When "human 2.0" finally comes (this will be after Exanima reaches version 1.0), we want to include simulated clothing which needs to handle complex dynamic cases, cloth has many other applications, and soft bodies will be used in fleshy environment elements, creatures, vegetation and more.


CHARACTER PHYSICS AND ANIMATION



There have been many big improvements to character physics, on the back of a big overhaul of our physics engine (more on that later) and new requirements that arise with new content. Combat feels better than ever, all character motion is smoother and more precise and characters are able to negotiate things like stairs far better. There are a host of more specific improvements, many problems and clumsy things were fixed and the game just feels better to play. Character physics are at the core of all gameplay and how you interact with the world.

The steep learning curve of fine grained control over a fully simulated character will never go away, it can't and therefore shouldn't, but as characters become more competent and consistent in how they perform actions it gets easier and more comfortable. Of course it's not flawless, there's a reason a whole industry still uses basic animation and not fully simulated characters after 30+ years. We've got just one programmer developing the whole game and engine, but even if we spent 10 more years working on character physics it wouldn't be perfect, but we will keep ironing out the kinks.

After the physics engine overhaul we went through a public testing phase that inevitably became focused on combat, various core changes were made. This meant having to revisit all our designed motions, which with all the weapon setups and creatures means 100s of difficult physics based animation. We later introduced new creatures which deviated more in size and proportions to the anatomically plausible humans we built our physics on. This to our great dismay did not work at all, and led to a big overhaul of character physics from basic muscle function and structure to all the dynamic animation that keeps characters balanced and negotiating the environment etc. Once again all our designed motions no longer fit and had to be redone. These were big foundational improvements that might still need some polish, but will support the game as it continues to grow and evolve.


RENDERING ENGINE


We've made extensive improvements to lighting, materials and added new features.

We have made several improvements and additions to our rendering engine to better support new environments and effects as well as generally better visuals. We've also improved our tools which we use to create in game assets and the many procedural materials that are used extensively throughout the game.

Our global illumination, lighting and shadows were all improved to better capture scene detail and materials, we also added displacement map shadows from all lights which add a tonne of detail and depth to details and complex surfaces making them look much more convincingly 3D. These things not only greatly improve the look of the game, but really help with your visual perception of the environment in the game's dim lighting. We've added vegetation rendering features and a few others besides to support new features and elements.

Our graphics engine focuses heavily on performance, image quality and everything being dynamic. These things are an absolute priority to us, the game must run smoothly and look crisp above all else, without steep hardware requirements. We find our own novel solutions to include advanced features and improve visual fidelity without compromising on these fundamentals and remaining highly scalable so that even low end systems can run the game well. The Gardens put a particular strain on performance due to dense vegetation combined with our many dynamic shadow casting lights, a much more costly scenario than an outdoor environment where you'd usually find vegetation. With the addition of this more taxing content and graphical enhancements we also made extensive optimisations and improved scalability so that the game runs better than ever while looking better too.

One place where we don't spare performance is our "supersampling" (for lack of a better term, it actually does much more), which received some fancy new processing to further improve image quality and motion, to better capture our detailed art. Our constantly evolving asset creation tools and procedural materials also play an important role in delivering consistent high quality, with further work going into improving the quality of our dynamically rendered item icons.


New displacement mapping with full shadows adds lots of detail and depth to objects and surfaces.


64 BIT

We've always tried to support even the oldest and most humble PC configurations, but it's been some time since we began development and now everyone is dropping support for 32 bit, including the Steam platform itself. It was time to move on and switch to 64 bit. This is a pretty big deal, in 32 bit we were limited to using a puny 3GB of RAM, a limit we've been struggling with as we keep making larger and richer content, despite our optimisation efforts. Importantly though we're now targeting much more modern CPU architectures, which gives us access to more advanced features and significant low level optimisations. Basically we can do the same things, but a lot faster, and use resources more efficiently.

Porting software to 64 bit isn't always a big deal, but in our case this meant our entire engine, game and all our development tools, an enormous code base. Our engine also includes very extensive low level optimisations, strictly designed memory layouts of data and huge amounts of hand written performance critical assembly code (this is code that deals directly with hardware / CPU level instructions) which had to be redesigned and completely rewritten for the different 64 bit instructions, data types and capabilities. This was a massive undertaking, and with it came many opportunities to revise a lot of fundamental engine systems which had to be leveraged.

We did not take this decision lightly because of the massive amount of work involved, but it was necessary to break free of that 3GB RAM limit and by leveraging 64 bit capabilities we were able to improve our engine's capabilities while also improving performance. This played a critical role in the important enhancements to our physics engine in particular.


LOADING TIMES AND STREAMING

A big addition to our engine is a new content streaming system and optimisations which dramatically improve loading times and allow content to be loaded and procedural content to be generated as you play without the game even stuttering. This was a difficult task that drastically changed these pipelines and affected many parts of the game and engine, but it represents an important foundation that enables us to do many things.

Greatly improved loading times means we can transition between areas almost instantly, giving us more freedom in design and eventually allowing things like falling into a hole to appear in another area. It also allows NPCs, and eventually other players, to travel and enter areas seamlessly, without the game having to pause to load their various assets and many procedurally generated items. When we move to massive streaming and populated environments these features will be critical, but we also hope to leverage them to basically eliminate loading of any content. In the short term it's a great quality of life improvement, transitions are snappy, the inventory can be opened without the game stuttering and every interaction and interface that involves characters and items is much faster or works seamlessly.


TOOLS, TOOLS, TOOLS

While most basic modelling work is still done in 3rd party programs, everything else we do in entirely our own tools. This includes textures, materials, level design, rigging, skinning, animating, designing roles, writing dialogue and many other things besides. This is the reality of using a completely custom engine, especially with unique approaches to many things. Far more work goes into making tools and the back end than the game itself, and reportedly this is why the industry is leaning heavily into pre-made engines, not so much for the engines, but the tools that come with them.

It's far too much to get into here, but we have been investing heavily in more and better tools, they define what we're able to do, how well and how much work and time goes into everything we do. It requires a lot work up front, but pays off big. We still have so much we want to do, and we're also working towards polished, user friendly tools that we can release to modders, already we've been working with them to create more versatile and open systems to support their work too.


WHAT'S NEXT?

As mentioned previously the following major update will be 1.0 and bring the game to its conclusion. This will include one final area and several features, but no more major engine or systems work. The game currently exists in a sort of limbo, where the core gameplay is good, but things still lack a purpose because without all the content in place they can't play their role yet. Many things that we have gradually introduced will begin to make sense, tie together and provide real objectives for the player. New NPCs will also make an appearance and drive the story forward.

Not all the features we want to add are dependent on the last bits of content being added, so we will endeavour to add some of these in smaller intermediate updates. Though recently we've limited intermediate updates to the public testing branch, we don't see the need to do this or wait for bigger updates when we don't have major system reworks resulting in engine downtime. The game should hopefully be able to survive in a good working state from here on, we've tried to make sure of this.

A lot more will come after Exanima reaches 1.0, but that's a topic for another day.

Best,

Bare Mettle

I stand against Racism, Bigotry and Bullying