

Magna
Sed nisl arcu euismod sit amet nisi lorem etiam dolor veroeros et feugiat.
A Unity 2D Puzzle Platformer - CodingBlocks '23 Game Jam
Project Type:
Game
Platform:
PC/WebGL
Team Size:
1
Role:
Solo Developer
Engine/Software:
Unity, Krita
Project URL:
Disobey Protocol is a small 2D Platformer game made in Unity in 4 days for the CodingBLocks '23 Game Jam as a solo programer, following the theme for this event was "Everything is Backwards". As a solo developer, I endorsed during this project the roles of programer and 2D artist for all the code and visual assets (aparts from the fonts), and the sounds were sourced online. This was the first "official" game jam I participated in on my own, so there were a lot of struggles but I am still proud of what I managed to accomplish back then.
In this game, the player controls a tiny little robot falling off of its assembly line. Walking around the rooms of the factory, they must make their way through challenging puzzles and platforming despite contradictory instruction from their system leading them astray. Buttons, levers, boxes to move, platforms and cables to connect, all the classic platformer elements come together with this charming little ball robot in his great escape towards a final little twist.
For this project, all visual assets apart from the fonts were made by myself during the game jam event time constraints using Krita for the sprites and animations. They were designed to imitate old rusty industrial equipment with clear distinction between interactable elements and decor, as well as backgrounds and platforms.
Examples of sprites designed for the game
Player character sprites
Because of the time limitations and size of the team, the backgrounds and levely layout of the game were kept to a minimum. It played into showcasing a clearer layout of the world, emphasising the elements the player can interact with. In addition do that, saturated and lighter colors were used on both the player and important design elements such as buttons, levers, electrical cables, and of course the player robot character.
The player character has access to the main typical platformer puzle actions. Jumping, moving left to right, interacting with buttons, levers, pressure plates... And with the shape of the player being a ball-like robot, what is usually in most games a "crouch" option becomes a "roll into a ball" option, in which the player rolls around and is much more subject to kinetic energy.
Basic square boxes of different sizes lay in various sections of the levels. Subjected to gravity and mobile, they can be pushed around by the player to get to places out of reach, press down on buttons, and moved by elements of the decor.
Throughout the level, the player will run into elements they can interact with to have effects on the environment. They can either be pushed down by something heavy (either the player, or boxes), or interacted with directly by the player's controls. With a cable connected to the element they trigger that glows yellow when enabled, the player may better reverse engineer the solution to the puzzles they face.
Thanks to the interactable elements, the player can access mechanics to progress further. They may for example spawn in new boxes, invert the direction of treadmills, or trigger mobile platforms. For most elements, when they are enabled they pull the focus of the camera to them to better guide the player.
While the player can walk around regularly on solid ground, they face multiple types of platform that may impact their progression. With some that can be jumped through from below and some that cant, some mobile, and some that have to be broken through by jumping from high, the player has to use those properties to their advantage.
Because of the unique shape of the character, some key features had to be adjusted compared to more typical platformer controllers.
As mentionned earlier, the "crouch" ability is replaced by rolling into a ball. This allows the player to roll through tight spots, make use of momentum, and fall harder through platforms. This means the character can tilt when falling, potentially getting stuck upside down, or in a vertically tight spot, as well as changing the shape of the colliders when walking or rolling.
To fix these issues, multiple solutions were proposed:
- When tilted in a way that doesn't allow walking, the player can roll in a ball or wait to get automatically flipped right-side up again. Additionally, when coming out of the ball the player will always be put right-side up.
- The player may not get out of the ball if the vertical space does not allow it to prevent collision bugs. In some cases, being in a ball is enforced in an area to ensure smooth navigation and prevent getting stuck.
- The character's collider switches from square when walking to round when in a ball, to allow smooth walking and rolling. To make sure no issue arises from the switch, height is adjusted when switching between the two, and the game checks if there is enough space to do so.
Colliders Before and After rolling into a ball