Codex Commander Data Builder
The CC Data Builder is a java program that allows you to input and manage data in a user interface that can then generate JSON code that is compatible with Codex Commander.
It is downloadable on Windows and requires Java to run. You can download the latest version of Java here: https://www.java.com/en/download/
Make sure to whitelist the Databuilder as most antivirus will flag this software. The software is perfectly safe however as this is Wysiwyg Wizards first project we havn't obtained a Code Signing Certificate, which would solve this issue.
The data builder automatically generates unitID's and optionID's, which is why it is strongly recommended to use the data builder rather than code the JSON manually. See the section on 'Collaborative Data Building And The ID System' for more information.
Data building is recommended only for enthusiastic users, as it can be clunky at times and may require the user to edit JSON data manually. Mistakes can cause large quantities of data to be unusable. Furthermore, finding the best way to organise the data can be challenging (deciding when to use equipment lists or if to have certain categories). When using the program, it's highly recommended to use the 'Save JSON' function as much as possible, and create backups of the .txt files.
Data Design and Logic
Note of Diagram Notation:
Notes on Equipment Lists:
Codex Commander at its core is about building lists quickly and easily. Therefore the design of the data is as minimalistic as possible. However, the downside to this approach is that restrictions are a little more difficult to use.
This diagram represents the JSON data structure, and its design is aimed to fit the mould of as many miniature wargames as possible, though it is susceptible to change (click to enlarge):
Using the Program
Collaborative Data Building & The ID System
No unit or option can have the same unitID or optionID as another unit or option per game. For example, one game called 'Mages Vs Goblins' has an army called 'Mages' that has a unit called 'Mage' with the weapon 'Staff'. The 'Mage' unit could not have the same unitID as the 'Staff' option's optionID. If another army has the unit 'Mage', it will have to have a different ID to 'Mage' unit in the 'Mages' army. This is because Codex Commander allows different armies to be within the same list, as it can be useful to differentiate units that are identical but from different armies.
It is possible for 2 people to work on different armies on the same game for some games. However if the game often requires the user to switch between armies and compare unitID's and optionID's (like with the future restrictions system), it may be best to wait for one army to be done before starting another.