|
Last Updated:
29th Nov 2006, 11:35 GMT
|
|
|
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:
-
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:
- Server persistent data / scoring engine. There has been a new
package in the JOGRE server called org.jogre.server.data 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 (org.jogre.server.data.xml) -
local xml files on the server which do not require additional setup by a user.
- Database (org.jogre.server.data.db) -
Local database connection to MySQL or any other JDBC compatible database.
- Jogre Dot Org (org.jogre.server.data.jdo) -
Socket link to the master server and its database on www.jogre.org
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.
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.
|
|
|
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
CommGameMessage.java 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 .
|
|
|
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 cvs.sourceforge.net 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
Files:
jogre\api\src\org\jogre\client\common\Player.java
jogre\api\src\org\jogre\client\common\PlayerList.java
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:
- Client - Client specific classes including all GUI classes org.jogre.client
- 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 www.jogre.org
|
|
|
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
http://www.jogre.org.
The Linux server costs $10 / month and has the following features:
- Memory - 64 MB
- Disk Space - 2 GB
- One dedicated IP - 64.62.195.11
- Bandwidth - 20 GB
Keep watching this site for news and also http://www.jogre.org
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.
|
|
|