50 Hours for Better Gameplay
Before I shelved the project I wanted to get it to a state that felt like I was showing my skill set to the best degree I could within a reasonable scope. Time was a constraint, and so I decided to set aside a short amount over the course of a few weeks to just commit to the project some various improvements.

Sometimes, all it takes is a few hours to massively improve just one aspect of a games project. Especially since most of those changes are done in code.
Friction is Friction
Players will make it known when something is annoying in your game. It’s very important to take that feedback to heart. Even if realism was the target, sometimes it just reduces the fun to a degree that provides a friction with the experience. Sometimes, you need to break the laws of physics, reality or general expected behaviour, to achieve something fresh and smooth.

For example, in Hot Rod Joyride, the vehicle bodies had very high friction. This results in issues where the player could easily get their vehicle pinned by an enemy, or get spun out too easily when you tapped and enemy on their side. So I broke the expected physics; I turned down the actual friction variable on the colliders. It hammered in the cartoony aesthetic, but it also reduced the frustration that comes from getting stuck.
The Fake Enemy AI
When I mention AI in this sense, I mean traditional behavioural programming for entities. Steering behaviours is one of the hardest in the industry to pull of (besides flight, in my opinion). So I had to be careful on how I wanted to approach it. I utilized raycasts in a spindle around the vehicle, axis locked, that would mathematically estimate the final steering value based on how close each object was.

On one hand, having the AI be weighting raycasts was a smart idea, but on the other, it made it difficult to tweak to ensure their behaviours line up with the level designs and intended experience. At the end of the day, what I really wanted, was a bunch of driving idiots (for the comedy) who would sometimes steer some extra smart plays. So instead of trading the existing system for something smarter, I tweaked the mathematics to balance out their results.

Leave a Reply