Click on the title image to go to the main page Jogre Development Website
 Main Page
Play online at Logo
News - 2005
Last Updated: 29th Nov 2006, 11:35 GMT

Flag of UK 15th Nov 2005: Professional Software Tester Joins JOGRE!


Our latest member is Bob McElhinney, a professional tester who works for SkillSoft with Bob Marks. He has 5 years testing and systems management experience mainly in automated testing using SilkTest / WinRunner. He has also 3 years java specific. He is interested in online gaming of all types and looks forward to pointing out all the developers mistakes... Welcome aboard Bob Mc!


10th Nov 2005: New Developer / Project Status


Another developer has joined us from Sweden. He is called Anton (a.k.a. starsinthesky) and has already successfully programmed JOGRE Reversi as an applet. He is now working on a generic solution which will be in the Alpha 0.2.3 release (2 weeks or so). He has been a web developer for 5 years with experience in C, C++, Pascal, VB, Java, Assembler, Php, SQL, etc so welcome to the team!!!

I myself (Bob Marks) have been working away on several things which will be in CVS very soon. These include:

  1. Client Graphic Improvements. This has included assigning separate background colours for each game, creation of custom components / renderers, etc. The following is a sneak preview of what has been achieved so far:

  2. Server persistent data / scoring engine. There has been a new package in the JOGRE server called and 3 sub folders named xml, db, jdo. Basically there is a server interface IServerData which has methods for communicating to persistent data such as users / scores, games played etc. This interface can be used anywhere in the server. The concrete implementations of this interfaces are:
    • XML ( - local xml files on the server which do not require additional setup by a user.
    • Database ( - Local database connection to MySQL or any other JDBC compatible database.
    • Jogre Dot Org ( - Socket link to the master server and its database on

    Each of these will be implemented in turn with the XML being implemented first as it is the fastest / easiest to create (although the least scalable). Once the XML version has been implemented I will also upload this onto CVS and if other developers fancy doing a database implementation they can.

  3. New Game - I have also started work on the old Chinese game Go.

G Man has also created another game (dots) which is in CVS. A game I have played many times as a kid with my trusty pen and paper...!


26th Oct 2005: JOGRE's 1st Birthday Today!


It has been exactly a year since the folks at Sourceforge accepted the idea of JOGRE. JOGRE started off its life as a simple multi player version of chess. Checkers was the next game and a lot of common functionality was refactored from chess into an API. The next step was then to move away from the server / game model into a single server architecture which supported multiple games. Also communication was changed from being simple Strings to XML structures which has proved invaluable in power, easy of use and robustness.

A major milestone was putting the JOGRE sourcecode onto the Sourceforge CVS server. This has enabled others to easily contribute to the project. I would like to thank the following people over the year:

  • Alex Torkhov - Alex has proved invaluable in looking at the JOGRE API in particular and giving sound judgements in a lot of areas. The communication has been greatly improved thanks to Alex. He has also done a lot of bug location / fixing and is keen to see JOGRE as a robust and useable product.
  • G Man - One of our latest additions to the team, G Man has proved beyond a doubt his worth to the team in what has been a very short space of time. He has created a version of spades which is of a high quality and hopefully should make the Alpha 0.2.3 release of JOGRE in early / mid November.
  • Java Red - Java Red has created a game of battleships which seems to play well. This is currently being reviewed and should be in CVS soon.
  • Ugnich Anton - He has created a version of Reversi and is keen to create more games.
  • Other Jogre Developers - Thanks everyone else for your various contributions.

Thanks for all your hard work, JOGRE would not go far with just the work of one person. This last month or so has been exciting and we hope to have a beta website with simple scoring up soon for people to play / test our gaming engine.


News 3rd Oct 2005: Jogre Alpha 0.2.2 Released!


Another version of JOGRE has been released, Alpha 0.2.2. This release does not add much new functionality, but a great deal of refactoring was done to most parts of JOGRE. The greatest refactoring was on the communication protocol which is much slimer and easier to understand. A new document "protocol.htm" now exists on the website which outlines the JOGRE communication protocol in detail. A list of all the new functionality / refactors are in this release as follows:

This release has been a good experience as JOGRE has made use of its CVS server on sourceforge. This has allowed other programmers such as Alex and Ugnich to contribe more easily.

  • There exists a global build file for compiling API, Games and Server (in that order). This will make building all of jogre very quick and easy.
  • New game Reversi by Ugnich Anton.
  • Scaling of interfaces has been updated by Alex Torkhov.
  • First pass at internationalisation by Alex Torkhov.
  • Refactored start () method from JogreModel to JogreController.
  • Major cleanup of communication objects by removing attributes from abstract Comm classes e.g. Removed gameID from as this is set in the ServerConnectionThread when a client sucessfully connects. Communication is much leaner. e.g. Refactored CommTableAction into a number of easier to understand classes such as CommSitDown, CommStartGame, etc.
  • Changed architecture from 3 layers to 2 (no base layer). Deleted CommBaseMessage class and refactored most of attributes and methods into the CommGameMessage class. Delegation between the server/client threads is done by detecting the existance of a "table" attribute.
  • New abstract ServerController class which removes redundant server interfaces (IGameParser and ITableParser). The methods from these two interfaces are now empty adapter methods. This class also contains property methods which mirror that of the client JogreController. The ServerGameParser and ServerTableParser classes still exist but have been renamed to ServerTableController and ServerGameController.
  • A new document "protocol.htm" has been released on the website. This should encourage others to creates clients for a JOGRE server e.g. (JOGRE for Mobile phone clients).

The Connect 4 tutuorial will be updated ASAP so that it is compatible with this release. The only difference is the start () method will be in the Connect4Controller instead of the Connect4Model


Flag of Italy 30th Sep 2005: New Italian Developer


Interest in JOGRE has really increased recently with two new recruits in a fortnight! Our latest member to the JOGRE team is "Sernesi Massimo" from Italy who has 4 years of Oracle / Java experience. He has expressed an interest in creating a JOGRE version of backgammon and working on the graphics side of the API (e.g. creating new abstract GUI components such as AbstractCardComponent). Lets wish him the best of luck!


17th Sep 2005: New developer "GMan" joined!


Our newest recruit is from the USA and is skilled in Java Swing, Java and XML, and has some knowledge already on the JOGRE API. GMan has also worked on several databases, CVS, linux/unix and has experience on client/server applications. GMan has expressed an interest to contributing to creating additional games, graphics and the core API. Welcome aboard GMan!!


8th Aug 2005: Ukraine developer joins the JOGRE project + New Game Reversi!


Ugnich Anton, a developer from the Ukraine is our latest member to the JOGRE team. He has also created a JOGRE version of the game "Reversi" which is in CVS. Welcome aboard Anton!!!


3rd Aug 2005: JOGRE Version Alpha 0.2.1 Released


Another smaller release of Jogre, Alpha Release 0.2.1, has been released. This release contains the following improvements:

  • New JogrePropertyHash and ITransmittableWithProps interface for sending simple properties in a communication object.
  • Data classes (e.g. Table, PlayerList etc) have read / write locks and also extend the Observable class.
  • New GUI wrapper for the server in a new server package called org.jogre.server.awt. The Server GUI wrapper shows the structure of the data classes as a GUI tree and also shows the console, incomming and outgoing messages.

Some of these changes are required to get the connect 4 tutorial on web site. This release is available in binary and source formats from the download page.


27th July 2005: Canadian developer joins the JOGRE team!


Our newest recruit Eric Wohlstadter is an assistant professor from Canada. He has experience with Java middleware implementation and web services which could be useful to the project. He has worked on several CORBA, EJB, and Web Services projects.


25th July 2005: Jogre Code Put Into CVS / Alpha 0.2.1 Release Soon


All the source code of the JOGRE alpha 0.2 release has been put on the Sourceforge CVS server. This can be accessed online through the the link under the beta_0_3 folder.

This ensures that the latest and greatest is available from the CVS server before each release. Changes made to the JOGRE source include introducing read / write locks, new property hash class and a GUI wrapper for the server which shows the state of the server as a graphical tree. This is stored under the new org.jogre.server.awt package in jogre/server project. These will soon be released as JOGRE alpha 0.2.1 with bug fixes required for the Connect 4 tutorial.


Note: If you are a developer on the JOGRE team please send a quick checkin email to all the other developers when you check stuff in, especially if you have updated classes in the API!!! Include "Checkin JOGRE" on the email subject so that other developers can set up an email "rule" to route checkin emails in a "checkin" folder under their inbox.

The following is a simple example of a checkin email:

Project: JOGRE API

Description: Updated classes with read/write locks and fixed bug #12345



A new document will also be uploaded specifying more information on CVS an detailing how to use CVS with Eclipse for JOGRE.


7th July 2005: JOGRE Version Alpha 0.2 Released


The second release of Jogre, Alpha Release 0.2, has been finally released! :-) This version improves on the previous version by moving away from the server / game model to a single server model which can handle multiple games.

All communication is XML based now which is vastly better than tokenising Strings into objects fields. For more information check out the release notes / change history.

Tutorials will be coming very soon and the web site will be updated with the JavaDoc for the new API.


21th June 2005: Current status of JOGRE alpha 0.2


Much work has been done on JOGRE this last few months although progress has been hindered with external commitments. The code wasn't compiling for about a couple of months due to extreme changes happening to the JOGRE API.

By FAR the biggest of these "extreme" changes was moving away from the server/game model into a distributed single server model which can support multiple games through an extensible plug-in architecture. This single model is much more powerful and easier to deploy.

Other changes include the following:

  • Cleaner layered approach for communication between server -> game -> table (each have a many-to-one relationship) using dedicated parser classes at each layer.
  • Communications object all use XML (Nano XML) for communication and data binding. This was deemed a necessary step as all the communication was getting very complex.
  • Refactoring of API package directory structure. There is now 3 main packages:
    1. Client - Client specific classes including all GUI classes org.jogre.client
    2. Common - Classes which both the client and sever packages make use of org.jogre.common
    A visual representation of the new package strcture is available in the features section.

All in all it will be much easier to create games for JOGRE 0.2. The release date, which will be released on this date regardless, is 29th June.

I would also like to mention the latest 2 new members to the JOGRE team. These are:

  • Alex Torkhov (alex-t) is from Russia who joined the JOGRE team on the 4th of April. He is skilled as a programmer and has shown a high level of interest in JOGRE and has submitted several bugs.
  • Nate Normandin (nate_normandin) is our newest recruit and joined today. He is a programmer from Alaska and has created multi-player games in the past and is eager to get refining the API.

4th Mar 2005: New Java developer / game inventor joined the JOGRE team


German game inventor and Java programmer Dieter Stein has joined the JOGRE project! Dieter Stein is currently programming a real-time version of his game using the JOGRE API. Accasta is an abstract board game for two players which uses stacks and a hexagonal board. Click here for more information on Accasta.


12th Feb 2005: Virtual linux box to host


A subscription to Redwood Virtual has been taken today for a dedicated virtual Linux server which will be capable of running JOGRE games servers, Apache, MySQL etc through The Linux server costs $10 / month and has the following features:

  • Memory - 64 MB
  • Disk Space - 2 GB
  • One dedicated IP -
  • Bandwidth - 20 GB

Keep watching this site for news and also for progress on the online gaming website.


21th Jan 2005: NanoXML To Be Used In Next Release, Alpha 0.2


For client/server commmuication, JOGRE currently uses Comm objects which are small classes that have a flatten() method which converts the object into a String. This String can then be passed down a Java Socket. The object also has a constructor with a String parameter which employs a StringTokenizer to convert the String back into an object at the receiving end of the Socket. This works well for small objects but is complex and not elagent for larger nested objects such as the TableList object (which stores various nested objects such as the tables and players playing at each table). This is because additional length() methods have to be introduced to know when each nested object ends and the next begins.

A much more elegant solution for transmitting nested objects as Strings is to use XML. One of the requirements of JOGRE is that on the client side each game should not be a large download, It was important that the Java XML parser had to be small. After some investigation which included JDOM, DOM4J and various SAX implementations it seemed that the open source NanoXML/Lite parser was the most ideal.

NanoXML/Lite is an extremely small (6KB) XML parser which is also easy to use (much easier than SAX) and fast for small XML files. Drawbacks include not allowing mixed content and no DTD support, although this shouldn't be a problem as all XML in JOGRE will be created using NanoXML before being parsed (no user defined XML will be read).


13th Jan 2005: Connect 4 Added To Games Collection


Another game has been programmed using the JOGRE API. The old family classic "Connect 4" where the object of the game is to drop coloured pieces down 7 columns has been created for JOGRE. This game will be bundled with the next release of JOGRE, alpha 0.2 which is scheduled to come out in early march.

Screenshots are available here.


5th Jan 2005: Jogre Alpha 0.1 Released


The first version of Jogre, Alpha Release 0.1 has been released today. This version includes a relatively stable API and three games: chess, checkers and propinquity. These are available in source and binary formats.

None of the games are in a perfect state but the purpose of this release is to illustrate the JOGRE API in action as opposed to provide stable games.

This website has also been updated with much more content. The main section includes a mission statement, features, various screenshots and a join project page (with an extensive to-do list). Next there is a download section and previous release history section. Also there is also a documentation section containing information on installing JOGRE, tutorials on creating games and online JavaDoc documentation. Finally the website contains a F.A.Q. section (with few questions at present!) and a contact section.

Copyright 2004-2008, JOGRE API and JOGRE Games, by Bob Marks