TGA Project 3
Unbound
As a wrongfully imprisoned monkey, you break out. Navigate through a hazardous, futuristic city to escape your pursuer and reach an off-world colony.
My Contribution
Camera
Enemy
Systems
Player Movement
Steam Launch
What is Unbound?
Unbound is a 2D precision-platformer game originally made in 12 weeks by Primal Crowd, 13 students at The Game Assembly in Malmö. It was our third project overall but was our first to be developed in TGE, TGA’s in-house C++ game framework. Our reference game for Unbound was hit-indie platformer Celeste.
What I did
Systems
- Room-based camera system where the camera smoothly transitions between rooms and then focuses on the next room, to make sure player’s could see what they needed to see.
- Checkpoint system to make sure the player could reliably respawn upon death, which they do a lot in this game!
- I also worked on things such as level management, game object management, and I developed a data-driven, rebindable Input- and Action system for mapping both keyboard- and gamepad inputs.

Enemy Chase Sequences
In our game, the enemy is spawned when the player enters certain triggers. At first it spawned instantly and only despawned when the player entered a stop trigger. This was iterated on to add a spawn animation and spawn delay, along with removing the stop trigger and making the enemy stop chasing upon room camera transition. The secret to the enemy’s follow behaviour is stupid simple, it simply copies the player’s movements and state with a set delay like in the reference game. This works so well that some people playtesting didn’t even realize it wasn’t some complex AI but rather their own movements!

Player Movement
I was part of laying a lot of the groundwork for the player movement including the walk, jump, dash and climb abilities, together with fellow programmer Philip Eriksson who then carried that torch on and continued polishing it.
Steam Launch
I was responsible for launching the game on Steam, the world’s largest videogame platform. I learned all about the process of uploading the game, getting it approved, integrating the Steam API, and Cloud-Saves for Steam.

Reflection
This is definitely my favourite game project from the first year. It was our first “real” big project in C++ and a lot was learned. At the time it was also our longest project so working agile and iteratively was a huge focus so we made sure levels and mechanics were testable really early.
Looking back I can really feel how much I’ve developed since then and how much my abilities have improved. Still I can’t argue with the results of Unbound, it’s a really fun game and I had a lot of fun working on the player and the various systems around it. Launching it on Steam is a real highlight of my time here at The Game Assembly.

