X-Wing Squadron Specification - Public Comment

By WickedGrey, in X-Wing

Hello all,

As Voidstate has hinted at in the past, work has been underway to allow for squadron lists to be exported in a machine-readable way between various applications interested in handling squad list data.

The initial work was handled privately by Voidstate, Geordan, Fab, and me, but now that work is ready for public comment. We'd love to get some feedback and constructive criticism. We're pretty confident that what we've got can handle any tournament legal list (regular or epic), but if there's a corner that we've missed, please let us know.

The specification repo is here:

https://github.com/elistevens/xws-spec

With an online validator here:

http://elistevens.github.io/xws-spec/

We have a JSON schema validator, as well as a custom validator (the one used in the above page) available as a Bower package for use in custom webapps.

VS, YASB, and Fab's builder all support import and export of lists, and trial support for putting a list into a QR code is at varying levels of implementation (the holidays have slowed progress some).

A couple other notes:

- We're only aiming to support tournament legal lists. While it's possible to encode illegal lists in the spec, that's just an artifact of the implementation.

- We're only aiming for machine-to-machine communication. This is not intended to be a format for TOs to enter manually (a use case discussed before, but not one we aimed to solve).

- Data size wasn't a first priority.

- The validator will be updated at least as often as ships become tournament legal; there might be a delay between online spoilers and the new cards appearing in the validator repo.

A quick note on WHY THIS IS AWESOME* :D : You can now move your squadrons between different squadron builders. That's right... you're no longer tied to one builder, and you can share squadrons with friends who prefer a different one. You can also back up your squadrons in a format that can be loaded into any builder. You're free!

In future, we'll probably make it smoother to transfer squadrons around, and there will hopefully soon be a Tournament Organiser app that supports XWS, meaning you can email your squadron in (or use a printed QR code) and have it shown live on tournament rankings.

To export from my squadron builder, go to http://xwing-builder.co.uk/build and click Share > Another App. To import, go to Tools > Import... (which opens http://xwing-builder.co.uk/import).

vs

*and why we've all put months of work into this.

Edited by voidstate

You guys are fantastic. Thank you so much for the work you put in!

I love the idea of having your squad as a QR code. Could be really cool if the various list builder generated these automatically. A big thumbs up on all your work! :-)

Edit: sqaud... Fixed

Edited by Scurvy Lobster

Does it have Imperial CR-90s?

I love the idea of having your sqaud as a QR code. Could be really cool if the various list builder generated these automatically. A big thumbs up on all your work! :-)

What? Like this?

http://xwing-builder.co.uk/xws/148131#view=qr

:)

I've seen agencies with less internal cooperation. This is really impressive!

I definetly applaude your efforts.

Great work guys!

Does it have Imperial CR-90s?

- We're only aiming to support tournament legal lists. While it's possible to encode illegal lists in the spec, that's just an artifact of the implementation.

Does it have Imperial CR-90s?

To echo NotBatman's answer, the short version is no, homebrew content isn't explicitly supported.

TL;DR version:

For the XWS spec to be of any use, you need two applications, one to export the squad, and one to import it. Both applications need to roughly agree on what content is supported for the export/import process to work. For example, if the exporting builder has Imperial Raider content for the TIE Advanced, but the importing builder does not, it's likely to either reject or drop the unrecognized content.

If you had two applications that both recognized a superset of the official cards (say, an Imperial CR90), then you could reasonably expect that the export/import dance would work between those two applications. The only difference between newly-spoiled cards and homebrew content from the XWS spec perspective is that we as a community expect support for new official cards to be forthcoming.

I am not aware of any XWS-compliant applications that support homebrew content, but I certainly wouldn't try to stop someone from creating one. It's not something that interests me, so it would have to come from someone else in the community. I'd be happy to answer questions about how to add additional content to the custom validation function, etc.

I would resist allowing that homebrew content into the official version of the spec, though.