X-Wing Vassal Module 8.0.0 (new automated update system!)

Usual links

X-Wing guide to installing and playing:  xwvassal.info/guide

Module alternate download (fast) page: https://github.com/Mu0n/XWVassal/releases/

Module download page (1-2 day delay): http://www.vassalengine.org/wiki/Module:Star_Wars:_X-Wing_Miniatures_Game

X-Wing Vassal league (season 6) hub: xwvassal.info

Patreon page: https://www.patreon.com/mu0n

Paypal Tip jar: http://paypal.me/mu0n

CliffsNotes (the TL;DR version)

  • New OTA (over-the-air) update system that will allow everyone to get new ships, dials, pilots and upgrades without having to download a new module version
  • New Contents Checker button in the chat window that allows you to re-check if you have every piece of content inside the module
  • New naming scheme for all image files inside the module makes 8.0.0 incompatible with all previous versions of the module (this is a mandatory update)
  • The way is paved to integrate alternative game mods such as X-Wing Supremacy (from oilerx7 et al) and the Community’s X-Wing 2.0 (from Major Juggler et al) so that everyone will be able to autospawn lists with their custom content
  • Bug fixes: template placement on the side of ships (for barrel rolls and decloaks) in open space is now shown to all other players/observers

Over-the-Air Updates

This is the big feature, all thanks to @mrmurphm who did most of the work on it. The main goal is to make the players avoid to download a whole new module file everytime there’s an easily accomodating slew of additions to the game from preview articles or official releases. Here’s the full list of items which can now be managed by this:

  • Pilot cards
  • Upgrade cards, including conditions
  • Ships
  • Dials
  • New combination that uses the existing  types of arc across all 3 factions and 2 sizes (small and large)
  • Green action icons on the square base

The first way that everyone will face this new system is during the launch of the module, with our new slightly revamped popup window (which will now really pop above all other windows, even if you went to your browser a split second after launching the X-Wing module).

The “Check for new Content” button will revisit @guidokessels’ xwing-data for new elements, as well as check a new repository we control for extra stuff, then download the missing files and integrate them inside the module file. Since it’s done during the launching of the module, everyone should in theory having matching collections of stuff and not have any compatibility problems while playing. However, in order to make this automatic system work, we had to rename all the existing file names inside the module to a very thorough, no-ambiguity nomenclature. This threatened to be a horrific vassal editor renaming job of at least 280+ pilot card files, 550+ upgrade card files and 60+ ship bases, but I came up with a scripted solution to automate this as much as possible in order to save @mrmurphm about 85% of the renaming task.

Since the file names are different, there are 2 consequences for players:

1) There’s once more a clear cut gap between new (v8.0.0+ users) and old (prior to v8.0.0); players across the divide can no longer play each other without some massive gfx glitches. This release is therefore mandatory

2) The Pieces window has been updated so that you can still manually spawn (through drag and dropping) all the elements from wave 1 to 13 inclusively, but starting with wave 14 and on, I will NO LONGER painstakingly add all the elements to it anymore. This is a big chunk of tedious work that I’m shedding off and I’m grateful for it. If you want a wave 14+ element, you have to acquire it from the autospawn feature. List building already happens away from Vassal for practially almost everyone, so I calculate that it’s an acceptable tradeoff.

AutoSpawn overhaul by MrMurphM

Here are the new steps done in the background, when you attempt to spawn a list (new steps in BOLD)

1) Analyze your URL to one of the 3 popular squad builders, or your squad exported in the XWS format

2) figure out if there are missing elements inside the X-Wing Module using @guidokessels’ xwing-data

3) Get them if possible (from our content repository on the web); if it can, save it locally so it doesn’t have to constantly redownload them every time. if it can’t, it’s ok too.

4) Construct the ship dials from xwing-data, which now provides the moves in the right order (thanks to Guido for adding this at our request)

5) Check xwing-data for the faction, type(s) of arc(s), default green action icons that go on the base

6)  Construct the ship piece, bit by bit, using the elements from step 5 and adding in a ship gfx if it found it in step 3.

7) Fetch the pilot card, upgrade cards, condition card(s) and token(s)

8) Substitute any missing graphic with a bland looking ‘WIP’ lettering for the ship graphic, the dial mask image, the pilot card image or upgrade card image

As you can see, even if we’re not fast enough at updating our special repository that adds all the new contents of the wave, players won’t be left stranded waiting for us to play with new elements. The autospawn will still construct placeholder objects and allow you to play with those.

When a preview article, or full wave drops, the behind the scenes step that have to occur are:
A) Guido updates his xwing-data files

B) Geordan updates his yet another squad builder website (and other maintainers do the same)

C) Players on vassal can then already play with placeholder objects right away

D) We scramble to upload the missing graphics and cards

E) Players on vassal can now play with full graphics

Contents Checker

Let’s say you chose to not check for new content during the launch of the module, or you misclicked, or your cat jumped on your keyboard and closed the window, or you’ve been playing for 10 hours straight and a new FFG preview article popped in, and you suspect you want to make sure you have the full collection of content inside your module. This new feature is for all of those cases. It will once again check what you have against what should be available and offer you to download what’s missing. You can also force-download everything back, overwriting what you have, if you absolutely need to revert to a full, default state.

 

The same window will soon be augmented (right now, the only choice is “Base Game”) so that you can point it to another source of content, which will support known organized mod systems in a huge way and provide easy access to testers. All the files for mods will also be stored locally, but inside a separate zip archive in the same directory where you put your regular X-Wing module.

Bug fix, just this one

Everyone who tried to spawn a barrel roll template in open space, (ie not impeded by another ship or obstacle) would not let other players or observers see the template at all. This has been fixed for template placements for barrel rolls, Lorir/StarViper Mk2 style barrel rolls, decloaks, echo style decloaks.

 

Won’t be perfect the first time!

Apart from the obvious fact that we probably missed to plan for some small details, we already know that this new method of updating can’t manage:

1) Totally new game mechanisms that would require new shortcuts

2) New arc types

3) New bomb drop distances due to using new bomb templates, or new types of bombs

4) New special tokens

We also don’t programmatically choose (yet) which side action icon (triggered with shift-a, ctrl-a, etc.) goes on which ships so we crammed them all in, putting the most commonly used ones first. We might revisit this at a later date (but it involves an evolving decision tree, so too headache-inducing to make it into this version).

We have to find a way to spawn maneuver cards, open ordered dials and ordered maneuver strips since you’ll no longer be able to fish them out of the Pieces window.

All in all, it will definitely cut down on the amount of updates to be prepared, tested, uploaded by me and downloaded, installed by you in 2018 and beyond! (fingers crossed!)

 

    1. It’s not. I put up the article for the benefit of my beta testers, there’s no way to share a draft of a blog post here otherwise. I did not expect people to notice the article on their own since the traffic is so low nowadays, but here we are…

      1. I was passing by the Team Covenant website, and I saw the article. That’s why I asked 🙂

        If it is not available yet, then I can’t wait to see when it will be available ! I want to test out that director Krennic 😛