Sorry :(

Your device doesn't support Unity WebGL.
Try loading this page on a desktop to play!

Press here to load Unity WebGL

  • Unity Demo
  • Video
<em>Metroid</em> Character Controller icon

Metroid Character Controller

As made famous by Nintendo R&D1
Covered in Unity

  • Cover Reference

  • With BOXBOY! under my belt, I was excited to up my platforming game with something more complicated. Metroid: Zero Mission is a perfect step up: the game has more character states, bigger levels, and features extensive analogue platforming. It was also a good excuse to brush up on my 3D modeling skills.

  • Discoveries

  • Opinion-less Camera

    Metroid's camera system is super simple: keep Samus in the dead center of the frame. One effect of this is the camera provides players no editorial or guidance; instead each direction provides equal amounts of information. This reinforces the game's unguided exploration.

  • Speedy Samus

    Samus runs at a blistering 13.3 grid cells per second. While this is great for quickly backtracking, it presents problems with controls. To remedy that, state transitions freeze or reset her speed. Turning around stops players for 3 frames, run speed ramps up over 4 frames, and landing a jump will restart her running acceleration - all of which makes her significantly more controllable.

  • Timing is Valuable

    All of Samus's jumps, whether Default or High Jump or Morph Ball, share the exact same timing: 12 frames. It reveals how important a player's internal sense of timing is. Despite the amount of upgrades players earn, they get to reuse the same timing mechanisms. Which instantly gets them back to exploring.

  • State Awareness

    Just about every state - whether running, jumping, ducking, ledge grabbing, or Morph Ball-ing - has very specific implementation details to help guide play. Like how landing on the ground reset's the players aim, or how players can only grab ledges while descending. Each state has unique aiming controls that make play intuitive, despite adding complexity under the hood.

  • Notes

  • Like the camera's simplicity, the transition between rooms consists of just two moves. It moves vertically (if needed), then horizontally. What's great about this implementation is that it works in every single use case - allowing designers to make rooms in any way, shape, or form.

  • There's a surprising number of details that make Samus feel more integrated into the world. Like how she bounces off the ground when she's a Morph Ball. Or the fact she has two different run animations - one for shooting and one for running. That one in particular makes her feel less like a killer robot and more like a human.

  • Once again, every effect is faster than expected. Samus has lots of state changes that last a measly 2 frames, and most particles complete in just 10 frames. On the implementation side, I was able to replicate the beautiful hand drawn effects using Unity's submitter system (Like the moment where the bigger clouds disperse into three smaller ones).

  • Movement over image fidelity.

    Unlike BOXBOY!, this cover looks a lot less...finished. Deciding what to replicate came down to pinpointing the essentials of Samus's movement. Even though modeling, rigging, and animating a character was a fair amount of work, that process is the clearest, most concise way to communicate the character's state.