Update log
Full Exanima update
The complete published notes, normalized for clean reading and source attribution.
Repeated intro
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. [dynamiclink href="https://www.youtube.com/watch?v=OheXErPzAeA"] 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
Extracted changes
- Balance
Source
