Back to portfolioRobin Larsson
hobbyMar 2020 – Apr 2020·Personal Project

Racing Car Game — 3D Multiplayer Racing Game

A 3D multiplayer vehicle racing game built in Unity during the COVID-19 lockdown. Features a custom-modelled circuit with loops, ramps, and obstacles, five driveable vehicle types, Photon-powered multiplayer, and a handful of hidden easter eggs including a confetti cannon and slow-motion mode.

Solo DeveloperGame DesignerLevel Designer

A self-contained 3D racing game built for fun in Unity during the COVID-19 lockdown. Everything from the track geometry to the camera behaviour was built from scratch, with Photon PUN providing the online multiplayer layer.

The Track

The race circuit was modelled in FBX and imported directly into Unity. The layout includes:

  • A looping circuit with a primary jump ramp launching cars into the air
  • Multiple mini-ramps and an elevated ramp leading outside the track boundary
  • Pillars, walls, and obstacles to navigate around
  • A finish line with two upright poles as the timing marker
  • Tree-lined terrain surrounding the course

Vehicles

Five vehicle types are playable, each with their own physics model and dedicated audio mixer:

  • Car — the primary racing vehicle, chased by a stabilised follow-camera
  • Jet plane (2-axis) — simplified aircraft flight model with two control axes
  • Propeller plane (4-axis) — full flight controls including roll and yaw
  • RollerBall — physics sphere mode for chaotic fun
  • First/Third person character — on-foot traversal of the track

The CameraStable script keeps the chase camera smooth: it copies the car's Y-rotation (heading direction) but strips the X and Z components, so the camera never flips or tilts when the car goes over a ramp or spins out.

Easter Eggs

  • Confetti cannon — a particle system fires bursts of coloured confetti. The ParticleSceneControls system supports three trigger modes: Instantiate (one-shot burst), Trail (continuous stream while held), and Activate (looping ambient). The ParticleClouds material renders the confetti in vibrant colours.
  • Slow-motion toggle — a button drops Time.timeScale to 0.3×, with a UI icon swap to indicate the mode. Time is correctly restored on component destroy, preventing a permanently-frozen game state.
  • Laser bolt — a custom-modelled projectile (LaserBolt.fbx) hidden in the scene as an unlockable weapon.
  • Smash boxes — physics rigidbody boxes and box-piles scattered around the track that explode on impact.

UI and Menus

  • Main menu with scene loader (selects race scene or network lobby)
  • Pause menu that simultaneously freezes Time.timeScale to 0 and mutes AudioListener.volume — and correctly restores both values on resume
  • Network game lobby and live score bar UI for multiplayer race positions
  • Camera-switch UI for toggling between vehicle views mid-race
  • Level reset button that reloads the entire scene from scratch

Multiplayer

Online multiplayer is powered by Photon PUN, handling room creation, player synchronisation, and network events across players.

Tech Stack

Unity 2019 · C# · Photon PUN · FBX custom models · Unity Standard Assets (vehicles, cameras, particles)

Technologies & Skills

Unity3DC#MultiplayerPhotonGame Development3D ModellingParticle SystemsLevel DesignPhysics

Interested in working together?

I'm available for new engagements. Let's talk about your project.

Book a call on the homepage