Crazy Robot Banner Image

Crazy Robot Prototype

OVERVIEW

Crazy Robot Cinematic

A custom arcade robot that can do tricks!

  • Prototype Icon

    4 Weeks (2025)

  • Person Icon

    Individual

Unreal
Delivery Driving Prototype Custom Physics Arcadey

Arcade Physics Controller

After struggling with the Chaos Vehicle plugin in UE5, I decided to create a custom vehicle controller from scratch, simulating my own suspension, lateral slip, and acceleration forces. This made it easier to control each variable for what I wanted and allowed me to make it feel more arcadey.

The colored arrows represent each of the forces being applied on each wheel at a given time, which made it much easier to not only visualize, but debug issues throughout development.

In-Depth Video Tutorial/Analysis Series ↗
View Suspension Blueprint (Function) ↗
View Lateral Slip Blueprint (Function) ↗
View Accel/Decel Blueprint (Function) ↗
View HandleForces Blueprint (Function) ↗

Build Mode

After adding some ramps and boost pads, I decided I wanted to let the player build their own level a bit. I started by having a base object class that each of the placeable items could inherit from. When entering the build mode, the player possesses a new free-movement camera and gains UI controls to place objects.

View Base Object Class Blueprint ↗

Delivery System Core

I had an idea to create a delivery quest system, and so I prototyped one with a DataTable. I had custom stats for each one that was put into a map on the game start, connecting them up to a proper interaction point (often a person). Based on the time and distance, the player would get a score.


View Delivery Map Blueprint (Function) ↗

REFLECTION

I decided to revisit my old robot friend from my capstone project when trying Unreal Engine for the first time. This time, I wanted to experiment with a more arcadey feel, rather than the realistic simulation one. To add some more fun to the arcadey feel, I took inspiration from Crazy Taxi and added some boost pads, ramps, and the ability to do tricks in the air.

Lastly, I decided to make a three-part tutorial series on YouTube, following my frustration with a lack of resources when first starting out. This also helped me to reinforce my knowledge of what I built, as well as gain great feedback from viewers on potential improvements.