For Super Nova Stadium’s multiplayer, we could have attempted to make our own networking system from scratch, but we would have likely spent all of our time on that and not on the actual game. Instead, we used a combination of Mirror, a package for Unity, and Steamworks. Mirror is a replacement for Unity’s UNet system, which is now deprecated. Mirror handles the interactions between all the players after they have entered the same game session. Mirror uses a Client/Server relationship for the interactions between players, where all the clients (players) connect to the server. We used Steamworks to connect players together through Steam matchmaking, allowing players directly connect to each other without having to set-up ports to allow for a direct connection. Although using these APIs makes it a lot easier, we have had many difficulties with the multiplayer aspects of the game due to our inexperience with making games with online multiplayer. A challenge for us, a reward for the player.
Logos for Mirror and Steamworks
Multiplayer is one of the game’s core aspects and it changes the game from a ricochet simulator into a competitive game. Networking is vital to the game as well with the main networking functionality being shown below in the UI for the multiplayer menu. The lobby browser finds each lobby that is not full and displays its information. Each button has functionality that helps players connect to each other through the game. Another way that people can connect to each other through the game is through Twitch Integration that Mark Daane has been working on.
Commenti