Generation Requirements
Comprehensive
Rules
- Generation solutions must be easily and practically comprehended by their creator
- There should be no room for surprises
- Generation solutions should not need monkey patches for fringe cases—there should be no fringe cases
Motivation
- Incomprehensible world generation solutions result in an effectively infinite amount of fringe cases, bugs, and whack-a-mole fixes
General to Specific
Rules
- Generation solutions should transition from general models to specific models
- Generation solutions should not transition from specific models to general models
- The transitions must be seamless
Motivation
- Relying on a single layer of scope results in very limited generation
- When transitioning from general to specific, the system can have tremendous control on both layers, but when transitioning from specific to general, most control of the general is lost and what little remaining control becomes a series of hacks (jiggering specific configuration details so that they indirectly cause the desired general effects)
No Backing up
Rules
- Generation solutions should never try an operation and then undo that operation
- Instead, generation solutions should rely on algorithms and preplanning so that there is never a need to back up