I wonder if the OP is aware that Vassal has a tool that can convert an AdC module to a Vassal module.
My silliness prevents me from plumbing the depths of your acumen.
Christian, I appreciate your politeness and your long, detailed posts. I see what you mean and I am vastly in agreement.
My point is that ADC2 allowed me to do the game pieces and THEN start worrying about advanced features. (Which could be incorporated in a relatively simple, straightforward fashion anyway.) On the other end, Vassal forces me to be aware of everything in advance: which features I am introducing and which not, my design strategy, bugs, incomplete features, doubly and triply interconnected interfaces, traits nested within each other etc. All this may be easy to get along with for those acquainted with programming, but its deeply counterintuitive to my poor self.
Of course, from the viewpoint of the advanced user, vassal offers an infinite wealth of features and variables, plus the ability to script the modules. (Even if I am wary of scripted gamesets since it limits the potential for house rules.)
No, I wasn’t. Thank you for mentioning it!
I just converted my old Cossacks! module and it is nice to see it again, even if its unplayable in this form. I might use the converted counters though!
@wifferboy beat me to it - well done
For those that do not know or are wondering. Open the VASSAL module selector app, then press Tools→Convert module… and in the file selector navigate and select a Aide de Camp scenario file (.OPS
). Then be patient as VASSAL imports the module and opens it up in the editor.

I just converted my old Cossacks! module and it is nice to see it again, even if its unplayable in this form. I might use the converted counters though!
Perhaps a way to proceed will be to
- Save the converted module, for future reference, as it is.
- Make a copy and open it in the VASSAL editor
- Start by cleaning up things that seems irrelevant or complicated.
- Save the copy of the module and open it as a regular game
- Go back to 1. until you have something you are comfortable with
Then, once you feel up for it, add as much functionality as you would like to make the module as user friendly as you feel is needed.
A few tips:
-
Start with a simple module: Map with a grid and pieces. Then start to add functionality to the pieces. To that end,
Prototype
s is a good way to go. -
Piece
Prototype
s are a good way to make common behaviour for many pieces in one place. -
Prototype
s are cheap in the sense that one can have as many of those as you like. -
Nesting
Prototype
s (viaPrototypeTrait
) is a nice way to expand upon functionality. For exampleUnit: German half 3rd guards division MarkTrait: CF = 8 Unit: German half 1st division MarkTrait: CF = 8 Unit: German half 2nd division MarkTrait: CF = 8 ... Unit: Russian half 22nd division MarkTrait: CF = 10 Prototype: Infantry MarkTrait: Type = Infantry Prototype: Land unit DynamicPropertyTrait: Strength DynamicPropertyTrait: Mode ...
E.g., all infantry units have the
Infantry
prototype, and that prototype has the prototypeLand Unit
. Another prototype would be f.ex.Artillery
orCavalry
I.e., you can think of
Prototype
s as something like Aide de CampClass
es. -
Use
MarkTrait
for unit or prototype constants -
Use
DynamicPropertyTrait
for unit or prototype variables. Note, each unit will have their own value. -
Use
LayerTrait
to graphically reflect different states of a unit or prototype. -
Use
LabelTrait
to decorate a unit or prototype with notes or text -
For games where information is hidden, consider the
RestrictAccessTrait
,RestrictCommandsTrait
, andMaskTrait
-
Zone
s are a good way of defining areas of the board that are distinct. -
You can add as many “boards”, “hands”, “private displays” as you may need. For example, you can make a board for each faction that represent the OOB for that faction.
-
Defining a
TurnTracker
element is a nice way for users to keep track of the current turn. To tie it to a Game Turn marker and track on the board will take a little more though. -
Markers used in the physical game are not always best dealt with as pieces in VASSAL. As discussed above, when a unit is in a certain state, it may be better to represent that by a
LabelTrait
Good luck with your module, and looking forward to see it in the VASSAL library
Yours,
Christian
Hi Christian,
I appreciate your throughgoing post, as I have appreciated all comments posted in this great discussion. I am going to print all of it and use it for reference.
As implied, I have come to regard this module (and Vassal in general) like a dungeon to be navigated in arms and fought to the bitter end
We’ll see if anything comes out of it!
Lorenzo