loading
Picture of Interfaces for Games: PunchOut
This is how to turn Mike Tyson's Punch Out into a full-body workout with real feedback.

(how to make reliable, rugged, touch sensors)
(how to hack a game controller)
(how to make blinding feedback from the game itself)

t - j - m
 
Remove these adsRemove these ads by Signing Up

Step 1: Shopping List: Rugged, Clean Handgemacht Touch Sensors

Picture of Shopping List: Rugged, Clean Handgemacht Touch Sensors
A shopping list for a nice, clean way to make touch sensors.

What you need:

Wires - ours were slightly longer than 1m (to reach the floor, and to be inserted into the bag).
Cardstock (150lb, I think...).
Metallic duct tape.
Foam wrap (2-3mm thick, usually used for shipping electronics).
Sponge - Art / Craft material (1.5mm thick - found in arts and crafts stores)
Book binding tape (25-30mm wide - a special weaved material, because it's strong and clean)

+ all the general tidbits for hacking: microcontrollers (for testing), solder + iron, cutters, blades, etc...

Step 2: Conductive Pads

Picture of Conductive Pads
IMG_1667.jpg
IMG_1663.jpg
Run a strip of metallic tape along the width of your cardstock.

Cut the taped portion off, and then into equal size squares [ you will need 2 for each sensor ].

You should have a bunch of pads. We had 10 buttons [ up, down, left, right, a (x2), b (x2), select, start ] , so we needed 20 pads.

Step 3: Wiring the Pads

Picture of Wiring the Pads
IMG_1666.jpg
Cut your wires.

Since our interface was going to be on the floor, and in a punching bag, we made the wires approximately 1m long ( so we bought 25m of 0.5mm wire just in case).

Strip the tips of the wires on either end.

Attach one end of each wire to the pad by fastening it underneath another portion of metallic tape.

Step 4: Assembling the Pads

Picture of Assembling the Pads
IMG_1706.jpg
IMG_1686.jpg
IMG_1674.jpg
IMG_1675.jpg
We use book binding tape to assemble the pads for a couple of reasons.

First, the glue is very sticky (once it sets).
Second, the tape material itself is a weaved fabric, so it is very strong.
Third, it is easy to work with and is a clean material.

---

Tape the top side of one pad, making sure the amount of tape being used is approximately half the width.

Place the top edge of a second pad 3mm (or the width of your foam wrap) away from the first pad, with both metallic faces upwards.

Place the foam in between the pads, fold them over and tape the opposite open edge. The construction should look like a little sandwich.

Make sure to have 3 strips of foam, one each on opposite edges, and one in the middle to push the pads apart. And, make sure there's enough space between foam pieces so that they pad will easily make contact when pressed. Cut the foam to fit the sensor when you're done.

Step 5: Wrapping the Pads - Complete Sensor

Picture of Wrapping the Pads - Complete Sensor
We wrapped the sensors in a sponge to make them more rugged. The sponge will take most of the brute force (remember we built them to resist punching and kicking), while staying rigid enough to not continuously compress the sensors when they aren't being pressed. This protects the main pads and helps to push back against any material, or device, within which you may want to hide the pad.

Cut a piece of sponge that is slightly larger (5-10mm) on each edge and a little more than 2x longer than the size of an individual pad.

Place the pad loosely on the sponge.

Fold the sponge over and tape the 3 open edges.

You have a complete sensor.

---

If you want, you can test the responsiveness of the pads with an Arduino.
The pads work quite well.

Step 6: Hack the Controller

Picture of Hack the Controller
IMG_1702.jpg
IMG_1709.jpg
IMG_1717.jpg
IMG_1698.jpg
With a game controller torn apart, solder each end of the sensor to the appropriate ground / power edges of a button. You'll see them easily because they look like forks that don't touch (i.e. one wire per fork).

Now you should have a ton of wires all over the place.

It gets messy, so the best thing to do is fold them up carefully and fasten them (electrician's tape works well).

With all the sensors connected properly you're almost ready to play.


Step 7: Pad - Button Mapping

Picture of Pad - Button Mapping
We mentioned earlier, we need 10 pads even though we're only mapping 8 buttons.

The reason: combos.

In Punch Out, you can throw a super punch by tapping UP and A (or B) at the same time.

We tried making single units of double-stacked sensors, with 3 wires coming out, but the controller wouldn't handle the mapping.

So, we put 2 individual sensors together (taped of course) and found that they were sensitive enough to press both at the same time... and this saved the day.

2 - UP+A
2 - UP+B
1 - A
1 - B
1 - DOWN
1 - LEFT
1 - RIGHT
1 - SELECT

Select is used for your super-star punches, so we needed that one kept in. And, we didn't map UP (alone) because it wasn't need... neither was START for actual gameplay.

Step 8: Screen Cap as Feedback

Picture of Screen Cap as Feedback
IMG_1725.jpg
Ok, so the next step is to get a spaniard to build you a cool little max patch.

The patch is designed to capture a certain portion of the screen and use its color as a trigger for real-time feedback.

Punch Out uses sprites which are always the same color, but when your character is punched during the game, its color changes to a funky pink. Because the pink is so distinct from all other colors, the MAX patch reads the pixels and sends serial information to an arduino.

When the character is hit, the arduino triggers a light.

For now we could only get an LED working, but the general idea was to have flashing strobes that temporarily mess with your vision. Should be fairly simple to implement, but we didn't have time enough during the workshop to hit the extra step.

Step 9: PLAY

Picture of PLAY
Get a game emulator.

Hook your controller up to your computer.

Make sure to map the sensor pads properly (we used the mapping functions directly in the NES Emulator were using).

Get your punching bag and insert the pads.

Mika graciously found us a punching bag made of big pillows and other soft goodies.

---

For Punch Out:

place 5 pads in the punching bag (we did it in the following oritentation)

(top of bag)

UP+A UP+B
SELECT
A B

(bottom of bag)

Place 3 pads on the ground:

LEFT RIGHT
BACK


Now you can use your feet to control your character's dodging, and your fists to punch.

It's tricky.

Watch Jayme punch like a rock-em sock-em robot:
http://www.youtube.com/watch?v=FdkJcZNeyPg

t - j - m
Xstorm5 years ago
Can we use a keyboard for this?
Hacking is not about asking what can be done, it's about doing it!
Get a keyboard and post the results :D
So how does this work? I mean when you solder a wire to one of the joysticks button chip, then how do we like press it?
kirton (author)  Xstorm9993 years ago
Hey, the joystick works by connecting a circuit... so the underside of the joystick's buttons actually created a closed circuit which triggers the button action. So, if you have 2 wires connected to the joystick, if you just touch their free ends it will trigger.
But then, how do the buttons work? I mean they have rubber in them so i don't think rubber conducts electricity and makes a closed circuit.
When compressed, the foam in the sensors is squashed flat and the exposed surfaces of the metal are pushed together to make electrical contact. then the pressure is removed the foam will push the contacting plates apart and break the contact.
So, when making the sensors, the 2 wires inside shouldn't be touching each other or else the key will remain pressed right?
That's right. Each wire should only be touching one of the plates, and not each other.
wow.. this technique opens the door to lots of possibilities! Thanks for explaining this so well!
Da_Fudge6 years ago
That is awesome!!!
I agree! Keep up the good work!
samseide6 years ago
Just wanted to show you guys the punchout interface I built, building upon your idea here.

http://www.instructables.com/id/The-Punchout-Interactive-Interface-Improved/?ALLSTEPS

Thanks for the great idea!
kirton (author)  samseide6 years ago
Hey, nice work! How long have you had the Slam Man? Cheers, t