setsuko
Setsuko is a rock-paper-scissors tournament system. It easily simulates hundreds or thousands of games simultaneously, and pairs players in different tournament modes. Players can in theory be human, but setsuko is written for AIs.
History
I've always been a great fan of Ghibli movies. One day, when I was feeling in a particularily strange mood, I though back to Hotaru no Haka (Grave of the Fireflies) and cried a bit at the memory.
Then remembered its cover. The character on it, called Setsuko, is playing rock-paper-scissors against herself, and I though about how sad it was, and how she could never win or loose. Then I began thinking about what would be if you could play against another instance of yourself. And thats where the software setsuko was born.
Status
Setsuko itself is working, the basic "AIs" are ticking along fine, networking works, just no one has written an AI so far. ryx had other stuff coming up in the middle of it and will pick the project back up as soon as his tests are over.
Implementation details
Setsuko is written in python. It heavily abuses asyncore and a slightly modified version of the bittorrent-encoding bencode. There is a client translating from python to stdin-stdout-pipes (and a basic "AI" written in bash as proof of concept).
Implementing setsuko furthered ryx's pplib considerably. About half of the work done for setsuko so far went into pplib.
There are thoughts of reimplementing setsuko in Ruby, abusing its lightweight threads, and especially getting Robert, who can't code python (so far), to work on it. |