Total Recall- Arduino Simon Says on steroids!

 by mpilchfamily
Total Recall is a Simon based game for the Arduino. Your basic Arduino Simon Game consists of 4 buttons, 4 LEDs, an Arduino, some code and maybe a speaker and sound effects. Total Recall takes things a step further by adding an LCD display and offering  1 and 2 player game modes. 

The 1 Player game is your basic Simon Game. I added 4 levels of difficulty to it by giving you options for how many rounds you want to play. Your then given a sequence of flashing lights to mimic. Each round adding an extra flash to the sequence. If you can complete the number of turns you win. 

The 2 Player game puts you head to head against a friend. The game starts with player one entering the first button into the sequence. The Sequence is then played back for player 2 to see. Then player 2 gets to mimic the sequence. If he gets it correct he gets the opportunity to add a button to the sequence. Then Player 1 gets the play back and tries to mimic the sequence. The game goes back and forth like this with the sequence getting increasingly longer till one player gets it wrong or you reach 99 turns in which case you've hit the max length of the sequence and the game is a draw. 

Materials Needed:
  • Arduino (I used a Nove)
  • Bread Board
  • Jumper Wires/Ribbon cables
  • Red, Yellow, Green and Blue LEDs
  • 4x 100 Ohm Resistors
  • 4x Push Buttons
  • Small Speaker
  • Hitachi HD44780 based 16x2 LCD
  • 5K Potentiometer
 
Remove these adsRemove these ads by Signing Up

Step 1: Background

head_question_mark.jpg
After posting Arduino Simon Says i started getting ideas for ways to improve the game. Whenever possible i like to simplify my code to reduce the amount of memory it uses. One of the things that really eats up memory in an Arduino sketch is using the Serial interface. Since the eventual goal is to get this game onto its own PCB and make it an actual portable game linking it to a computer to track your progress wasn't going to be an option. Removing the Serial commands from the game dropped 2004 bytes from the compiled code. So to help me towards my goal of portability i decided to add an LCD display to the game. 

Then i started thinking how i could make the game play even better. And what better way to make a game more fun then to play it with a friend. So i would need to come up with a menu system allowing you to choose between the 2 game types. I also wanted to make the original Simon game more interesting as well. So i decided it would be good to give people the option of how many turns they could shoot for. Nothing like giving people a goal to shoot for to make things more interesting. 

Now a checklist of ideas was starting to come together.
  1. Add LCD display
  2. Create difficulty options for single player game
  3. create 2 player game
All these ideas raised many questions. 
ravenbrother says: Dec 10, 2012. 3:20 PM
Great Work. I just finished building your final design in a wooden enclosure I made. Really fun will be an xmas gift. PS.. I figured that was a 16 mhz crystal in your final pic as I don't see it mentioned but saw it on the clock pins.
hertzgamma says: Feb 24, 2012. 8:20 AM
You have done great job with this game. It seems quite involving to play with two players and choose own steps! How much time did it took you to figure out the coding?
mpilchfamily (author) in reply to hertzgammaFeb 24, 2012. 8:28 AM
Thanks!

Spent about 4 hours straight playing with the code for the 2 player version. Like i said i started with the original Simon code from my other Instructable and adapted it from there. Had i started from scratch it would have taken much longer.
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!