Dealing with terrain triggers on rotating map pieces

Anyone familiar with Antiquity? Doesn’t matter if you aren’t, here’s the problem:

The board is made of large randomly rotated hex shapes, each containing 43(?) hexes, each of which is one of four different terrain types.

The game is quite fiddly, with a lot of chits, and would greatly benefit from some way to tag the terrain types to respond appropriately to a GKC area effect. For example, a player places a piece on a “wood” terrain hex, and that hex and any adjacent wood hexes that aren’t already covered by some other piece/layer would change to a “grass” hex and be covered by a “wood” resource token.

Vassal seems not to easily support any way of designating areas of a rotatable piece to respond in specific ways.

The only way I can think of doing it is by creating 43 layers for each terrain tile, multiplied by the number of different visual effects you want to apply to each hex. A GKC would target Triggers that reference the current active layer(s) and levels of only layers “in range” by some complex determination based on XY location to determine whether or not to change a layer or place a marker on a corresponding hex.

Is this idea crazy? Will I just waste a ton of time making something that will run at a crawl, if at all?

I mean, I know it would be pretty simple to just make players drag and drop everything, but it would be such a chore to play that way.

The only other option I can think of is to forget triggers and layers and just have a full right-click menu for every hex in a grid “under” the map, allowing every possible “place marker” option, regardless of terrain. Not great, but perhaps better than drag and drop only.

Well there isn’t going to be a super-easy solution to Antiquity, but here’s an approach that might possibly help some:

Each of your original map tiles could be given prototypes that understand the relation of their ~61 tiles to their 6 facings, and so as part of map generation, at the end they’d do ~61 PlaceMarker’s to create invisible hex-shaped pieces, each corresponding to the right type for that sub-hex. These smaller pieces would each then be able to respond individually to their own terrain type (e.g. “wood”) – both at a right-click level and at a GKC level. They could then achieve visual effects e.g. the “grass” state through layers which would be visible ones.

You’d end up with a few hundred of the little hex pieces of course, “which isn’t nothing”, but it’s by no means out of bounds for Vassal – especially by comparison with the alternative of permuting 61 x ??? numbers of triggers.


That is a great idea, thank you!

Can you explain how you would achieve this? I had thought it might be as easy as using 61 Place Markers with appropriate Horizontal and Vertical offsets and Match Rotation checked, above Can Rotate in the trait list, but rotation facing has no effect on the Place Marker position.

Is it necessary to, for example, have a trigger that sets a GP for the tile to a value 1-6 to indicate facing after rotation, place every marker with offset 0,0, then use the GP and the keystroke after placement to activate a move fixed distance command to get the marker to the correct location?

Aha. Turns out I was missing a Can Rotate trait in the Marker. Problem solved!