Game 2 - NGR

Posted by Programming Is Moe on Monday, February 13, 2023

TOC

Premise

As one of my main goals from the last project was exploring ready made FSM solutions I decided that this project should be something that forces me to create and solve more complex state problems. So when thinking about state management that I felt was complex and also a game that is fun I had to instantly think of Gravity Rush 2.

In Gravity Rush 2 the main character Kat is like most Character Action games already fairly complex, but the single feature of Gravity Rush 2 that in my opinion makes the complexity explode are the “Lunar” and “Jupiter” style modes. Basically they change the gravity of Kat to be either super heavy or super light. For example in the Lunar style Kat starts to skip around as if she was on the moon instead of walking, all her attacks become drastically changed.

I thought that instead of doing toggles like it is the case in Gravity Rush 2 you could exert fine grained control over the gravity strength with both controller triggers. (which in hindsight I sadly only managed to scratch on with the dodge)

These were the learning I promised myself out of it:

  • Which ready mande FSM do I like and learn it a bit more in-depth
  • Leave my 2D comfort zone
  • Gain an understanding of how to keep harmony between Logic State Machines and Animation State Machines without tasty spaghetti
  • Basics of the Unity Animator
  • How to manage hitboxes and animations
  • Cope with Gravity Rush 2 never getting a PC port

That’s why I wanted to find a ready made FSM that offered

Learnings on the way

  • You can’t bend Bolt to be a good FSM
  • NodeCanvas as an FSM is an incredible joy to work with
  • Cinemachine is dope
  • Quaternions aren’t the worst thing in my life anymore
  • The Unity Animator is the worst thing now. It does many things well but holy smokes does it have some horrible caveats and UX issues
  • For a game like this I can get only so far without an animator. Many of the features I envisioned were plain just not possible without specialized animations
  • Scope. Too big :(
  • Gravity Rush 2 truly is a masterpiece. Analyzing it during development made me appreciate it much more
  • I’m horrible at sculpting terrain

For my next Project I either want to have fun and collaborate with someone while keeping the scope way way way lower than this. Or conversely if I stay solo I’d probably check out multiplayer networking with something simple like 2 player Tetris and then attempt it with something more challenging like a coop platformer.

Video: Final Features and Development Supercut

Video on Youtube

Gallery