Client: me, a senior and a middle Unity developer, ~2 tech artists; 1 server developer; game design — a lead and up to 4 designers
Platforms
iOS · Android
Shared Logic
Separate combat and meta libraries on a common core: economy, progression, crafting, player profile, auto-battle, reward calculation. Every profile change goes through it.
Prediction: the client shows the result of an action immediately, the server verifies it; on desync the events are rolled back.
The depth of server verification is configurable — from checking the totals to a full re-run of the logic. Real-time PvP is built into the design.
The client can run the game with no server.
Tooling
Playthrough bot: a console utility that plays the game and battles automatically and checks that every part of the game can be completed.
Configs via Google Sheets: any config is exported with validation, allowed-value lists and ranges, on any branch; a designer edits it and pulls it back with one button.
A tutorial editor, a cheat system and player-profile tools.
Server and team
The server runs on C# and Microsoft Orleans. My part: how the server works with the shared logic, the set of services, the client–server protocol, serialization.
Onboarded the team into the architecture, trained the technical artists from junior level, advised the server developer.
Outcome
A client developer builds a feature end to end without depending on other developers.
The server developer writes no game logic and focuses on infrastructure.
Game designers and QA check logic and balance in a local build with no server.