Developer's Blog

From Vassal

Well, since I seem to be the only one using the wiki, I thought I would create a little corner where I can brain dump ideas I am currently working on for future inclusion into VASSAL. While Rodney is often tied up with major structural development for VASSAL, I tend to flit here and there as my fancy takes me (in between bedding down VSQL 3.0 beta releases!).

Please feel free to jump in and make any comments, or add ideas for extra functionality. Don't be shy! The more discussion on a particular topic, the more likely I am to devote time to it.

Cheers, Brent Easton. (Swampwallaby)

--- Brent Easton 2005/05/07 01:45

Getting Started - Setting up Eclipse

Interested in becoming a VASSAL developer? First things first, you need a Java development environment and a fresh copy of the code to work on. There are a number of suitable Java IDE (Integrated Development Environment) that are suitable for use with VASSAL. I use Eclipse because it does everything needed well, and it's free! If you would like to get Eclipse up and running, have a look at here for instructions on getting up and running with Eclipse.

Netbeans from Sun is also free and should work, but I have no experience with it.

Developer Mentor Program

Do you have an idea for a component, but just can't get it working right? Not sure where to start and need a basic working framework for a Counter Trait so you can do the 'frilly' bits? Need a second opinion on a design decision? Just need a shoulder to cry on? Drop me an email and I will be glad to help.

Version Control

Vassalengine uses subversion for version control system. Anonymous read access is granted at . If you are a vassal developer you need to create two branches. One is for your unstable changes and additions, one for your code that is ready for trunk. Naming conventions are (merely suggestions as of the time of writing):

  1. <developers sourceforge login>-devel for your unstable branch
  2. <developers sourceforge login> for your code that is ready to go into trunk

In Eclipse Setup | Subclipse a step by step guide for using the Vassal subversion repository is given.

NOTE: Repository now at

Internationalization (I18n) Project

The developers have started a project to Internationalize VASSAL.

Stage 1 is mostly complete as at March 2007 and will be included in the initial release of Version 3.0.

Published Components

Completed Components and bits and pieces developed by our programmers, but not included into VASSAL for one reason or another. These are published by the owners and include source code and instructions to use them in your own modules.

Downtown traits

The Downtown module to be found at here is modified to allow for better solitaire suitability. Some custom code was written to make it happen. Further details can be found here.

Torsten Spindler

Updated Internet Dice Button for ShadowDice

The Old Internet Dice Button was removed from VASSAL when the ShadowDice server changed to require a user account. Here is an updated version that I did for VSQL: File:Vsql internet dice Download the file and unzip it. Copy the containing VSQL folder (it contains some .class files) into your module. Then import the class


into your module. If you Edit your Internet Die Roller preferences, there are now two new fields to fill in - Account Name and password. Enter the details of your ShadowDice die roller account. You should remove the old Internet Dice Button from your module.

TurnTracker - Configurable Turn Counter

A general purpose Turn counter. Configurable to suit any game. Button on launch bar to show/hide a floating window displaying the current turn. Look here for more details.

Turn sample.gif

Brent Easton

Projects In Progress

A page of ideas that our developers are interested in, given enough time, analysis, encouragement and assistance with testing (!). If you are just starting out with VASSAL programming and need an idea to work on, have a look at these, you will be guaranteed extra assistance for these!


These components have been integrated into the core VASSAL engine

AutoImages - Automatic NATO style Image Generator

Integrated into VASSAL as Game Piece Images

Ai counter example.gif
Generates images via a template that can be used in counters without the need to create your own PNG or GIF images and load them into your module. Automatically draw standard NATO Unit and Size symbols. Can include any number of Text Components with variable font, size, style, rotation. You can also have your own custom images included in the Auto Image instead of using NATO symbols! AutoImages can be used a single layer image through a custom trait, or can be used as layer images in the layer trait.

Updated Mouse-over Stack Viewer

Includes ability to select units by layer or properties.

Chart Maps - Maps in Charts

Ability to have Maps in Charts windows. You can view the historical reference about Chart Maps here

Counter Inventories and summaries

Configurable tree view counter inventory and summary package contributed by Torsten Spindler.