Zoo Gas

From Biowiki
Jump to: navigation, search

Z00 Gas

Zoo Gas is a game that attempts to pose a familiar question in computational ecology -- how are complex food webs stabilized? -- as a real-time Wikipedia:game_mechanic.

Formally, Zoo Gas is an entropy-maximizing game of population-balancing and (highly simplified) natural selection, set on a cellular automaton model of the Wikipedia:Lotka-Volterra_equation.

The underlying engine is a general-purpose, peer-to-peer reaction-diffusion simulator with a string-rewriting language based on Wikipedia:regular_expressions, and inspired by Wikipedia:Core_Wars.

Availability

Zoo Gas is open source: all code is available, including code of past prototypes, in the git repository:

Browse the current rule file here: ECOLOGY.txt

Current version

The latest prototype can be found in the following directory:

Prototypes

Past prototypes, starting with the original one-day jam:

  • The Chaos Zoo : fast, frantic, cyclic ecology with no level structure
  • Inner Sanctums : a slower pace, a simple level: animals in cages, guests at the perimeter. also basic peer-to-peer networking over UDP/TCP. At the code level, major refactoring toward file-based configurability including a regex-based minilanguage, a tool file, and the level design
  • Topologies : Here's where I experiment with the three simple 2D topologies (4-neighbor von Neumann, 6-neighbor hexagonal & 8-neighbor Moore). I'm sticking with Moore for now because it's the most expressive, and as an added bonus/hack, can be indirectly constrained to von Neumann using the regex rule syntax ('nw','se' etc are 2-character dirStrings, but 'n','s' etc are 1-character)

Future plans:

  • Tool/game config file (separate logic & design)
  • Level-building miniprograms
  • Peer-to-peer exchange of miniprograms

Copyright and licensing

Zoo gas is a free product of the Evolutionary Software Foundation. It is released under the GNU Public License. version 3.

Disclaimers

Nothing is guaranteed to work on your machine, etc. Sorry. Seriously.