From Vassal

Christian Holm Christensen




Some categories I contributed to


I use LATEX for most of my stuff. I have developed package for LATEX called wargame to build traditional Hex'n'Counter board wargames. The package is geared toward creating Print'n'Play games, for example First Blood, Kriegspiel, and Battle for Moscow. To see publicly available implementations, go to

Another feature of the wargame package is that it allows you to export the game to a (draft) VASSAL module. This means that you define your game components (pieces, boards, charts, etc.) in one place (in LATEX) and then create a Print'n'Play PDF, and, via a Python script, export to a VASSAL module. Out of the box, the VASSAL module will contain the basics - pieces, boards, and charts, and the rules attached as PDF. Grids and zones will be automatically defined on the boards, and slots created in OOBs.

To finalise the module, a developer can edit the module in VASSAL's module editor, or provide a Python script to do the final set-up, such as tweaking grids, adding new regions, set-up turn tracker, and so on. Almost anything can be done via a simple API - it is only developer's Python programming skills that sets the limit. For example, some of the modules above feature automatised battle resolutions, resource management, and so on - all accomplished relatively simply via the Python patch script.

The Module:First Blood: The Guadalcanal Campaign was created using wargame and a 300 line Python script to finalise it. You can find all the sources at gitlab. You may also find a tutorial at GitLab.