Development Environment Setup
- use Eclipse 3.6 (classic edition)
- install the following plugins
Workspace Setup
- check out the source code https://scbg.svn.sourceforge.net/svnroot/scbg
- I usually recommend to separate the local source code repository from the Eclipse workspace
- start Eclipse, create a new workspace and import the projects
- close the starcraft.gameclient.swt project as it is not compiling currently
Additional Setup
A file-system link (ln on Linux, mklink on Windows) must be created in the project starcraft.webapp. The starcraft.resources\images directory has to be mapped to starcraft.webapp\war\images\res. This has been done to avoid having to copy the images. The OpenGL client loads the images through the class path, the web client through the Web server from the file system.
Create the symbolic link
cd <base-dir>\starcraft\starcraft.webapp\war\images
mklink /D res ..\..\..\starcraft.resources\images
The result should look like this (on Windows)

Project Overview
- starcraft.gameclient
GameClient provides the RMI API for the client
- automated scripts to create some game state
- rules as PDF
- starcraft.gameclient.opengl
StarcraftBordgameClient entry class for the OpenGL client
- other entry points are some classes named *State, e.g.
PlanetPlacementState
- not sure that all executes well
- starcraft.gameclient.swt
- very old, does not compile at all
- starcraft.gamemodel
- this is a GWT module; the classes defined in the packages 'model', 'shared' and 'remoteservices' are compiled into JavaScript
- most of these classes are serializable and used for client/server communication
StarCraftRemoteService is the main communication interface between client and server
- the use of the 'player' parameter is not consistent; sometimes it could be derived from the 'clientID'; work in progress
- starcraft.gameserver
ServerRuntime is a good starting point
- the
starcraft.gameserver.game package contains the main server implementation
- the
starcraft.gameserver.debug package was thought as REST implementation, but development is ceased
- starcraft.gameserver.rcp
- unsure of the current state, but probably nothing useful
- starcraft.resources
- starcraft.tests
- not much useful things
- the project has dependecies to the client and the server; could be used for automated tests
- starcraft.webapp
- the GWT web client/server implementation
- starcraft.webapp.gae
- project for deployment of the application to the Google App Engine