×

Linus Jernström

Home Games About Me CV PSQ Dev Logs

Vine Rush
2-Player Racing Game

Project Summary

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.

Project Breakdown

3 Week Group Project
14 Team Members
Powered by Unity
Futuregames, Stockholm

My Responsibilities

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 Contributions

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.

Checkpoints and Respawning

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.

Inventory and Items

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.

SFX and VFX Systems

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.

Environmentals

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.


Check it out on itch!