
Defend a Plant
A booth arcade shooter where Team Purple and Team Green defend Plagron's plants from pests on physical joysticks, racing the clock for a shot at merch prizes.
01
The Brief
Plagron, a plant nutrients brand, wanted an engagement piece for their booth at cannabis trade shows and conventions like Spannabis and Cannafair. The game had to run on physical joysticks at the booth as a head-to-head Team Purple vs Team Green mode, plus a separate single-player mobile version, and support a full event-day flow: visitors sign up with a username into a waiting queue, play a round, and get their name and score saved so Plagron can hand out prizes, both immediate merch tied to the points scored and a bigger prize for the top score of the day. It also needed to support multiple languages for touring different countries, and the queue system had to work without relying on public internet, since venue wifi wasn't always reliable.
02
My Approach
The client's own designer at Bertels B.V. wanted to create the artwork and game design themselves. I worked out a spritesheet setup and naming convention with them, so their frame-by-frame animations (idle, loop, hit states for each enemy) could be dropped straight into PlayCanvas and picked up automatically at runtime.
On the technical side, I built a 60-second arcade shooter for two teams playing side by side on one big screen: each side aims and shoots flying pests with a physical joystick while avoiding Plagron's product bottles, which cost points if hit. Bullets follow a believable arc using two parallel tweens (one for horizontal movement, one for a rising-then-falling height offset) rather than physics simulation. Background layers read joystick input to parallax at different rates, and the camera casts screen corners to world space on load so enemy spawn positions stay correct across resolutions.
I also built a single-player version for mobile, so people could play on their own phone without needing the booth's joysticks free.
For the event-day logistics, I set up a local queue system running over a local server and wifi network, since public wifi wasn't always accessible at these venues. This was my first time building that kind of local-network waiting queue: players sign up with a username while waiting their turn, and the queue drives which two players are active for the next round.
Fig. 03 · Video
The Team Purple vs Team Green mode in action on the booth's big screen, both sides shooting pests with their physical joysticks.
03
The Result
A branded arcade shooter deployed at the Plagron booth: a Team Purple vs Team Green mode played on physical joysticks with scores shown live on a big screen, and a single-player version for mobile. The full day-of-event flow: visitors join a local waiting queue with a username, play a 60-second round trying to hit pests and avoid product bottles, and their name and score are saved. Merch prizes are tiered to the points scored in a single round (from small giveaways up to a full prize bundle past 35,000 points), and the best score of the day earns a bigger prize. The game supports multiple languages for different touring events.
04
Outcome
The game is still in use. Plagron reported an increase in booth engagement and has since brought it to other events beyond the ones it launched for. Personally, it was the first project where I had to design and build a waiting queue running over a local server and wifi network, working around the fact that public internet isn't always dependable at trade show venues.
Stills




Two more visitors at the booth, Team Purple vs Team Green scoreboard visible on the big screen.
03 / About
Concept first, medium second
I'm Ramon, a multimedia designer based in Eindhoven. Projects start with a problem: what the thing has to do, and how someone should move through it. The answer has been a 360 film, a VR walkthrough, an explainer animation, a configurator and an AI training platform.
My part is 3D, design and code: modelling and lighting in Blender, interface and motion in XD/Illustrator and After Effects, and the build in PlayCanvas or Next.js.