

Chuan Tsai
Spray || Swarm is an Alt.Ctrl arcade game that transforms pest control into a physical interaction between player and swarm. Using a custom spray-bottle controller, players attempt to contain an ever-growing population of insects spreading across the subway environment.
Demo Video
Inspiration
This project is inspired by the New York City subway. Unlike the city I grew up in, it is common to see rats on subway platforms in New York, and occasionally cockroaches and other pests.


This everyday encounter led me to create a shooting game where players can eliminate pests in a familiar yet exaggerated setting. To reflect the real-world gesture of using a spray bottle for pest control, I designed a custom controller that mimics the form and action of a spray bottle.
Game Mechanics
This project is built using Unity and a Teensy 4.0 microcontroller. Players begin the game by gently pressing the trigger on the spray bottle. During the first 60 seconds, pests continuously spawn across both the walls and the floor of the platform. Players aim by moving the controller left and right to target pests on the screen.

​The game features two attack modes: jet mode and mist mode. Jet mode allows players to attack and eliminate pests on the floor, while mist mode is used to spray pests off the walls so they can be killed using jet mode. As the game progresses, the spawning rate of pests increases. Players must balance controlling pests on both the walls and the floor. If too many pests accumulate on the walls, they will fall to the ground. If the number of pests on the floor becomes too large, some will begin moving toward the yellow zone. If any pest reaches the yellow zone, the player loses one life. The game ends when all three lives are lost.


​If the player survives for 60 seconds, the boss appears—a giant New York subway rat. The boss moves quickly and can travel freely between the floor and the yellow zone, requiring players to react quickly and eliminate it before losing control of the situation.

Fabrication
To build the controller, I disassembled a commercial spray bottle and embedded a button and a trim potentiometer inside the body. To maintain a clean appearance, all wiring is routed internally through the bottle.



To enable mode switching through the nozzle, I fabricated a small flat-head-shaped wooden piece that connects the nozzle to the trim potentiometer. This allows the rotation of the nozzle to directly drive the potentiometer.

For tracking the player’s left–right movement, I used a small Bluetooth mouse mounted at the bottom of the spray bottle, allowing the system to detect directional motion.


These inputs are mapped in Unity, translating physical gestures into real-time gameplay interactions.


