PLAYGROUND ODYSSEY

ABOUT

A 2D platforming adventure game made for the 2019 Global Game Jam, at the WolverineSoft host site. The game is meant to represent the beautiful relationship between recess and a child's imagination. To us, home meant reminiscing between on exploring the worlds we created with our childhood friend. Simply interact with each character in the game to explore their made-up story. Watch a humble little playground transform into completely different things!

DEVELOPMENT INFO

  • Developed by Seyhyun Yang, Amber Renton, Jason Debel, Loren Heubert-Aubry, and Dillan Huang
  • 48 hour development cycle (January 2019)
  • 5 developers
  • Made using Unity Engine

CONTRIBUTIONS

  • Programmer
  • Designer

POST-MORTEM

WHAT WENT RIGHT

  • Implementing each of the individual mechanics in seperate scenes allowed for concurrent and efficient work without causing merge conflicts
  • Animation using the Unity Animator allowed for animations to be quickly implemented after the sprites were created





WHAT COULD BE IMPROVED

  • Layers were not properly ordered in the creation of the map, resulting in many elements clipping behind and in front of each other
  • Lack of experience in using the Unity Animator resulted in many small bugs and glitches in the animations that took a long time to fix



LESSONS LEARNED

  • When using Layers and Tags in a team, the collisions, render order of Layers, and usage of tags need to be decided on before each programmer individually uses them
  • For small scale projects such as this, vector art and keyframe based animation is far easier and quicker than individually drawing each from and using the Unity Animator to animate them

CONTRIBUTIONS

My major contribution to this project was the implementation and design of each of the playground mechanics. The monkey bars, ladder, and climable walls were all fairly easy to implement, with the player's x or y-position being locked while they are being used. The swings were a bit more difficult to implement. Many different methods were tried, such as manually calculating the relative transform of the player in a unit circle around the swing, or temporarily setting the player as a child of the swing. None of these worked particularly well, and what I ended up doing was using the FixedJoint2D component. This allowed me to fix the player to the end of the swing, and by setting the break force to infinity, the player could swing back and forth without breaking free. The component could simply be set to inactive when the player gets off of the swing. There were several other mechanics that I designed, such as a jungle gym, or a flight mechanic, there was not enough time to implement them.