Jetpack kiwi

Move through the forest to save the Kiwi from the hungry stoats

Stats

Time Span : February-March 2016, 6 weeks

Team Size : 3

Technologies : C++ Unreal Engine 4

Estimated Development Time : 50 hours (main game development) + 10 hours (cutscene creation) + 10 hours (model creation)

Source : https://github.com/lejonmcgowan/Jetpack-Kiwi

This was a tech demo developed during my 3d modeling class. Most of the class opted into a group animation project, but I decided to use the chance to get my feet wet with Unreal Engine 4, an engine I'v wanted to try out for a while.

Cutscene

Demo

My orignal inspiration for the game based on a system with the game flow similar in the "2.5D perspective": a style that had a stylistic character traverse and platform a 3d world in a 2D fashion. Examples of games that have made use of this style are Klnoa 2 and Panomonium. Considering the timeline of the project, I felt that this was a good compromise of creating a 3D scene (which could potentially lead in to a fll-fledged game), but with the relatively simple demands needed for a 2D game.

Spline in the sceneA look at the spline used to direct the kiwi.

To do this in Jetpack Kiwi, I made use of creating an Actor with custom state (walk, crouch,slide,jump, and rocket boost), a 3d world through UE4's scene creator and a spline along the path that the character would move along. A signifigant portion of my contribution to the project was having the character properly traverse through the defined spline (which was more challenging than anticipated) and controlling the character state from input.

Moving Kiwimoving state
Kiwi in boosted stateboosted state
Kiwi boosting and sliding in stylecrouch-boosted state

I also made use of UE4's particle generator to create the fire particles emmited during a rocket boost.

Fire particlesA look at the particles used in the boosting of the kiwi.

This was my first real foray into UE4, so much of my time was spent learning the engine, how to use the blueprint interface, and adjusting to the various settings needed for the demo. Looking back at my experience, if I could redo the project now, I would have

  • learned how to properly use the C++ portions of Unreal Engine to better encapsulate actor logic and prevent "Blueprint Spaghetti"
  • Used C++ more in general for mathmatical updates. while Blueprints provided an amazing interface in creating and visualizing game logic, it seemed to be overly-excesive when it came to perfoming the more menial coding tasks, like mathmatical equations. What could have been performed in a small funciton (like controlling gravity speed) took a dozen different nodes to retrieve a refernce to the current speed, add the vectors, and update the final value.
  • Made proper use of UE4's State machine.
  • Implemented basic logic needed to be considerd a proper gane, like beginning a level, mid-game dialouge, dying,checkpoints, and completing a level.

The final product included a short cutscene another team member created, followed by the tech demo that aloowed you to move through the created world, and, of course, the 3d models created for the class (final models used in-game created by another team member). The physics of the final product still needed a tweaking, but I otherwise felt confident in being able to implement a game around the final demo, and overall felt confident in the Blueprints side of UE4.