One of my hobbies that I miss most during the pandemic is going to Escape Rooms with my friends! This project was inspired by those rooms, and the social problem-solving fun that comes along with them!
What it does
This project is an online multiplayer Unity3D game where players work together to stabilize their spaceship which has been damaged by asteroids. Users have a very limited amount of time to fix the ship before they run out of oxygen, and have to use problem-solving skills and teamwork to make sure they succeed!
The code behind this project is supported heavily by the Mirror Networking library alongside the Chykary/FizzySteamworks git repo. These technologies allow players to connect to each others' easily & without port forwarding, with the only requirement being that they have an instance of Steam running on their machine!
Many art and sound assets were made for this project! While most of the in-game map is made using the Unity Probuilder library, nearly every not-floor-or-wall 3D asset was made by Jake using Blender! The music for the game was all made by Kevin within the duration of the hackathon, as well as many of the sound effects!
Challenges we ran into
I (Sam) am very new to realtime multiplayer networked game development - more than a month ago, I'd never heard of the Mirror networking library! Early on in the project, I spent something around 30 minutes debugging a connection issue, which turned out to be a typo we made during runtime when connecting to a session!
Another issue I ran into - at something like 4am, I had an issue where Unity said I was missing the Steamworks libraries. They were in my asset folder and everything, but I couldn't get rid of the compiler error! I spent over an hour debugging the issue before I tried re-cloning my project, which did the trick!
Accomplishments that we're proud of
We're all extremely happy about how the game feels to play! The ambience between the models and the SFX and the snappy gameplay makes for a very enjoyable time, which we're able to easily share with our friends thanks to the Steam Networking features we included!
What we learned
I (Sam) learned a ton about networked game devlopment! I'm currently taking a computer networking course, in which we've briefly discussed things like server commands and Rpc's, and this project has given me a much greater understanding of the strength of those tools.
What's next for Spaceship Escape Room
After a long night's sleep, and a bit of catching up with homework, I plan on sharing this game with my friends so I can see what they think!