Assignment 5: Emergence

Make a game based on a complex emergent system.

Start from a software toy or an existing computational system involving interacting entities, and create a game around it by adding goals, player agency, a theme etc.

What is emergence?

Emergence is the condition of an entity having properties its parts do not have, due to interactions among the parts.

A system is emergent when it displays consistent behaviors and patterns that are not discernible in its parts.

Emergence is related to the concepts of self-organization, chaos, and complexity.

Emergence in Games

Some examples of emergent games/gameplay?

 

Unintentional emergence glitch

minecraft blocks interaction

simple rules, local influence

emergent storytelling

Roguelikes provide endless tactical situations emerging from simple behaviors

Of course, many analog games can be seen as emergent systems

 

Cellular Automata

Game of life by John Conway (1970)

Inspired by Go, originally implemented as analog system.

Two steps (generations) of the game of life

Try it in motion online

Read a step by step explanation from the 90s

Reminds of fire burning forests, bacteria, molds, etc…

Nicky Case’s Simulating the world or Parable of the Polygons

SimCity was inspired by cellular automata as well.

Loren Schmidt uses cellular automata in for level generation, simulations, and visual themes

Pixel based simulations are similar to cellular automata, can you figure out the rules of each material in this sandbox game

The game I’m working on is based on similar local interactions

Flocks

herds, swarms, crowds, and other agent based simulations

Flock algorithm (Boids) implementation in p5

Birds, fish, bugs, buffalos…

1) Don’t get too crowded.
2) Don’t get too isolated.
3) Swim with neighbors.
(An optional 4th rule is that you should do what it takes to flee predators)

As simulations of living systems

As gameplay element

Flocks are only a type of agent based systems. Check this ant colony sim

As expressive device

Not a staightforward example of emergence but also an agent based simulation deployed into a open ended puzzle

 

Strange Attractors

Particle systems are used for a variety of effects, but things get more interesting when we give them physical properties and let them be influenced by the environment.

 

How to create a fluid simulation (and we are back to physics)

Evolutionary algorithms

Artificial life, and other generative simulations, perhaps a digression but worth touching upon.

Karl Sims – Evolved Virtual Creatures, Evolution Simulation, 1994

Process:

  • Generate the initial population of individuals randomly – first Generation
  • Evaluate the fitness of each individual in that population
  • Repeat on this generation until termination (time limit, sufficient fitness achieved, etc.):
  • Select the best-fit individuals for reproduction – parents
  • Breed new individuals through crossover and mutation operations to give birth to offspring
  • Evaluate the individual fitness of new individuals
  • Replace least-fit population with new individuals

Levitated – Legged Creatures

Don’t search spore porn on youtube!

Or you can check my terrible game dogness

Evolutionary systems for artificial intelligence

Resources

This theme is apparently more technical but the good news is that it’s also adjacent to creative coding, generative design, and other fields providing a wealth of easily googlable educational resources.

I’d consider more lightweight environments for this prototype like processing/p5 rather than Unity, but it’s up to you.

Nature of Code – Shiffman’s textbook with tons of examples and related video tutorial

Open Processing – repository of projects made in processing and p5 with code

Nature in code – other less visual examples with source code

Emergent mind – more examples

Explorable explanations – not all dealing with complexity – it’s curated by Nicky Case website – github

Complexity explorables – good starting points

Exercise
Pick one of the complexity explorables above and design (in your head) a game around that system.