While working at 343 Industries on Halo 5: Guardians, my time was largely spent developing the new Spartan Abilities. Naturally, as I press on with the development of my new independent project, character movement continues to be an area where I focus a lot of my time and energy. In doing so, I've developed some tools to help analyze exactly what's going on, frame-by-frame, and thought I'd share them with y'all. In addition, I'll call out some guidelines I use for tuning the core components of 3D character movement.

DISCLAIMER: I'm developing my current project with Unreal Engine 4 and I'll be referencing some engine specific functions and classes, but I don't imagine it'd be difficult to port the ideas to another engine. Also, I'm nowhere near ready to show/announce my project, so apologies in advance for limiting the screenshots to debug output. When the time is right, I have a follow up post planned that'll showcase a more advanced movement feature/tool I'm developing and maybe I'll be ready to give a little peak behind the curtain at that point :)

Interpreting Analog Stick Input

So, first things first. You have to get your analog stick input sorted. Luckily, Ryan Juckett already wrote a brilliant blog post about how to do this. Check it out here and then come back...or save the link and follow up later. It's not necessary reading to understand the rest of this post, but for total character movement mastery it's required at some point. Also, it was a bit of an inspiration for this post, so I wanted to call it out!