X-Wing List Taxonomy

By sozin, in X-Wing

I like it.

I still wouldn't really worry too much on Arc-dodgers vs Jousters; I've seen phantom lists built for jousting; there's too many grey areas to easily categorise without in-depth analysis of individual squads, I fear. Is a Firespray an arc-dodger or a Jouster? With EU, probably obvious. Imperial Boba Fett? Less so.

Knowing that he's a Large-based Gun probably enough. (As opposed to Large-based Turrets, as it were.) Ditto Corran; there are many ways to fly him, but at the end of the day, you're rocking a small-based Ace.

If you wanted to go further, he's a 3red, 3green, Small, Ace.

The reds+greens would be interesting to track in terms of how many are out there; for instance, you don't often see Aces with 1AGI. Or maybe you do? If you're going the route of tags, perhaps it's worth keeping track!

Edited by Reiver

Agree. Jouster/Dodger is a potentially useful tag in the lexicon, but seems too arbitrary show up high in the taxonomical tree. It does seem useful as a descriptor to differentiate between a low PS, no-engine upgrade/no-barrel roll ship/pilot versus a high PS, engine upgrade and/or barrel roll ship/pilot.

I like 'Big Gun' as an attribute. IG-88s qualify for that as well.

you don't often see Aces with 1AGI. Or maybe you do? If you're going the route of tags, perhaps it's worth keeping track!

Keyan Farlander!

Precisely. Now, is Keyan a Jouster or an Arc-dodger? He can do some pretty crazy stuff with those stress tokens! :P

Oh, that was 'Big ship gun'; IG-88 counts whether or not he's a B or a C, whilst the latter definitely qualifies as arc-dodger. Shuttles are Big Guns too; presumably so would the YV-666, even if that gun covers 180 degrees of arc. It's worth noting because even a big ship ace flies very differently, and works very differently, to the smaller stuff.

Not my area of expertise, but I'd like to share my thoughts on this.

I think for this to succeed (and retain its usefulness over the course of many waves), you will need to avoid all subjective attributes. Fat, jouster, control, even terms like swarm and support mean different things to different people. Using archetypes based on those subjective concepts only serves to further complicate things (and make programming trickier).

I would rather see a database that can be parsed by any number of objective criteria such as:

  • number of ships
  • large base vs small
  • generic vs named
  • pilot skill
  • faction
  • ship
  • primary weapon type (turret, forward, aux)
  • % spent on upgrades
  • % spent on single ship
  • more!

Looking to see how many 2 ship list are being used, parse by number of ships. Looking for fat turrets, parse by primary weapon turret and % spent on single ship. and so on. The idea being that it allows people to sort through the data according to their personal taxonomy. Objective data in hand, then one can assign appropriate subjective monikers and start a new post declaring Fat control swarms are ruining the meta!

Edited by Nyarr

I'd agree with that, though I'd understood we were adding to a pre-existing taxonomy, rather than building from scratch.

I do like the idea of turret/aux/forward; that plus the base size is what I'd had in mind regarding 'gun' vs 'turret'.

Objective tags for upgrades would be useful, too - a Y-wing turret is different to a YT-1300 and still worthy of attention, whilst is objectively cancelled by the BTL-A4 upgrade.

A K-wing with a turret upgrade is presumably still only counted once, even if you're searching for both kinds of turret simultaneously.

I think that trying to define a taxonomy of lists ahead of time is going to superimpose the inherent biases of the authors on the data (I don't mean that in a judgmental way, just that we all have our perceptions and biases, etc. and those will shape how we define the categories used).

I would be interested in seeing the clusters that form from grouping together lists that share 75 points spent on the same cards (doesn't matter where they're equipped, etc., just a dirt-simple "standard Fel plus something with Gunner == 40 points of overlap"). One way to do this is to pick the most common list, and have it vacuum up every other list within a certain radius of it, then pick the next most common list that wasn't vacuumed up and have it pull in nearby lists, then repeat until there are only single lists left.

Once that's done, an extra layer of stuff like "different pilots of the same ship only differ by their points difference", "if the card puts stress on the opponent, halve the points delta", "having a PWT is like 15 points the same" etc. can be added to help define similarities between various ships and upgrades.

Granted, that last part lets all of the biases back in, but I bet the first part will be illuminating, both for things that are similar but don't seem that way to us, and for things that are vastly different pointswise, but we feel they shouldn't be.

Just a suggestion, obviously. Carry on!

I would rather see a database that can be parsed by any number of objective criteria such as ....

Ask and ye shall receive! Here's the list juggler database , dumped hourly. here's the schema . EDIT: if anyone ends up setting up a local mysql instance, let me know, and I'll provide you a sql statement to get you started. (there's a left outer join on the upgrades table that is a bit annoying.)

