How difficult is it to build a vassal module for a non programmer?

Hi Gents,

The thread title says it all. I have a little experience programming visual basic but that’s mostly it. I would really love to see a vassal module for West End Games Junta & AH’s Trireme and am almost tempted to try making a module. I admit I have not read any of the documentation for creating modules yet…just thought I would see if anyone could offer advice first.


Most modules were created by non-programmers.

OK thanks I will have a look at the documentation.

A bit more color on that point: About 8% of all modules hosted on our site contain custom code.

1 Like

And quite a few of those modules use ‘packaged’ custom code copied from other modules to implement a particular shared feature. The percentage that contain custom code specifically written for that module would be considerably less than that.

I should also say that I made no attempt to filter out multiple versions of the same module here, and I suspect that modules with custom code are more likely than average to have frequent releases; the per-distinct-module number is likely much lower than what I determined by scanning the module files.

I am not a programmer and I have written some extremely complex (Perhaps too complex, admittedly) modules. (See Siege of Jerusalem, Imperium Romanum II). You do not have to be a programmer, but being a programmer probably makes it a lot easier. My advice is to do what I did to learn, which was do a step by step follow through of Joel Toppen’s Vassal Design 101 on Youtube.

This will give you a good idea of all of the basic things that you need to learn the Vassal design system to include some artwork techniques to create the pieces. Feel free to reach out to me if you have any specific questions on how to build or if you get stuck. Note, Joel’s YouTube series is a few years old and several Vassal versions ago, but that will not prevent you from learning from it, just be prepared to adjust for minor changes in the software since then.

Good luck!


Hi! This is a series of videos created by Joel Toppen who’s made a lot of the Vassal modules of GMT. It should get you started on making Vassal modules.


It depends on the game really, the first modules I built I used images of the units and added simple traits.

The 2 things that hang me the most is if I have more that one map (you can use maps for charts so you can zoom in and out) and forget to rename the second map and then get a blank map when I start the module and the other is placing traits on a unit in wrong order.

I would suggest you find a simple game like Napoleon’s Last Battles or Marengo both SPI games and use them.

All VMOD files are really ZIP files, so you can copy and rename them and see whats in them if you want. Then edit them and see how they are built.

I suggest taking a module that is similar to the game you want to create and make a copy. Then one bit at a time change the module to suit your game. Start with title, version, map, counters and gradually change it to your game. But do small changes as you will hit issues when you first start. Also, keep backups :grinning:

This is the best tip yet. I used this series to begin my “career” at authoring and editing Vassal modules. I must have done 50 by now.

After you view this YouTube series, find a module for a game that either 1) works like a game you intend to create a module for, or 2) Just has the features sets you like… download that module and get in there with the editor to “reverse engineer” it, and see how it was built. Then replicate for your project.

1 Like

The one caveat I would give to using an old module as a basis for a new one is that a lot of old modules were written for really old versions of VASSAL, and therefore don’t use a lot of newer features that can actually make things much easier (if it was written for VASSAL 3.1 or earlier, for example, it won’t even have any Named Key Commands). It might be worthwhile to read the release notes for newer versions (found on the main Wiki Documentation page), and/or the Updating an old module to version 3.4 directions to get an idea of what new techniques exist before starting on modifying the module for your use.


Thanks everyone for all the awesome advice.

Just to be a little contrarian:

My first module was an edit of an existing one, and I had no programming knowledge, and no image editing knowledge. It “only” took me thousands of hours to arrive at something I was happy with.


That includes a lot of forum trawling. The documentation back then wasn’t as good as it is now. I’m a perfectionist, and I redid layouts several times as I acquired better-quality images of the game, and rethought things for better usability. I tried to incorporate as much assistance with bookkeeping as I could. I even got a graphic designer and a professional artist interested, who helped me out with additional assets the game lacked (player mats).

So yeah, if you go down the rabbit hole with no prior experience, Vassal can be a huge time-sink.

If you just want something functional out there so you can do your thing, it’s more manageable and possible in a much shorter time-frame, but still a lot more work than, say, a basic Tabletop Simulator module. That’s not to say TTS is necessarily a better option - I much prefer to play Vassal modules where they are available, and these days I can knock out a new Vassal module in “only” a few hundred hours when I’m motivated to do so.

1 Like

Here you can find a small “step-by-step” guide I published during the creation of “Fallout” vassal module.

I hope it helps.


So do you mean I can copy an existing module & then rename & modify it? Wont it be locked to prevent that?

Yes, you can do exactly that. There is no locking mechanism.

OK thanks…I must be doing something wrong then. I copied an existing module and renamed it but after making a change (just to the name of the module in the vassal window) and it gave me the following error:

VASSAL was unable to write the file ‘Trireme_Modified.vmod’.

The details of the error appear to me to be access denied:

java.nio.file.AccessDeniedException: C:\Program Files\VASSAL-3.2.16\Trireme_Modified.vmod → C:\Program Files\VASSAL-3.2.16\Trireme_Modified.vmod.bak

What amn I doing wrong?

Do you have access to the Program Files directory?

Try using Save As… to save the file to your home directory or desktop.

1 Like

Great that seemed to work…thanks!

1 Like