31
Modding / Improving Fennec's random plant generator
« on: January 22, 2019, 04:15:39 PM »
I was thinking about this and I think that Fennec's plant generator has a lot of extra potential in it. I'd like to share with you all my ideas pn how to improve it.
I don't really know how they did it do, since there's no source. @fennecfoxx , would you mind sharing it? I can program in java so surely something I'd be able to use.
As far as I see it, it's just creating a certain number of plants with the herbs getting special traits. Berries and crops get none. They do have random names and get semi-random values for nutrition and whatnot.
However, this can be a bit chaotic and create combinations of plants that make no sense or don't cover the range of possibilities so well. So a good idea might be creating some procedural or hardcoded "plant types". These could be things like medicinal, threadable, grindable, shamanic, poisonous, etc. A certain minimum number of plants with these traits must be available. So you'll always get at least one edible plant to make flour wit or to get high, to make threads (even if inedible), etc.
It should also balance the occurrence of plants such that north/south/east/west has a certain minimum of herbs/berries/shrooms/crops while still leaving some space for randomness.
These settings should be editable, to be able to fine tune the results to what you want (almost all berries are poisonous? Go for it!)
There should probably be some berries or mushrooms available throughout winter, even if only in certain areas. At least 2 types seems appropriate but could be slightly randomized.
As for crops, one of the problems is the already usable plants not being included or available. I see a way around this along with the plant types mentioned above. We could have similarly named plants (black-nettle, marsh-flax, etc) which could then be equally soaked or processed by changing the recipe to {*nettle} or even stuff like {Retted *nettle}, which along with names like "Fibre from X" and "Linen from X" could make the material persist through to the clothing name.
Crops could alsk be created along a template (random or not, with random deviations, so that all e.g. "foobars" would have roughly the same properties, with the chance of random changes. Maybe if the base template is edible each new one of that type can have a 5% of being poisonous, 1% deadly. So if you know the plant's base name/type but don't have full knowledge of, say, "spiny foobar", you might be taking a risk by consuming it even if all the other foobars are okay.
Along with this is the possibility of making some dye, which does seem to have existed in iron age finland. One approach is to use a fixed name plant, "dyeplant - red", and create some cooking recipes (plenty of space there) for make dye out of it. This would take one recipe using {Dyeplant - *} input. The other approach involves randomly named plants from which you can extract colored dyes. This would have to procedurally make recipes for each.
Dyes could be called via {Dye - *} and use the last word. Items should probably be dyed at the source recipe to save space though, but I guess the cooking menu could be used for all the clothing dying if necessary. It doesn't require fire nor a pot if you don't boil anything. Kludgy, though.
Some special and rare medicinal/stimulant plants could be sprinkled in to make things more interesting.
Lastly, and with the empty cooking space in mind, perhaps procedurally create recipes that call for specific plants/ingredients but which will have a higher value of nutrition than the sum of its components. This represents the cooking releasing ingredients, and perhaps specific herbs and ingredients complementing each other.
This would make you have to use the specific ingredients in order to benefit, which might not be easy. I guess the recipes could have "regional" dishes with herbs from the area (maybe some archetypes can be used, like "Northern porridge/soup") but also some "global" combinations to spice it up. Perhaps the global ones, being harder to gather, would have an even higher nutrition.
What do you think about these ideas?
I don't really know how they did it do, since there's no source. @fennecfoxx , would you mind sharing it? I can program in java so surely something I'd be able to use.
As far as I see it, it's just creating a certain number of plants with the herbs getting special traits. Berries and crops get none. They do have random names and get semi-random values for nutrition and whatnot.
However, this can be a bit chaotic and create combinations of plants that make no sense or don't cover the range of possibilities so well. So a good idea might be creating some procedural or hardcoded "plant types". These could be things like medicinal, threadable, grindable, shamanic, poisonous, etc. A certain minimum number of plants with these traits must be available. So you'll always get at least one edible plant to make flour wit or to get high, to make threads (even if inedible), etc.
It should also balance the occurrence of plants such that north/south/east/west has a certain minimum of herbs/berries/shrooms/crops while still leaving some space for randomness.
These settings should be editable, to be able to fine tune the results to what you want (almost all berries are poisonous? Go for it!)
There should probably be some berries or mushrooms available throughout winter, even if only in certain areas. At least 2 types seems appropriate but could be slightly randomized.
As for crops, one of the problems is the already usable plants not being included or available. I see a way around this along with the plant types mentioned above. We could have similarly named plants (black-nettle, marsh-flax, etc) which could then be equally soaked or processed by changing the recipe to {*nettle} or even stuff like {Retted *nettle}, which along with names like "Fibre from X" and "Linen from X" could make the material persist through to the clothing name.
Crops could alsk be created along a template (random or not, with random deviations, so that all e.g. "foobars" would have roughly the same properties, with the chance of random changes. Maybe if the base template is edible each new one of that type can have a 5% of being poisonous, 1% deadly. So if you know the plant's base name/type but don't have full knowledge of, say, "spiny foobar", you might be taking a risk by consuming it even if all the other foobars are okay.
Along with this is the possibility of making some dye, which does seem to have existed in iron age finland. One approach is to use a fixed name plant, "dyeplant - red", and create some cooking recipes (plenty of space there) for make dye out of it. This would take one recipe using {Dyeplant - *} input. The other approach involves randomly named plants from which you can extract colored dyes. This would have to procedurally make recipes for each.
Dyes could be called via {Dye - *} and use the last word. Items should probably be dyed at the source recipe to save space though, but I guess the cooking menu could be used for all the clothing dying if necessary. It doesn't require fire nor a pot if you don't boil anything. Kludgy, though.
Some special and rare medicinal/stimulant plants could be sprinkled in to make things more interesting.
Lastly, and with the empty cooking space in mind, perhaps procedurally create recipes that call for specific plants/ingredients but which will have a higher value of nutrition than the sum of its components. This represents the cooking releasing ingredients, and perhaps specific herbs and ingredients complementing each other.
This would make you have to use the specific ingredients in order to benefit, which might not be easy. I guess the recipes could have "regional" dishes with herbs from the area (maybe some archetypes can be used, like "Northern porridge/soup") but also some "global" combinations to spice it up. Perhaps the global ones, being harder to gather, would have an even higher nutrition.
What do you think about these ideas?