I'm trying to determine all the items, crafting methods and recipes to put in my game, and the relationships between them. I need a tool that allows me to do this both top down (boat needs sails and planks, sails need fabric which needs weaving technology and thread ...) and bottom up (hit rocks together to make sharp rock, tie it to a stick with thread to make an axe ...). I also need to ensure that all items, crafting methods and recipes conform to some template, which will be dynamic, at least in the development phase. I need the tool to be informative about which items conform to the template and which items do not, as well as what they are missing.
Below is an example item:
- Item: Oak plank
- Item family: Wood plank
- Crafting method: Sawing
- Item: Oak log
And here is an example item template:
- Item
- Optional item family
- Mandatory crafting method
- Choice (Item / Item family)
So this item conforms but I need a some way to ensure this and highlight if it was missing, for example, the crafting method. I also need to be able to check if an Oak log Item entry is also in the list and well formed according to the schema, and be able to change the schema easily. For example, I could later define an optional "Ship" tag in the schema for items that would enforce speed and strength values when used.
I will frequently update the templates and I want this to be a low overhead operation. Therefore I've eliminated databases. Due to the cross-referencing needs, I've eliminated spreadsheets and now I'm working on writing a tool that uses an xml schema to define the templates and list the items, crafting methods and recipes in an xml file, using xml validation to check conformity.
The problem is that the tool is taking too long to write and preventing me to work on the core features of the game. Are there any available tools or workflows for this purpose?