Skip to content

abramhindle/automata-dsl

Repository files navigation

Automata DSL

Define a random cellular automata game that will be compiled down to something
managable that will actually run on a large world (640x480) on a reasonable
machine (1.7ghz works).

You define an input automata file with patterns and replacement patterns then
the common lisp automata generator (see from-file in Makefile) rotates and
reflects said patterns and produces a C program (a .h file to be included in
auto-test.c) written in SDL that lets you play with your automata.

The concepts are entities, patterns and matches and replacements.

The number keys change the current entity of your mouse cursor.
'x' exits
'c' resets the world
'b' blanks the world
'+' increases cursor size
'-' decreases cursor size

You'll need the SDL devel packages installed to make the software.

To build your automata use one of the sample files (*.automata) and then type:

make Automataname given a file: Automataname.automata

For a demo of the automata running check out this playlist: http://bit.ly/bU952C
Alternatively check out these videos:
http://churchturing.org/y/automata-out-23.ogv
http://churchturing.org/y/automata-out-24.ogv
http://churchturing.org/y/automata-out-25.ogv
http://churchturing.org/y/automata-out-26.ogv
http://churchturing.org/y/automata-out-27.ogv
http://churchturing.org/y/automata-out-28.ogv
http://churchturing.org/y/automata-out-29.ogv
http://churchturing.org/y/automata-out-30.ogv


License info: GNU Public License version 3 (c) 2010 Abram Hindle

About

A common lisp based DSL to produce random automata games that you can diddle at to your hearts content.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published