The world of City In A Bottle is based on the principle of emergence. This means that there is no predefined storyline or environment. The gaming world evolves autonomously, it's doing its own thing.

A game is then played once you (the player) design your own creatures and plants and inject them into the world to see what happens. In some games you may simply want to design the most powerful creature that eats all the rest and ensure that they win. In other games you may want to keep everything in balance because the evolutionary system (as it is now) is producing some rare and beautiful type of flower you haven't seen before and you want to study it. Other games may be chaotic and you will constantly have to struggle against more ruthless opponents.



Here is a simple prototype with a competitive, self-organising environment. Three ant colonies (and some annoying birds) compete for living space and the available food.


There are only five predefined behavioristic rules:

Foraging | ants wander around randomly looking for food.

Harvesting | when an ant encounters a source of food, it will grab a morsel and bring it straight home to its colony, leaving a trail of scent.

Trailing | when an ant is not carrying food and it encounters a trail, it will follow the trail to the food source.

Scarcity | foraging is hard work: ants that have been out a long time will move slower and will eventually return home to feed and replenish their strength. So the harvested food in the colony will constantly need to be replenished as well.

Competition | colonies are food sources for ants of another colony. Competing ants that cross paths will fight each other and loose strength. 


Sample scenarios

In the movies below you can view some of the possible (self-organising) outcomes.
Ants carrying food change color to green, fighting ants change color to pink.

Movie 1 (2.5MB) | nothing much happens. Each of the three colonies has enough living space and food sources in its vicinity.

Movie 2 (2.5MB) | things get more interesting. Two colonies are located close to each other. When food runs out, one colony starts stealing food from the other colony. This colony then retaliates by stealing the food back, leading to some confusion among the initial thieves.

Movie 3 (2.1MB) | one colony is tucked away  in a fertile landscape, while the other two have chosen the exact same spot to start their civilisation. All of the food they harvest is constantly depleted by ants that are harmed in battle. Not too far away the other colony thrives in peace and happiness...


Source code

For those of you wanting to dive into the code, there's the Ants library for NodeBox we used to create this test environment. 


blog comments powered by Disqus