Hacker News new | past | comments | ask | show | jobs | submit login
Tetris Code Challenge (tetrisapp.appspot.com)
44 points by paulbaumgart on Aug 26, 2009 | hide | past | favorite | 6 comments



If you want to be super accurate, real tetris lets you move the piece as it's falling, even for a short time while it's touching the ground. But whatever.

This is an awesome idea, though Tetris may not be the greatest choice for AI, since it's really a twitch game. I suspect Hickson's score is already close to the upper limit.

This is my favorite programming competition: http://www.cs.ualberta.ca/~darse/rsbpc.html


I don't think the scoring system is good. According to it the best behaviour would be to build all tetraminos on one side and wait for "I" tetramino to arrive and score 4.

Maybe instead of that people should try to maintain lowest possible average height of the tetris.

Also, people should be given same sets of inputs. Giving higher percentage of "I" tetraminos to some players (even if this happens by pure luck- randomly) would be unfair advantage.

Also, great idea to post some sample applications in Python and C# (thumbs up!)


Keeping the stack low is the easiest task in the game. Tetris scoring is designed to reward the risks involved in building a high stack.

You can't give 100% repeatable inputs as that opens the door to a fixed, hand-optimized placement pattern. If this is an issue, sample 100 runs and take one from the best, worst, and median cases.

What could be improved is to add some amount of "next piece" data. More data = more ability to use planning instead of probabalistic AI.

Initial configurations with garbage filling the bottom are a good way to test AI robustness, so I would recommend adding a mode for that.

Last, the most prestigious test would be to include the two-player modes. Like C-Robots or Corewars, but with Tetris :)


hi mitko, I'm the person behind the tetris challenge. I've thought of doing a challenge that sends every client the same 1000 or so pieces. This is why the API has been designed to be 'stateless'. You are right, right now the same client's score can vary by a huge amount just by the luck of the pieces. I've sat down to draw some round robin challenge that matches up pairs of clients to challenge them with the same pieces - but unfortunately I haven't had any time to code it! :)


> I don't think the scoring system is good. According to it the best behaviour would be to build all tetraminos on one side and wait for "I" tetramino to arrive and score 4.

Except, of course, that's exactly the way every single real game of tetris works.


Points for clever usage of HTTP for testing clients.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: