Translations for our friends around the world.

Author Topic: Exanima  (Read 74216 times)

0 Members and 2 Guests are viewing this topic.

Offline Asid

  • HAVOC
  • *
  • Posts: 27461
Re: Exanima
« Reply #60 on: November 04, 2025, 12:14:10 AM »
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

funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 27461
Re: Exanima
« Reply #61 on: December 02, 2025, 01:22:22 AM »
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

funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 27461
Re: Exanima
« Reply #62 on: January 06, 2026, 12:14:36 AM »
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
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Offline Asid

  • HAVOC
  • *
  • Posts: 27461
Re: Exanima
« Reply #63 on: January 06, 2026, 10:54:25 PM »
funny
0
informative
0
Thanks
0
No reactions
No reactions
No reactions

I stand against Racism, Bigotry and Bullying

Tags: