KJ: Unchained

KJ's Great Escape

"Get me out and get your share!"

Our take on a classic prison-break game started with a broader concept: how would it feel to survey a prison on the scale of a toybox? Originally, the intention was for the player to serve as a guard in the prison, frantically blocking exits and redirecting guards. However, once we flipped the script, we found players enjoyed helping the prisoners escape more. Similarly, this let us flesh out the character of the prisoner, and his relationship with the player (and other prison guards). The game then became about stealth and timing, with the player serving as the "main in the chair" for KJ's escape.

The security system to the prison is presented to the player as a cylinder around them, with doors, alarms, and bridge cranks. Whenever KJ has an opening, he'll run through it (and potentially directly into a guard, if the player isn't careful!). The guards will pursue KJ, and break down doors to get to him. The player has to be quick and tactical to get KJ from his cell to the prison exit.

Early on, it became apparent iteration and playtesting would be essential to creating a great level. Due to the time constraints, we knew we wanted only one level for the player to navigate, with each gameplay element being introduced gradually as the player traverses.

Initial design of the first part of the level

Tool for adjusting walls and floor.

As a result, we knew we needed to create a flexible system for rapidly changing the level design. I developed a spline-based level editor, which allowed walls of the prison to be defined. An inner and outer spline wall control the shape of the prison, with a floor automatically generated between them. The player can then define holes in the floor for water, where bridges can be placed to cross them. This automatically updates the navmesh KJ and the guards use as changes are made. We could then iterate the level in minutes, and given a larger scope, could potentially edit levels from within the headset. This helped us reach an ideal difficulty balance (where players would die 1-2 times, and learn from each death).

The Secret Sauce

In the final iteration of the game, the alarms recieved a redesign to help confused players understand where the alarms would lead guards. A checkpoint system was added to help player accessibility. One more major change was introduced.

Near the end of the level, there is a simple bridge crank puzzle that takes most players at least one try to solve. During this time, the nearby guard is attempting to smash the door between KJ and the bridge, while the player frantically searches for a solution. If the player died at the very climax, it would be a frustrating experience. To prevent this, we made the last door have infinite HP, until the exact moment the player solves the puzzle, at which point it can only take 1 more hit. The result? Right as the player finishes lowering the bridge, the guard smashes through the door, chasing KJ to no avail. This kept stakes high, without risk of frustrating the player.

KJ: Rechained

Re-Imagining KJ

Our team recieved a development kit for Snapdragon Spaces ahead of the launch of their Fusion platform. This meant having one player on mobile, and the other on AR or VR. Following the positive feedback on KJ: Unchained following our playtesting, we decided to iterate further on the core concept. We decided to replace the AI behaviour of KJ with a second player, and try to explore communication between the two. The bird's eye perspective of the AR/VR player meant they could warn KJ of upcoming guards.

We examined what was working best from the original prototype and streamlined elements that weren't working. We replaced bridges with a drag-and-move crane, as this fit more closely with how our players already engaged with doors. On the last level of our new prototype, we explored adding ceilings in a part of the level, so KJ would see things the AR/VR player could not, and would need to communicate back with them.
We debuted this version of KJ: Unchained at AWE 2023.

This project was created with Unity using the XR Interaction Toolkit, targeting the Meta Quest 2 for the original prototype, and the Lenovo ThinkReality X3 for the primary iteration..
Gameplay & AI Programmer, Environment Artist, Level Design, Tool Development - Ezra Hill
Level Design and UI/UX - Marie Leung
Producer, Level Design, VA, Sound, Music - Sy Suo.
Systems Programmer - Chao-Yang Tseng .
Character Animator, 2D Illustrations - Laura Yang.
Character Design, LookDev, Environment Artist - Liyi Tang .