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.