Striker Air Hockey
Striker Air Hockey is an Arcade style installation game for 2 players built on a Custom Capacitive Touch Grid. It was made by a 6 man team with 2 dedicated programmers. It showed at alt.ctrl.GDC 2018.
A promotional video we put together for our application to alt.ctrl.GDC. There is more recent footage at the bottom of the page.
In the summer of 2017, I was hard at work on Guerrilla Nouveau’s FRAMES project, a wall installation with capacitive buttons similar to our BEE project. But, because of certain UI choices and touchscreen training from phones and tablets, users would continually try to drag elements on the flat projected surface of our touch table, even after we explained that we only had buttons.
A longer documentary style video. I was super exited to get a lower third in something.
When we hired Gabe Miller, a DigiPen BSGD (Designer Programmer Hybrid), I set him to work on a side project I’d been unable to tackle, using copper tape to create a full capacitive touch grid. While I handled the hardware and direction, and continued to hack together FRAMES, Gabe handled the actual work of laying out the copper and testing various sizes, formations, and readings. Starting a new working relationship with just two people on a project that seemed so Blue Sky was hard, but thanks to Gabe’s pushing substantially out of his wheelhouse, and the sense I’d developed of what should be possible, we eventually managed to create a prototype board and software that turned it into a scalable touch grid.
Our earliest prototypes were intended to go behind a stretched canvas.
Our custom capacitive touch grid is made with Arduino Leonardo, 3 x Adafruit MPR121 Capacitive Touch Shields, contact paper, and copper tape and wire on a rigid surface. As broke students, who didn’t know if they’d be reimbursed, these part thankfully came in around $70. The projectors we used for the project came from previous projects, and were easily the most expensive part.
The novel technique we used for our touch grid involves sets of copper tape crosses, connected into vertical and horizontal lines by thin strands of braided wire. Each set of crosses is connected to a single port on a touch shield, which measures the change in capacitance in the metal caused by the presence of a human hand. This change in capacitance can be detected through thin materials, though not through the ¼ in acrylic we used for the much more sizeable BEE buttons. The contact paper protects the raw copper tape and wires and makes the surface virtually waterproof. We also succeeded in painting over the grid without any change in capacitance, though ultimately opted to use a projector screen to cover it to increase light reflection.
The copper tape crosses are part of a solution to the low resolution caused by only having 36 ports for measuring capacitance. The crosses change capacitance more and more as your hand slides across it, and sticks an inch out each way into the 3in gap between wires. This lets us interpolate a position between the 3in by 3in grid with much more granularity, as long as a full palm is used on the board. Fingers lack the surface area to alter the capacitance of multiple crosses at a time, and thus don’t give us an X and Y position of activation on the grid.
The raw grid and the pole we mounted a projector on.
From 10% to 100%
Ellen Beeman had repeatedly encouraged us to try and develop something for alt.ctrl.GDC, something more game like than the art installations we’d been working on. With a 2ft by 4ft Touch Grid board retrofitted for bee, we decided to take a break from our more ambitious project to build something “more gamey” for the LAN party, with an eye on a potential alt.ctrl.GDC submission.
The next week was a pleasure. Jamming a whole game together in a week should have felt like more work, but, doing something different was revitalizing. Again, knowledge of what was possible “Air Hockey using Unity’s Physics, but with some crazy modifiers for pucks and stuff.” let us appropriately scope our goals, and the fact that we were using pre-built physics, art asset packs, and the Touch-Grid code Gabe had just spent a semester developing let us rapidly prototype something fun.
The LAN Party went better than we’d imagined. People were entranced by the projected neon visuals and drawn in by the ability to touch. The biggest complaint was “lag”, a combination of our hardware code and smoothing we were using to cover up the low resolution of our 3in by 3in grid. Ultimately, this became another skill challenge for player who could anticipate it, but it bothered me, and would be a constant thorn in our side.
We developed a quick splash screen to announce the Puck and Game Mode type, as well as teach players to press with their full palm instead of fingers.
We Found The Fun: Now What?
With winter break coming up, we submitted to alt.ctrl.GDC. Alex L. Bennett our artist, had some slick video editing skills in After Effects, so we spent November basically shooting footage and writing our application. Knowing we’d be posting on Facebook for recruitment within DigiPen, we did a subtitled explainer video we knew would be muted. When we found out we we’d been accepted to GDC, we knew we had an incentive for recruitment, and scored in hiring Programmer Andrew Marganella and Producer Benjamin Albertson-Gass the next year.
From there, knowing 70% of our fun was inherit to the activity, we started sweating the small stuff. We designed developed around two dozen Goals, Pucks, and Strikers, before whittling them down to a prioritized list of what was most fun, could be polished programaticaly, and what we could get nice assets for. Among my favorites that didn’t make it in were Billiards Air Hockey, where you could only hit a cue puck but needed to rebound that off of red and blue pucks to get them into corner and center pockets and Destruction, where repeated hits on a goal broke it down to dust.
The rest was as you’d expect, build, test, iterate, rebuild, fix bugs, test, iterate, etc. Because GDC happened in March, we were up against a tight deadline even for a one semester DigiPen game. Actually having a producer (having hired Ben) was one of our saving graces, as he refereed our competing Hardware and Software development and helped us ship down to San Francisco.
We were able to add a lot of visual flourish before alt.ctrl.GDC. Particle effects for scoring and the goals, a text ticker in the center for messaging, and little dots like you’d see on a real air hockey table, here used for tracking the puck. (Not the final UI, but close)
Testing at school just before alt.ctrl.GDC.
The trials and wins of our alt.ctrl.GDC experience could fill another page, but suffice to say, the potential we’d seen at our Lan Party payed off on the Convention Center Floor. I couldn’t be prouder of how our promotional material, hardware shipping concerns, and training each team member to interact with first time players payed off. We’d built in tools to quickly switch between game modes, and while we did use them, we quickly discovered we had more content than most people had time to play. “Wait… how many game modes does this have?” delighted me to no end to hear people ask. While we didn’t win, we got an immeasurably valuable experience and a lot of exposure for our upcoming job hunts.
A rating system that automatically filtered game modes by popularity. Didn’t make it into the final build.
While I’d spent some midnights at school (it’s really to our benefit DigiPen kicks us out at midnight) trying to fix our lag issues, and made some marginal improvements, it wasn’t until after GDC that I found the biggest solution yet. While tutoring a new team on how to use our hardware/software for their own game, we stumbled down a set of Google Searches that revealed multithreading was a possible solution. This turned out to be surprisingly easy to implement, and had significant improvements on our latency.
Part of me thought the project was going to end up in a closet, like so many others, never to be played again, but it’s managed to find a tour. Currently it part of our Outreach department’s tour of the campus and we’re planning on showing it off at Seattle Mini-Maker Faire 2018.
An example of the latency before the most recent fixes.
Role Hardware Design & Design Design
Date September 2017 – April 2018
Type Custom Hardware Game