Advice on terrain variants of the same (extended) map board?

I’m considering an extension to the Melee/Wizard module for the Death Test Microgame. In Death Test, characters move through a dungeon, and each room they enter is a variant of the main Melee board. The basic rules and dynamics of the game are the same. That’s why an extension would be good.

A variant to the board is mostly in terms of terrain. For example, there is a “Green Room” that is a variant of the basic Melee map, but with extra walls or pits or markers (e.g., where monsters start out) in pre-defined hexes. It would be convenient if players didn’t have to set these up each time they enter/exit a room.

So far, I think I can do this with “wall”, “pit”, “marker”, etc. pieces (for the varying terrain) that are defined under a map board’s At-start stack trait (I got that info from the FAQ). This is pretty straightforward.

However, I would like to have variants of the maps (i.e., each room), using the same Map Board if possible (again doing just an extension). At first, layers seemed like a way to do it.

I could define a “Terrain X” layer for each room X (Red, Green, Indigo, etc.) and then allow a menu for the players to choose the room layout (which activates the level for the proper terrain layer and deactivates the others).

The trouble I foresee is that there are 7 rooms, so it looks like a lot of work to define these things.

Not only that, but the layers of a map are in the properties of Game Piece Layers, and that doesn’t seem to be something I can change in an extension (unless I add a new Map Window, which is really not extending the module in my opinion).

So, I thought I’d ask the experts for advice. How to do this extension without using layers?

Map layers aren’t really what you need. Game Piece Layers work more like Photoshop Layers: like a set of transparencies stacked on top of each other. You use the Marker trait on each piece to tell it what Game Piece Layer to be drawn on. Pieces on different GPLs don’t stack. This is a handy way of separating, for example, cards from regular game pieces (because normally they wouldn’t stack or interact with each other.)

The easiest way to do what you’re describing might be to replicate the Melee map in 7 other map windows (for example, a Green map window, a Red Map window, etc) and define your At-Start stacks (with monsters, traps, terrain counters, etc.) in each map. Then when a player moves to the new Room, he moves to a new map window with the stacks already in place. (This may sound like a fair amount of work, but with copy-and-paste of each map window, you could probably set it up fairly quickly.) Then you could add each map window to a toolbar menu to make a Room menu and pick a layout.

Alternatively, you might use a single map window and make the visibility of the pieces in each At-Start stack conditional. When necessary, the player sets a Global Property (Room=Green, or whatever) which causes all the corresponding stacks to show. But seems a lot more complicated.

Thanks for the ideas. I continue to contemplate the design choices.

That sounds logical. Disadvantages seems to be that differing map windows can’t all be docked. What would happen to the player’s pieces (for example, four players that have sustained damage in the Indigo room but then move to the Green room)? Do they transfer to a new map without having to recreate the data? Does one have to drag/drop them from one map window to another?

Visibility logic makes sense, especially if it means not having to move counters from one map to the next (as mentioned above). I remember reading that all pieces start out visible. But there is some way around that, or so I think I read in a forum post somewhere. :slight_smile: Plus this might be simpler in an extension since I don’t have to duplicate the map boards.

Another solution would be to just have 7 versions of the map boards (each has a modified PNG image for each map variant, so no pesky At-start stack editing). That would be how I would do the map window variant you proposed, anyway.

But the question with varying map-boards is, can I change a map board on the same Map window in the middle of a game? In the editor, I couldn’t see a way to specify map boards except for initially. Again, I’m trying to get the board to change “underneath” the counters, rather than have the users drag them to another window which seems tedious.

I’ve made progress on this option, and it’s not so bad. For every room X, I defined a Prototype “Terrain X”. Inside that prototype, I have some logic to toggle the piece’s visibility. I have tried a couple of things, but there are small snags.

A piece that’s made invisible isn’t really invisible to the player who makes it so. Anyway around this? I’d have a simple solution, were it so…

Otherwise, send-to-location seems like it might be a work-around. I am able to swap room configurations in and out of their Start-At Stack locations (using a location like 0,0 for off the board). However, one has to be careful not to send terrain pieces off the board when they already are off the board. That nullifies the “undo” to get them back to their At-Start location. I might test the x-location on a trigger action. I’m already doing that with the invisible-toggle solution.

By the way, adding a grid to the hex board makes positioning At-start terrain pieces a cinch. I temporarily numbered the grid so I can easily place the pieces by specifying their location. I will remove the numbering when I get it done.

All this works as an extension to the main module, too.

This works now. I have it working for 2 rooms with 2 terrain pieces each. But I had to set the x,y to be something like -100, -100 in order to get my Trigger Action condition (CurrentX<0) to work.

I am not sure why, but if you Send to Location 0, 0, then it seems that a condition of CurrentX=0 && CurrentY=0 does not allow a trigger action to work on that piece to move it back. Could it be the fact I’m using a grid? I wasn’t able to “print” the X, Y of the piece after it moved, so I’m not sure of the details. What’s a good way to do that?

Thus spake “fuhrmanator”:

Were you able to get this working?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yes. I admit that it’s not easy to grok inside the module, but it works well. I probably should document it, as I’ll probably forget myself how I made it work in two months ;-)

I’m soon going to release the Death Test 1 extension to the Fantasy Trip: Melee/Wizard where this works (there are something like 12 map variants). I’m coordinating with Ed as it required one small change to FT. If you don’t want to wait for the release, I can email you the stuff off list.

The only snag was that since all variants of the map load together “at start”, the first map is a combination of all variants. There was no automatic [edit] way to choose the first map, as VASSAL has no “initialize” GKCs. I solved this by making a pre-defined configuration in a .sav file which has the initial map chosen.

I added to the wiki a how-to: http://www.vassalengine.org/wiki/doku.php?id=how_to:terrain_variants_same_map.

Anyone know how to keep the Wiki from logging you out every 20 minutes or so??? Also, the “login” from the wiki doesn’t work for me. That is annoying. At first I lost a lot of work, but figured out a work-around with a separate browser window pointing to the main vassalengine.org page. Whenever I get dinged for “not being logged in”, I just logged out and logged in again from the main site. Strange authentication, I must say.

Thus spake “fuhrmanator”:

This is a known problem with the wiki. It will go away when we meove to the
new site, probably sometime in September.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)