Camp Cupid (Alt-Arcade):

GitHub: https://github.com/FacioErgoSum/Alt-Arcade-2025

For my last semester of college, I took a class called Alternative Arcade Interfaces. It was a ton of fun, highly recommend if anyone reading this goes to CU Boulder. The class involved making several ā€œalternativeā€ controllers for videogames, with a focus on group interaction and wacky ways to gather user input. This translated to students building everything from a condiment-container based Shoot ā€˜em Up, to intergalactic submarine fishing, and even interactive shadow puppets projected on a wall. For my final project, I partnered with our group to create Camp Cupid: a dating simulator controlled via bow and arrow. (And yes, you can ā€œaccidentallyā€ shoot the characters).

Here’s how we made it, and what I learned.

The initial idea was to build Cupid’s bow, and use it to shoot players with love arrows. We then further expanded the idea to encompass a whole story based around a kid at summer camp, that just does everything with a bow and arrow. The challenge is using the janky controller to precisely aim and shoot dialog boxes and progress through minigames, without accidentally shooting (and killing) a character, to be able to make it through the week and score a date to camp prom.

 

The controller itself was very simple. We ordered a children’s bow from Amazon (which as luck would have it, was made by Cupid Archery). Then, I measured the handle and created a model in SolidWorks that could fit in the handle. This was 3D printed, adjusted, and printed again. We prototyped the bow with duct tape and hot glue, and then finalized the position of all the electronics, before finalizing it with E6000 and more hot glue. We added a rigid PVC pipe with a replace-able end-cap for safety measures to keep the arrow from actually impaling anyone, and provide a satisifying THWACK with each fire.

The electronics consist of a modified IR Wii-mote Camera (for position tracking), a trigger button for skipping dialog and useful secondary actions, and a tinyCore for capturing these values, along with sensing impact, and sending them wirelessly to the computer.

The Wii-mote was the trickiest part to figure out. The placement was very important, because the way it works is by tracking IR points on an X-Y grid and then outputting those coordinates. However we had two issues, finding a reliable IR source, and determining the correct downward angle of offset to make sure each user felt like they were pointing at the screen instead of ā€œshooting from the hipā€. The first issue was solved by switching back to a simple Wii-bar and removing the second set of LED’s. The second issue was a bit more tricky. I spent hours trying to run through different geometries to figure out the perfect angle for the majority of people regardless of height, given our average distance and different projector sizes… I was overthinking it. In the end, we just used Velcro to attach the camera, so it could be rotated on the fly whenever users with major height differences (i.e. kids) played the game.

We also had issues with recoil on the bow, causing the reticule to jump up when you fire the controller, and miss the shot. To fix this, we implemented a neat hot-fix. Since we are already tracking the position over time, all we needed to do was store a delayed sample of the position, and then revert to a few milliseconds prior to firing when we want to register a shot.

For the game itself, we created Camp Cupid in Godot. The game consisted of three days of camp, ending with a prom. The user gets to choose minigames each day and potential lovers to do those activities with, with varying results of affecting their ā€œloveā€ scores based on the pairings and dialog choices.

There are three minigames: S’mores, Bird Watching, and Fishing!

The games were made by Max, and art was designed by Estella.

This was the final product! We’re very happy with it.

 
 
Previous
Previous

NASA: Watts on the Moon Challenge (Winner: 2nd Place)

Next
Next

OpenHEG - DIY Brain-reading Headband