So, I'm working on fixing up the content issue in Cooking & SimpleFarming, and then moving on to integrate them with other modules where possible. Thought I'd type up my plan so others can see it and help/give suggestions. Phase one has been done and I'll have a pull request in about a day. Here is the code so far. I've also drawn up a dependency tree/graph that shows what will depend on what in when the project is finally finished.
It's also on a sketchboard here. The two arrows from the bottom are related to Potions&Alchemy which is for another post another day in the future.
The first phase was to re-do the way that the Vines and Bushes are done in SimpleFarming to make the system more realistic. I'll post the updated algorithm in a separate comment below. Trees are as of yet not added. These will come at a later date ideally using woodspeople's algorithm over at their site.
The next phase is to split the raw items into their separate modules. A few select fruit and veg will go into SimpleFarming. The rest will go into EdibleFlora. Also of note to this is the eventual module AdvancedFlora (name pending) which will eventually hold a bunch of other plants that use the systems from SimpleFarming without being edible.
Similarly a few of the edible animals will go into BasicAnimals with the majority into EdibleFauna. Note that not all of the items in BasicAnimals will be edible (by my standards at least). This is why BasicAnimals will not depend on Hunger. Instead prefab deltas will be used to add Hunger components to the animals defined in it.
Once this is completed the structure will look like this
As all the recipes in cooking are unchanged the module must depend on EdibleFlora and EdibleFauna to still work.
Additionally note that although the meat items will be located within EdibleFauna they are not guaranteed to be obtainable and to have animals at this point. The all the Flora is to have a corresponding vine or bush and hence can be grown but they may also not be included in a world generator and as such not be obtainable direct yet either.
The final phase is to split up the recipes into four tiers. BasicCooking, IntermediateCooking, AdvancedCooking and ModernCooking. Each tier will depend on the one before it.
The BasicCooking only uses items from SimpleFarming and EdibleFauna. Additionally these items will only use the raw ingredients directly. The next two levels, IntermediateCooking & AdvancedCooking will depend on EdibleFlora as well. They will both improve on the level before them, adding more complex items that use the previous level's items. Notably none of these three levels will modern utensils, although they can use complex ones like juicers. ModernCooking is the only module that will use the modern utensils. These will include things like blenders and blowtorches.
At this point the dependency tree will look like the initial picture. Almost all utensils, foods and recipes added over the time and from GCI will be integrated into a more packaged structure. One thing to note is that the image doesn't include things like a world generator or integrations like InGameHelp. These will be added to the sketchboard however.
I would be interested in potentially leveraging the end of year GCI to do most of the moving around of the items and integration with SimpleFarming etc as it suits the small task style effectively. The caveat of that is the time until GCI is occurring and the potentially grunt work nature of the tasks could cause the participants to have a impression.
Follow up tasks at the end of this project:
It's also on a sketchboard here. The two arrows from the bottom are related to Potions&Alchemy which is for another post another day in the future.
The first phase was to re-do the way that the Vines and Bushes are done in SimpleFarming to make the system more realistic. I'll post the updated algorithm in a separate comment below. Trees are as of yet not added. These will come at a later date ideally using woodspeople's algorithm over at their site.
The next phase is to split the raw items into their separate modules. A few select fruit and veg will go into SimpleFarming. The rest will go into EdibleFlora. Also of note to this is the eventual module AdvancedFlora (name pending) which will eventually hold a bunch of other plants that use the systems from SimpleFarming without being edible.
Similarly a few of the edible animals will go into BasicAnimals with the majority into EdibleFauna. Note that not all of the items in BasicAnimals will be edible (by my standards at least). This is why BasicAnimals will not depend on Hunger. Instead prefab deltas will be used to add Hunger components to the animals defined in it.
Once this is completed the structure will look like this
As all the recipes in cooking are unchanged the module must depend on EdibleFlora and EdibleFauna to still work.
Additionally note that although the meat items will be located within EdibleFauna they are not guaranteed to be obtainable and to have animals at this point. The all the Flora is to have a corresponding vine or bush and hence can be grown but they may also not be included in a world generator and as such not be obtainable direct yet either.
The final phase is to split up the recipes into four tiers. BasicCooking, IntermediateCooking, AdvancedCooking and ModernCooking. Each tier will depend on the one before it.
The BasicCooking only uses items from SimpleFarming and EdibleFauna. Additionally these items will only use the raw ingredients directly. The next two levels, IntermediateCooking & AdvancedCooking will depend on EdibleFlora as well. They will both improve on the level before them, adding more complex items that use the previous level's items. Notably none of these three levels will modern utensils, although they can use complex ones like juicers. ModernCooking is the only module that will use the modern utensils. These will include things like blenders and blowtorches.
At this point the dependency tree will look like the initial picture. Almost all utensils, foods and recipes added over the time and from GCI will be integrated into a more packaged structure. One thing to note is that the image doesn't include things like a world generator or integrations like InGameHelp. These will be added to the sketchboard however.
I would be interested in potentially leveraging the end of year GCI to do most of the moving around of the items and integration with SimpleFarming etc as it suits the small task style effectively. The caveat of that is the time until GCI is occurring and the potentially grunt work nature of the tasks could cause the participants to have a impression.
Follow up tasks at the end of this project:
- Have the meats existing in EdibleFauna and BasicAnimals be attached to creatures and have both them, EdibleFlora, SimpleFarming & AdvancedFauna added to a world generator in a fashion that doesn't require them to be dependencies. This will likely require some kind of core registry to allow for variations of the same items to be used in module without needing those modules to explicitly mention all possible options.
- Begin to integrate the Flora&Fauna with a Potions/Alchemy Supermodule. This is most likely a separate sequel project that would require it's own post and discussion however
- Add in an option to SimpleFarming to allow for non-harvestable plants to still take advantage of the growth system. This would be relevant for the previous point on a Potions SuperModule
- Change Thirst and Hunger to depend on a Sustenance module. This can also be done as a parallel task to the project
Last edited: