Nowadays multiplayer strategy games are becoming more and more popular in the world of computer games. A well-known subversion is the turn-based multiplayer game, which differs from real-time versions, as the users make their moves after each other sequentially. Thus the gameplay is based on the decisions of the participants, and not on speed. My task was to design and implement a turn-based multiplayer strategy game with the .NET framework, and to run automated unit tests.
During the design process, I set up the three-tier architecture, then I divided each tier into smaller units with the help of different design patterns, and finally I proceeded to define the interfaces that separate the tiers. After outlining the potential use-cases, I designed the database schema and the class hierarchy, which were necessary for their implementation.
After accomplishing the design process, I implemented the web and thick client applications, aiming to outline my major decisions during the development as well. I have added screenshots of the fully developed game in several sections, and also included code snippets in chapters describing the more complex algorithms.
I have continuously verified the correct behavior of the completed application with automated test cases. After finishing my program, I tested the server’s capacity with performance tests, and presented the results with illustrations and a short analysis.