top of page

ROCKET SQUAD (UNITY)

PERSONAL PROJECT

Rocket Squad is a 3v3 PvP game where you must navigate your ship taking control of different systems such as shields, weapons, and engines, in an attempt to take down the enemy ship. Before the game starts you and your team must decide what ship you will taking into battle: each of the 3 ships all have their own advantages and disadvantages. Your team must also outfit your ship with a bonus system that can give your team the edge in battle, such as: an EMP, a stealth generator, or even a small pilotable fighter you can deploy from your ship!

​

Over the years I had been planning a game I would want to create when my skills had reached the ability to create it properly; During the COVID-19 lockdown, in the 2020 summer, I decided that was to time to finally try and create a personal passion project of mine. Rocket Squad is heavily inspired by the popular game FTL: Faster Than Light. I had wanted to create a multiplayer game heavily inspired by FTL, where a team of players would work together to control a ship while battling an enemy ship also controlled by a team of real players.

ROLE

Lead Programmer, Lead Designer, Network Programmer.


This game was created in in collaboration with another programmer, and various artists.

​

FEATURES I IMPLEMENTED

​

 

NETWORKING IMPLEMENTATION

The networking code for the game was developed primarily by myself. This includes the main networking solution for gameplay. 

 

The ship object is controlled by the server since all 3 each player exists as a character in the ship per team. They run around the ship and interact with rooms to take control of them. When they take control of a system they send all their instructions to the server, and the server will execute them.

​

The host of a game can adjust multiple settings in the pre-game such as the map, game mode, and game mode settings. Each team can also change their ship, and ship bonus system. All this information must be synced across all players before the game starts. This also means making sure everyone is loaded in before starting the game.

​

The networking solution can handle disconnections properly, if a player leaves the game it won't interrupt the game, and if the host closes the lobby then everyone is safely returned to the menu.

​

SHIP SYSTEMS

I designed and programmed the multiple systems available to equip on the ship; This includes the array of different weapons that the ship can fire to damage the opposing ship, a recon system to scan the map and detect the enemy ship, a shield system used to protect specific areas of the ship from oncoming fire, the varied "bonus systems" that the player can equip on their ship in the pre-game, and the cockpit that allows a player to pilot the ship.

​

STEAM IMPLEMENTATION

The game makes use of the Steamworks API to facilitate connections between players. Players can create and join lobbies that are hosted on the Steam servers. I make as much use of the Steam's features as possible; You can join and invite players using Steam invites, the game will display their Steam username and avatar, and you can earn Steam achievements by playing!

​

Lobbies can be kept private or made public to be joined on the server browser...

​

SERVER BROWSER

This allows players to create public games and have empty spaces filled by other players enjoying Rocket Squad. The server browser will show off information about the server such as game mode, map selection, and player count. This is also a great way to hop into a game at your convenience.

​

CUSTOM SETTINGS

Player's can adjust multiple different settings that persist after exit. There are multiple different graphics settings that allow player's to adjust V-sync, FPS limit, and screen resolution. Player's can also enable/disable little helpful widgets such as FPS counter or ping display. And finally multiple audio sliders to make sure player's in game experience is comfortable.

​

There is a solution to make sure if the settings are altered outside the game and set to inappropriate values then they will be reset safely.

​

UI

The UI was designed and implemented by myself to create an aesthetically pleasing, and easy to navigate experience. This includes a helpful in-game "dictionary" full of all the information a player might need to get dominate the game.

bottom of page