So how do you provoke emergence? It's a process of gardening, not architecture. Collecting patterns...
Examples of emergent behavior
- Biological evolution
- Conway's Game of Life
- Etherpad + pirate party
- urls and linking
Markets are an emergent behavior, so designing for emergence is how you create new markets.
Emergence design patterns
You can't top-down plan emergent systems, but you can provoke them into being. Here are some attributes that emergent systems often have:
- More than one goal, or constraints with no goal
- Goals that can be achieved in more than one way
- Simple alphabets, expressive prose
- For emergence to happen, you need an alphabet. An alphabet means when you combine atomic units, you create new meanings.
- Constrain the alphabet, but don't constrain what may be written with it.
- Example: Minecraft. Crafting items creates new items with different properties.
- Example: chemistry. Combining molecules results in new materials with properties different from the sum of the parts.
- Example: DNA has a tiny alphabet ATCG, but the meanings this alphabet can produce have not yet been exhausted.
- Universal APIs
- Example: Lego dots.
- Universal APIs allow anything to be combined with anything.
- Verbs that can act on many objects.
- Side effects that change constraints.
- Fun to play with.
- This gets you past the steep part of the learning curve and into creating.
- Low floor, wide walls, high ceiling — an easy initial learning curve.
- What can I do immediately? In Minecraft I can dig.
- Infinite spaces (or simulated by generative algorithms)
- Involves more than one person
- See games with more than one player.
- Often has some network effect
- Multipolar arenas (2 or more actors) produce complex outcomes that are difficult to anticipate.
- Create campfires: make opportunities for subcultures to emerge.