Hurricane is an exciting remake of the classic arcade game Cyclone. In this game we have placed 16 LEDs around a circle with the LED closest to you being a different color than all the rest. The main purpose of this game is to accumulate as many tickets as possible during each round that you play. A round begins by pressing the "coin" button and ends when you press the "stop" button.
When you are actually in the round you must try to stop the light as close to the clear LED as possible. The closer you get to the clear LED the more tickets you get! And actually stopping the light on the clear LED results in huge 8 ticket bonus!
Now at about this time you might be wondering how you can keep track of the number of tickets that you have received. After all how are you going to know what prizes you can get unless you know how many tickets you have earned. Well, you can see the number of tickets you have on the seven segment display on the nexys board. And at the end of each round the game will automatically add the number of tickets you just got to your previous tally. This way the entire time you play you'll know exactly how many tickets you have!
This game, while simple, is a good way to introduce yourself to basic hardware, wiring and ISE design suite. This project is ideal for any novice looking to get experience making basic games to build their skills or to show off to friends. Each of these aspects of making the game will be covered in a separate step, so you can gather the tools needed for each at your own pace.
Step 1: Starting the Gameboard
To build the hardware of Hurricane you will need some components:
1 8 inch wooden disc
1 dremel, exacto knife, or other way to cut the wood
1 1/8 inch drill or some other way to punch the holes for the LEDs
Wiring/ electronic parts:
1 nexys board
33 jumper cables
Electrical tape if you'd like to insulate things
A computer with ISE Design Suite
You can gather the parts separately for each step, or all at once. It's up to you whatever pace you want to have really.
Step 2: Preparing Disk
Once you get all of your components you need to make the game it is time to prepare the actual wooden board that the game will be played on.
We chose to use an 8 inch diameter disk for the game board however the size is really up to you.
The first step is to cut an opening where you expect to situate the seven segment display and buttons so that you can see you score and have easy access to all of the controls.
Next we had to do was cut a hole in the bottom, center of the disk so that you would have access to the seven segment display and the buttons that control the game. It does not matter how big the opening is, all that matters is that you can see the display and touch the buttons.
Following the diagram, cut along the orange dotted line.
And then you can drill holes around the outside of the disk where you expect to place your LEDs. This step is fairly hard just because it is difficult to get the right spacing, so just be wary of that.
After you have completed this last step of drilling the holes for the LED's you should be done preparing your disk and will be ready to wire your board!
Step 3: Connecting LED's
Connecting the LED's is done in 5 pretty simple steps:
Step 1: Solder your 100 ohm resistor to the positive or long lead of the LED.
Note: If you don't have access to a soldering iron or don't want to burn yourself, you could probably twist the leads together and have things work just fine. Electrical tape would probably help in this case.
Step 2: Solder a wire to both the negative lead and the resistor that you just soldered to the LED.
Step 3: Take the wire soldered to the resistor (positive) and plug it into the correct pin that you assigned in your hardware description
Step 4: Then take the wire soldered to the short lead (negative) and plug that into your ground column on the breadboard.
Step 5: Fasten the LED's to the disk so they will stay in place, we used glue.
One more thing that you will need to do to ensure your hardware works is to run a wire from the specified ground pin on your board to your ground column on your breadboard.
Once you have completed these steps you are completely ready to implement you code onto your nexys board.
Step 4: The Software
The Nexys 2 board that is common to many hobbyists uses ISE Design Suite. If you'd like to modify any of the code, you'll need the full suite. We attached our project file, called "cyclonesecond" arbitrarily. If you open it in ISE design suite, you can edit it all you want to add or change its capabilities. If you don't care about modifying it, skip to the last paragraph.
Our file called "clockdiv" determines how fast, or difficult, the game is. If you'd like to change the clock speed, just search for the word "constant" in the code. Then change the number on the same line to be higher if you want it easier or lower if you want it more difficult.
If you'd just like to use the software "as is," you can just upload the .bit file attached, which should work fine as long as you followed the pinouts on the instructions correctly.
After you upload the code, your game should be ready to play!
Step 5: Playing the Game
At this point, the game should be working!
To play, there are only 3 buttons you need to use:
Button 1 stops the light and awards you however many tickets the light is worth.
Button 2 starts the light moving around, as if you had inserted a coin.
Button 3 (optional) is the "cheat" button, and if you hold it while pressing button 1 you wall always get 4 tickets.
Button 4 resets your number of tickets, as if you had cashed out your tickets.
Have fun, we hope you enjoyed making it as much as we did!
-Andrew Hostler, David Maulick, and Wes Archbold