Initially I thought this was just a framework that provided graphics + networking for building board games, but you still had to code all the board game logic yourself. Then I read "you don't have to be a programmer to write a module". How does this work, then? Is it aimed at providing a framework for a common set of games, like euro-style board games?
I had written a dominion simulator[1] a few months back. It took some thinking on how to handle some action cards (like playing a throne room on a throne room). I'm curious how Vassal would handle something like that.
VASSAL is basically a virtual board - it wasn't really designed to do any form of rules enforcement, but rather handle the physical aspects of a board game. Given that translating game rules into software is often a daunting task, that's probably for the best!
In my experience, most of the modules simply rely on players knowing and following the rules, just as they would if they had set up the board themselves on a kitchen table. Some of the more fleshed-out modules do have these sorts of internal state checking and logic pathways but they're not required.
I had written a dominion simulator[1] a few months back. It took some thinking on how to handle some action cards (like playing a throne room on a throne room). I'm curious how Vassal would handle something like that.
[1] https://github.com/egonschiele/dominion