Thursday, 20 November 2008

JOGRE Beta 0.3 Released!

The beta release is over a year in the making and is by far the biggest release of JOGRE. There have been massive changes and additions in almost every part of JOGRE.

Eleven new games:
* Car tricks
* Chinese Checkers
* Go
* Grand Prix Jumping
* Hex
* Ninty Nine
* Points Total
* Quetris
* Texas Hold'em
* Triangulum
* Warwick

Generic abstract board components for hexagonal & triangular boards.
Player components which provide another way to join a table.
Game generator which creates the basic files, which all games use, by simply supplying a game_key and using templates. These files include Java source, ANT scripts, batch and properties files.
Much improved graphics, including a JOGRE title images which each game must have on to the top left and a game specific image on the top right.
New glass pane which can be use to draw graphics over the top of games. It is used by the API to inform users to click "start" and also displaying game over messages etc.
Full database support for persistent data in the jogre server i.e. implementation of ServerDataDB class. Database access is achieved using the iBatis library. Also if a JOGRE server is running its data persistence as a database for the first time, it will run a load script which creates tables, populates test data etc. MySQL and HSQLDB database are currently supported.
Much more unit testing i.e. 37 JUnit class containing a total of 75 classes. All database SQL queries (in iBatis maps) are fully tested in JUnit tests using the DBUnit library and an in-memory HSQLDB database. The database tests can ensure that all database SQL class are fully supported / working correctly in JOGRE. To test a new database works with JOGRE is simply a matter of updating the test database connection and returning the database test suite.
First pass at a web application, programmed using the Struts library. This is database driven (using iBatis) and allows a user to register, log on and play the games as applets.
Server administrator which replaces the old Server GUI wrapper. The administrator acts as a client, i.e. administrator must log onto a running Jogre Server with an admin username and password. The Jogre Administrator can also remotely view the current state of the JOGRE server i.e. games running, users etc. It can also remotely update the server configuration (server.xml file) in a graphical manner and view persistent data (XML and database).
Language utility to edit all the language Strings in one place (still in progress).
Updated connect 4 tutorial which shows the power of Beta 0.3.
Minor changes / improvements all over JOGRE, including the API, Server, Games etc.

No comments: