top of page

Protocol Mars 

Overview

Protocol Mars is a 2D sci-fi platformer that was made between me and a group of friends for our Game Feel Module. You control a rocket ship and try to rescue as many astronauts that are stranded in space while you make your journey to mars. The game incorporates rogue-lite element in which players can purchase upgrades at the end of every level in order to gain an advantage. Each of the upgrade sets are randomized and are replaced whenever the player dies.

​

The game was inspired by the old Lunar Lander games on arcade machines in 1979. It features sensitive rocket thrusters and requires the player to be very delicate with their controls. The game is easy to learn but hard to master.

Responsibilities

 Game Design

  • Conceptualized the main idea of game

  • Coded the main controls of the rocket in Unity

  • Ensured player controls were smooth and comfortable

  • Coded asteroid and astronaut script

​​

Level Design

  • Designed 2 levels within the game

  • Greyboxed the levels using Figma

​

​

Ideation

When we begun ideation for this project, we had no idea what we wanted to make. Eventually, I came across an old game called Lunar Lander. The game featured sensitive and delicate controls and the goal was to land your lunar lander while fighting against gravity and physics. Come in too fast and your lander would get destroyed. Land too slowly and you'll burn fuel, trying to stay balanced.

​

Thus, we decided to stick with the idea, and add a little twist to it. Instead of trying to land a rocket, you would use it to reach your destination. The player would have to balance their ship and keep it up right and fight against gravity while hopping from asteroid to asteroid. 

​

Eventually, we included a rogue-lite element to the game in order to give the player a different experience each time they played. The player's ship could receive upgrades that improved a variety of systems on the ships. Ships could have longer fuel duration or better turning controls. Each upgrade would allow the player to pilot the ship easier.

Lunar_Lander.png

Coding

As the one responsible for coding the main controls of the game, I had to go through many iterations when designing the game. The Unity engine was used because I had worked on it for many other projects and was familiar with it.

​

The first thing to do was create a ship that could exert forces from its bottom to generate lift. The first picture shows the very first iteration of the ship, with only a single thruster while the rotation was controlled by a single component attached to the ship. The controls were there, but we wanted our game to be more accurate.

​

The second design for the rocket utilizes the parent and child system of unity. We attached two smaller thrusters with a lower value of force on the sides. Whenever the player would press the designated keycode, the ship would use those forces to rotate itself. This would allow the back thruster to propel it in the intended direction. 

​

The second design was closer to what we imagined and it would serve as the basis for our controls for the entire game. I would then tweak the values, shifting the weights around and assigning the keycodes for the controls to make sure that the rocket had smooth and sensitive controls.

bottom of page