Heat: credit the verge to the road, and block the whole corridor
Driving alongside a road accrued no heat at all, so the dominant strategy was to never actually use one. Heat is now credited to any road within 12m of the centreline, tarmac or verge. The cutoff is hard rather than tapered: a taper leaves a gradient to optimise along, where sitting at 80% of the catchment costs 20% of the heat. A cliff edge means you either use the route or genuinely leave it. 12m is a balance, not a guess. It puts ~7.5m of verge past the kerb — two car widths, so hugging the shoulder gains nothing — while leaving 57% of the map off-route. At 20m two thirds of the map counts as on-route, heat becomes unavoidable everywhere, and choosing a different route stops meaning anything. Barricades now span the full corridor for the same reason. Stopping at the kerb left them free to round on the verge at speed. Junction heat is still deferred; a point near a junction is credited to the nearest segment. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+7
-1
@@ -10,6 +10,8 @@ function bar(value: number): string {
|
||||
|
||||
export interface HeatReadout {
|
||||
segmentId: number | null;
|
||||
/** False while on the verge — still counts as using the road. */
|
||||
onTarmac: boolean;
|
||||
value: number;
|
||||
level: HeatLevel | null;
|
||||
hottest: number;
|
||||
@@ -33,7 +35,11 @@ export function createHud(seed: number) {
|
||||
'',
|
||||
// Debug only. The real game signals heat through the road itself —
|
||||
// see the design brief: no numeric meter ships.
|
||||
`[debug] road ${heat.segmentId === null ? 'off-road' : `#${heat.segmentId}`}`,
|
||||
`[debug] road ${
|
||||
heat.segmentId === null
|
||||
? 'off-route'
|
||||
: `#${heat.segmentId} ${heat.onTarmac ? '(on road)' : '(alongside)'}`
|
||||
}`,
|
||||
`[debug] heat ${bar(heat.value)} ${heat.level ?? '—'}`,
|
||||
`[debug] hottest ${bar(heat.hottest)}`,
|
||||
'',
|
||||
|
||||
Reference in New Issue
Block a user