Create account / Log in

Autospawn starting pieces from external output

Suggestions for additional features for the module editor and Vassal engine.

Moderators: uckelman, Tim M

Autospawn starting pieces from external output

Postby greenknight » November 4th, 2020, 10:09 am

Feature request:

The ability to spawn a starting force to a map using external input to Place Marker.

Context/background:

I'm the main dev for the Star Wars: Armada module, which replicates the miniatures board game by Fantasy Flight Games.

http://www.vassalengine.org/wiki/Module ... rs:_Armada

The module was created in 2015, based on the existing Star Wars: X-Wing Miniatures Game module (the modules still share some similarities).

http://www.vassalengine.org/wiki/Module ... tures_Game

For both games, a fleet of ships (for Armada capital ships and fighter squadrons, for X-wing individual starfighters) is built using a web-based fleet builder.

For example:

http://armadawarlords.hivelabs.solutions/ (I maintain this)
https://armada.ryankingston.com/ (another Armada builder)

https://raithos.github.io/ (for X-wing)

For every game, both players (or more if there is a multi-sided game) need to spawn a starting force that's virtually unique (there are many possible combos of units and upgrades) every time. Many pieces are required for each side, so dragging them over from the pieces window is doable but tedious.

For Armada, we've solved this in two ways:

1. There is a right-click menu/sub-menu system based on prototypes that lets you quick spawn pieces. It's grown a bit clunky over the years as more content is added to the game, but it works reasonably well. It's not a perfect fix, more of a workaround, really.

2. By posting text output from a builder into a Discord PM or chat (on the Vassal Armada server) with prefix 'vassal!', a script is triggered, which interprets the output and generates a .vlog file that can be used for setup. This works exceptionally well. However, it requires the script to be maintained alongside the module, with various delays and errors arising.

X-wing solved this by using custom Java classes to add functionality to the module, giving the players import options from popular builders. Both as "XWS" format and "URL" format. I've included an example of input data here:

{"description":"","faction":"scumandvillainy","name":"I6 spam v3","pilots":[{"id":"fennrau","name":"fennrau","points":71,"ship":"fangfighter","upgrades":{"talent":["fearless"]}},{"id":"dengar","name":"dengar","points":65,"ship":"jumpmaster5000","upgrades":{"talent":["marksmanship"],"cannon":["autoblasters"],"gunner":["greedo"],"illicit":["contrabandcybernetics"],"title":["punishingone"]}},{"id":"hansolo","name":"hansolo","points":64,"ship":"customizedyt1300lightfreighter","upgrades":{"talent":["trickshot"],"crew":["000"],"gunner":["bt1"],"illicit":["contrabandcybernetics"],"title":["landosmillenniumfalcon"]}}],"points":200,"vendor":{"yasb":{"builder":"Yet Another Squad Builder 2.0","builder_url":"https://raithos.github.io/","link":"https://raithos.github.io/?f=Scum%20and%20Villainy&d=v8ZsZ200Z97X121WY115X125WW232WW83W92WW159WY89X133WW63WW79W92WW152&sn=I6%20spam%20v3&obs=coreasteroid5,yt2400debris2,core2asteroid5"}},"version":"2.0.0","obstacles":["coreasteroid5","yt2400debris2","core2asteroid5"]}

Summary:

Would it be possible to add something similar to the Vassal module? A function to allow you to paste external input from a builder, then have Vassal check this against a table built into the module, and then spawn the relevant pieces using Place Marker?
greenknight
 
Posts: 75
Joined: November 18th, 2015, 9:46 pm

Return to Feature Requests

Who is online

Users browsing this forum: No registered users and 1 guest