The Racing Spectacle
Take on your friends in a head-to-head battle through the tracks in this online multiplayer racing game.

Team: Solo Project
Role: Game & Level Designer, Programmer, 3D Animator, UI/UX Designer
Timeline: July 2021 – September 2021 (15 Weeks)
Tools Used: Unity Engine (C#), Adobe Photoshop, Mixamo, Sketchfab
Platform: PC, Android​​​​​​​
Project Goals
1. Creating a smooth multiplayer experience.
2. Giving the player various traversal mechanics.
3. Making an item shop to increase the game's replayability.
4. Learning to program car mechanics from scratch.
5. Creating multiple version of the game for PC and Android.


Gameplay
Early Version Mobile

Final Version Mobile

F1 Edition PC
Level Design

Core Design Challenges
During early development, I had a bit of an challenge with the level design process of the game. These challenges were:

1. Constructing a racetrack.
2. Adding checkpoints to respawn cars if they become stuck.
3. Adding weather conditions to the map.​​​​​​​
How did I tackle these challenges? 
1. I set up a checkpoint system so that the car would respawn if it got stuck for more than 5 seconds.
2. I added day, sunset, and night time to the level to give the environment a more authentic feel.
3. Added more obstacles and barriers to the race course to make the game more chaotic.

Top Down View: Level Flow

Environment Design
Game Design

Core Mechanics
1. Traversal
When I was first building the game for PCs, I thought it could be made for mobile devices as well. So, through that process, I found that there were way more mechanics that could be used on phones than on PCs. I included 3 types of control in the final build:
1. Gyroscope
2. Joystick
3. Steering Wheel​​​​​​​
I placed multiple cameras that the player could switch across to create unique racing experiences. I also created multiple animations to handle the players' arm movements with the steering wheel. Along with all that, I also designed a nitrous boost mechanism.
2. AI
All of the in-game car AI was built by me from scratch. I developed a waypoint system to guide the AI around each lap, and I designed a checkpoint/respawn system to get them back to their last position on track if they crashed.​​​​​​​
3. Multiplayer
With the help of the Photon Engine, I created my first multiplayer experience in a game. First, I thought of adding bots but went against the idea as I thought the player should be able to play online with their friends. All the players have to do is create a room and send the room id to their friends to join.
4. Progression
As a player starts competing in more races, he is rewarded with in-game currency that he can use to unlock faster and better cars.
I've programmed all the code for the game, including the player car mechanics, the AI cars, the game progression system, and the multiplayer networking aspect with the Photon Engine. The opponents were created via a waypoint system, in which a path was formed on the track, which the car's artificial intelligence would then follow and react to accordingly. The in-game currency works on the basis of the player’s final position at the end of each race, which adds to the player prefs to create a progression system.
UI/UX Design

The Basics
At first, I experimented a lot with the UI designs. I added a minimap, a leaderboard, a rear camera, a speedometer, and the standard control icons. But then I thought the screen was getting too crowded, so I removed most of the icons and gave the player an option to turn them on from the pause menu.

Menu UI Design
Outcomes

What did I learn?
1. Creating a multiplayer game using the Photon Engine.
2. Programming car physics from scratch.
3. Developing car AI using waypoint system.
4. Using gyroscope controls on mobile devices.
5. Constructing a race track.

You may also like

Back to Top