Couch Potato

NS
8 min readApr 29, 2019

Couch Potato is a couch co-op game that involves 2 players controlling a tandem potato and the objective is to fly around collecting energy cores in order to increase score and gain back your forever depleting fuel.

UPDATE: Please enjoy this video of some folks playing my game :) Thank you to all who played in the last few days. This was a lot of fun.

It is available on my page on itch.io. It is view only right now, when I get a chance I will make a Web GL build and allow in-browser play sessions.

This game was made specifically to be used with an actual couch as the controller, as demonstrated by multiple UI elements within the game, but can still be played with a keyboard.

One seat on the couch controls rotation to the left, while the other controls rotation to the right. If used together, you will move forward. If neither player is sitting, you will stop entirely.

This game was made by one person (Me! Nolan) in a span of about 3 weeks all while balancing school, work, and life.

Couch Potato was extremely inspired by Hellcouch, which is the original couch-as-a-controller game that I came across while attending GDC. Shout out to the devs behind that for coming up with a cool, new, innovative way to play games and allowing me to bring this idea of mine to life. Please check out & support them as well!

Couch Potato will be shown at the LIU Post Spring Final Show (May 2nd) and Wonderville’s Alt Ctrl Student Showcase (May 4th). Please come check it out if you can! The couch will also need a home, as I don’t have room to keep it, so if anybody is interested, I’ll totally just give it to you along with a build of the game.

The most difficult part of this process was actually securing a couch. I scoured the Facebook Marketplace hoping to find a low cost, 2 seat couch in fairly decent shape. There were not too many of those available in my area. The first couch I tried to pick up was just too big to fit in my car, and I definitely did not come prepared to strap it in and drive with my trunk open. This couch was also not free, so I dodged a bullet there. Sorry, Maria.

A few days later, I came across another suitable seat for this project. This one was slightly longer, but definitely lighter in weight, and best of all, it was free! It was still slightly longer than the space I had available in the car, but I was prepared this time and tied it up so there was no chance of it falling out.

I documented a little bit of my process of making the Unity side of the game on my twitter.

Shoutout to Brady, Dan, Jason & Eric for routinely liking these tweets whenever I posted them. Here are just a few of my tweets so you can see the progression:

Now lets talk about how I brought the physical side of this game to life. As I alluded to before, I found a nice, free couch on the Facebook Marketplace.

First, acquire foot pedals and figure out which wire inside is which. I properly labeled them because I am bound to forget which one is which almost immediately.

Next, I cut a board as close to the size of the couch as I could. This will hold everything in place as the game is played.

Next, guesstimate where the pedals should kind of be near. That seems about right.

Everybody knows butt measurements are the superior form of measurement.

Next, I cut a hold in the cushion where the pedal is. This is because the pedal is sensitive and the weight of the cushion without the hole already pressed the button. I cut halfway through the cushion so that the button can remain unpressed while underneath, its pressed when sat on, and you can’t feel the button underneath you while sitting.

Malta came over to check out whats going on

Repeat same cutting process as before and bam we have a cushion that will work for us.

Subtly mark the back of the cushion, so that just incase it comes off, everyone will know that the side with the zipper should not be facing outwards. (ft. dog)

Next, I found this cover in my garage that will fit the breadboard and teensy controller. Im not sure of the actual name of this protective box, but it’s the same kind of box protects the switch that turns things on in my pool.

I got super lucky and the couch had wood frames EXACTLY where I needed to drill this thing in. I also drilled a hole to the back of the couch and pulled the foot pedal wires through, and those will run right into our protective box. The case flips open if I need to make any adjustments.

Next, rather than permanently supergluing my switches in place, I glued some magnets down to keep it somewhat in place. It moves around a bit if some force is applied.

Some ducks showed up, so I fed them. Their names are Pete and May.

I hot glued and nail gunned supports for the switches in place so that they will not move no matter what, but can still be taken out if needed.

And there we go, now we have a couch co-op controller! The official measurements are 35 x 32 x 78.

Lets just make sure these buttons will work when wired to the game.

That should do it. The relatively simple Arduino code is as follows:

#include <Bounce.h>

Bounce button_pin1 = Bounce(6,50);
Bounce button_pin2 = Bounce(10,50);

void setup() {
// put your setup code here, to run once:
pinMode(6, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
}

void loop() {
// put your main code here, to run repeatedly:

button_pin1.update();
button_pin2.update();

if(button_pin1.fallingEdge()){
Keyboard.press(KEY_A);
}

if(button_pin2.fallingEdge()){
Keyboard.press(KEY_D);
}

if(button_pin1.risingEdge()){
Keyboard.release(KEY_A);
}

if(button_pin2.risingEdge()){
Keyboard.release(KEY_D);
}

}

Now for the transportation part of this project. It needs to get to LIU Post for the Spring Showcase and Wonderville’s alt.ctrl Student Showcase. Big thanks to my good friend Steve who was willing to come with me to carry it into Humanities Hall, up the stairs, and to the room.

It was relatively easy to set up all of the components necessary! Now we leave it in here for 24 hours until the LIU Showcase begins.

Hey! Update time! So the Teensy mini USB port broke off and it sadly looks damaged beyond repair. Micro Center had some in stock, but they closed in 30 minutes. Thank goodness I was 20 minutes away. There were 4 available, and I bought all 4 because I’d rather be prepared for anything and return them at a later date if they go unused. Shoutout to Nick Frank for being a kind soul and letting me borrow his soldering iron at like 10 PM the night before the first showcase.

I got it back up and running fairly quickly, and here is Nick Buscemi and Mike Khan putting their differences aside to reach a new high score of 9.

Hey there. This is the post-show #1 post. It went really, really well and I’m very excited about it. I added music to the game the morning of the show, right before my Film II final. The song is an instrumental of Fallin’ by Tropix & LAV8. It was super cool of them to allow me to use their track and I greatly appreciate it. Please support them! Congrats to Dan Caixeiro and Ramiro Corbetta for getting the high score of 23! It was not an easy task. Here is a picture of the setup and an action shot of 2 friends, LIU Post alumni, and event attendees, Dan & Rob, playing the game:

After the Wonderville showcase I’ll make a fun little video of some gameplay that was recorded and post it here and that’ll wrap this project up. Thank you to all who played at the LIU showcase and allowed me to film/take pictures. Stay tuned for the video!

Showcase 2 was even better! I implemented a ton of feedback I got from the first night and added into the game. Congrats to Meghan and Nick for getting the high score of 23!

--

--