Provoking emergence

So how do you provoke emergence? It's a process of gardening, not architecture (see Architects vs gardeners). Collecting patterns...

Examples of emergent behavior

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:

  • Evolution
  • 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 (start with a toy).
    • 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.

Design patterns