as per your and wickedgrey's points above, it is definitely possible to start with the data and see what sort of patterns emerge. something to do after I finish rolling out the crowdsourcing feature in I'm working on now (the idea is to let people upload zip files of list scans, and then hopefully the community will pile on and enter the lists.)

Edited by sozin

[Heavy] and [Agile]

The First are ships with 1 or less Agility Dice: B-Wing, YT1300, Decimator, Y-Wing. Weak to lots of attacks (Cluster Missiles, Swarms...)

The Second are ships with 3+ Agility Dice: Interceptors, Advanced, Agressors, Vypers... weak to auto-dmg (seismic charges), Blasters, or potent attacks (Torpedoes with Focus+Lock)

Just my 2 cents.

[Heavy] and [Agile]

The First are ships with 1 or less Agility Dice: B-Wing, YT1300, Decimator, Y-Wing. Weak to lots of attacks (Cluster Missiles, Swarms...)

The Second are ships with 3+ Agility Dice: Interceptors, Advanced, Agressors, Vypers... weak to auto-dmg (seismic charges), Blasters, or potent attacks (Torpedoes with Focus+Lock)

Just my 2 cents.

Better, surely, to just define them as [1Agi] and [3Agi], with [4Agi] and [2Agi] alongside.

Or perhaps [3Agi] [AgiBoost] to represent the base Agility, pluse whatever Stealth Device/Astromechs/GlazTheHunter (Who'd be [2Agi] [AgiBoost], of course), all of which have boosted agility situationally.

I personally like having colloquial expressions to describe various list archtypes. consider "rebel death star" (Mu0n) -- a Jan ORS HWK and a YT2400 with Outrider and HLC or a YT2400/1400 with Expose or Opportunist.

Modifying attributes like 'Heavy' or 'Agile' do help make the taxonomy more expressive/colloquially interesting. for now I think the top level or two of the taxonomy should be fairly descriptively spare, ie Turret + Ace, Dual Turret, Ace + Mini Swarm, Turret + Miniswarm, Swarm, etc, so-as to allow lower levels of the taxonomy tree to be more flexible. Consider:

                                                                        ┌───────────────────────┐ 
                                                                     ┌──┤   Rebel Death Star    │ 
                                                                     │  └───────────────────────┘ 
                                                                     │                            
                                          ┌───────────────────────┐  │                            
                                       ┌──│ Turret + Support Ace  │◀─┘                            
                                       │  └───────────────────────┘                               
                                       │                                                          
                                       │                                                          
                                       │                                                          
                 ┌─────────────────┐   │                                                          
              ┌─◀│  Turret + Ace   │◀◀─┤                                                          
              │  └─────────────────┘   │   ┌────────────────────────┐        ┌──────────┐         
              │                        ├───│   Turret + Agile Ace   ◀────────│ Chirafel │         
              │                        │   └────────────────────────┘        └──────────┘         
              │                        │                                                          
┌──────────┐  │                        │                                                          
│Dual Ship ■◀─┤                        │                                                          
└──────────┘  │                        │   ┌────────────────────────┐        ┌───────────────────┐
              │  ┌─────────────────┐   └───│   Turret + Heavy Ace   ◀─────── │Fat Han / Sad Horn │
              └──│   Dual Turret   │       └────────────────────────┘        └───────────────────┘
                 └─────────────────┘                                                              
Edited by sozin

I've been thinking about the implementation of automated taxonomy classification against the ListJuggler dataset after reading through the wikipedia article on precision and recall.

350px-Precisionrecall.svg.png

For XWing Squadron Taxonomies, "relevant" here means that a list conforms to the classification put upon it by ListJuggler.

For example, say that ListJuggler auto categorizes Vader + PTL + Title/ATC + Engine, Chiraneau in the "Support Ace + Turret" category. Ahead of time, we decide that this list belongs in "Agile Ace + Turret" category, and that the list Vader + Squad Leader + Title/Accuracy Correct + Shield Upgrade, Chiraneau belongs in the "Support Ace + Turret" category. -1 hit to ListJuggler's recall algorithm.

In order to do precision/recall testing we have to categorize a bunch of lists up front, and so we're naturally incentivized to keep the first iteration of the taxonomy tree simple to make it easier on ourselves :-)

Hence this suggestion for moving forward: I distill down the taxonomy as discussed in this thread into something basic. We all then go through and assign the top 20 or top 40 lists from tournament play as leaf nodes into the tree. That done, I can proceed to implement some auto categorization schemes in Python and sic them on the rest of the data set (2,341 distinct, unique lists as of right now). We'll probably get some interesting results, after which we can tweak or dump the first rev of the taxonomy and rinse/repeat.

Edited by sozin

Ok, here's my 0.1 cut!

                                                                                                           ┌──────────────────┐
                                                                                                       ┌───│ Rebel Death Star │
                                                                            ┌───────────────────────┐  │   └──────────────────┘
                                                               ┌────────────│ Turret + Support Ace  │◀─┘                       
                                                               │            └───────────────────────┘                          
                                                               │                                                               
                                 ┌─────────────────┐           │                                           ┌──────────┐        
                              ┌─◀│  Turret + Ace   │◀─────────┬┘                                      ┌────│ Chirafel │        
                              │  └─────────────────┘          │                                       │    └──────────┘        
                              │                               │          ┌────────────────────────┐   │                        
                              │                               ├──────────│   Turret + Agile Ace   ◀───┘                        
                              │                               │          └────────────────────────┘                            
                              │                               │                                                                
                 ┌──────────┐ │                               │                                         ┌───────────────────┐  
              ┌──│Dual Ship ■◀┴──┐                            │                                     ┌───│Fat Han / Sad Horn │  
              │  └──────────┘    │                            │          ┌────────────────────────┐ │   └───────────────────┘  
              │                  │                            └──────────│   Turret + Heavy Ace   ◀─┘                          
              │                  │                                       └────────────────────────┘                            
              │                  │     ┌─────────────────┐                                                                     
              │                  ├─────│   Dual Turret   │                                                                     
              │                  │     └─────────────────┘                                                                     
              │                  │                                                                                             
┌──────────┐  │                  │                                                                                             
│   Root   ■◀─┴─┐                │     ┌────────────────┐                                                                      
└──────────┘    │                ├─────│  IG88 + Other  ■                                                                      
                │                │     └────────────────┘                                                                      
                │                │                                                                                             
                │                │     ┌──────────┐                                                                            
                │                └─────│Dual IG88 ■                                                                            
                │                      └──────────┘                                                                            
                │                                                                                                              
                │                                          ┌────────────────────────┐                                          
                │                                 ┌────────│ Agile Ace + Mini Swarm ■                                          
                │    ┌────────────────────┐       │        └────────────────────────┘                                          
                ├────│  Ace + Mini Swarm  ◀◀──────┤                                                                            
                │    └────────────────────┘       │                                                                            
                │                                 │        ┌─────────────────────────┐                                         
                │                                 ├────────│Support Ace + Mini Swarm ■                                         
                │                                 │        └─────────────────────────┘                                         
                │                                 │                                                                            
                │                                 │                                                                            
                │                                 │        ┌──────────────────────────┐                                        
                │                                 └────────│  Heavy Ace + Mini Swarm  ■                                        
                │                                          └──────────────────────────┘                                        
                │                                                                                                              
                │                                          ┌───────────────┐                                                   
                │     ┌──────────────────────────┐    ┌────│ Panic Attack  ■                                                   
                ├─────│  3-5 Ship Control List   ■◀───┤    └───────────────┘                                                   
                │     └──────────────────────────┘    │    ┌───────────────┐                                                   
                │                                     └────┤Delta + ICT x3 ■                                                   
                │                                          └───────────────┘                                                   
                │                                                                                                              
                │                                         ┌────────────────────┐                                               
                │     ┌────────────────────┐              │ Deep Space Patrol  ■                                               
                ├─────│Turret + Mini Swarm ■◀─────────────│  (Patrolman + Tie  │                                               
                │     └────────────────────┘              │     Fighters)      │                                               
                │                                         └────────────────────┘                                               
                │                                                                                                              
                │                                                                                                              
                │                               ┌────────────────────┐        ┌────────────────────┐                           
                │                      ┌────────│    Rebel Swarm     ◀────────│        ZZZB        ■                           
                │                      │        └────────────────────┘        └────────────────────┘                           
                │                      │                                                                                       
                │                      │                                                                                       
                │                      │        ┌────────────────────┐       ┌────────────────────┐                            
                │                      ├────────│   Imperial Swarm   ◀◀─┬────│  Howlrunner Swarm  ■                            
                │                      │        └────────────────────┘  │    └────────────────────┘                            
                │    ┌────────┐        │                                │    ┌────────────────────┐                            
                ├────│ Swarm  ■◀───────┤                                └─── │  8 Ship Tie Swarm  ■                            
                │    └────────┘        │                                     └────────────────────┘                            
                │                      │                                                                                       
                │                      │                                     ┌────────────────────┐                            
                │                      │        ┌────────────────────┐       │  Yarr, Feedback!   ■                            
                │                      └────────│     Scum Swarm     ■◀──────│ (Pirate + Feedback │                            
                │                               └────────────────────┘       │     Array x7)      │                            
                │                      ┌────────────┐                        └────────────────────┘                            
                │     ┌────────┐       │  Spanish   ■                                                                          
                └─────│"Other" ■◀──────│ Nationals  │                                                                          
                      └────────┘       └────────────┘                                                                          
Edited by sozin

Not to diminish the work you've done, but I think the previously suggested "tag" method of classification is both more useful and more appropriate. A Linnaeus type taxonomy actually was designed to describe things that were descended from common ancestors. The descent relationship is the whole point. We may as well make a Periodic Table of X-wing Lists.

X-wing list similarities have no lineage, so it makes sense to describe them for what they are. We don't care if racoons and bears are sort of close, we care that both dolphins and sharks swim and eat fish.

Heh, don't be too impressed by the ascii art, I use Monodraw :-)

I think it would be good to have both a tag system and taxonomy to compare, so let's get some tags inventoried. I'll start with some:

  • Small: small base
  • Big: big base
  • Turret:
  • Control (equipping some sort of Ion or Stress/action denial mechanism)
  • Ace (having an ace pilot)
  • Fat: having more than X points or X % of base cost of upgrades
  • Support: having abilities or upgrades that help out other ships in your squad
  • Agile: having lots of agility and or/BR, boost
  • Heavy: low agility + lots of health (>5?)

Periodic table, good metaphor!

A few more obvious tags:

  • Rebel
  • Imperial
  • Scum
  • Dual
  • Four Ship

ie "Four Ship Rebel Control"; "Imperial Mini+Swarm + Ace"

Not to diminish the work you've done, but I think the previously suggested "tag" method of classification is both more useful and more appropriate. A Linnaeus type taxonomy actually was designed to describe things that were descended from common ancestors. The descent relationship is the whole point. We may as well make a Periodic Table of X-wing Lists.

X-wing list similarities have no lineage, so it makes sense to describe them for what they are. We don't care if racoons and bears are sort of close, we care that both dolphins and sharks swim and eat fish.

This is pretty much what I was going to say.

IMHO, if you really want a hierarchy, you should keep it to a single dimension, based in the rules: base size.

So you'd have:

4 large

4 large + 1 small (4 OGPs + a TIE)

3 large + 3 small (3 OGP + 3 TIEs)

3 large + 2 small

3 large + 1 small

2 large

2 large + 4 small (2 OGPs + 4 TIEs or 2 ORSs + 4 Bandits)

2 large + 3 small

etc.

Everything else would be tags.

I think he is also using Tags the same way, and is just Sorting/classifying the Tags.

  • Small: small base
  • Big: big base
  • Turret:
  • Control (equipping some sort of Ion or Stress/action denial mechanism)
  • Ace (having an ace pilot)
  • Fat: having more than X points or X % of base cost of upgrades
  • Support: having abilities or upgrades that help out other ships in your squad
  • Agile: having lots of agility and or/BR, boost
  • Heavy: low agility + lots of health (>5?)

I would probably split the low agility out from Heavy, so you get:

  • Heavy: High shields/hull
  • Clumsy: Agility 0 or 1

And split Agile into:

  • Agile: 3+ Agility
  • Positional: Boost/barrel roll/cloak

How about these for some other tags:

  • Denial (analogous to Support but hinders opponents [eg. Biggs or Torkhil Mux])
  • Light (analogous to Heavy: low shields/hull)
  • Naked (analogous to Fat: no upgrades)
  • Ordnance
  • Bombs
  • Mini-swarm: 3+ of the same ship in the squadron
  • Swarm: 6+ of the same ship in the squadron
  • Unnamed: No named pilots

And how about meta-tags:

  • Worlds winner
  • Nationals winner
  • Regionals winner
  • Store winner
  • Popular XXXX (where XXXX is the year - or possibly use seasons?)
  • Wave X (where X is the most recent "wave" release needed to build the squadron)

vs

Edited by voidstate

I have been thinking and I managed to reach a conclusion that almost every list is comprised by a mixture of these things:

  • Fat Turret 50-64
  • Ace 35-45
  • Support 20-30
  • 2 Ships 40-50
  • Swarm 36-50

Fat turret is hard to kill high presence ship. Ace is a pilot with 7+ skill not too dependant on other ships. Support are ships with skills to help others (Like Jan Ors or Yorr). 2 ships are lightly equiped generic pilots, like 2 Blue squadron or 2 royal guard interceptors. Swarm are 3-4 cheap ships (Fighters/Z95 usually).

Examples: Full swarm of TIE are (2x) Swarm. Rebel 4 ship is a combination of (2x) 2 Ships, or 2 ship + Support + Ace. Most of the actual top tier lists are Fat Turret + an Ace/2ship/Swarm. Soontir/Whisper/Lambda is (2x) Ace + Support etc Even dual IG are (2x) Ace.

Edited by Rookie Pilot

That is a interesting observation Rookie Pilot! I've been thinking of counterexamples and haven't found any. You may be on to something.

I have been thinking and I managed to reach a conclusion that almost every list is comprised by a mixture of these things:

  • Fat Turret 50-64
  • Ace 35-45
  • Support 20-30
  • 2 Ships 40-50
  • Swarm 36-50

Fat turret is hard to kill high presence ship. Ace is a pilot with 7+ skill not too dependant on other ships. Support are ships with skills to help others (Like Jan Ors or Yorr). 2 ships are lightly equiped generic pilots, like 2 Blue squadron or 2 royal guard interceptors. Swarm are 3-4 cheap ships (Fighters/Z95 usually).

Examples: Full swarm of TIE are (2x) Swarm. Rebel 4 ship is a combination of (2x) 2 Ships, or 2 ship + Support + Ace. Most of the actual top tier lists are Fat Turret + an Ace/2ship/Swarm. Soontir/Whisper/Lambda is (2x) Ace + Support etc Even dual IG are (2x) Ace.

So how do you classify the Z in BBBBZ?

(2x) 2 Ship, + leftover points

I think Rookie Pilot's list is great. How does one regard larger non-turret ships? Do 50-ish point things like IGs, TIE Defenders, and Firesprays count as aces (even with low PS) or something else? Maybe a "heavy fighter" category for ships in the ace price range that rely more on stats than PS and movement? Might be needlessly complex.

(2x) 2 Ship, + leftover points

aka "Filler"