UML like sequece diagrams view in VASSAL

UML sequence diagrams are a good way of capturing sequences of actions and have been used in the computer industry to do just that. For example see

It seems to me that these diagrams would work great for capturing sequences of action in games as well, say for after action report generation. In a game context the “objects” at the top of the diagram (the boxes) could represent game pieces (and be shown as such with the same graphics as if on the game board). The horizontal arrows could be actions that happen where one piece takes some action on the other piece (e.g. fires at it, resupplies it, spots it, or whatever). The activity bars could represent some continued action such as movement.

The idea here is that this embedded sequence diagram would be built and updated automatically by the player just playing the game as usual. If he moves or fires a piece then those actions would be automatically added to the sequence diagram (guided perhaps by some player preference settings). Other game artifacts such as dice rolls, map hexes and game cards might also be things and actions that could be captured in the sequence diagram.

With this, after a game pone could have a very concise (but detailed) account of what happened in the game. One could also use the diagram to assess what is happening during the game and also maybe use it to insert planning objectives as to places and times and events that one wants to make happen.

Having much experience developing software functionality I know this would be a non trivial feature to build in VASSAL. But it could be a ground breaking feature as well by introducing a new paradigm to board gaming that would be difficult if not impossible to do with a non VASSAL physical board game but that would be very doable (albeit non trivial) in VASSAL.

Ive brought this up before. Much like FSM’s and visual editors found in Unity. You can actually setup the Vassal code in eclipse to be viewable as an UML (I’ve already done that once and MAN what a tangled mess that was lol!). But I don’t think it would be too difficult to adapt something similar for the designing view - problem is someones got to write it :slight_smile:

Incidentally I tried to do something like this where I built a sequence diagram “map board” and then manual populated it with pieces. It worked pretty well except that it was a but cumbersome to use and was all manual to populate. If I has just a swim lane object that acted sort of like a piece in that I could place it ands move it on a map board (the sequence diagram map, and then put game pieces on it on it like activities blocks and object boxes (i.e. game pieces) then that would be a step forward. That would leave drawing the arrows between the swim lanes and rules to auto draw them.

The message is that I think that VASSAL may be closer to doing this than one might think in that it has the basic building blocks to do so already. What it needs is the glue to make it less cumbersome.

For example one could have a piece property that says I am a sequence diagram object and this is what causes me to appear or move on the sequence diagram. The lane object would have a property that says want to change swim lanes. Thus each piece just has a few new properties and the sequence diagram functionality is an emergent behavior that happens when those pieces exercise those properties, like draw an arrow at this point in my swim lane to the swim lane that piece x is in and name it thus and such.

Then say when a piece fires at another pieces those rules would then trigger the events that then further populate the sequence diagram through those properties that the pieces have that populate it. Thus VASSAL use’s its on smarts to model swim lanes, arrows, et al just like it can model anything else form chess, to Chinese checkers, to AH’s The Longest Day.

Perhaps that would allow a incremental approach where one gets a full up sequence diagram capability in incremental stages, one step at a time.