Rapid Ride Fight

Game Design
Summary
  • Genre:
  • Engine:
  • Team Size:

  • MOBA Capture-The-Flag
  • Custom 3D Engine (C++/C#)
  • 10 (8 Programmers, 2 Designers)
Project Overview
Rapid Ride Fight is a MOBA (Multiplayer Online Battle Arena) boat fighting game set in various locations of flooded Singapore.

Players can attempt to capture the opponent's flag, destroy their boats or perform tricks to score points for their team. The team with the highest points at the end of 5 mins wins the match.

Players can also pickup EXP canisters to level up and obtain new abilities, allowing them to specialize in a role within their team. Split into 2 teams of 4, up to 8 players can battle at once, with or without AI.

The initial 2 months were used for prototyping in Unreal Engine while the technical team built the custom engine's foundation and the rest of the time was spent developing the game and other advanced features in the custom engine itself.
My Contributions
As the design lead, I directed the following aspects of the game:
  • Prototype
  • Level Design and Metrics
  • Game Concept, Narrative and Theme
  • Game Mechanics
Additionally, I worked with the programmers to implement the various game mechanics and systems through C# Scripting supported in the custom engine. I also implemented the custom engine's audio pipeline through the use of FMOD's library, allowing FMOD Studio to be used for the audio purposes.
Curating and creation of all music and SFX were also handled by me.
  • Development Duration:
  • Platform:

  • 6~7 mths (Sept 2021 - April 2022)
  • Windows
World building concept poster for the game's initial idea
Design Intentions
The game is designed to make full use of the team's capabilities and project duration. Without artists on the team, we decided that a racing game on water would minimize much of the models and animation needed. This is due to the fact that the water level would cover the bottom half of the environment and boats do not really require animations. I understand that this places a lot of responsibilities on the technical team so the idea was discussed and I ensured that they're interested and comfortable with taking on water simulation, networking and other technical feats.

Capture-The-Flag (CTF) style of gameplay was also chosen for the same reason of minimizing workload as they are established game modes that have simple levels yet deliver amazing gameplay. This will give us more time to polish up our game mechanics, balancing and game feel.

The project also had certain pillars that were essential to the design of the game: Boat Driving & Combat. Hence, the focus was to make the driving and the combat experience rather satisfying. To do that, we held gaming sessions at the start of the project for racing and CTF games. Then, we collected feedback from the team to understand what makes those games feel great and what makes them feel frustrating. This allows us to prioritise features that bring more value to the project.

Other than that, the team wanted to create an exciting game with a lot of action involved.
Problems Faced
During the prototype phase, we found it difficult to create a sense of speed with a small arena. Players are able to reach to the other side of the map in 15 seconds and we cannot afford to make the map bigger with the limited amount of assets that we have. Neither do we want players to take too long to score. I tried fooling the players with a fake speedometer but it wasn't enough. Players easily realize that it doesn't match with what they're looking at.

Another difficulty while creating the prototype was implementing the networking aspect. While I was proficient in programming, I was unfamiliar with  Unreal Engine's networking pipeline. Although the networking was done in the prototype in the end, it wasn't usable as it had severe lag issues.

While working with the custom engine, my team faced issues with developing the AI and certain mechanics such as flag capturing and homing missiles in the game. This slowed down the progress of the project and there were concerns whether it can be done. I've also gotten feedback through playtests that the world felt static (mainly due to a lack of animation) as well as lack of teamplay and micro goals, decisions, and choices. This is because initially, it was purely a CTF game without any progression. Players only had the ability to boost and drift, and no level gimmicks to interact with besides slopes. It was basically a race. While there was a choice to destroy the opponents' boats, there was little incentive to do so.
Mine ability in the prototype (Removed)
Simple AI behaviour flowchart for Rapid Ride Fight
Solutions
To create a sense of speed, I looked into racing games such as Midnight Club and Forza Horizon to find out the different elements that contribute to a sense of speed. What I found out was that camera lag and audio made the biggest difference. Additional audio other than the engine such as wind blowing, "whooshes" when passing by props and 3D sounds help players gauge the speed and it can be exaggerated easily. Other elements that helped was making sure that there were many props and particles near the players constantly, motion blur, particles effects and narrower or crowded paths. Having props and particles nearby gives the illusion of shorter relative distances, which also means the players past by them faster. The other elements exaggerate this effect.

To combat the lack of networking in the prototype, I focused on other aspects of the game such as the level design and controls. Ensuring that these are all well defined gave me more time to test the mechanics later on when the networking is ready in the custom engine.
I also made playable AI as an alternative using Unreal Engine's behaviour trees so that playtests as close to a multiplayer mode as possible can still be done, albeit faked.

My team may have difficulties with certain technical aspects but I always have backup plans in my designs so if a feature fails to be developed, there can be an alternative. I also trust my team to deliver so I gave more time for them to complete their tasks. This allowed the AI to be developed and instead of designing a complicated AI behaviour, I let go of the AI and focused on the multiplayer aspect, since the networking developer was advancing quite well. I provided the AI developer with a simple behaviour flowchart and forget about having an AI editor in the custom engine. This reduced the AI's technical complexity and lessened the burden on the developer, allowing him to complete the AI without making the AI too simple-minded.

After receiving the feedback from the playtests, I held a meeting with the team to discuss about the issues we have and provided them with various solutions. To combat progression and teamplay, solutions ranged from having unlockable global speeds like Mario Kart's CC tiers to  point-based scoring to a limited levelling system similar to a battle pass system. Through the discussion, my team members allowed me to open my eyes to fresh ideas and little changes that improved the gameplay experience overall. These include allowing flag scoring only when there's a flag in base, boat flipping and an in-game levelling system.
Main Menu
Game Objective
Post-Mortem
I think the result was a decent reflection of the game concept but not without many rough edges.

In hindsight, a CTF combat-based vehicular game already had conflicting dynamics amongst each other where one would benefit from bigger open spaces for projectiles and skillshots, the other prefers long narrow roads to keep it exciting. Combat would also benefit from having covers but a vehicular game encourages players to keep moving as sharp turns are difficult to execute. There were also a few missing elements that was in the initial concept that was left out of the game such as traffic and flag dropping, which would enhance both the combat and driving experience as well as divert players to other areas of the map.

Looking at the result thus far, the features were definitely ambitious so I am happy with the features we have in the end, even if some others were left out. However, I wished we could have polished the UI and game feel even more as it is looking a little messy as of now. And with the greed in my heart, I also wished the world building could have been more convincing but I know without artists, it was almost impossible to pull off. Nonetheless, I am grateful that the team trusted each other and stuck with each other till the end, working as hard as they could, to achieve something so amazing; a product that couldn't have been done alone.
Additional Screenshots