I've been interested in Langton ants for a good 8 years now, and have been playing with variants on them for a long time. Here's one of my favorites: http://pyvascript.appspot.com/Langton45
Rather than working on 90 degree turns, this does 45 degree angles, and it has a bit more complexity in the command set.
The rules are: + and - turn right and left 45 degrees, * and / turn right and left 90 degrees, ! reverses direction, . does nothing.
Edit: Huh, I guess I never released any of that. I should port it to a modern Pyvascript and throw it up somewhere, as the version this is built against is probably going on 3 years old.
Not really, although you can make stable ants. Doing anything complex and stable, though, is really difficult. After I built that, I spent a couple weeks doing little but trying to create something simple (in terms of commands) and beautiful, that would run indefinitely; I was never really very successful. That said, I may well be the only person that's ever played with 45-degree ants, so there's a good potential for someone else to succeed where I failed.
Pyvascript started because I simply didn't like Javascript at the time (and still don't, for most things). I wanted a way to write my entire app in Python and use macros to make my life easier. To that end, I wrote two libraries: Transformana, which allows arbitrary manipulation of the Python AST by macros, and Pyvascript, which utilizes Transformana to compile down to Javascript on the fly. Combining the two allowed me to get all the benefits of Python with the flexibility of Javascript, and macros to make life easy. For example, when used with Pylons you can do _uriOf(SomeController.action) to generate a URL that gets baked into the JS. It also turns Python classes into JS classes, which allowed me to make AJAX calls trivial.
I used Pyvascript heavily for one product and it's fairly battle-hardened at this point, but since I don't really do anything web-wise anymore I haven't done much with it lately.
Rather than working on 90 degree turns, this does 45 degree angles, and it has a bit more complexity in the command set.
The rules are: + and - turn right and left 45 degrees, * and / turn right and left 90 degrees, ! reverses direction, . does nothing.
You can come up with some really interesting patterns, e.g. http://pyvascript.appspot.com/Langton45?command=*.%2B
Edit: Huh, I guess I never released any of that. I should port it to a modern Pyvascript and throw it up somewhere, as the version this is built against is probably going on 3 years old.