HardDriverz
Engine: Unreal Engine 5.5.4 (Blueprint Only)
Platform: PC
Team Size: 54
Role: Programmer
Development time: 3 months (2025/02~2025/05)
HardDriverz is a futuristic arcade racer where players must race against each other and competitive AI in a fictional racing league to determine the best racer. The game has 3 unique and retro-techno tracks. Players can customize their karts to compete through fun, twisty, futuristic tracks that defy gravity. Pick different cool, unique power-ups that will help you get ahead of other racers as you compete to be the fastest racer.
Designed and implemented steering and drifting mechanics with simplified physics model, creating designer-friendly parameters and providing comprehensive documentation and training
Developed road generation tools using Unreal PCG Framework fir spline-based mesh creation (road surfaces, railings, intersections) and built custom editor utilities for efficient spline data manipulation
Engineered AI manager for 4-7 opponents with frame-distributed logic for performance optimization, implemented rubber banding system, and created adaptive driving algorithms for spline-based navigation
Simplified Physics Model
Debug Draw for Trajectory and Turning Radius
Simplify physics simulation when appropriate
Parameters should be translated into designer language
Complex behavior should come from layering simple systems
Keep parameters independent
I implement lateral friction, steering, and drifting of car physics.
Spline Road Blueprint
PCG Graph
Editor Utility (Copy or Reverse Spline Points)
Control the update frequency (frequency to perceive the environment) of each AI controller to solve performance issues
Change the top speed multiplier of each AI controller according to the rubber-band system
Generate a capsule collider on the parent actor with special collision preset which will block AIPerception trace.
AI controller will read the data from raycasted AI Info component.
Perception Layer
Query Spline Point Transformation at a certain distance ahead
Raycast to check obstacle in front of the AI car
Decision Layer
Calculate the throttle, steer, brake, drift according to the spline and the obstacle detection result
Check if the car is stuck somewhere, then decide whether to reverse.
Choose the fork in the road
Use a item or honk
Choose random horizontal offset from road center
Action Layer
Apply the input to the pawn
Power-Based Rubber Banding
Rubber Banding Parameters
Automated AI agents enable efficient track and item validation in multiplayer racing games
Real-time AI state visualization facilitates intuitive debugging and precise tuning