Categories

My first electronic game project – Simple Simon

I got this thing to work, and am very pleased!

It’s basically a Simple Simon game. The LEDs blink in random order, then the player has to press the buttons in the same order. If you get it right, the green light blinks (and in future, the game gets harder). If wrong, the red light blinks (and game gets easier). This is my first-ever electronics project, so I learned a lot, and not just about electronics. I’ve learned something about how errors and malfunctions can encourage much deeper engagement…

The game hardware was straightforward – just a bunch of LEDs and a row of switches salvaged from a busted answering machine in the junk pile. (Potential pitfall of stuff from the junk pile – it was thrown away for a reason, maybe stuff won’t work.) I wrote a simple program to test the switches by lighting the corresponding LED.

Control is via the Aduino microcontroller, visible as the small blue board between the game circuit and the computer. All the code is running on the Arduino – it could be unplugged from the laptop, and the game would still function. Arduino is a nice hardware/software combo – the development environment is very easy to use, almost identical to Processing and closely based on Java and C.

Hardest part was getting to grips with C syntax, which is new to me. My structured programming techniques from 20 years ago worked well. In fact, I think structured programming techniques apply to hardware design as well. I tried to be tidy in order to keep things organized and easy to manage.

It still has a couple of bugs to be worked out – however, I am thinking of leaving it as-is. Why? Because the stories people create to account for the game’s malfunction are far more interesting than the reactions when it works correctly. When it works fine, people can play for a bit, see how it works, and then get tired and walk away. They don’t need to really engage. Howerver, a sporadic malfunction is a puzzle: the players have to think hard about what might account for a strange behavior, and this is a much richer interaction than simply playing the game.

Feel free to look on my NYU blog if you want to see the source code.

1 comment to My first electronic game project – Simple Simon

  • andrew

    >Howerver, a sporadic malfunction is a puzzle: the players have to think hard about what might account for a strange behavior, and this is a much richer interaction than simply playing the game.

    sounds like the classic: “It’s a feature! not a bug!!”

    it’s only cute the first few times, use in “emergencies” only. 🙂