I'm working on a simulation-esque mountain biking game in my spare time. I'm making it in Godot and am writing the simulation core in rust. I'm a regular full-stack dev in the daytime, so it's been slow going learning gamedev and working on an ambitious project. Though with how good AI tools are nowadays, I am able to make some progress.

The dream is a game where I have a controllable, real feeling bike, POV gameplay with an action cam feel, simulated dirt, and real feeling Squamish level rolls and freeride features.

I've mostly been trying to get the bike controller to feel right, as it's the most important part. Modeling the inputs (and what to input) in a way that gives the player control has proven to be quite difficult so far. I've got a decent feeling steering controller. I've found so far the best combo to be one stick controlling the rider's hips, and another controlling the lean of the bike. This gives bike body separation, realistic feeling turning, and the ability to flick the rear end in certain scenarios. To have a realistic controller there's no way to let the player control steering, since counter steering is too quick an input and isn't intuitive at all, so the steering controller has to determine the handlebar direction to make that happen and keep the bike stable.

I've been trying to model manuals and hops next, and this is even more difficult. As an avid rider myself, my best days out riding is when I'm controlling the bike like a lever with force through the bottom bracket. Everything comes from this and feels the same when riding well - pumping, jumping, manuals, hops. I've tried multiple control sets, and also different methods of making this happen programmatically with no luck yet. However, before I was applying forces through a multi body CoM tied in code to the bike rigid body. Now I'm trying using a separate player rigid body and I'm hoping this will fix my issues. I think this should give me more separation between the rider and body physics wise, and automatically give me forces against the player when braking, and in compressions.

Then I've still got much more to go to just have the concept evaluated! I want to write a dirt simulation. I found a recent papers on coupling rigid bodies to the MPM technique. I'm hoping to use this to make real feeling dirt as well. The dynamic nature of riding and the terrain is such an important part.