1 hour ago, Ardaedhel said:What do you guys think about a JSON standard that looks like this?
This is modeled heavily on the X-Wing Squad schema, with some changes made to accommodate our considerations. Currently, this mostly impacts the fleet builders, so that's @fab74 , @Green Knight , @Nevetz , Ryan Kingston, and David Martinez (AFD).
That looks good, and I don't know what these peoples' backends look like but I'd like to throw out a slight modification under the assumption list builders will produce this from an export option or whatever.
Changes made:
- Added "mode" to indicate if tournament, casual, campaign, or whatever
- Made "objectives" into object with indication of color of objective
- Added "cost" and "text" keys to ships/squadron objects because why not, the more info the better
- Made upgrades into an array of objects because upgrades can have multiple attributes (i.e. modification, boarding parties)
- The "type" is an array of strings that describe the slot or any other list building restrictions attached to an upgrade object
- Additionally, since upgrades are objects, if in the future if more details are needed about a specific upgrade then they can be added (i.e. exhaustible)
- Removed the "-swm27" from Leia. I feel like you would want to know when there are duplicates in the list so that the GUI or whatever can flag it, though this shouldn't really be an issue since most list builders handle duplicates fine already so the "-swm27" seems unnecessary
- Made list of squadrons into array of objects, each squadron has a "name" and "type"
- The "name" is so that for upgrades like Darth Vader the boarding party, admiral, and squadron all have the same key (the name)
- The "type" is simply the type of squadron, though more attributes can be added to this in the future if necessary
- Generics are differentiated through having an empty "name" field
{
"name": "Armada Fleet Format v0.1 - Example Fleet",
"faction": "rebel",
"points": 400,
"mode": "tournament",
"version": "0.1.0",
"description": "An example fleet list. If you come with this thing, you're braver than I thought.",
"objectives": {
"assault": "targetingbeacons",
"defense": "fleetambush",
"navigation": "navigationhazards"
},
"ships": [
{
"name": "cr90corvetteb",
"cost": 39,
"upgrades": [
{
"name": "leiaorgana",
"type": ["commander"],
"cost": 38,
"text": "..."
},
{
"name": "highcapacityionturbines",
"type": ["ioncannons", "modification"],
"cost": 7,
"text": "..."
}
]
},
{
"name": "assaultfrigatemarkiia",
"cost": 39,
"upgrades": [
{
"name": "boardingtroops",
"type": ["offensiveretrofit", "weaponsteam"],
"cost": 3,
"text": "..."
}
]
}
],
"squadrons": [
{
"name": "lukeskywalker",
"type": ["xwingsquadron"],
"cost": 20,
"text": "..."
},
{
"name": "",
"type": ["z95squadron"],
"cost": 7,
"text": ""
},
{
"name": "",
"type": ["z95squadron"],
"cost": 7,
"text": ""
}
],
"vendor": {
"armadafleetdesigner": {}
}
}
Edited by GalacticFister