Modding
The game can be modded using JSON files.
Modding Guide Blog Posts
Other Resources
Modding Attribute List
Preliminary Information:
The basic structure of attributes is:
"Attribute": "value",
Where "Attribute"
will be the attribute you want to add and "Value"
is the value you want to set the attribute to.
Some attributes can be given a list of values as well:
"AttributeParent": { "value1", "value2", "value3" },
In this guide, attributes will have applicable values listed alongside them, so for now just know that not all attributes take the same values.
A note about JSON: when adding attributes you put a comma at the end only if there is another attribute after it.
For example, if there are only 3 attributes in a file, you would only have 2 commas as the last attribute doesn't need it:
[ { "Attribute1": "value", "Attribute2": "value", "Attribute3": "value" } ]
This is also the case when adding attributes within other attributes:
[ { "AttributeParent": { "subAttribute1": "value", "subAttribute2": "value", "subAttribute3": "value" } } ]
Appearance Attributes will require a spritesheet to get their graphics from.
1 Tile = 16 pixels, spritesheets are 63 x 63 tiles, or 1024 x 1024 pixels
When attributes require a coordinate on the spritesheet, the format is ( x , y ) or horizontal then vertical.
Both horizontal and vertical start from ( 0 , 0 ) on the top left and go to ( 63 , 63 ) on the bottom right.
Basic Attributes:
"name": "value",
Sets the name of the module.
"value"
here will be the name of the module. This name is used to refer to this module in other files, so make sure it is not the same as another module.
{ "name": "value", "flippedFrom": "value" },
Creates a flipped version of the module.
Used for modules that can be flipped horizontally. (i.e. cannons, telescopes, propellers, etc.)
"value"
here will be the name of the module being flipped.
"verticallyFlippedVersion": "value",
Creates a vertically flipped version of the module.
Used for modules that can be flipped vertically. (i.e. dorsal turrets, sails, engine pods, etc.)
"value"
here will be the name of the module being flipped vertically.