Unleash your inner demon! (New character animations, climbing system, and flight) + Video

Published July 15, 2020
Advertisement

This update was one of the most fun I've had in a long time! So buckle up, as I guide you through how the “your actions change the world” trope was extended to the player character, and how it changed the entirety of this update, from start to finish!

You can also skip to the very end, for the TL;DR part, where I showcase all the features in a longer video! But you'd miss a ton of cool stuff doing that!

Prologue

It all started with the notion of, What if the player's actions would not just change their environment (from NPC/faction interaction, to weather etc.), but also have a profound effect on their body/skills as well? Sounds pretty straightforward, right? I mean–theoretically–it would be cool to see, how your actions would change your gameplay: As in adding/taking away certain abilities, whilst morphing the physical and mental capabilities of said character as well. Thus, slowly transforming the player into something completely different; making so that by the end game one could end up with an entirely new character (based on predefined sets of progressions of course). Think this would add something special to the mix, which would also give more depth and moral merit to the game. Theoretically speaking of course! ?

Setting things in motion

Have to admit, initially I wasn't sure of the extent of this update, and–hindsight–it wasn't a bad thing! You see, the reason why this update came up in the first place, had to do with the fact that–at that time–the only “original” thing/asset (from the Unreal starter kit/code) in the prototype was the mannequin. Which was placed on top of a climbing system, which was put together in haste. Thus the final result was subpar; to say the least. This was a thorn in my side for the longest, and had to be dealt with–eventually. And as such, my imagination took off, to solve the problem of what to replace it with?

I mean, could've chosen another bog-standard character, or hunt the web for far better animations. Which could've helped in some cases, but overall would've just cause more headache; solely because of the custom nature of my game/design. Thus, the only feasible option was to either create a low poly version of that soldier you see above, or come up with another temporary solution. Obviously I chose the latter, as the model would've required weeks of work to be even prepared to rig, and many more to implement into the engine. Plus, while I was having this dilemma, I was thinking of trying something new, as this is just a prototype, and there are tons of RPGs out there already; with the same/similar concept. Suffice to say that I cannot compete with those, but can come up with new ideas, every now and then.

Just to give you some form of perspective, I'd like to show you what the original list of to-do's were for this update, and how it ended up.

And also the first concept of the character; which had some form of fur at the time. Sadly that didn't make the cut.

New character, new everything

Obliging to this design choice meant that all of the animations from the default mannequin had to be replaced, and the entire state-machine had to be reworked; to better fit the new model and its features. Plus this meant–luckily–that I had the pleasure to do some creative work (other than coding) in Blender. Which was fun and challenging at the same time, as a lot of animation states had to be recreated from scratch (and I'm no animator at all; although did some basic one's in my time).

I've collected all the in-between progress that I've shared on Twitter into one playlist. So feel free to watch them all (they're like 10-20 seconds long), as some of them are not optimized in game, or get poorly compressed due to the limitations of my knowledge. In my defense, all these were made in a jiffy, so the bare minimum amount of time was spent on making these; for obvious reasons.

The playlist can be accessed through here.

One of the most important things I've learned that even for placeholder animations, a solid rig is impeccable, if you wish to animate any form of object. Or else suffer the consequences of having to chase elements of your said object. Which is funny, because the cursor animation/minigame I did back then, had a better (constrained) rig. But you know, it is what it is. Also I discovered that there are no option for mirroring animations in Blender, if you wish to export them into FBX. Which meant that I had to rotoscope my own animation.

Trying to match the mirrored animation

Calling the shots

Another huge-turning point was when the already convoluted climbing system started to cave in, and forced me to further and further adjust it; to not just fit the new dimensions of the player character but its use in actions. Which ultimately ended with a "heartbreak" (poor old code :( ), as I parted from the old system, and started to work on a completely new one. Think the difference is striking enough (of the final, current version), to justify all the effort that went into making it:

It not just got leaner, and more compressed (collapsed nodes for the win), but also benefited of my new experience (as several months passed, since I made that monstrosity), which in turn resulted in better operation (more optimized, with w-a-a-a-y less glitching).

Also, there was a point (in making this transition), where bug-hunting became a towering chore. Don't mind doing it, as it's vital to any design work, but the speed of which I could test things started to slow down (as the code got more complex). To lighten my job, I thought to add a simple debug list to my view, where I could see most of the important action happenin'. Which turned out to be quite useful, especially when I constantly broke something, whilst fixing, or implementing a new feature. Getting locked up in an unwanted state/mode became the new normal.

Adding a new feature: Flight

Have to choose a "bat" for my concept character meant that I had to make it fly! Sort of reiterating the “what could happen” ideology. Seeing the creature taking its first flight was something truly remarkable and inspirational!

At first the flight was handled completely differently (from the AI pathfinding), and were much more crude and simple (basically a move to location, via shortest path). But this idea was quickly scrapped, as it had no safety features and lacked the ability to fine-tune. Thus I chose to modify the existing AI code, so that the player can navigate around obstacles and can even land on or under.

Fixing, fixing and more fixing. Oh and more animating!

From this point on, I was working hard on finalizing, and implementing every aspect of the previous system in place. Which required to do the good o' cycle of bug-hunting. Furthermore, occasionally I worked on some extra animations, to fill in the gaps (like making the idle animation for flying; which wasn't in place before). The end result looks something like this:

Reaching a milestone

This update also marks a huge milestone, as the prototype is getting closer to the end of the first roadmap (which you can still check out on the landing page of this project). Which means that soon I'll be able to finally start working on the combat/skill system, of which I was yapping all about for such a long time. And soon I'll find out if those ideas were any good or not!

Thank you for reading, and take care.

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement