The following project has been approved:
JBantumi is an adaptation of a very famous african game, bantumi. It's played by one or two players, against the computer or via a other players on a network.
The app will contain a graphic interface (board of the game), plus a list of players available on a InetAddress (computer included) and a chat panel. The "feeling" is a winmine-like game that can be played on the web.
The game will work as a client/server : the core of the game will rely on a server application launched when the game begins, which waits and manages any connection and every game : the user, the AI players who live in a Thread, and other players.
The computer player should work as a Thread, and simulate a real player (chat included, with funny messages as "I've again won, hahaha" or "is there anybody here ?"). The classes or the AI may stand separately in a jar file, as a plug-in : by extending it people can write their own computer players. When the user accepts other connections, or connects somewhere else, he can share its plug-ins, and even organize computer fights.
The source is divided in at least three main packages :
- jbantumi.net : contains the core of the game, the server which adjucate the games, dispatch the messages (chat) and order.
- jbantumi.engine : all classes modelling a bantumi game. A super class for all AI player ?
- jbantumi.gui : the graphic user interface. Both in Swing and command line.
I have already begun to use CVS on dev.java.sun, and sample codes are there.
The purpose for me is both ludic and pedagogic : I'd like to write a simple but complete project with Eclipse, using Omondo UML, with a complete documentation in UML. The developpement time is about 4 - 6 months.
For more information see: http://jbantumi.dev.java.net