Back to Portfolio

Hogwarts Racing

Group Project

A broom-based fan racing game built with a team of 12 across game art, technical art and character creation, taking the most entertaining parts of the Wizarding World and mashing them into a fast-paced local multiplayer racer inspired by Mario Kart. Set on the edge of a little island using medieval gothic architecture so players really feel like they are in the game.

Type Group Project
Team Size 12 across 3 disciplines
Duration 15 weeks
Engine Unreal Engine 5

MY ROLE

Local Split-Screen Multiplayer

Owned

Leading the implementation of the local split-screen multiplayer system for up to 4 players, with controllers detected in the main menu so nobody could join mid-race.

Vehicle Game Feel

Owned

Tuning how the broom actually feels in the player's hands, keeping the controls simple so the sense of speed stays at the front of the experience.

Lap System

Owned

Building the 3-lap race structure, live lap timers, the finish-line leaderboard and the VFX spline that constantly leads the player in the right direction.

Sound Design & Playtesting

Owned

Handling the sound design pass, running the playtesting sessions, building the quick playable MVP and looking after the game documentation for the team.

THE DESIGN CHALLENGE

Ambition. Take broom flying, spells and the Hogwarts castle and mash them into a fast-paced local multiplayer racer in the spirit of Mario Kart, with a team of 12 people spanning game art, technical art and character creation across a 15 week production.

Constraint. Speed is core to the fun, so the controls had to stay really simple even with full XYZ flight. Split-screen with up to 4 racers meant every mechanic had to keep working with 4 players on screen at once.

Approach. Get a quick playable MVP in front of players as early as possible, keep the game documentation up to date so all 12 people were aligned each week, and iterate on the systems I owned (multiplayer, lap system, vehicle feel and sound) based on what actually made the racing feel good.

CORE MECHANICS

The systems that make up the racing experience. Click any mechanic to open it.

Movement

Broom Flight

Free XYZ flight with really simple controls that keep the sense of speed at the front of the game.

Broom Flight design diagram

We wanted to embrace height in the game, so allowing the player to fly reasonably freely was really important to us. There are bounding boxes on the sides of the track so players cannot just fly off the map, and if you get too high the game pushes you back down which pairs with the constant forward boost to actually feed into your speed. The controls stayed simple on purpose (left stick for left/right and forward/back, right stick for up/down) so the player can breeze through the map without fighting the inputs.

Speed

Boost Bar & Speed Rings

A boost bar you burn fast and rebuild slow, paired with speed rings that fling you in the direction they point.

Speed Ring visual

The Boost Bar drains quickly because it gives the player a high amount of speed, but it restores really slowly so players have to carefully manage when to spend it and only use it when they really need it. Speed Rings sit around the outside area of the track and push the player in a direction based on the ring's rotation, letting players carry that momentum wherever the ring is angled. Together the two mechanics reward players who know when to spend their boost and where to line themselves up for a ring.

Lap System

3 Laps, Live Times, Leaderboard

Three laps of about a minute each, live lap times in the corner, a finish-line leaderboard and a VFX spline that guides you the right way.

There are 3 laps in the race lasting about one minute to a minute and a half. Each lap time the player makes is recorded and displayed on the top left of the screen, and when the final lap is completed a leaderboard appears with all the players' names and their times. Because the map feels quite open with the flight, I built a VFX spline effect that continuously spawns and points the player in the correct direction, and the structure of the map itself is set up so players cannot enter places they are not meant to go.

Multiplayer

Local Split-Screen

Up to 4 players on split screen with controller hot-plugging in the menu, and a toggleable AI option for solo time trials.

There is a max of 4 players on local split screen. Players can only be added by plugging in a controller to the PC and only in the main menu, so there are no issues with players trying to join mid-race. AI is a toggleable feature since some players might just want to chase the best time on their own. As a stretch goal we wanted to explore online multiplayer to make it easier to play with friends who are not in the same room.

