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.
Vassalengine uses subversion for version control system. Anonymous read access is granted at https://vassalengine.svn.sourceforge.net/svnroot/vassalengine . 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):
- <developers sourceforge login>-devel for your unstable branch
- <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 https://svn.code.sf.net/p/vassalengine/svn/
Internationalization (I18n) Project
The developers have started a project to Internationalize VASSAL.
- Stage 1 - Provide facilities to translate the Player Interface
- Stage 2 - Provide facilities to translate individual modules
- Stage 3 - Provide facilities to translate the Module Editor Interface
Stage 1 is mostly complete as at March 2007 and will be included in the initial release of Version 3.0.
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.
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 button.zip. 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.
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!
- Improved Text Labels
- Oblique Hex Grid Numbering - for old AH enthusiasts
- Recording Terrain Information - Generalised terrain handling
- Variables, Conditionals, Processes - Counter Programming without Java!
- Replace by Name trait
- Scribble Pad - Visual Notes
- Improved Invisibility - use more than the players password for hiding pieces
These components have been integrated into the core VASSAL engine
AutoImages - Automatic NATO style Image Generator
Integrated into VASSAL as Game Piece Images
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.