SIRTET by Atomic

[raw]
made by Atomic for LD25 (JAM)
Long story short: please rate after watching the gameplay video!

SIRTET is a derivative of tetris where you are the villain.
Instead of trying to stack pieces neatly in order to clear lines you must try and give the AI the worst piece possible to make it fill the board and "lose the game".

The biggest twist is that SIRTET isn't played on a PC - it runs on a DIY console made of an Arduino Mega 2560, a button, a piezo speaker and a NOKIA 5110 LCD screen. Feels just like the handheld consoles of the 90's. The poor thing only has 256KB of storage, 8KB of RAM and a 16MHz processor.

One of the reasons I have submitted to the jam is that (almost)no one will be able to play this because of the hardware required. For that reason I humbly ask you to rate this game based on the gameplay video. Please forgive the shaky camera and glitchy screen. The glitches are due to a low quality rubber contact between LCD and PCB, it's not my code's fault. And yeah, I suck at this game XD

Instructions to assemble the hardware are included with the source, along with all Arduino libraries needed. If you do play it I'd love to have some feedback :)

The controls are simple: press the button to cycle through the pieces.

BTW I did finish in 48h - I even show my clock on the video for the sake of honor.

Ratings

Coolness 57% 3
Overall(Jam) 3.97 9
Audio(Jam) 2.38 211
Fun(Jam) 3.00 126
Graphics(Jam) 2.69 242
Humor(Jam) 3.05 94
Innovation(Jam) 4.69 2
Mood(Jam) 2.72 192
Theme(Jam) 3.90 43

Feedback

dek
17. Dec 2012 路 11:51 UTC
Hey, I have no idea how this is done, so the feat of doing it is impressive to me. From the video standpoint, the AI seems pretty smart as well! Nice !
CoffeeOnimal
17. Dec 2012 路 14:01 UTC
I am moved. I once did version of Space Invaders for a set-up similar to this, so I can appreciate the extra work that goes into this.
Now you've gone and tempted me into buying some arduino stuff!
Aswissrole
17. Dec 2012 路 14:02 UTC
Can't wait to get back to uni to try this out! Very cool idea.
馃帳 Atomic
17. Dec 2012 路 17:18 UTC
Thanks guys!

Aswissrole let me know if you try it, specially if you have any trouble!
bwdevel
17. Dec 2012 路 17:19 UTC
I actually was thinking a few months ago about targeting Arduino for LD25, and my logic got the best of me; I'm glad you did it! I'll wire this up and try it later.
Manest
17. Dec 2012 路 18:08 UTC
haha, nice work!
Pixelbear
17. Dec 2012 路 19:20 UTC
Dude, you rock. I saw this in the blog area, and I just thought "Damn, that's a cool idea!". So glad you managed to pull it off. Congrats! :D
strong99
18. Dec 2012 路 10:49 UTC
Impressive, AI seems up to the task to ;) Good idea on the hardware! Innovative too.
Wan & Manu
18. Dec 2012 路 10:52 UTC
Okay guys, that's what the Innovation category is made for.

The game in itself could easily require 48h to complete on a "classic" platform, but the extra challenge makes this really impressive. Not sure up to which point, but it tickles my nerd nerve for sure!
C谩ssio Eduardo
18. Dec 2012 路 11:01 UTC
Ok, this is impressive.
arch.jslin
18. Dec 2012 路 14:36 UTC
Cool idea! When considering which single player type game to "reverse", I actually have the idea of revering tetris too. But I honestly can't code the AI up to the challenge... nice you did and even on this kind of hardware. Impressive!
dansludumdare
18. Dec 2012 路 19:09 UTC
http://www.collegehumor.com/video/5767906/the-tetris-god
bms
18. Dec 2012 路 19:53 UTC
great idea it totally fits the theme and the fact that a human tries to give a computer a hard time is so cool :D really sinister
Chinchilla
18. Dec 2012 路 21:37 UTC
Incredible! Not only did you code a game, you built a console to play it own... mind: blown
Christina Antoinette Neofotistou
18. Dec 2012 路 21:37 UTC
Fantastic!!! My two design notes that might make it more fun, judging purely from the gameplay video:

1. the CPU is easily fooled; it seems that all you need to do is feed it with the S tetrimino, and it just doesn't know what to do with it, when there are obvious places to put it that could help later. Of course the AI might be thinking ahead based on some algorithm, thinking "there's a good possibility that an "I" tetrimino piece will come and fix everything in a while, so let's not bother with the S". But then, an I tetrimino came along at 2.23 and the CPU placed it horizontally!, when it could have filled a huge i-shaped vertical hole. Maybe that's just random though

2. the AI could be made to panic. Do you know the moment you're certain you've lost, when you make desperate choices? the AI could do that, place pieces a little randomly at the end, and drop them fast, in hopes of having more time to anticipate your next move.

But this is a little gem of a game, and I love all the attention went into it. Full marks for Overall, Innovation, Fun and Theme! Being the tetris level is being the ultimate bad guy
zompi
18. Dec 2012 路 22:24 UTC
Well, this is awesome. So pity no one can play it now but you've got 6/5 stars for innovation :D
jerombd
18. Dec 2012 路 22:30 UTC
You built your own console AND your own game in 48h O_o
You deserve my respect... and a special badge for the Innovation part :D
馃帳 Atomic
18. Dec 2012 路 22:49 UTC
Thanks to everyone for the kind comments, I *really* appreciate it. Didn't expect this much great feedback :)

@bwdevel: let me know if you get it running (or if you have any issues)!

@dansludumdare:
LOLing very hard at the way he says squiggly!

@Christina:
1-Very true, the S is the real villain! To be honest with you the AI isn't nearly as smart as you think it is - it just tests 40 different moves for the current piece, simulates the resulting boards and applies ranking to features such as total height, holes at the bottom and lines cleared. Indeed it misses a lot of vertical holes and I'm not sure why it does that. I tried a couple of algorithms to avoid it but in the end they all played worse than the one on the video :/

2-That'd be cool! Extending your idea might be the best way to go: programming a list of high level behaviours that simulates the way humans play.

Thanks a lot for the ratings and the feedback!
Husky
19. Dec 2012 路 00:45 UTC
Where is the I tetriminos ?!
So Evil lol
recursive frog
19. Dec 2012 路 22:59 UTC
You know, I was joking a month ago about doing this very thing (though not as a tetris game). My hat is off to you!
zenmumbler
21. Dec 2012 路 23:46 UTC
That, my dear sir, is Boss with a capital B.
Very curious about the source, wondering those Arduino's work.
karlin
22. Dec 2012 路 03:31 UTC
Fantastic idea and damn impressive getting it running on that thing too.
Faust
24. Dec 2012 路 13:20 UTC
This is incredible, are you willing to port it onto some other devices?
caasi
24. Dec 2012 路 13:47 UTC
OMG, Arduino!
I hope someday I can write games on such device.
馃帳 Atomic
26. Dec 2012 路 12:56 UTC
@Faust: Thanks! Porting to run on other Arduinos should be easy, all I have to do is get memory usage under 2KB. I'll do that if anyone wants! Can't even attempt to port to other MCU's because the only one I have is the Arduino. Porting to the PC doesn't make much sense anymore because both chas and Deltafire have made similar web versions.
wombatica
06. Jan 2013 路 12:20 UTC
very impressed :D