Obstacles

Chess Pieces, Knights & Smashables

Randomly spawning chess pieces, sword-swinging knight statues, smashable stained glass and floating breakable furniture spread across the track.

Chess piece obstacle design

Down one of the corridors, chess pieces appear from the floor randomly to slow the player down, and because the meshes randomly change between a pawn and a horse shape the player has to read each one differently. Down another corridor there are knight statues that swing swords at the player, and when a swing connects it spins the player out.

The stained glass windows are one of our hero assets, inspired by Hogwarts Legacy. They act as a transition piece between inside and outside areas with a dynamic window that can be smashed through, which was really entertaining for the player to trigger. Breakable furniture also floats randomly around the map to disorient the player, and smashes to pieces when the player collides with it, slowing them down.

Knight statue attack Stained glass smash Breakable furniture
Shortcuts

Teleporting Doors

Doors placed around the map inspired by floo powder and the vanishing cabinet, some permanent and some opening at random intervals.

Teleporting doors inspired by floo powder and the vanishing cabinet

Teleporting doors are placed around the map to let players start in one area and end a bit further along. Some doors are permanently open, while others open for random intervals which makes it a bit of a challenge for the player to time their use of the door. The inspiration came directly from the Harry Potter series with its floo powder and the cabinet that let enemies teleport into the castle.

Customisation

Broom & Character

Player-picked brooms and characters in the main menu, with different brooms giving different stat boosts.

Broom and character customisation with name changer

In the main menu the player can change the mesh of both the broom and the character. Different brooms give different stat boosts, for example more acceleration, more up/down speed or a higher top speed, and the plan was for players to unlock different brooms by winning different races. A name changer sits alongside so players can put a personal touch on their racer, which also helps clear up which player is which when everyone is on split screen.

PICKUPS & ABILITIES

Nine spells the racers can pick up and use to change the course of the race

Fireball

Fireball

Given to trailing racers

A tracking projectile inspired by Mario Kart's red shell that spins the target out on impact. If it hits a wall it bounces off, meaning it can even come back and hit the racer who fired it.

Freeze

Freeze

Given to trailing racers

A short-range projectile that does a radius effect on hit and freezes any racer inside it for 5 seconds.

Bat Swarm

Bat Swarm

Given to trailing racers

Inspired by Mario Kart's squid ink, the swarm flies forward erratically and latches onto its target, pushing them left and right to make flying really difficult.

Rock Hand

Rock Hand

Used against the leader

Inspired by the giant demon hand from Doctor Strange, a rock hand appears from the ground and grabs the player in first place. They have to spam Y on the controller to break free.

Shield

Shield

10-second protection

A sphere shield around the racer inspired by Mario Kart's invincibility star and the Harry Potter Shield Charm. Blocks Freeze, Swarm and Fire and has a chance to reflect them back, but can be broken by the Rock Hand.

Boost Filler

Added from playtesting

Suggested by a playtester with minor inspiration from Mario Kart's mushroom. Instantly refills the boost bar so the player can use their boost again, right after finishing one or getting hit.

Invisibility

Invisibility

10-second stealth

Inspired by the Harry Potter invisibility cloak. The player turns transparent and cannot be tracked by Fire or Swarm spells, and can even phase through hazards like the chess pieces, the knights and any planted statues.

Statue Seed

Statue Seed

Placed behind the racer

Inspired by Mario Kart's banana. Throw a seed behind you and it grows into a statue that blocks and pushes racers back. Lasts 10 seconds, sinks back into the ground over 4 seconds, and if it gets hit by a Fireball it goes straight down.

Astral Dash

3-second super speed

Inspired by Mario Kart's bullet bill and the Apparition spell from Harry Potter. The player turns into an energy ball that automatically follows the spline at extreme speed, immune to spells and hazards, and can even break free of the Rock Hand.

DESIGN DOCUMENTS

Watch Gameplay