November 1st, 2005

stop! hammertime

Wireworld (no, it doesn't star Kevin Costner)

Wireworld is a game I've stumbled upon recently. Well, "game" in quotes, since there are no players. I'll explain.

It's a type of game called a "cellular automaton", which is a sort of system "played" on a grid: you start with an arrangement of cells in certain states, and repeatedly apply rules that change the states of cells based on the states of their neighboring cells. Conway's Game of Life (not to be confused with Milton Bradley's Game of Life) is probably the best known, and definitely one of the simplest: there are two possible states (all cells are either "live" or "dead"), and live cells may die from having too few live neighbors ("loneliness") or too many ("overcrowding"), while dead cells may come to life if they have enough live neighbors ("reproduction"). It was a popular way of wasting cycles on idle computers in the early days of microcomputers, and it's possible to make all sorts of nifty mutating, repeating, or infinitely growing(!) patterns on it.

Wireworld is slightly more complicated than the Game of Life. There are four states: insulator (the default state), conductor (also called "copper"), electron head, and electron tail. The rules are: a wire becomes an electron head if it is adjacent (orthogonally or diagonally) to one or two electron heads, an electron head becomes an electron tail, and an electron tail becomes a conductor. It gets its name from the fact that you can create a line of conductor cells (a "wire") and set an "electron" (an electron head cell and electron tail cell adjacent to each other) on it, and the electron will travel along the wire in the direction of the head (the next conductor cell becomes the electron head, the old head becomes the tail, and the old tail turns back into a conductor). This in itself isn't that interesting. What is interesting is that it's actually possible to build more complicated "circuits" such as virtual "logic gates" (the technological basis of binary computing) within this simple framework. In fact, it's theoretically possible to build an entire computer within Wireworld.

Most explorations of Wireworld have used a simple square grid. I wonder whether a hex grid with the same rules would be as flexible? It seems like it'd be more difficult, since while a square cell has 8 neighbors, a hex cell only has 6. Other avenues for exploration include 3D versions: cubic (either 26 neighbors or, if triagonals aren't considered adjacent, 20) or based on a close-packing of spheres (12 neighbors).

Time to flex my geekmuscles.
  • Current Music
    Soul Flower Union - Eejanaika Takkyu No
  • Tags