Freelance Unity3D Developer & Game Designer
Aug 2019 - Ongoing
Germany, Berlin, Remote
C#, Unity3D, UGUI, Network Programming, Mobile Development, Android, Game Design, Augmented Reality
With basa e.V. I'm working on a location-based augmented reality multiplayer game for Android devices to be used in workshops for political education. The themes are "digital city" and "e-participation".
In the game, 30 workshop participants will play the game in a small section of a real-world city over multiple hours, walking around and interacting with data nodes and NPCs in the city and with each other.
For this, three seperate applications are needed:
- The game server (C# using LiteNetLib).
- The Android game app (Unity/C# using LiteNetLib).
- An editor to configure map locations of ingame elements and other game settings (TypeScript).
Apart from being the only programmer on the team I've also worked on the game design together with the other team members.
- Server-autoritivity for game elements that concern multiple clients and client-authorativity for elements that only apply to one client, shortening delays and working well with short disconnects in mobile networks. (Since all client devices are owned by the workshop organizers we can assume that clients are benign.)
- Saving and reloading of the server game state, allowing server restart and easier game testing/debugging.
- Clients can rejoin the current game session, allowing for device restart in case of a problem and easier game testing/debugging.
- Session transfer between clients. (E.g. in case a device breaks.)
- Multiple mini games to interact with data nodes, some of them multiplayer.
- An NPC dialogue system.
- Location-based augmented reality elements via AR + GPS Location.
- A mini map using Online Maps v3.
- A lot of UI.