DETOUR / DEVELOPMENT LOG
Day 6 — How I Balanced Fuel and Difficulty Without Adding More Features
Balancing fuel consumption, testing shortcut and detour extremes, and making hazards create meaningful decisions.
Originally published on itch.io ↗. Reproduced here from the original post.
I sat down for Day 6 thinking I was going to finish a small visual cleanup, playtest for a little while, and then finally start working on audio.
That is not what happened.
Instead, I discovered that two of the systems I thought were basically finished, fuel and difficulty, were not really doing their jobs yet.
So, Day 6 became a balancing day.
Not a flashy one.
No giant new mechanic. No dramatic visual overhaul. No massive feature to show off.
Just a lot of:
play → notice something feels wrong → change one number → play again
And by the end of the night, I was tired enough that I managed to break some perfectly functional code while trying to make the game harder.
Game development.
First: Finishing Yesterday’s Debris
I deliberately stopped Day 5 with one unfinished thing.
The new fallen-debris obstacle worked, but its LightOccluder2D was throwing a huge shadow across the road.
The shadow was more noticeable than the obstacle itself.
That wasn’t what I wanted.
So, I started Day 6 by shrinking the occluder so it only covered the central portion of the main plank.

The difference was small in the editor, but much better in motion.
The debris still catches the headlights and casts a shadow, but now the shadow supports the object instead of becoming the object.

That was enough.
I called the debris finished and moved on.
Then I Realized Fuel Barely Mattered
While testing the complete obstacle set, I noticed something I should have noticed earlier:
My fuel gauge didn’t seem to do much.
The range number would sit around the same value for most of the run, and collecting a green fuel pickup barely appeared to change anything.
At first, I thought the fuel system might simply be broken.
It wasn’t.
The problem was the balance.
The car was burning fuel correctly.
The pickups were adding fuel correctly.
But the original numbers meant the player was barely consuming anything before another fuel can appeared.
At one point, fuel pickups were spawning every:
5 seconds
Meanwhile, the player had only burned a few units of fuel in that time.
Then a pickup worth:
+15 fuel
would appear.
So, the game was effectively doing this:
100
↓
97
↓
pickup
↓
100
Again.
And again.
And again.
Of course, fuel didn’t feel important.
Change One Variable at a Time
This became today’s main lesson.
When multiple systems interact, changing several values at once makes it almost impossible to know which change actually helped.
So, I started doing controlled tests.
I increased fuel consumption.
I increased the time between fuel pickups.
Then I ran specific routes to see what happened.
The fuel timer eventually went from:
5 seconds
to:
20 seconds
and then later:
35 seconds
Fuel consumption also went through several tests before settling around:
2 fuel per mile
The pickup remained:
+15 fuel
That combination started producing something much more interesting.
Testing the Extremes
Rather than immediately doing normal runs, I tested the two extreme strategies.
All shortcuts
The shortcut is:
6 MI
ROUGH
The idea is simple:
You save fuel and time but expose the car to more danger.
With the new fuel settings, an all-shortcut run could reach home without needing fuel pickups at all.
That is actually okay.
The shortcut should be fuel-efficient.
The problem was that I also made it home without taking any damage.
Which meant the “ROUGH” part wasn’t really doing enough.
All detours
The detour is:
14 MI
CLEAR
Longer.
Safer.
More expensive.
When fuel consumption was too high, this happened:

I collected three fuel cans and still ran out around the third junction.
That wasn’t tension.
That was just mathematically punishing the player for choosing the safe road.
So, I backed fuel consumption down and tested again.
The next all-detour run required four fuel pickups, but I actually made it home with roughly 12–13 miles of range remaining.
That felt much closer.
The safe route was survivable, but fuel suddenly mattered.
Exactly what I wanted.
The Mixed Run Finally Felt Like a Resource Game
After that, I played normally.
I stopped deliberately choosing one route type and instead tried to make decisions based on the current state of the car.
With the fuel timer increased to 35 seconds, pickups became much rarer.
A mixed run ended with roughly:
17 MI RANGE
1–2 fuel pickups collected
0 damage

