Last month we went into some detail about the role system and what our main objectives for it are at this time. While there have been many big improvements and additions, the role system is the key feature of the next update and what supports the story going forward.
Having figured out many of the core role mechanics, we've been now focusing more on low level behaviour stuff, which while perhaps not as impressive in scope, is what you'll notice most during gameplay. This is basically where roles are used to control actions and activities or react to common events, rather than modelling relationships and long term goals.
This includes a lot of mechanics for NPCs to become aware of nearby events and things in the environment, as well as interact with them. NPCs should comment on things that are happening dynamically, notice objects and other things around them and use them. One important practical part of this is finding equipment, being able to determine whether it's useful to them or a party member and call it out or just use it. There's quite a lot of nuance to something like this, as we don't want NPCs to just be instantly aware of everything, objects that are hidden or just hard to spot should be more difficult for them to notice. We also don't want them to be constantly calling out every minor upgrade or greedily taking all the best items for themselves.
In terms of combat there's also going to be a fair bit of role involvement. We want NPCs to engage in different behaviours based on what's happening and also accept commands or requests. This could include helping allies in danger, perhaps gaining courage and rallying for someone they care about, requesting help and things like just commenting on notable combat events. In general we're also trying to make roles an important part of engagement, to build on the more animalistic emotion driven and sometimes selfish behaviour of current NPCs.
These aren't the only things we're working towards, we have quite a few advanced behaviours planned, but this is what we're focusing on right now and the requirements are shared. To support a lot of new behaviours and dynamic roles we're putting a lot of new AI functionality to engage in different actions and properly prioritise them, many mechanics for understanding circumstance, events and objects, put them in context and describe them in dialogue.
Roles aside, we've also been working on the late game "save system", or rather some ways to prevent losing all progress. This is however just one optional aspect of a quite large set of features involving various new mechanics. Supporting these properly and in a way that is future compatible has requirements that mean changing how some things work in a fundamental way.
Our design is such that any seemingly insignificant object or thing can potentially carry a lot of information, is fully persistent and can be understood and remembered by NPCs. Dynamic events and behaviours require and create a lot of dependencies with a scope that's not always predictable. This introduces a lot of difficulties with authoring and maintaining content, particularly in supporting a distributed workflow, or mods and player made content. All these interactions need to work both within that body of content and the game world they belong to.
We have a partial solution to this already, but there's still some very difficult problems that are becoming more relevant as we look into new features and expanding beyond Exanima's current scope. We've known we'd have to tackle these problems for a long time, and it didn't look easy, but now we've finally designed a solution. This will allow us and others to create large chunks of content in a completely independent way while supporting all these features. This content can then be seamlessly introduced into the game without requiring changes to shared resources or even existing saved games. It's a bit difficult to explain exactly how important this is, but it certainly is.
Best,
Bare Mettle
Coffee Diary - July 2024
Hey Exanimates,
The last round of changes we discussed in the last coffee diary went live on the test branch shortly after. The new weapon motions and other adjustments were very well received, and we will of course continue to tweak things based on feedback. The new arena with new vegetation features was also included and seems to be working and performing well for everyone. Before we move things to the main branch and do a save wipe we are making some content changes that are required to support upcoming features, so that we won't need to save wipe again when they are introduced.
This major overhaul of our engine, physics and many big core features is finally complete. Some of this such as terrain, vegetation and cloth was in our original immediate plans, but realistically most of it wasn't. These are all hugely important changes though, planned or not, and now that they're done we're finally turning our attention back to the role system.
We briefly introduced the role system topic a few coffee diaries ago, but basically the role system is what drives all "high level" NPC behaviour. We already have a very good and functional system in place for modelling behaviour based on emotions and basic relationships, but with just these things, AI basically behaves like animals. We do already have a version of the role system in place, which is used in a very basic way to give characters dialogue and some basic understanding of others, but as it is this is very static with few placeholder roles, and does almost the opposite of what the role system was designed to do.
What we call a "role" system is very broad in scope. Roles provide different behaviours, decision making that exerts control over raw emotions, they model relationships, carry memories of past events and interactions and generally context for AI to understand and interface with things. They can be very broad like "human", very specific like "Derrin the farmhand" with personal details, or just fleeting contextual things like "pulling lever at friend's request". Relational roles identify others based on experiences with them, context or assumptions, and carry histories between individuals. A character can have many roles active at the same time, and remember them even when they are no longer active.
It's hard to talk about without being vague, but the takeaway is that roles can do a lot of things. It all depends on what roles we design, as part of general AI behaviour, specific events, player interaction and all sorts. Most roles can be circumstantially adopted by any character, and as we expand our library of roles all NPCs will gain more behaviours and awareness. Building this library of roles is one of the key challenges, but it's something we can do incrementally once we've defined a good foundation.
In the past month we've made some important strides in defining what our key role types are, how they interact with each other and the mechanics to support more functional and dynamic roles, control emotions and more. We figured out a lot of important stuff, and are already moving into implementation and optimisation details as far as the most important mechanics go. As we get into a lot of the more practical roles, we do also need to pair them with new AI actions or events that drive behaviour, but we do have a good foundation here for how this works. It's a matter of adding to the range of things that AI can do and understand. Beyond that, the role system itself can be considered complete and becomes mainly content driven. That means we can continue to add new roles and nuanced behaviour without changing how things work.
Our first intermediate goal is a smarter and more aware Derrin. We will use him to aggressively test new role system feature and interactions. The somewhat lofty goal would be to make him feel like a real human companion that is more independent, reacts to things and makes decisions on his own. His relationship with the player should be more nuanced and dynamic, with more things affecting it, but also a better understanding of context and when cooperation is useful even if he doesn't really like it. Basically, we want him to feel smart and alive, not an NPC following scripted behaviours and commands without question. That and emergent outcomes is the purpose of the role system.
The next major update will also feature new NPCs, able to have complex interactions not just with the player, but also with other NPCs. The roles for the most part, as stated previously, are not static things designed to fit one character, but things that can be attached to any character, if circumstances are right. All NPCs have a broad range of behaviours and relationships, and events are mutable and can carry things in new directions.
It's a lot, and we've seen that people tend to either consider too abstract and are somewhat indifferent, or let their imagination run and get very hyped. Whatever your expectations might be, and what we actually accomplish, it will absolutely make for a more immersive and dynamic experience with many new interactions and outcomes. That is the kind of game we're making, and the role system in our eyes is perhaps the most important part of it.
Best,
Bare Mettle
Coffee Diary - June 2024
Hey Exanimates,
Since updating the test branch we've been doing a lot of tuning and adjusting things, the extensive changes to the core physics affected a great many things, and while absolutely a huge fundamental improvement, a lot needed to be updated to take advantage of this, or even function properly. We also ran a few experiments, iterating over some core combat and character physics and getting feedback from the community. A lot more has changed for the better thanks to this and core combat is in a really good place, with very positive feedback from players.
This means we needed to do yet more changes and adjustments. Muscle structure and other changes have made characters effectively much stronger and more rigid, less prone to limbs failing, able to apply more leverage and better supporting emergent gameplay, like grappling. The somewhat "floppy" feeling they could have is gone. These changes however really affected all our existing combat motions, and while we did make some adjustments right away, over the last couple of weeks we've been properly updating and redesigning most of the attack motions. We found we now have more control and are able to make the motions more complex, but it also takes a bit more work now to make them look fluid and transition smoothly. There's a lot of these motions, and dynamic components to them, but we're' finally done and we think they look and feel noticeably better. We'll be updating with these very soon.
Footwork is also in a great place right now. However, we do think that where uneven ground, obstacles and vertical movement in general is involved there is still room for improvement. Navigating environments can also feel a bit clunky, and all this seems like something that needs to be addressed to make the gameplay flow and feel better in general. We've been investigating this and we think we have a clear plan to address it, however it will take quite a development effort and for the time being we feel there are other priorities. It is on the horizon.
All in all this has been a huge transformative upgrade to the combat and the physics in general. We'll always be polishing and ironing out the kinks, and there's still some notable combat features to add, but we'll be building on top of a much more solid base.
We've got a bunch of other fixes and tweaks ready to go now and the test branch update is in a good place. We also got controllers working again and Steam Deck too, however there are still issues with the current version of SteamOS and if you want to play this on the Steam Deck you need to be on SteamOS beta preview until they go live with it on the stable branch.
With this chapter closed, it's time to move to other topics. You may have noticed a pattern recently of us working on things for natural environments. We overhauled our terrain system, we dramatically improved our rocks, improved 3D grass, lighting, we extended our generative tools with features for more organic assets and various things besides. This will all be critical when we move on to overworld content, but the reason we're doing it now is because the next area that will be added is The Gardens, and as the name suggests it will feature lots of nature. One difficult problem remains, which is vegetation. Recently we've been working on adding high quality trees and plants to our repertoire, and also on realistic, but performance efficient foliage rendering, which includes some additions to our global illumination and translucency effects.
It took a lot of tinkering to get things looking and working the way we wanted, and we've still got a bunch of assets to get through, but we're off to a very good start. The following screenshots are not from the new gardens area, but they make for a good showcase of the new assets and features.
Best,
Bare Mettle
Coffee Diary - May 2024
PHYSICS 2.0
We recently re-wrote a lot of our physics engine and optimised it for 64 bit, in the process we also made big improvements to collisions and some complex interactions. This has been in testing for a while now, and of course everything physics came under a lot of careful scrutiny, every little flaw exposed. Originally we designed our physics engine to tackle specific difficult problems, and we accepted that this came with some limitations and compromises. We should know by now that just won't do.
The level of physics simulation in our characters and combat isn't easy to do, we've improved it a lot over time, but of course it can always be better. We also have a dedicated portion of our playerbase that engages in "grappling", using weapons and shields to trip and throw opponents, pushing the limits of what the simulation can handle.
The collision improvements are big and definitely help, but there's a lot more to it. A quite evident flaw is things separating from each other. This is most obvious when a weapon separates from hands during difficult collisions because it's got nowhere to go. With collisions becoming more solid, this problem became more obvious, and when a weapon is used as a lever to throw an opponent, but it separates from the hands, then the opponent can slip between the weapon and the hands, or the weapon between the opponent's joints and body parts.
Another difficult problem is static friction. This is basically the increased friction between surfaces that are not moving relative to each other, and prevents any movement at all. In many situations correctly eliminating all movement and slow drift or jitter is very difficult and leads to all sort of problems. We had already improved friction, but while this addressed some important cases, others were still not very good, and objects slowly drifting when active remained a problem.
A related issue, but also a separate problem, is vertical stacking. Creating something like a pile of books or plates is a good example of this, which wasn't really possible and particularly erratic when disparate masses are involved.
This being a real time sim, we could improve all these issues with just increasing the simulation rate, but it would be very expensive and only an incremental improvement. With the recent upgrades and optimisations, we felt we had the foundations here to make some dramatic changes to how our physics engine works, to address all these issues and generally take our physics to another level. We considered these things already long ago, but it seemed too difficult and expensive, especially with our character physics, and we couldn't see how to do it without losing our engine's "special sauce". With these new foundations and uncompromising attitude we made a new effort and had a breakthrough.
This is a fundamental transformative change to our physics engine. We dramatically improved on all our problem areas. Collisions are even better still, the separating parts problem basically eliminated, friction and stacking vastly improved. We basically went from our physics engine being quite good at specific things to being much better at those and good at everything else too.
Great! But we weren't done yet. With everything being more "solid", the next link in the chain took all the stress and suffered. A character's joints and muscles, when placed under extreme stress, could overextend and dislocate. This was an existing problem, but exacerbated and highlighted by these changes. We also have a problem with weapons being light and nimble in the hands, but artificially heavier in the world, to make impacts feel stronger. This disparity in masses obviously causes some problems, and exerts even more stress on the joints.
To deal with this problem we made new tools that allow us to interactively modify and test joint and muscle configurations on characters. With these tools we were quickly able to improve muscle structure and overcome these issues too, while making characters feel much stronger and more controlled.
All these changes have dramatically improved the feel of combat, it feels tighter, more precise, more real. All hits and exchanges are extremely solid, footwork is more quick and precise and it can all take some serious abuse and still function correctly. It's not just combat that's improved, all physics interactions are much more robust and realistic, making the whole experience better, allowing us to do more with environment design and generally making our lives easier as developers.
We have made a few specific changes on the back of this, mainly to combat mechanics, and we also improved things like object interaction. We're still tweaking things, with so many core changes there need to be some adjustments, but we've set a great baseline already and this is a process that continues as we observe things and receive feedback. This better physics foundation is obviously huge in importance and scope for this game, and supports key mechanical improvements and future additions to combat, and everything else.
SOME GRAPHICS AND CONTENT STUFF TOO
As much as we've done on physics, we have been working on a few other things besides. We've been making more updates to the game's content and we've been improving and adding graphics features to support new content. We've made some general improvements to lighting and post-processing, which particularly benefit outdoor environments, but also make everything a bit brighter and clearer without compromising the mood and darkness.
There's been a bit more in the works here in terms of graphical features and content to support the next major area to be added, which is a bit different from what you've seen so far, but we're not quite ready to show those things just yet.
LIVE ON TEST BRANCH (SAVE WARNING)
This and everything we've discussed in recent diaries is live on the test branch and has already received a few hotfixes. We're still tuning things and ironing out a couple of kinks, but overall things are stable and in good shape and feedback so far has been very positive. You can find changelogs, more information and a place to give feedback on our discord: https://discord.com/invite/Z5aV2bF
Be warned that existing story saves will not work correctly due to the extensive changes to terrain and level assets. Once the update goes live on the main branch, there will be a full save wipe, so any progress you make in the story now will be reset. To access the test branch you need the password: BMXATestB915
Best,
Bare Mettle
Coffee Diary - April 2024
We've been testing the many changes to the game and our engine with insiders this past month, which especially considering the extent of the changes to engine code, has gone very smoothly. It all seems very stable and we didn't really run into serious issues, though some proved tricky to fix. Insiders are always very thorough and meticulous, uncovering minute flaws and obscure little problems. We've done a few patches already, with many fixes and improvements to things both new and old.
We do still want to try to make a couple of improvements and additions for the full update, but things are in a pretty good place already so we're thinking to update the public test branch within the next few days to get things tested by more players and on more hardware. This basically includes physics engine improvements, some cloth physics, 64 bit, updated terrain system and assets, golems area graphical overhaul, a big expansion of the catacombs and a few other bits and bobs.
The physics are working better than ever, with more improvements we made during testing, and the performance increase is big, giving us a lot of headroom for more upgrades, new features and richer content. We are currently looking into some very interesting further core improvements we might be able to make, but it's a bit uncertain still and we are trying to move on to other things. There have also been general performance improvements, and better loading times too.
One of the features we're actively working on is the late game "save system", which is something that ties into the content and the player needs to discover and interact with, and comes with a few other additions. To support this we need new interaction mechanics, which we're implementing through a "placement zone system" which will support many things, like socketing items into elements of the environment, snapping objects into logical positions (e.g. torch in a holder, bar across a door) and just triggering all sorts of events when a particular thing or type of thing enters or is placed in a specific location. This opens up a bunch of new gameplay elements and interactivity. The concept is fairly simple, but the physics and persistence of the game do introduce a few complications, and we're going for a very versatile system, with core features that can be useful for other things too.
We did the thing again, where we invested in big core technologies and features for the future of the game, but we're wrapping this up now and moving on to gameplay systems and content additions. A lot of what we did here will be invaluable for some future content, and we like to tackle the most difficult problems first. The role system will be our next major focus, but we have a long list of features and additions to suit everyone's taste.
Best,
Bare Mettle
Coffee Diary - March 2024
This has been a month of mostly wrapping things up and getting them ready for a release. There have been a lot of important core improvements that affect the entire game and content, so we want to get the game in testing and updated before moving on to other things. This includes the switch to 64 bit and optimisations to many parts of the engine, the overhauled terrain system and all related assets, improvements our physics engine and important new features, a complete graphical overhaul of the golem area, a huge rework and expansion of the Catacombs map and a few other smaller, but still important improvements. It's a lot.
Most recently we've been working on improvements and additions to our physics engine. These are things we've been wanting to do for some time and are extremely important for the future of the game. The core physics improvements are immediately obvious in gameplay, they make weapon interactions feel and function better in combat, they solve many problems and we're already noticing how they allow us to do more with level design and interaction. Last month we released a video where we showed what was basically a prototype version of new cloth and soft body features. This is something we hope to use extensively for things like clothing, plants, those creepy fleshy growths, sheets of paper and generally the many things that should be soft, flexible, floppy and squishy. This would allow a new level of immersion and interactivity. Dynamic physical interactions are at the core of Exanima's gameplay and immersive world, and this is something we want to extend to every part of it.
The key breakthrough we demonstrated in our video was a performant way to do polygonal collision on deformable bodies. While it's great that we're able to do realistic interactions between cloth and things like weapons, this provides a versatile solution for all sorts of soft bodies beyond cloth, where simpler methods could be considered sufficient. Since the video we've further improved our model, stress testing it and making it very functional and stable under many conditions and applications. We can drape cloth over objects, hold objects in nets and sacks and do all sort of tricky things that require a very stable and accurate model.
Performance is of course a major concern, we identified good, fast methods, but we still had to optimise what we showed then. We knew our prototype implementation could be made roughly 10 times faster, and we joked about making it 20 times faster, but that's what we did. Then we optimised it even more, and made it 40 times faster. This being physics, This being physics, it means a bigger performance budget for more cool things. Another important optimisation was making deformable bodies that aren't currently doing much and actively interacting with anything, or visible, or casting a visible shadow etc., go into an idle state where they cost virtually nothing. This is ultimately what allows us to have a huge number of these complex objects in an environment.
In keeping with Exanima's full interactivity, we also added the ability to move and drag cloth around with the cursor. Besides that consistent immersive feel, this has a number of gameplay implications that we're eager to explore. Another of Exanima's more unique features is perfect persistence of everything, this means that if you leave a piece of cloth draped over something in a particular way and exited your game, it has to be in the same exact position when you return to it.
We've also extended our development tools to support these new features and generally improve our workflow for all physics. We've been constantly making improvements to our tools and also making them more intuitive and user friendly, for eventual modding use and also if and when we expand our team.
There is so much we can do with these new features and we're very excited by the possibilities, but as usual much will be revealed when we add new content and gameplay where you can experience it fully first hand. Everything we listed up top and these core improvements are in the polishing stage now and we hope to begin testing in the next few days and get it all released for everyone soon after.
Best,
Bare Mettle
Coffee Diary - February 2024
For this month's diary Madoc made a video again. We mentioned previously how we hoped to use more performance for more and better physics, and this is the result of those efforts. This gets a bit technical, but we think real time physics isn't a very widely understood topic that needs a little explaining.
These are some very significant improvements and additions to the game's physics that support a lot of things in terms of gameplay, world building and our development process. They make the very foundations that drive everything in the game better.
Best,
Bare Mettle
Coffee Diary - January 2024
Last month we mentioned we were migrating our entire engine, game and tools to 64 bit, as we really don't need to support 32 bit anymore and this gives access to practically unlimited ram and many big optimisation opportunities. This was a massive undertaking as our engine uses a lot of very low level (close to the hardware) code and we also took this opportunity to improve and optimise many core systems as we reviewed so much of it.
You may be wondering, the game already runs great, why optimise it further? First off, these are not rendering optimisations, as that's GPU territory, but in terms of everything else, and especially physics, these optimisations are extremely important. Unlike graphics which just runs at different framerates and different settings, physics always works in the same way, and for this to work and be any good in the first place, it must always do exactly the same thing at exactly the same rate. This means better performance isn't a matter of higher framerates and better settings, it's simply a hard limit on what we can do with the game.
Physics in Exanima isn't just for show, every element of gameplay, every interaction, every motion and outcome is a direct result of physics, no exceptions. Character motions are driven by virtual muscles and are made dynamically, even the slightest collision can completely change outcomes, everything has physics, everything is fully persistent. We never use simple shapes like boxes or cylinders for collisions, but always accurate representations, even when objects have complex shapes that are notoriously difficult to simulate.
All of this detailed simulation is expensive, which puts limits on things like how many characters we can have, how many objects, and just generally how detailed and accurate the simulation can be. Greater character density is an important requirement for what we have planned for the game's conclusion, but we also want more physics interactions to add gameplay elements and improve immersion which was the main goal of our fully physics driven approach. This includes things like cloth physics, plant physics, soft bodies, animated tentacles and water to name just a few.
This huge migration is now complete and we've also done lots of low level optimisation and a slew of improvements, especially to our tools. We've been using and testing things for a while now and it's all very solid and very fast. The results have exceeded our expectations, with physics performance being doubled, and collision performance specifically almost tripled with room for further improvement. Collisions are particularly important, because while things like character and other motions are expensive, they have a fixed cost, but collisions keep scaling as more objects are involved and the game doesn't place any restrictions on what you can do.
Most recently we've been working on cloth physics, which is really the technology which drives cloth, hair, vegetation and soft bodies, so this is a big important thing and it accounts for a very big chunk of our performance budget. We also use cloth physics to help generate models for clothing in our tools. We came up with a new method that produces much better results and is much less restrictive in terms of modelling. After some thorough optimisation, it's also up to 10 times faster than what we had before. This is a really impressive result which is great for all the things we plan to do with these features.
These kind of major engine and tool revisions are par for the course after a major update, and often involve many months of work. With this and our terrain system overhaul we're done and already back to focusing on content and gameplay features. The team is busy with major content additions for the next update as well as some nice improvements, as some existing content is gaining new importance with the introduction of new features. We plan to start insider testing of the updated engine and terrain (which affects all content) soon, and we should be following this up with a public update that includes some new features and content updates.
Have a great year!
Bare Mettle
Coffee Diary - December 2023
TERRAIN IMPROVEMENTS
Last month we briefly mentioned we wanted to improve terrain and our tools. There are more improvements we could make, but this quite large body of work is done now. There's a lot to cover that's not easy to explain, so we recorded a quick video to show it better.
There's a lot here to help us push development forward and very obvious visual improvements that you should be able to see first hand in game soon.
STONEWORK TOOLS
Basically all of Exanima's stonework, the walls and floors, are designed and created inside our tools. We generate very detailed 3D models with all the individual bricks or tiles, and then do a whole series of things to convert this into in game assets. This allows us to make very specific stonework with a very consistent style and results. This process and the quality of the assets has improved over time, but so far we've been limited to regular or simple geometric patterns. Now we've made new additions to these tools that allow us to generate irregular and more "organic" stonework as well. This allows us to make a wide variety of new types of floors and walls using the same methods. This is actually a really important addition to our tools and there's lots of things we plan to do with it. You can already see one of these irregular floors we created in the terrain improvements video.
64 BIT
When we started developing our engine it was still important to support 32 bit systems, but at this point it certainly isn't. So we decided it's finally time to make our engine and Exanima 64 bit. This means access to way more memory and more modern hardware features for low level optimisation. The memory has mostly been an issue in our development tools where we work with many millions of polygons and many high resolution images, but with the most recent update we started to feel the limits in the game too. More optimisation is also something that we need for new features and content we plan to add soon, but this is a different path to more performance that should remove the need for that, while also multiplying with it when we eventually do it. Essentially we get to kill two birds with one stone, this had to be done eventually.
Moving to 64 bit isn't usually a big problem, but everything in our engine is made by us, and it uses a very large amount of assembly code. This is code that deals directly with hardware level instructions rather than a more concise and human friendly language that a compiler converts to hardware code for you. The reason for using assembly is because we can write much faster code than the compiler. However it's very difficult to work with, and code written for 32 bit won't work in 64 bit.
These 64 bit hardware features provide some great optimisation opportunities, and so does working alongside a 64 bit compiler that is based around the same more modern hardware features in general. Madoc has been working tirelessly on new 64 bit versions of our code and testing optimisation strategies. The bulk of the work is done, and while we still don't know what the final result is, early tests promise a very significant improvement in performance. Performance is a currency to us, which we can spend on more and better physics, and as this is a multiplier to other optimisations we had already planned, we're very excited about the possibilities.
We should have all this properly wrapped up pretty soon and as a team we're busy working on many different things and making good progress. We are still looking at an intermediate update before the next big content release, but we're not sure yet about the scope of it. Check back with us next month for more.
Thanks!
Bare Mettle
Coffee Diary - November 2023
Hey Exanimates,
Welcome to our first monthly coffee diary. Until now we posted a weekly dev diary on the forums, talking about what we're working on and how development is progressing. We're switching to this monthly format now, and going forward we should be able to make these more interesting and maybe include media when appropriate. Keep in mind that we are always careful with spoilers and we prefer it if you experience things in game, so we can be a little secretive.
We have just released a huge update, so we've been pretty busy just getting feedback, making improvements and fixes. We're still tracking a couple of issues, but the game now seems to be in the best shape it has ever been. This is the time in the cycle when we properly assess our next major development goals and work on things like systems and tools to support our workflow. At this point though our roadmap is mostly things on a small or medium scale, mainly gameplay features and content rather than major engine or tool development.
Our one bigger goal and focus for the next major update is the "role system". We'll likely talk about this more in future diaries, but for now we'll give you a basic introduction. The role system is very broadly what gives characters identities, behaviours, relationships, memories and interactions. Characters might have hundreds or even thousands of active roles, acquiring new ones all the time as they experience things, meet other characters and engage in activities. Roles are often situational, such as "person in shop", through which relational roles like "customer - shopkeep" can be acquired. Any NPC can acquire these roles, they will remember the experience, be able to relate information about it and so on. There's quite a lot more to it, but we won't get into all the details.
It's a powerful system that is mechanically quite simple, but requires us to gradually add more and more roles to make the AI smarter and understand more things. We already have a version of this in the game, but with only a few placeholder roles that rigidly script behaviour, not at all how this is supposed to work. Exanima's AI is so far almost purely driven by emotional states and personality traits. This alone is almost enough to model a wide range of behaviours, but the roles are another layer providing much needed context. Essentially the intelligence to guide the emotions. Roles should not override core emotional responses, but rather just nudge them in the right direction and ultimately be driven by them.
This sort of thing is our true passion, we want to create a believable world, and to us that's all about how it behaves. We originally didn't make our game physics based because we wanted awesome combat, that was really a gigantic detour from our true goal, driven by feedback. The physics is there because we want things to be truly interactive and less artificial, everything should behave in an organic way rather than according to a simple set of rules and predefined actions.
The next big update will include progress on this role system and include new intelligent NPCs and more dialogue, and also a new area to explore, which is very terrain heavy. For some time now we've been wanting to spruce up the visuals of our terrain, and we've already begun work on improving our tools for designing terrain and its surfaces. The ground is visually dominant in Exanima, so this is important. The updated terrain will feature better materials and many remastered assets, but it also solves many difficult problems that our level designers currently have to deal with. You will likely see incremental upgrades to the terrain before the major update, such as improved 3D grass which has been patched in already.
While we're hesitant to promise anything too specific, we are considering one or two smaller updates before the big one. One topic would be fully implementing Potential and other thaumaturgy mechanics, adding some new powers, improving existing ones and also the controls. Another thing that is high on our priority list is mechanics for saving progress in the late game. This will not be simple checkpoints as the game is no longer linear, but rather an optional system you will have to discover and engage with. We have been laying down the pieces for this for a long time, and with its introduction they will finally have a purpose and provide new objectives and interactions within the game.
We hope you found some of this interesting, and please let us know if you like this format (yes we will try to include some images in future). We'll see you here again on the first Monday of the next month.