Every process must be triggered by something, whether by the \"intensity\" of another process or the investment of items/labor. Labor, by the way, would be a property (like hit points) that depended on endurance and regenerated slowly. It would make sure that players can only build a certain ammount of things in a single day - no armorsmiths flooding the markets and reaching ungodly skill levels just because they got their hands on 10,000 iron ingots.
It\'s perfectly possible for one process to inhibit another. Sometimes all it takes to trigger a process is labor, which can be invested slowly or acutely - like an item, it can be overused or underused in a process. This is one of the reasons why it\'s better to keep apprentices around: they can spend their labor on trivial tasks while the master focuses on more important processes. I suppose I could also include some sort of \"intellectual labor\" (governed by WIL) to be used up in tasks requiring a good deal of thought. STR would give a bonus to the effectiveness of manual labor, while INT would give its own bonus to intellectual labor.
Sometimes, a process both inhibits and supports another, depending on where its \"activation level\" is. For instance, if you smelt a lot of iron in a furnace, that furnace should be full. The player will have to extract that iron before continuing to smelt. Either the iron is automatically brought into the player\'s inventory, or (since liquid iron shouldn\'t be extracted manually) a \"pour iron into cast\" process should be available.
(Note that the presence of unfinished items, which can\'t be brought out of a process, causes quite a lot of problems. A simple and lazy way out is to have these items \"decay\" at the end of the process, but that\'s rather inconvenient and unrealistic - if the iron cools in the furnace, it\'s going to keep it unuseable up until someone heats it again. It might even cause damage. A better way out, I think, involves adding two processes, one for iron cooling and another for extraction. Basically, the intensity of the smelting process slowly \"pours into\" the activation level of the iron cooling one (which has a threshold of zero - more on that later), so that working on extraction, which siphons intensity (and also has an activation threshold of zero) away from the smelting process, can ensure that cooling never hapens. Note that there would also be a \"heating\" process that reduced the activation level of the cooling process, so if the furnace were kept hot, nothing serious would happen. The \"cooling\" process would cause damage to the furnace, transform its own stocks of \"hot iron\" into cold iron and move it to the smelting process.)
Sometimes (particularly in the later stages of item creation), a process needs only to be given certain materials to start working. Items move between the processes like they were on a conveyor belt, and while the speed of their flow depends only on the intensity of the processes they\'re in (each process has its own built-in speed), there\'s an easy way to create \"speed valves\": just add another process, which does nothing but regulate the flow of items, and adjust its intensity with labor. There are such things as too many materials - there\'s an ideal number of items, and balance of items, for processes that need more than one item, as well as hard limits (if you can\'t ). The extent of inefficiency that takes place by diverging from the \"balanced\" set of items needs to be set up by the creator of the process - it would probably be some sort of simple polynominal function, like X^2 + 2X or whatever. Note that, when items are used up, an imbalance is caused. This makes it almost impossible for someone to be completely efficient.
When the mouse cursor stays on the bonus/malus, intensity, activation level, consumption, or \"health\" value, the information box shows all relevant data:
-the sources of the bonus/malus (the items used, the craftsman\'s aptitude at that particular process, the bonus from other, active processes and the intrinsic difficulty level of the process).
-the maximum level of intensity, the number dropped per \"cycle\" as well as two numbers for each of the things intensity actually *does* (move items around, transform them, erode their health etc.). The first shows the unaltered effect, while the second is adjusted to take malus/bonus into account.
-the activation threshold (when the activation level falls below this, no new intensity is generated) and the conversion function (which shows how much activation is converted into intensity for every activation level).
-speed. This shows how many seconds a \"cycle\" lasts (the speed \"counter\" in the process\' slot only shows the number of seconds until the next cycle). It has nothing to do with the player\'s agility. Speed is the second most important bottleneck to production (labor being the first). Note that when intensity drops to zero, the speed \"counter\" will drop to zero and stay there. This means that the next batch of intensity will be immediately used up.
-consumption shows how many materials it holds, how many of them get converted into intensity every cycle and their individual consumption values. The consumption \"counter\" only shows the total number of materials needed to boost its activation level once. It can be dropped all the way to zero, and stays there until the current \"cycle\" ends. Filling it beyond this level is sometimes a good thing.
The items used can be both tools (which give a bonus to the labor invested) and expendable materials... Labor and materials are the two elements used to boost the activation level. The activation boost of the materials only falls as they get used up (at a rate fixed by the designer).
Processes interact by sending each other materials, providing each other a bonus/malus (relative only to their own intensity) and boosting each other\'s activation level or intensity. A process can also work internally by converting activation level into inensity (happens automatically, but keep in mind that some processes can\'t generate intensity beneath a certain activation threshold, and that the ratio of convertion between the activation level used up and the intensity gained need not be linear). Some processes can affect many others, and all are somehow linked - there is no isolated process.
Agility could affect the processes - the player could invest items and labor in a process only once every n seconds. During these n seconds, the player is considered to be handling the process (he\'s \"posted\" there), and no other player may invest anything in that process until the \"post\" becomes clear. Don\'t confuse this with the \"cyclic\" nature of the processes, which is described above. Some processes may be linked to share the same \"post\" - for instance, \"douse campfire\" and \"light campfire\" have the same object, so two people can\'t engage in it at once. Again, it\'s up to the designer to decide which posts connect with which.
Processes that share the same \"post\" may be \"obscured\" by the people working on them. Also, some processes might be outright invisble. \"Obscuring\" a post makes it difficult for other players to see what\'s happening in the processes associated with it (their slots become filled with question marks) but makes the player more efficient at his task (a small bonus is given). Other players have to make awareness rolls to see the details of a process (a roll is made at the start of every \"cycle\"), and to determine what and how much is being invested into an \"obscured\" process. This lets players get away with sabotage if they\'re clever enough, and if no observant player is around to supervise them. The downside of \"obscuring\" your post is that other players won\'t immediately know it if you need something. If Joey mans the bellows and Geoffrey \"obstructs\" the forge, Joey won\'t know how much air he needs to pump unless Geoffrey tells him.
Here\'s an example of a matrix. You want to brew a poison potion using 10 Luminous Russulas and 10 Violet Coprinus. You have a small pot and a flask of water at your disposal. The might look like this:
[pot-related matrix]
Fill pot with water: this process can hold water, but doesn\'t use it up. It has a threshold of zero, like most \"fill\" things, and doesn\'t need labor. This water automatically gets moved into the \"pot\" process.
[so why is this needed? Because the pot could be filled with other things, like alcohol and blood.]
Dice luminous russula: bonus for holding a sharp object; requires a tiny ammount of labor and holds a luminous russula (without actually using it up). The diced luminous rusulla gets sent to the \"pot\" process and stays there.
Crush violet coprinus: same thing. Suppose that if the violet coprinus were diced instead of crushed, the end result would be a \"mushroom stew\", or the potion might need two \"servings\" of violet coprinus.
Heat pot: needs flammable objects and a bit of labor. It uses up sticks fairly quickly, and converts water in the \"empty pot\" to \"boiling water\" (a small ammount of water is deducted in the process - it boils, after all).
Cool water: It slowly converts boiling water back into water. No activation necessary (or even allowed).
Empty Pot: this process can hold a certain bulk of items. It has no function whatsoever, other than to . When activated (no labor required), it dumps everything in this process as well as the \"brew poison\" process back into the player\'s hands.
Prepare poison: Passes boiling water, diced LR and crushed VC from \"empty pot\" to \"brew poison\".
Abandon brewing (or something to that effect): does the opposite, for \"prepare poison\" and any other processes. Neither prepare nor abandon are automatic, but they don\'t cost anything, either.
[are they redundant? No. They\'re like the buttons on an
ordinary brewing menu.]
Brew poison: The final touch. This uses up boiling water and the mushrooms every minute to create a single half-liter of poison. The threshold for this is relatively high, and boiling water doesn\'t add to the activation level as much as the mushrooms themselves (so a pot full of water will hardly produce any poison). The balanced ratio of materials would be four diced LR and four crushed VC for every measure of boiling water.
Fill pot with X, empty pot, prepare X, brew X and abandon brewing share the same post, not to mention the same inventory. Everything uses a linear a / transition.
The whole thing needs about seven clicks - once to fill the pot, twice to light the fire, once for every mushroom thrown in, once for the validation and once for the final touch. It\'s a very simple example, far below what this system can do, but it does show that building a simple matrix isn\'t too much work.