The goal for this thread is to create a unified place for discussion on plants and fungi apart from their agricultural use. So, I'm going to try to minimize overlap between the two discussions and hope any further posts will try to do the same, Armok knows there's already enough overlap in this forum. Some of these ideas have been presented before but I've been unable to find any kind of unified, ongoing discussion on plants and fungi.
Plants With Parts
In their current implementation, plants and fungi exist as singular one-part objects that can either be used entirely or not used at all. It's essential to break plants up into functional parts which will allow a multitude of new ways to interact with plants.
For example, an apple tree. An apple tree has roots, a trunk, branches, leaves, flowers, and fruit (from the flowers). It should be possible to harvest a child without harvesting the parent, and, in most cases, the children be able to regrow. So, for instance, one could harvest the branches which could be used to make wood crafts, bolts, bows, and weapons; however, doing so would destroy (or knock to the ground) the leaves, flowers, and fruits while the trunk and roots survive and can typically grow new branches over time, which then grow new leaves, flowers, and fruit. To extend the system to be able to encompass all types of plant life one would find on earth and in a fantasy setting one can create parts like vines, pods, thorns, stems, needles, blades, etc.
This also applies to fungi, more specifically mushrooms. The first important thing to realize is that mushrooms are merely the “fruiting body” (reproductory organ) of certain fungus. The actual functioning, living organism is the massive network of rootlike mycelium that tunnel through soil, plant, and animal dead or alive and extracting nutrients. These mycelia then produce their mushrooms, either the stalk and cap or the shelf-like polypore, on the surface to spread their spores. What should be taken from this then is that harvesting mushrooms should not destroy the fungus, in fact it will allow it to grow new ones more quickly because the mycelia don't have to support the non-contributing and resource expensive mushrooms.
Specific ideas expanded at end of post.
Gardening and Other Dangerously Elf-like Activities
With the system as it exists now there are two groups of plants/fungi. Those magical ones which can be grown in obscene abundance with only the presence of some soil, and those which dwarves can only affect based on whether or not they choose to clear cut forests. Such black and white system are never as fun to play around with as their gray counterparts. While there should still be a distinct difference between the domesticated species and those of the wild, a skilled dwarf should be able to cultivate just about anything with enough patience.
There are a number of factors that influence the viability of cultivating a species of plant or fungi: seeding/sporing, food, water, temperature, competition, and sunlight. The first dictates how it is a dwarf might be able to create new plants where he wants them. The easiest case is plants which produce obvious fruit and fertilized seeds; just a matter of collecting, planting, and watering/feeding. Less obvious are sporing plants (ferns and the like) and fungi; perhaps the dwarf will cut off a branch or a mushroom and shake it over the desired location to spread spores (which would inevitably also spread over the vicinity as well). Most difficult of all are seeds which require activation, typically through digestion. As dwarves, with the limitations being placed on their science, are unlikely to discern how to plant these themselves the only option is transplantation with some sort of shovel tool.
Treetops and Forest Floor
This next section is concerned primarily with the idea of having multiple plants in a tile. When is the last time you saw plants grow in a neat grid, each never encroaching on the others, or even benefiting from the presence of the shade provided? The idea here is to separate plants into different habital zones/plant types. For the sake of simplicity a tile could then be limited to one plant in each zone.
[GRASS] Grows pretty much anywhere with soil except heavy forests
[trEE] Grow pretty much anywhere, even cracks in rocks. Perhaps altitude could be a factor.
[VINE] Requires a tree or shrub to grow on
[FOREST_FLOOR] Needs multiple nearby trees?
[CANOPY] Grows in the upper branches of a tree, perhaps the higher z-levels when toady implements multi-tile trees
[FUNGUS] Requires either soil and a plant with roots or some dead plant/animal matter to grow on
[AQUATIC] See section below
Related tags, not zones themselves
[FULL_SUN] Can't grow near trees
[SHADE] Must grow near a tree or shrub (1 tile vicinity?)
[SHRUB] Can support a vine
Aquatic Plants and Algae
Plants don't grow only on terra firma, many like to grow in shallow water, deep water, freshwater, saltwater, still water, flowing water, etc. This should be fairly simple to conceptualize as another series of tags:
[AQUATIC] ([MAGMA]?) master tag, plant won't grow on dry land
[FRESH] or [SALT] ([MURKY]? [BLOODY]?) the type of water the plant needs
[SHALLOW] grows in 2-7 single-z-level
[SHALLOW_SURFACE] grows above 2-7 single-z-level water, perhaps in the same tile for 2-6 and the one above for 7
[DEEP: #-#] Grows in multi-z-level water, where #-# is acceptable range of depths. 0 would be the surface (the tile immediately above the water), 1 would be the first z-level of water, and so on. #-#F could be used to signify a plant must grow on the floor with #-# depth.
[CALM] or [FLOWING] plant prefers calm or stagnant water
The Birds and the Bees (and the Bears and the Beavers)
Eventually, probably, animals are going to eat plants (and some plants will eat animals: below). Of course, animals can't just eat a tree trunk, most animals can't eat grasses, some animals drink nectar, some at seeds, some eat fruits. So, more tags (herb/omniverous animals will need corresponding dietary tags):
These would be added to plant parts, rather than the plants themselves
[SEED] seeds large enough to be eaten by seed eating things
[FRUIT] edible fruit
[NECTAR] nectar that can be consumed without destroying the flower
[FLOWER] edible flower
[WOODY] must be able to consume woody stuff
[GRASSY] must be able to consume raw grass
[NUT] nut
[ROOT] edible roots
[POISONOUS:poison type?] must be able to digest whatever poison it is
[THORNY] difficult to eat, usually end up poking yourself
The Little Shop of Horrors
No fantasy world is complete without plants that will eat you. Our own world even has plants that can catch and consume vermin. There are two significant divisions of carniverous plants to consider here: “realistic” plants that catch and consume vermin and “fantasy” plants that do the same for things of greater size.
The former case should be relatively simple: a vermin wanders into a tile with one of these plants, the plant has some catch/attract abstracted number that represents how likely this plant is to have a snack.
The latter is a little more complicated. Creatures of sufficient size should be able to “easily” resist a plant's attempts to consume it. That is if the plant isn't employing toxins and a tangled network of thorny, clinging vines. Here's a scenario to envision: creature enteres tile with plant; plant has large attractive fruits; plants also has delicate, sensitive pods; creature approaches fruit, touches pod; pod explodes into cloud of toxin; creature becomes confused and frightened; creature runs, but equally likely to run further into the tangled mess of the plant than it is to struggle outward; toxin's effect grows: creatures collapses in exhaustion; toxin's effect grows: creatures stops breathing; nomnomnom.
Some ideas on the mechanics of this:
[PLANT_VERMINEROUS:##] Signifies the plant eats vermin, and how likely it is to succeed
[PLANT_CARNIVEROUS:##] Signifies the plant eats larger creatures, and the maximum size of creature.
[PLANT_APPETITE:##] Signifies either the number of vermin a plant can be consuming at once or the aggregate size of creatures the plant can be consuming at once.
Possible to do the same thing with more actively heterotrophic fungi.
Poisonous Plants
Concerning the delivery systems of poisons from plants to creatures. There are 3-4 delivery systems. Ingestion, contact/piercing, and airborn.
Ingestion implies the poison lies within the plant and eating it will release the poison into a creature's organs, it also implies that harvesting this poison would require processing the plant somehow.
Contact means the poison is secreted onto the surface of the plant and there is a chance any creature passing by will have this poison rubbed onto itself, resulting in whatever that poison does: itchiness, bed confining rash, flesh falling off, fits of hysteria... Harvesting can be done by a careful herbalists without destroying the plant.
Piercing is basically the same as contact but requires that the plant uses thorns to penetrate fur, clothing, and skin.
Airborn could either be passive or triggered. There is either an ever present cloud of of this stuff, or something causes the plant to release a concentrated burst into the air. Poison is then either dangerous if inhaled or maybe just if it reaches the skin. Very difficult to harvest.
Plants/Fungi as Semi-Permeable Obstacles
Presently plants are either completely immaterial (plants, seedlings) or as immovable as a granite wall (grown trees). First off, trees that completely occupy a tile (or multiple tiles) should be exceptionaly rare, ancient, and impressive things. Creatures should be able to enter a tree tile (walking under the branches, next to the trunk). Secondly, some plants should hinder movement, whether it be through thick, tangled growth or nasty thorns. Conceptually add a [THORNY] and a [TANGLED] tag that will impart a (cumulative) movement penalty on anything in the tile over size 3.
I can already see a might dwarven fortress, with tall walls, a deep moat, and a line of poisonous, carniverous, thorny hedges.
Growth and Metamorphoses
Plants are not immutable and immutable things are boring, therefore DF plants should not be immutable. Already partially implemented by Toady, plants need to grow and change with various factors.
These would probably be represented by simple binary switches or integers.
AGE: the most obvious factor, plants grow over time, also die.
GROWTH: also rather obvious, plants do certain things only when a certain amount of growth has already occurred (probably need a GROWTH_RATE as well). i.e. fruit trees don't bear fruit until they have reached a stable size.
WEATHER: could probably be implemented as something tracking the time since the last rain, allowing things to happen based on recent or current rain, or long periods of drought
SEASON: obvious in deciduous trees, annual, and herbiverous plants. New leaves and flowers in spring, fruit in summer, lose fruit in fall, lose leaves in winter.
CONSUMED: to go along with carniverous plants, a simple counter of how much it's eaten. Maybe the plant sprouts a huge adamantine-in-value flower after it's consumed 30 dwarves, then dies.
BLOODED: may be more trouble than it's worth, but could create some interesting fantasy possibilities. Tracks whether the plant has caused a death.
Boring Bookwork
Plants should have spheres and climate tags. Already partially implemented.
Best way would seem to be a numerical range corresponding to the world gen climate values, as well as savagery and evilness.
Plant Parts cont.
Miscellany thoughts on specific plant parts.
[ROOTS] Part of most plants. Essential to survival. Might be edible. Prevents erosion?
[trUNK] Part of a tree. Get wood logs from it. Can get sap from here. May have holes that squirrels and things live in.
[BRANCHES] Part of a tree. Get wood branches from it, useful for wood crafting. Crude weapon.
[LEAVES] Part of most plants. Animals and maybe sentients eat them. Maybe make mulch, etc.
[FLOWERS] Part of angiosperms. Decorative. Smell nice/foul. Produce nectar.
[SEEDS] Harvest for consumption or planting.
[CONE] Conifer seed/fruit. Good for throwing.
[FRUIT] Edible. Can be planted directly. Can fall and rot.
[STEM] For smaller plants, edible.
[BLADE] A grass leaf. Silica makes it impossible to eat by most creatures.
[NEEDLE] A conifer leaf, don't drop seasonally.
[STALK] Support structure of a mushroom.
[CAP] Sporing portion of a mushroom.
[MYCELLIUM] Nutrient extracting, life supporting portion of fungus.
[THORN] Pokey.
[PITCHER] Goopey thing for catching vermin.
[trAP] When triggered close quickly around prey.