Cyborg Earthworm»Blog

Cyborg Earthworm

I shut down this project more than a year ago, but this idea is still bothering me. After some thought and a couple of tests I decided to use Snake instead of Tetris as the base game. It seems to work relatively well, not worse than Tetris. Here is a little demo-version:

Short story long:

The main reason I shut down the project was that I didn't have the programming skills to finish it in reasonable time. There was also a small legal risk of being ceased and desisted by The Tetris Company, which I didn't want to deal with. Besides that, I found that patterns are not the best way to describe a program that plays Tetris. If you take whatever tetromino you get and put it in the deepest cavity it can fit into, that alone goes a long way. This simple idea will give you a program that completes around 70 rows on average. A good pattern-based program can do more than that, but it will be much more complicated. In fact, getting to 70 rows with a pattern-based program is already a lot of work. This doesn't mean that there cannot be a good visual language for expressing a Tetris program, but it will probably involve more than just patterns.

I didn't want to use Snake at first, because I took the idea of using patterns from this old game:

It was made in the nineties, and it lets the player program a snake with patterns. I thought that I have to contribute something novel and use this idea with a different game. It turns out that there is enough space for innovation even if you constrain yourself to the Snake game. The patterns can be done differently, the metrics can be expanded, and the whole game can be set up as optimization instead of competition.

It's in javaScript again, because it was the easiest way to try out the idea and to show it to people. It is unclear what the best direction of development for this project is, but locally I will probably keep improving the demo-version for at least a couple of months, because there are some obvious flaws that should be fixed.

Edit (2019, May 20):
I'm evicting old screenshots from the front page, so here is how the game looked when this post was written.
Timothy Barnes,
Hi Anton,
I enjoyed playing the demo you made.

It took me a little while to figure out what the patterns mean and how they relate to each other, but it made sense after trying things out. You might want to do a playtest with some friends to see how long it takes people to catch on the game mechanic.

I encourage you to continue developing it. I think you could make a cool game with this idea.

Do you have any tips on making successful pattern sequences?
Anton Swifton,
I'm glad you liked it and thanks for the encouragement.

I have already done some playtests and found that people get confused all the time. My conveyance is not very good, admittedly. I'm planning to rewrite large parts of the game and add a better tutorial soon.

Tips for making a successful program -- I usually start with the most generic patterns, that will fit the most situations, and then inspect the bad games (ones with low worm length), which gives me the sense about the situations in which these patterns fail me. Then I either make them less generic so that they don't fit the situations they aren't supposed to fit, or add more specific patterns earlier in the program that are supposed to override them.

How many challenges have you completed?