Role: Game Programmer
Development Time: 3 months
Team Size: 4
Engine: Unity
C.H.O.O.S.E (Custom HexagOnal Online Strategic Environment) is an online real-time strategy game developed during the Online Game Programming course I attended in 2015.
It marked my first experience in building an online multiplayer game.
Developed for both Windows and Mac OS, the game supported multiple peer-to-peer matches between two players.
It featured two distinct factions: Knights and Aliens; and was built around the core concept of in-game unit customization.
During a match, players could define and specialize their units on the fly.
The system dynamically calculated each unit’s building cost based on the selected attributes, such as melee strength, dexterity, defense, and movement speed.
This allowed players to adapt their army compositions in real time according to the map layout, game progression, or their preferred strategic playstyle.
The project was built in Unity and used Photon Unity Networking (PUN) to handle multiplayer communication.
Multiplayer matches were structured in a peer-to-peer architecture with an authoritative host, responsible for managing the match state and synchronizing it across clients.
The networking layer was designed to be robust but lightweight, supporting the real-time nature of the game while maintaining low latency and reliable synchronization of critical game state like unit positions, combat resolution, and region control.
One of the biggest challenges was balancing the gameplay in a system that gave players such a high degree of freedom in defining their strategy. The unit customization and region specialization mechanics opened the door to a wide variety of approaches—some highly focused, such as investing entirely in a single resource type, and others more balanced or defensive.
This made extensive playtesting crucial. Several iterations were carried out to identify dominant or degenerate strategies and to ensure that every playstyle had both strengths and vulnerabilities, promoting diversity in matches without sacrificing fairness or fun.
As one of my first experiences building a real-time multiplayer game, the project was also a valuable learning ground for many core networking concepts, including:
This foundational experience helped me better understand the technical and design complexities of multiplayer systems, from both a development and a player-experience perspective.