Great article about a topic that has fascinated me for quite some time. Please excuse the wall of text.<p>Procedural generation can provide unlimited amounts of content seeded from finite effort. It's still mostly hand-crafted, just at different abstraction level. Building blocks are constructed manually and algorithm that fits them together is also carefully designed and fine tuned. It is used often in indie games because of lower effort needed to give illusion of huge amount of content. Meanwhile AAA companies can afford armies of level designers to make a detailed words. I guess everyone agrees that human design beats procedural and current AI. It is more varied, imaginative and purposeful - the 3 ingredients necessary for immersion. The crowd-sourced approach has not yet been successfully applied, to best of my knowledge.<p>The work that GM is doing can be quite valuable, and yet it only reaches few players of that campaign and is remembered vaguely. What if we could capture and store GM responses to player prompts? What if other sessions could reuse these responses and build on them to create new responses? The basic use of recorded responses is to automate mundane actions and checks (fights, lockpicking...) so that GM can focus on creative stories and arcs.<p>I've thought about this for quite some time and came up with partial solution. The automatic response system could consist of rules that are hand-crafted by GM while the session is played. Each rule is response to some action and changes the world state. So, each rule has to store the name of action, portion of world state that GM considers critical for that action, and how the world state is affected by action.<p>For example, let's attack an orc with a sword. OK, the GM decides that player's strength, sword sharpness, orc's agility and a dice role are important in this interaction, so GM marks them as such. Because D20 dice came out as 12, GM decides that attack was fairly successful, and changes orc's state to severely injured. This interaction is saved and the gaming session moves on. Later on, the same interaction 'attack with sword' is repeated by with different world state. If important parts of world state are the same/similar, then same result can be applied. If GM decides that existing rule is not applicable, then differentiating world state is marked and different results are entered and stored under a new rule. Now system is has two rules for 'attack with sword' and can automatically choose between them, based on which rule matches the world state the most. With time the system becomes rich enough to simulate this action under various conditions, while still being able to accommodate new situations with help from GM.<p>Such rule-based system can be visualized as bunch of simple state-charts that are built on the fly, and they interact together by modifying global state. I can imagine this simple mechanism would be good enough for combat mechanics, crafting system, simple NPC simulation (moods, dialogs, quests), inventory interaction, terrain manipulation... It should be enough to hand-craft a rich immersive world?<p>The hard part is coming with data structure that can capture rich world state in enough details without overwhelming the GM. The structure would have to model locations with objects, each with its attributes. All this would have to be relative to character who wants to preform the action. I'm considering graph databases, but don't have enough experience with them to move onto implementation :(