Stranded (2024)
A multiplayer sci-fi game where you must work together to control your spaceship, navigate through a dense asteroid belt, and try to survive long enough for help to arrive.
Project Info
Team Size: 3
Role: Designer/Engineer
Project Length: 4 months
Networked multiplayer
Stranded was a semester-long project for an advanced computer science class, where I designed and pitched the original idea, was selected by my peers, then recruited and directed a small team to take the project to completion.
Players simultaneously control different stations on the same spaceship, and rapidly swap between them to keep all systems running. For example, one player might determine how fast the spaceship's engines thrust while the other player controls its steering, then the first player might swap to the shield station to block an incoming asteroid. Given the timeframe, this type of multiplayer functionality was very ambitious but we were ultimately successful.
I used Unity's Netcode framework to setup a basic server-client network between the two players, and wrote a number of functions to track the state of the ship and pass it across the network. However, unlike a traditional multiplayer game, both players share the same character, which made things more complex. To solve this problem, I wrote custom logic to shift control of reporting between the host and client as players moved between different stations, allowing the game to stay in sync after any configuration of player actions.