By the title, I mean, can a module be designed to prevent a player from erroneously moving a counter more than its move allowance? If not, don’t pbem games end up being a bit of a drag sometimes, especially when one or more of the players is not especially familiar with the rules and forgets to take into account various movement restrictions? It would be somewhat exhausting, wouldn’t it, to have to double check all of an opponent’s moves?
Some things would be obvious (like a tank division ending its move in the middle of the Atlantic), but many others would not scream out.
Similarly, if a unit can be made invisible, how does the other side know his opponent(s) are indeed moving correctly?
I’ve downloaded a couple of games - Battle for Moscow and Afrika Korps and neither seems address this concern, I don’t think. Mind you, I am still bumbling around with them…
Presently, the modules can’t enforce such rules - I believe that it is in the works that terrain descriptions/values can be identified on a board so that such a thing could exist, but don’t quote me on that. Until then, there is no way for VASSAL to know what type of hex the unit moved into (you could make areas around different terrain hexes and trigger a “reminder” text to pop up in the chat window I suppose, but that would be a pain to do for a large map).
So the solution is to know your opponent; or be assured that they are familar with the game (they should own a copy at least) or else be prepared to interrupt their moves frequently to remind them of the rules which hardlly makes for an entertaining game unless you like to instruct.
As far as invisible units, it depends on the game. Many games force units to unconceal if they move. If the game allows hidden units to be moved without revealing themselves, then you just have to have a level of trust with your opponent (or have the game referreed by a 3rd person).
Others may have different answers, this is to the best of my understand.
The general philosophy behind Vassal is to provide a way to play on-
line that is similar to using a board game itself. A typical board
game doesn’t enforce the rules either, and players adapt to that. It
isn’t really any harder than in face-to-face play, except that
(unless you play on-line), it isn’t directly interactive. That might
make it be a bit more of a chore.
Encoding the actual rules of a game would make the creation of
modules much more of a programming chore, especially given all the
variations in movement rules that exist.
Now, for miniatures, there are some aids that can help, since it is
possible to define actions that move pieces a fixed distance.
But in general, you really do have to approach playing games via
Vassal as more of a virtual board-game experience rather than as a
computer game.
It’s not easy but can be done, even with current Vassal code.
Basically you have to make pieces unselectable and unmovable and only allow movement by SEND TO traits initiated by right click commands. A bunch of restricted access/restrict command traits would then be needed to control those.
Definitively not as nice as having actual control of drag-and-drop legal target areas, though. Let’s hope it is really in the works