First, Do No Harm to the Gameplay

In June last year Epic released a significant overhaul to the starter templates that come packaged with Unreal and if you’ve been following me (or my Shooter Sandbox project) for any length of time you won’t be surprised by my excitement for their First Person Arena Shooter Example.

Whenever Epic releases new content I always do my best to ‘rebase’ my own templates based on their example, and to use these projects as a launch pad the same way many of you might start making your own projects.

The Arena Shooter comes with a large selection of locomotion animations for different weapons. I figured this would be the perfect place to start but I almost immediately ran into a brick wall.

The Animation Problem

Up until recently the Sandbox has been using ‘blocked’ animations, instantly snapping between key poses to show timing and character intent. Although obviously not suited for a final product, these kinds of animations were quick to produce, easily tweaked/adapted, and got the point across.

I thought this was the space where Sandbox would live. There was enough detail to make gameplay legible, and they were easily replaced if you had animations of your own.

Unfortunately, this plan isn’t really working.

The blocked animations have been an increasing liability for the project. To those unfamiliar with the animation process the Sandbox just looks unfinished, and the juxtaposition between the blocked and far more polished Arena Shooter animations makes the problem even more obvious.

Animating can be great fun, but it’s also a painfully slow process. With the Sandbox already needing so much attention I wouldn’t feel comfortable committing myself to doing a full suite of animations for all characters, enemies, and weapons. That’s a lot of work, and I already feel so behind.

One of the biggest driving forces behind the Sandbox is to provide you all with a template you can use for your own games, generously licensed and with minimal third-party assets, so the usual solution of purchasing animations online is also a non-starter.

Thankfully, the key to this problem has been sitting in plain sight for the past twelve years.

An Indie Approach to Procedural Animation

David Rosen’s 2014 presentation Animation Bootcamp: An Indie Approach to Procedural Animation is one of the most impactful GDC talks I’ve ever experienced. Even after all these years it’s still a must-watch for technical animators, and I can’t overstate how much it inspired me when I watched it back in the day.

An Indie Approach to Procedural Animation is a step-by-step breakdown of the animation system behind Rosen’s action game Overgrowth, famous for its fluid combat and responsive gameplay.

It’s in this talk that Rosen suggests a foundational ‘Hippocratic Oath’ for video game animation.

First, do no harm to the gameplay.

Overgrowth uses minimal hand-keyed animation, relying instead on a small library of poses and layers of procedural animation to build up a flexible and responsive locomotion system.

Overgrowth’s base locomotion system uses just 13 keyed poses. That’s it.

In recent years Epic has repeatedly showcased Unreal’s cutting edge animation capabilities. The most extensive of these is the Gameplay Animation Sample Project which features motion matching, pose warping, and the new experimental Mover Component.

These are all amazing, and I don’t want to minimize their impact or potential, but they also require significant setup and animation resources. Working with GASP also requires an intermediate to advanced level of technical animation skill and knowledge.

Rosen’s GDC talk is ancient in comparison, but I would argue it holds up now more than ever. The Indie Approach uses a suite of familiar battle-tested techniques to create gameplay-first animations that will do the job without the overhead.

The Indie Approach in the Sandbox

One of the things I love about Rosen’s approach to animation is that it builds complexity in distinct layers, each of which can be visualized and toggled on/off to demonstrate their impact on the final animation. Most of his talk is dedicated to breaking these down, and I am not the only developer trying to reproduce them in their own projects.

Thank you, Wolfire Games!

In 2022 Wolfire Games made the entire Overgrowth engine open source, making it a lot easier to unpack how its character controller drives its animation!

For those interested, the code referenced in the talk is (mostly) stored in Source/Objects/riggedobject

I’ve made good progress unpacking these techniques so far, although I still feel like I’m proving the feasibility of the idea for the Sandbox specifically. Luckily my original approach has already provided a wealth of key poses with which to experiment.

I animate entirely within Unreal using Control Rig which means the Sandbox also comes with complete animation source files.

I’d like to close out by listing each of the steps Rosen outlines in his GDC talk. In future I hope to be able to link out to more detailed break downs of how I approach each step and how I integrated it into the Sandbox. Tutorials can take a long time to write so I might not cover every single step, but I’d still like to share my progress as I work down the list.

  1. Responsive movement (first, do no harm to the gameplay)
  2. Idle pose, rotate towards velocity
  3. Acceleration tilt
  4. Stride wheel, pass and reach poses
  5. Multiple speeds (run & walk)
  6. Blend between speeds & poses
  7. Bounce gravity (and sway?)
  8. Phase blending
  9. Additive crouch pose
  10. Spring damper interpolation between additive poses

From this point we get into jumping/falling and physics simulation.

We’ll get there.

I am a technical artist from Adelaide, Australia. I created techarthub to share my knowledge and love for this industry. I hope you feel it too!

More from the Shooter Sandbox

A different approach to character animation within the Shooter Sandbox project.

15

It's easy to double your animation budget when the workload is entirely theoretical.

14

Often the most interesting mechanics prove the most controversial.

13

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top