Fanorona is a turn-based board game for two players. The game originates from Madagascar and you may have seen this game featured in Ubisoft’s Assassins Creed III. This is our spin on the game, which is a team project for CSCE 315 (Programming Studio) during the Spring 2013 semester at Texas A&M University. The game was coded in Java, supports multiple board sizes (up to 13 x 13), 1 or 2 player mode, time limitations, network play between two computers, and 3 different AI versions (random moves, moves based on difference in number of pieces, and moves based on total number of pieces), and user-defined depth (or ‘intellegence’) level for the AI.
The purpose of this assignment was to simulate working in an agile development environment. As a result, I was appointed as SCRUM leader for the project. Think of it as the project manager. In addition to being SCRUM leader, my roles involved designing the entire user interface and all networking functions. The other team members focused on core functionality of the game, as well as AI behavior.
As said mentioned before, the purpose of the project was to simulate an agile development environment. An agile work space is designed to adjust to unexpected changes. 4 different changes were unexpectedly assigned to the project within the last week of development. We knew that network play was going to be a requirement, but the client-server specifications would not be revealed until the final week either. We basically had one week (on top of work from other classes) to develop a fully working product based on these changes. It took a few sleepless nights, but we managed to get it done!
The specifications for the changes can be found here.