Sword of Rome (GMT) - Planning 5 Player Rework

I’m the author of the TS module. I thought I’d jump in to warn you that
you’re not going to be able to do a lot of the things that that particular
module does as it uses custom code rather heavily. Persistent effects can
be done with Global Attributes, but at a considerable cost in performance
depending on how many persistent effects you’d have. I attempted to do
this in TS using basic traits, but it was pretty tough.

You can open up the TS module in the module editor and gasp at the horror.
Many lose their sanity at that point.

The next version of VASSAL will make this easier.

  • M.

On 16 May 2013 07:21, comdotski treade@optusnet.com.au wrote:

Joel

Thanks for some more great advice. Especially the ideas around PC
markers. This is a real hassle when playing with the current module. As
PC markers ‘change the map’ another good feature would to be able to
show the ‘map’ with the PC markers in place - i.e. just hide the units
and leaders. What approach would you use for this?

Reporting is a key feature and is great to check back on the action, but
also in tracing what the VASSAL module is doing in the case of
debugging. Is there a way to have a debug level set to enable more
detailed tracing during development and testing only?

Another feature i want to implement is the play of events to reflect
placement of various markers on the map ‘e.g. Wild Beasts, etc’. TS does
this well with its [semi-]permanent event affects. Not sure how to go
about this, perhaps the Named Keystrokes come into play here … and
thanks for the tip on the Named Keystrokes - this must be a new feature
of 3.2? Does anyone know if the designers guide is due for a refresh, or
where I can find a summary of new features?

Joel - would you be OK if I PM’ed you with further questions -
otherwise, more than OK to continue to explore design approaches here.

I’m thinking an incremental approach is probably best here. Am thinking
about planning out a series of sprints (agile style) to implement
feature sets in small increments.

I may draft this up and post for some critique.

Thanks all for help to date. :smiley:

