Arcade Drift Vehicle System ! (Code and Game Logic)

Arcade Drift Vehicle System

Hey everyone!
After trying to use Unreal’s default vehicle system without luck I’ve made my own and it should be available on the marketplace soon (hopefully).

Racing game demo

Suspension system quick demo

So what is it?

  • A simple and flexible vehicle system for Arcade like driving games.
  • Fast and easy to setup. Quickly add new vehicles, no complex materials or physics stuff to tweak for hours, just the needed parameters.
  • A Racing Game template (or a big Blueprint Tutorial)

The vehicle system

  • Core logic in C++
  • Physics based with ray casts suspension system
  • Drifting / Jumping Mechanics
  • Animation blueprint ready (wheels rotation, orientation and drifting)
  • Blueprint friendly, all state/data exposed, Blueprint implementable events for all state changes (DriftStart/End, BrakeStart/End, ReadyToDrift etc…)
  • Fully configurable
  • Debug tools (lot of info in ShowDebug command and a custom visualizer class to show suspensions, forces etc…)
  • Custom vehicle Kart Vehicle Blueprint with animations and VFXs

The racing game template

  • 100% Blueprint
  • UI Game HUD, Main Menu, Pause Menu with Resume and Restart Options. Result Menu. All UI supports Gamepad control
  • Intro Cinematic with gameplay transition
  • Checkpoint and lap logic, timers
  • Custom assets with material animations.

As a Mario Kart / oldschool racing game fan, I’ve found that getting something that feels right is actually super tricky. Getting the right amount of acceleration, adherence, turning angles, suspension feel as well as the right track/vehicle size ratio is really not easy.
I’ve tried to make this system easily configurable by getting the minimum possible number of settings while decoupling them as much as possible from one another. This means that wanting a slighly faster car does not mean spending 3 days tweaking a ton of settings and debalancing the whole game.

Right now I’m still working on cleaning up the code, fine tuning everything and improving the assets (I know the lighting sucks in the video…). If there’s anything that you see missing or would have wanted to see in this kind of system do not hesitate and tell me!

Also if you have any implementation related question, feel free to ask, I’ve spend -way too- much time on this and I’d be happy to share what I’ve leaned :slight_smile:
https://forums.unrealengine.com/core/image/gif;base64

Thanks!

looks cool, hope it get ready soon and hope also would nice some kind score system

Hey thanks for the feedback! Yes adding a score system could be nice and would not be very complicated. Almost all the state of the vehicle is exposed to BP so it would be easy to compute a score by taking into account the final time, total time / distance spent drifting or jumping etc…

Getting the right amount of acceleration, adherence, turning angles, suspension feel as well as the right track/vehicle size ratio is really not easy.

I’ve tried to make this system easily configurable by getting the minimum possible number of settings while decoupling them as much as possible from one another. This means that wanting a slighly faster car does not mean spending 3 days tweaking a ton of settings and debalancing the whole game.

any news for drift asset?

Well said sir. But any update for drift asset? looking for the same.