top of page

Rabid Racers

Rabid racers is a kart racing game that i worked on with around 20 other University students.

We spent 7 weeks planning and developing a game on unreal engine (using remote learning due to the Covid-19 situation)

Rabid racers is a fun kart racing game that is inspired by Crash team racing and Mario kart.

The game features a Time trial mode and multiple characters with different stats that you can choose from an an amazingly designed map.

Features i created:

During the 7 weeks i worked as part of the Programming and Design team.

Initially we planned to have a time trial mode and a local multiplayer split screen race mode. I did work on developing both but nearing the end of the deadline we decided to leave the local multiplayer mode as it was not fully polished and to the level we wanted it to be.

Time trial mode:

The time trial mode was heavily inspired by crash team racing's relic mode . I had to restart the whole game mode that i made in the initial 2 weeks of development since it was not like we wanted it to be.

To get the Time trial mode to work i also worked on various other blueprints to go with it , such as the time crates ( 3 different crates that pause the timer for either 1 second 2 seconds or 3 seconds) this works using a simple cast to the game mode because that is where the main game timer was stored and it stops the timer for the respective time.

Mini-Map:

The mini map was a pretty simple aspect of the game but it was needed as every kart racing game has a mini map. The mini map uses a separate camera that was put onto the kart blueprint and uses a 2d scene capture component and material .

Checkpoint System / Lapping System:

The checkpoint system was an aspect that had to go through many variations to make sure it can not be exploited the purpose of this was to make sure the player can not cheat the system and keep going through a finish line collision and end the game.

Instead i used a 3 checkpoint system that tracked the progress of the player and would not increment a lap until the user had gone through all three in the right order. These checkpoints also checked if the player was going the wrong way using a box collision that was put ahead of the player and would trigger an event to display a Wrong way UI if the player crosses it and then goes backwards or the wrong way.

Once 3 laps are complete the game toggles a Finished Ui that shows Game time , best time and displays a new high score text if high score is beaten. The Ui also contains 2 buttons that allow player to restart or go back to menu.

Respawn System:

The respawn system is for when the player falls into a pit of lava or if they want to go back to the last checkpoint. The  respawn system works through 2 main blueprints. The deathpoint which acts as a kill volume but instead of destroying the actor it teleports it to the last saved checkpoint position. the second is a checkpoint blueprint that is scattered on the map in various places. The player can re spawn themselves using a keybind as well.

Initially there was a 3 second re spawn process but that seemed to be very slow and also would be very buggy so it was changed to be 0.1 seconds long instead.

When the player dies or clicks the keybind a Re spawning text is shown for 2 seconds and the player is taken to the last save point. All the checkpoint positions etc are saved in a save game slot and that is how both blueprints mainly communicate with each other.

This is how the respawn point saves the values.

Main Game HUD:

The main game hud was a very simple looking Ui but getting it to work with all the different values etc was a challenge for me at first.

The hud shows the minimap , the lap count and the timer. and has a few ui aspects that are toggled according to the in game events, such as the 3 second countdown in the start and when a time crate is collected.The goal was to keep the Ui clean and simple so it is easy to understand yet has most details that are needed to be known.

Main Menu ,Settings Menu:

The main menu had a couple of variants in the start but what we ended with is what i was very proud of , getting controller support on it was a learning curve.

Making it so that you could seamlessly navigate using controller and go to different menu screens was a long process as well as getting button interaction sounds.

The main menu was very simple and had everything that the TRC checklist required such as a quit game , control screen , settings screen and a button to go to the main gamemode, prompt when quitting game.

The settings menu was something i implemented since i had a little free time, it lets the user change graphics settings and saves them as well so it carries on until the game runs.

Player Selection UI:

The player selection UI is something i learnt how to do during my FYP game so it was fairly simple all it does is displays what character is selected using a variable that is saved in the main game instance. The same variable is then used to spawn the character that corresponds to the integer selected.

Pause Ui and all other UI aspects:

The pause Ui was another simple Ui i made that just pauses the game and then creates a widget that shows 2 buttons resume and back to menu. The back to menu has a are you sure prompt just so there are no accidental clicks.The finished UI screen was a very simple screen but it also has  a few checks done to determine the high score.

Local multiplayer Gamemode (not in game):

Since it was my first time trying to make a game involving vehicles it was a learning experience so there were delays in some places.

The gamemode was mainly complete and had a positioning system that would use distance travelled on the spline and the last checkpoint crossed to determine what car is ahead. I was not able to fully make this work or test it due to not being able to test with multiple people and other restrictions.

But the UI had been completed and the main game loop was almost done as well. They were all made using my time trial mode since the base of it was similar.

 

bottom of page