Vine Rush is a two-player racing game developed specifically for the Xbox Adaptive Controller. Players race through a lush jungle environment, collecting vines and powerups while trying to beat their opponent to the finish line. The game was designed with accessibility in mind from the ground up, ensuring the controller's limited inputs mapped to a fun and playable experience.
3 Week Group Project
14 Team Members
Powered by Unity
Futuregames, Stockholm
Systems Programming: inventory and item system, respawn and checkpoint system, environmental interactables.
SFX & VFX Systems: built the audio and visual effects managers used across the project.
My overall approach was to write code that was as simple and expandable as possible. The game concept was shifting often in those three weeks, so I expected to be iterating on my solutions at any moment. Keeping things decoupled and relying on Unity's built-in solutions wherever possible was the guiding principle.
The design called for hand-placed checkpoints throughout each level. Any dead player gets respawned when another player passes one; if both are dead, the game ends. I built an EventManager system for calling and tracking universal events like this, removing the need to maintain references everywhere for inter-object communication.
The designers weren't sure exactly how items would work, so I prioritized making the system flexible and easy to iterate on. The inventory script handles all pick-up and activation logic, meaning the pickups themselves carry no logic of their own. I ran into a strange Unity instantiation bug where prefab variables would always spawn unset — I worked around it, though if I could go back and redo one thing in the project, it would be that particular solution.
Perhaps the most important systems I made — and the most rushed, since the whole team seemingly forgot we'd need them until the final week. The AudioManager is a singleton that plays any sound in the correct mixer channel at any location with a single method call. I also built two small add-ons, PlaySoundEnter and PlaySoundExit, that let animators trigger sounds directly from the animator without any additional code. The VFX system is built on the same architecture.
Working on the environmental objects was pleasant and comparatively straightforward. The most novel thing here was using Unity's built-in hinge joints to create tilting platforms — I hadn't worked with them before, and it was a fun component to try out.