Clunk

Clunk was an entry for the 2002 Essies. Clunk programs are created by defining various shapes out of ASCII characters. When running the program the shapes get placed on an infinite grid (which is initially all spaces (blank)) according to certain rules:
 * The shapes must match the other shapes at the edges where they touch.
 * Some shapes can't be placed unless they can touch other shapes in enough places.

Shapes can appear anywhere in the source file, which may only have characters 32-126 (and line endings, but they aren't count as part of the source). The shapes can consist only of characters 33-126, thus they mustn't feature any space characters (32) in them.

The language has no I/O; its execution is meant to be viewed in a visual interpreter. There may different kinds of interpreters:
 * A "Boring Clunk Implementation" is one satisfying the language rules but not displaying anything.
 * A "Visual Clunk Implementation" is one that displays the field during execution.
 * A "Multimedium Clunk Implementation" is a Visual Clunk Implementation which also makes a "clunk" sound whenever a shape is placed on the field. (The "clunk" sound must be approved by the appropriate standards body.)

For detailed descriptions how the language works, see the official specification: http://esoteric.sange.fi/essie2/download/clunk/README.txt

External resources

 * http://esoteric.sange.fi/essie2/download/clunk/