From Vassal

These tutorials walk you through the process of creating a VASSAL game module for other people to play. If you are only using VASSAL to play games (not build them) then you should refer to the Getting Started Guide

Before Beginning

VASSAL is not a graphics or paint program. We leave that to the experts. VASSAL uses imported artwork in GIF, JPG, or PNG format, which you must have created beforehand using your favorite graphics program. In most cases, this means creating images for the maps, counters, and charts. If you don't own a commercial graphics program, there are a number of good free ones

See the Mapmaking Tutorial for tips on how to create map images

For each tutorial (Board Game, Card Game, etc), there is a data directory containing all necessary artwork so that you can work through the tutorial.

Launch the VASSAL module editor.


Click on "New Module" to begin a new module. You will see two new windows come up. One is the main control window for playing a game. The other is the editing window, where you will do the work of creating your module. As you create the module, you can start new games, move pieces, save, etc. just as if you were playing the module. This allows you to test your module as you create it. Save the module periodically with the "Save" button in the edit window toolbar as you progress. You may also access the Reference Manual from the edit window toolbar.


The editing window has a standard folder-and-file browser interface. Each component in the tree represents a component of the module. The text for the node gives the name of the module followed by the type of that component in square brackets. The top level represents the module itself. By default, the module contains one Map window, one Game Piece Palette and one Help Menu. Every component in the edit window has a right-click menu.

The first step in creating a new module is to name it. Right-click on the module component and select "Properties" Alternatively, double-click on it.. You'll be presented with a window in which you may set the name and a version number for the module.