The fuel side finally felt pretty good.
I was watching the number.
I cared when a fuel can appear.
I understood why the longer route cost me something.
So, I stopped adjusting fuel.
At some point, you have to stop tuning the thing that is working and move on to the thing that isn’t.
The Real Problem Was Difficulty
That mixed run revealed the next issue:
I still wasn’t taking damage.
The shortcut was spawning hazards faster than the detour, but each individual obstacle was still fairly easy to avoid.
So instead of making hitboxes larger or making the car harder to control, I tried something more interesting:
Paired hazards
On shortcut routes, some obstacle spawns can now create two hazards at once.
Instead of:
[ ][ ][X][ ][ ]
you might get:
[X][ ][X][ ][ ]
or:
[ ][X][ ][ ][X]
There are still plenty of safe lanes.
The game isn’t trying to trap you.
But now the player has to identify a gap instead of simply steering away from one object.
I started with about a 35% chance of paired hazards.
Then increased it to roughly 55%.
The result was immediately more interesting.
There were actual close calls.
I had to pay attention.
But I noticed another problem.
I Could Still Camp in One Lane
During an entire all-shortcut run, I barely left the left side of the road.
I finished with:
No fuel pickups
No damage
All shortcuts
There had been plenty of close calls.
But if I could survive simply by choosing a side of the road and staying there, the obstacle system still wasn’t making me react enough.
So, the next experiment was to occasionally let one hazard target the lane closest to the player’s current position.
Not constantly.
Not unfairly.
Just often enough to say:
You’ve been sitting there for a while. Move.
The obstacle still spawns far ahead.
The player still has several open lanes.
The game is simply creating a reason to steer.
And Then I Got Tired
This is where Day 6 started going downhill.
I added the new lane-pressure logic.
Then I broke it.
The idea was fine.
The implementation ended up with some bad indentation and variable-scope problems.
I also discovered some old, duplicated route-timing code that was quietly overriding newer balancing values.
So instead of continuing to pile changes onto tired code, I cleaned that up and stopped. This was probably the correct decision.
Again.
Apparently, that is becoming a theme of this jam.
What I Actually Learned Today
Day 6 didn’t produce a dramatic new screenshot.
But it taught me a lot about balancing a small game.
1. A system can work technically and still fail as gameplay
The fuel code wasn’t broken.
The numbers were.
That distinction matters.
2. Test extreme strategies
Running:
ALL SHORTCUTS
and:
ALL DETOURS
showed problems much faster than random playtesting would have.
If both extremes behave reasonably, mixed play becomes much easier to tune.
3. Difficulty should create decisions
I could have made the obstacles faster.
Or bigger.
Or made the car harder to steer.
Instead, paired hazards made the road more interesting because they forced me to choose a gap. That’s a better kind of difficulty.
4. Don’t keep tuning the system that finally works
Once fuel started producing meaningful decisions, I stopped touching it.
There is always another decimal place you can adjust.
That does not mean you should.
5. Stop coding when your brain stops cooperating
Eventually I reached the point where I was making mistakes faster than I was fixing them.
That’s usually a pretty good indication that tomorrow’s version of me should take over.
Current Balance
As of the end of Day 6, the game is roughly sitting here:
Fuel consumption: 2 fuel / mile
Fuel pickup: +15
Fuel spawn interval: 35 seconds
Shortcut:
6 miles
fast hazard spawning
frequent paired hazards
little/no fuel
Detour:
14 miles
slower hazard spawning
mostly single hazards
better chance of finding fuel
The numbers will probably still move before release.
But the overall tradeoff is finally starting to make sense:
Shortcut: save fuel, risk the car. Detour: save the car, risk the fuel.
That’s the game I was trying to build in the first place.
Day 6 Progress
Not every development day needs a massive feature list.
Today I:
- finished the debris lighting
- verified the full hazard set
- diagnosed the fuel system
- rebalanced fuel consumption
- reduced fuel pickup frequency
- tested all-shortcut runs
- tested all-detour runs
- tested normal mixed runs
- increased shortcut difficulty
- added paired hazards
- started anti-lane-camping logic
- cleaned up some old route-balancing code
- got too tired and stopped
Looking at that list now, I suppose I did more than it felt like I did.
Tomorrow, I want to finish the shortcut difficulty pass, run a few clean full-game tests, and, unless the game gives me another surprise, finally start working on audio.
For real this time.