Introduction: Interactive Simon Says Game
I dont quite recall how this game evolved but the main motivation behind it is to improve cognitive processing and attention by getting the players to focus on a sequence of drum hits and then repeat that sequence. Players can use either dance-dance-revolution mats or a custom built 4-pad bongo style controller. Its being built for www.tulgeywood.us to give a little background to the target players/users
Step 1: Software
I was very fortunate to come across a talented game developer in the UK who has similar interests. http://www.funpods.com/ we got talking and within a week he had turned out this fantastic virtual drum. We're going to hold off on releasing the source code for now as its still in development but you can play our working demo using the keyboard rows (qwertyui) for player 1 and (asdfghjk) for player 2.
We initially went with 8 pads which mapped on the to 8 switches found on a DDR mat but pulled that back to 4 for simplicity. The game was tested recently and a number of enhancements will be rolled in. 1)the two virtual drum kits will be different colours, 2) the listening period for player 2 will be extended 3)the pads of the hand controller need arrows to allow players to map the real & virtual together.
latest version 4
(note to Richard, can you remove the ' as it chops off the link here)
Note to everyone else, I dont know how much bandwidth I've got so if the .mac link dies try the funpods by copy/paste the whole line, dont just click on the broken link. And check out some of Richards other games, I contacted him after playing the Bonobo's bongos, its really cool.
Step 2: Hardware: Keypress Generator
One immediate issue we had to resolve was that the platform Richard uses for game development, shockwave, will not accept the joystick hat inputs generated by dance mats natively, there is a plugin but we decided to design the hardware to create keypresses, it will be more adaptable in the future if we build devices with greater than 8 switches
I had a Belkin Nostromo handy and tied in computer monitor VGA cables because they had just above the number of lines needed. This is where you really need to document which pins go where.
You have 9 lines and 3 places to match those lines up
1)the dance mat to> cable
2)cable to> keypress generator input connector
3)Keypress mapping software, in this case the nostromo drivers. If you used a USB keyboard then you would have to mod the game software to adapte to the correct keys. Ideally this would be a feature in the software but for development having this seperate allows for some versitility
Randofo has a good instructable on using usb keyboards for input
Step 3: Hardware: Hand Controller
I did a proof of concept with by modding a 'Simon' game. The pads were setup to detect presses in parallel with the existing simon hardware, so the original game would still play. Transplanted in the electronics from a dance mat which essentially detects shorts and generates joystick hat commands via usb to the OS. I used the open source http://www.stepmania.com/ as a starting block for development and testing.
Results were that the simon pads were not tacticle or senstive enough for some people. The current hand controller is a detailed build, it cant be found in a separate instructable:
I guess it was from this first stage of testing with stepmania that I evolved the design in to a simon game as well. I still plan to use the platform for stepmania and will produce an instructable on editing files in the coming weeks
Step 4: Hardware: Dance Mat
I think the tracks inside any make of mat will probably be the same. So, when writing your mapping list start with a list of the arrows corresponding to the pads on the mat. Then write down the pin number or wire colour from the cable setup you chosen. I picked 15 way d-type connectors and cables, normally used for VGA (note if you use vga, something like pin 7 is not connected)
How you connect the cables to the dance mats is up to you. I recommend leaving the mat's pcb intact, soldering the cable on to the pcb near the mat connector (you'll want to scratch of the coating) and then cutting the track upstream to isolate the circuitry on the pcb or it will tie everything down on you.
Then note which pads you've tied to pins and follow that mapping all the way up to the software. You will also want to copy this exactly for each mat.
One thing not drawn in the diagram attached below is the common line, or the other side of the switches. Each pad shorts to a common plate, its very important to get this connected in to the computer correctly or none of the pads will work.
Step 5: Video
Here's a little video of two dance mats in action. I'll update this will a dance mat and hand drum once I iron out a little wiring bug with the drums.