Project Description

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.



  • Support for board sizes up to 13 x 13
  • Play against computer or another player
  • Set a time limit for player or computer to make a move within
  • Ability to sacrifice your stone in order to prevent large captures.
  • Play locally or between two different machines
  • 3 different AI behaviors
  • Ability to specify depth level for AI calculations. (Default is 2)


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.

Known Issues

  • No known issues.

Version History

Version 1.00

  • Initial completed submission.

Usage Instructions

  • Refer to the rules for Fanorona here.
  • When you start the application, you’ll be prompted to set your settings for the game.
  • When the game starts, the board will display. The outer border of the board represents which player’s turn it is.
  • Click on a piece to select, then click on an empty, legal spot to move that piece to or click the piece again to deselect it.
  • If the player is able to make another move, the player’s moves will be represented by an orange trail.
  • Select a stone and then press ‘s’ to sacrifice it. Specifications for the sacrifice feature can be found in the 4th change found here.


Click here to download Fanorona

Hello Ruiz. Theme designed and created by yours truly.

Made with Wordpress, Bootstrap, and lots of love.