Mystic Mayhem
Mystic Mayhem is an online multiplayer mobile game inspired by tag, made for the Advanced Game Development course at Cornell. The game worked on Android and IOS, but the NAT punchthrough server is currently offline, so the game is not currently playable. My primary contributions were programming the netcode, smoothly syncing the game state and player movement between devices, modifying the Tiled level editor, and designing the game maps. I also helped program abilities and general game logic.
Networking worked by treating one device as both a server and client, and all others as clients. We decided to take this approach, rather than using dedicated servers, to keep costs down. We set up a small NAT punchthrough server to facilitate connections. Since the game has fast, real time movement, a lockstep approach would be unplayable. We used rollback netcode, and interpolated player positions from their predicted locations to their actual.