_____________**
Read this topic online here:
vassalengine.org/**forum/vie … 4#**p40244<Sword of Rome (GMT) - Planning 5 Player Rework - #6 by comdotski

_____________**
messages mailing list
messages@vassalengine.org
vassalengine.org/**mailman/listinfo/messageshttp://www.vassalengine.org/mailman/listinfo/messages

You can lift this technique from either my Here I Stand or Virgin Queen modules (though I’m sure plenty other modules do this). You need to be using the Map Window-level feature called Game Piece Layers to do this. PC markers, units, and leaders (at a minimum) will need to have a Marker trait that specifies which Game Piece Layer they belong to. Then you can add a control within the Game Piece Layer node in the Editor to toggle the visibility of one or more layers.

Since I don’t know the game, I’m not entirely sure what you mean by this. If you’re talking about markers that are simply placed somewhere to denote that “Event X happened at some point”, this would be pretty easy. If you’re talking about new game units that get added to the map (and the player has some choices in where they go), it would be considerably harder.

It’s definitely the former.

I think you could make the “wild beasts” marker an at-start-stack with two layers, one being a blank layer and the other using a scan of the marker. Have the card event set off a global key command and use a trigger on the at-start-stack wild beast pieces that increments the layer. This would of course just be a visual marker and not actually have any enforcement.

If you guys keep your discussion public, I’m sure it will only help other designers who come across the same issues and are looking for answers. There’s a lot you can do with vassal but not a whole lot of (up-to-date) guidance on how to get it done. I’m sure folks would appreciate whatever info they can glean from this thread.

Yep, in that case I would use this exact technique.

Thanks all

This is really assisting with my understanding about how to go about building the module.

Will also keep the discussion online!

Are ‘At-Start-Stacks’ also the best way to manage the action round and turn markers i.e. one stack per round/turn? And then use global key commands in conjunction with the turn controller to trigger updates to the active layers in the stacks? I see this or something like it in the TS module.

Thanks in advance

Com.

I am i there now … and it is not too scary - just big! I can’t figure out though, how you display the count of the cards in each hand in the toolbar of the main window. Is this supported by the engine, or one of your customisations?

That’s another custom class.

I kind of got carried away. However, my intention is to ensure that these
features are easily done in version 4.

  • M.

On 18 May 2013 07:56, comdotski treade@optusnet.com.au wrote:

“mkiefte” wrote:

I’m the author of the TS module. … snip …

You can open up the TS module in the module editor and gasp at the
horror.
Many lose their sanity at that point.

The next version of VASSAL will make this easier.

  • M.

I am i there now … and it is not too scary - just big! I can’t figure
out though, how you display the count of the cards in each hand in the
toolbar of the main window. Is this supported by the engine, or one of
your customisations?

_____________**
Read this topic online here:
vassalengine.org/**forum/vie … 6#**p40296<Sword of Rome (GMT) - Planning 5 Player Rework - #12 by comdotski

_____________**
messages mailing list
messages@vassalengine.org
vassalengine.org/**mailman/listinfo/messageshttp://www.vassalengine.org/mailman/listinfo/messages

M

Thanks - that explains my inability to locate it! Is there any way for me to find/see the customisations through the Module Editor?

Just so I know, how far off is version 4 - roughly. Months, next year … ?

Com

I’m happy to share the Java code with you.

Let me know if you want it.

  • m.

On 18 May 2013 10:14, comdotski treade@optusnet.com.au wrote:

M

Thanks - that explains my inability to locate it! Is there any way for
me to find/see the customisations through the Module Editor?

Just so I know, how far off is version 4 - roughly. Months, next year
… ?

Com

_____________**
Read this topic online here:
vassalengine.org/**forum/vie … 9#**p40299<Sword of Rome (GMT) - Planning 5 Player Rework - #14 by comdotski

_____________**
messages mailing list
messages@vassalengine.org
vassalengine.org/**mailman/listinfo/messageshttp://www.vassalengine.org/mailman/listinfo/messages

Thus spake comdotski:

Just so I know, how far off is version 4 - roughly. Months, next year
… ?

I’m studiously avoiding making estimates until we have a good demo.


J.

Joel

I’m having difficulty with Game Piece Layers and At Start Stacks. I’m pretty sure I am doing the right thing, but not getting the right outcome. My At-Start-Stacks do not seem to work - i.e. they do not display at all, no matter how simple I make them (including counters with just a basic piece trait with image and no layers). Is there a trap here for newbies? Any common faults I should look for?

Thanks

Com

Are you entering XY coordinates for the At-Start Stacks, or moving them where you intend for them to appear? Can you post the module you’re working on to Dropbox or some other place where I could download and take a look?

Most modules don’t do this. It’s far more common to simply create a zone (Turn track) and within that zone have a grid (turn 1, turn 2, turn 3, etc). As each player takes his turn they can drag their turn marker into the next region of the grid and it will report it. I can’t comment on the turn controller / at-start-stack combo as I haven’t messed with the turn controller myself. It sounds like it would work but it’s certainly a lot more labor intensive with making all those stacks.

I would caution you on using the TS module as your template though. It’s certainly a fantastic module, easily the nicest one I’ve seen, but it’s designed from the ground up with custom classes in mind. If you’re not willing to go to the same lengths, you might find that the lessons it teaches won’t carry you very far.

Joel

I have uncovered my mistake (at least one of them). I was using the layer trait in the counter in the at start stack, and the first layer was blank (no image). So I could not select it at all, thus could not see it, or adjust the layers via menu commands. Once I set this to be a real image, it displayed and could manipulate it. I am using an irregular grid on the map with locations and setting the at-start-stack to be at these locations.

I have also decided to start from scratch with a new module so I can go step by step and know what I have done and what works and when I stuff up!

So I now have the basics covered for PC and Loyalty control markers. I’ve use a prototype so I can re-use a common counter definition/behaviour. Also used do not stack as these will need to be operated separately from unit counters.

Next step is to establish game piece layers to support a display button which shows the control markers, but hides units and leaders.

thanks for the support and encouragement

Com.

Gotcha Furyn

I think :confused: that I am aware of the wise warnings you give above - I have been reverse engineering sections of TS for my own education (time consuming exercise). My long term goal IS a high one, but NOT as lofty as TS. I do want some mechanics managed by the module, including the action and turn markers. I would like the markers to appear to move when the turn controller cycles through its phases. I figure using at start stacks, a global property or two, and some global key commands and trigger traits on the counters in the turn tracks might get me there!??

Keep the advice coming!

Thanks

Com

Game Piece Layers now working (3 layers, one for Units/Leaders, One for PC/Loyalty and one for Info and Markers), able to toggle these on/off via toolbars.

Also have Event Markers responding (activating layers) to Global Key Commands - triggered by Toolbar commands now - later on card event play. Global Properties updating dependent upon display of Event Marker (set to active = true/false when displayed/not displayed). Using Prototypes to inherit common behaviour for Event Markers to avoid repetitious definition of traits.

Having fun now! :smiley:

Need to knuckle down now and replicate all the at-start-stacks for every Event Marker, and figure out how to have the cycling of PC Marker Layers reflect as controlling side information - ground work for VP calculations and further implementation of mechanics/rules later on.

More questions later I’m sure.

Com.

Speaking from painful experience, I recommend you get one stack working exactly as you want and only then go into mass production mode. Going back and editing them all because you forgot one little thing is no bueno. :frowning:

Good advice. I had come to the same conclusion. Now completed a representative set of Event Markers (those with on-map and player copies - eg Appian Way), and those with similar behaviour for multiple players (eg Wild Beasts).

Now time to tackle the PC/Loyalty at start stack behaviours.

Am trying to create reusable prototypes wherever possible/sensible. Also, to minimise impact of future changes and additions.

Furyn (or others)

I’ve just determined how to get the Turn Counter to interact with the rest of the game to reflect the status onto the on-map Turn and Action Round Tracks (focus dicussion on Action Round Track now). As you suggested I created a Zone with a rectangular grid to model each location for the Action Rounds in the Track. I then created At-Start-Stacks for the markers and located them (x,y) in the grid (using snap to grid). In conjunction I created A global hotkey to capture changes in state of the Turn Counter, to send a Hotkey when I wanted it to (action rounds started). At this point I struggled to figure out how to connect the Hotkey to Trigger trait for the counter in the At-Start-Stack. I settled on using a toolbar button to capture the hotkey and forward a Global key Command, which triggers the updates to the action round at-start-stack counters via a layer.

Is this the best way to do this - i.e. connect condition in the Turn Counter to other behaviour in the model?

Is there a way to have a counter respond directly to a Global Hotkey generated from the Turn Counter?

If not, is this a feature, bug or constraint in VASSAL (3.2.5)? If a constraint - I’d be happy to put this into a feature request. :open_mouth:

Thanks

Com

I’m afraid you’re adventuring further then I have up to this point. I don’t have an answer for you. Sorry. But maybe Joel will pop back in and save the day.