Update log
Full Lost Legions update
The complete published notes, normalized for clean reading and source attribution.
Repeated intro
Hello everyone!
Extracted changes
- Gameplay
Felix here with another dev blog about Lost Legions. Today I`ll be talking about a big improvement we made in one the most glaring weak spot that we had: the locomotion system. For those of you who`ve never heard this term before: the locomotion system governs what movement animations are played depending on the direction and the velocity a character has. Our early system was very basic and would blend between a very limited amount of walk, run and sprint animations depending on the direction the player was moving. It looked very blocky, if you looked closely you could see the feet sliding over the floor and it was the number one cause why people thought our game didn't look as well as it actually does in our trailers.
This is an issue that has been haunting us for a while and while we did a lot of gradual improvements to the system, we were reaching a plateau of what we could do with just Jens as animator and me as programmer. At the end of may, after yet another disappointing interaction with a potential publisher (it`s really hard right now… maybe more on this in another blog post), I had reached the end of my patience and a reckless plan took form. A long weekend was coming up and I would use the four days where my teammates were away to single handedly rework the entire locomotion system – shoutout to my wife for putting up with me on this!
The fanciest system out there at the moment comes from Unreal itself. Starting with the engine version 5.4 they had introduced a system call motion matching. The gist of the idea is that you would feed the engine hundreds of animations for all kinds of directions, speeds, direction changes, rotations and so on and some magical predictive system would pick the one frame in of those animations every frame of the game to make it look as smooth and realistic as possible. Problem was, we were using Unreal 5.3 and updating the engine mid project is usually a big no-no in development. I had tried an update once a few months ago to see if it would be easy: the engine had crashed and the project wouldn`t open anymore… it would not be easy.
There were a couple of alternatives that worked for older engine versions. All of them had similar names using variations of the words advanced, locomotion, system and component. I spent two good days playing around with those alternatives but they all had disqualifying issues: no multiplayer replication, not flexible enough for all of our weapons and armors or just not that much of an upgrade compare to what we had. I had spent half of my time and had nothing to show for… It dawned to me that I might have to do the unthinkable and upgrade our game from Unreal 5.3 to the latest version at the time: 5.5.
[dynamiclink href="https://youtu.be/6PeoTNG4eJ0"] The next half day was fully spent doing just that. I won't bore you with the details but plugins had to be recompiled or exchanged, deprecated functions had to be rewritten and a couple of lost functions had to be reworked. With this done the next step was to integrate Unreals Game Animation Sample Project (or GASP) as baseline for our game. Blueprints were reparented, functions we`re overwritten, hundreds of animations were retargeted, input systems were exchanged (that was a big one) and finally I had a brand new, deceptively simple animation blueprint (how Unreal encapsulates complex
Source
