Locomotion
Locomotion is a party racer created with the viral qualities seen in other games in mind. Players join four-person lobbies with friends or other people online, then race around a track and receive items that serve one of two purposes.
Normal items, such as Nitro Sneakers, give the player a speed boost. Obstacle items, such as the Pop-Up Pillar, stay on the map for the rest of the race. The pillar launches players into the air when they pass over it, but mistiming it can stop them completely. This creates a crazy dynamic: every later lap has another permanent obstacle to deal with.
The game is intended to create chaos while also giving players interesting layers of strategy to consider as they play.
My contribution
- Created the entire multiplayer system from scratch and integrated it with our other programmers’ systems so everything replicates between the server and clients.
- Wrote the game design document, which the team uses as an important reference for our design approach.
- Worked on preliminary UI and race systems, including starting and stopping races, counting laps and checkpoints, and respawning players who fall off the map.
Multiplayer and lobby flow
My main focus on this project was creating the entire multiplayer system. I built it from scratch and fully integrated it with our other programmers’ systems so everything replicates between the server and clients.
Players start in their own main-menu map. Clicking ‘Join Game’ starts a search for an existing server. The system runs several checks to give the player the opportunity to join an existing lobby before creating a new server.
If a lobby is available, the player joins it. Otherwise, the game creates a new server and brings the player to a lobby screen showing that they are waiting for more players. A countdown begins when the lobby reaches the minimum of two players. More players can join during the countdown, up to a maximum of four. If the lobby reaches four players, the game starts before the countdown ends.
When the countdown ends, or the lobby fills, the players move together into the game-session map. They see a loading screen until everyone has fully loaded, and then the race begins.
HUD and UI
I have done significant work on the HUD and UI, though it is all still at the prototype stage. The main-menu and lobby interfaces include basic widget animations that give the game a professional touch, even while the designs are still prototypes.
The in-game UI uses designs from our artists, with 3D assets creating a 2D look. Once these assets are complete, they will help achieve the retro style we are aiming for. During a race, players can see their position relative to other players, their current item, and the lap time.
Currently, a race lasts two minutes, and players score points for each checkpoint they reach. Our only playable map has eight checkpoints per lap, so each completed lap earns eight points. The player with the most points at the end wins. After the race, players see the final leaderboard and can return to the main menu.
Game design documentation
I also created the game design document for our project. The team uses it as an important reference for our design approach.