Charles de Gaulle once said “Politics is too serious a matter to be left to the politicians”. And though Presidential elections are one of the defining stages in every country’s history, we ever look at them that way.
Creating Electoral.io we wanted to cover/show the ironical picture of one of the controversial presidential races in the US that compelled the attention of mass media far beyond the country.
We’ve chosen the game mechanics of popular MMO games, like Agar.io, as a basis and adapted it to the two-team mode. Moreover, we’ve created the global leadership system, where the result of your personal score influences the overall results of the chosen party.
Redwerk team mixed old traditional American style and flat design to recapture the atmosphere of the clash between candidates and their parties. We’ve also enriched a simple gameplay with enhancing & weakening units and added the acceleration feature so that any player had a chance of avoiding bigger cells.
This project was based on client-server architecture, with a Unity client on the target platforms (iOS, Android, WebGL) and a NodeJS-based server. NodeJS was selected for the backend due to its asynchronous nature and high performance. In turn, the server side is also divided into multiple components:
- Entry Point Server
- Game Server
- Bot Server
The Entry Point Server provides a single entry point for all players, while Game Server and Bot Server instances handle the game process itself. This structure allowed us to achieve high scalability, with Game Server instances spawned as necessary to support the growing number of active players.
On the subject of the game process, the game server is completely authoritarian, i.e. all game logic is handled on the server side. The Unity client receives information about the game state from the server and reports back with data on the player’s actions.