Commit Graph

4 Commits

Author SHA1 Message Date
m3ultra
9844bee7ab Two mountains: Mt Coot-tha and Mt Gravatt hillclimbs on real terrain
The OSM pipeline pointed at actual mountains. Both levels ride the real
terrarium DEM (Coot-tha's range tops at 287 m, Gravatt's at 196 --
matching the survey numbers) with the real roads draped and carved over
it: Sir Samuel Griffith Drive winding up one side of town, Mount
Gravatt Outlook Drive zigzagging up the other. Race mode is 3 laps of
the mountain; the drag finder even discovered a 1080 m strip through
Mount Gravatt's suburbs (Logan Road, of course it is).

Pipeline upgrades earned along the way, all reusable:

- trace: RacePath mode now STITCHES every OSM way sharing the name into
  one chain by shared endpoints (SSG Drive is 19 segments; tracing only
  the longest produced a fraction of the route) and samples densely --
  16 points cut hairpins cross-country and gridded race starts in a
  paddock.
- 9th builder arg selects the raw-terrain texture. Bushland levels pass
  "grass" (tiled at 3 m -- 18 m tiling reads as macro-photography lawn
  blades under the car) which also enables forest fill: ~2600 extra
  gums, 65% biased to within ~150 m of roads, where the driver's eyes
  actually are.
- amenity=parking polygons are now PAVED (draped asphalt) as well as
  stocked with parked shitboxes -- a summit lookout carpark is a
  burnout pad, not a dirt patch. Both summits come ready.
- man_made mast/tower ways become tapered lattice towers with a cage
  and whip antenna, built from beams into the steel bucket. Mount
  Gravatt's telecom tower stands over its carpark.
- Levels can carry their own sky: levels/<id>/sky_<time>.jpg overrides
  the global panorama for any time of day, including day (previously
  always procedural). Both mountains ship FLUX skies with the Brisbane
  skyline on the horizon; Gravatt also has a sunset one, because John's
  reference photo demanded it.

Suite green at 11 levels. Next burnout spot: the Gateway Bridge, when
the details arrive.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 12:08:05 +10:00
m3ultra
e9717326f4 Smashable street furniture; fix levels losing every texture on rebuild
Street lamps, bollards and bins are no longer baked scenery. The builder emits
SL_/BO_/WB_ markers off the OSM nodes and game.gd spawns them as RigidBodies
with a low centre of mass, so clipping a lamp at 100 topples it instead of
driving through a painted pole. ~206 physics bodies per level (58 parked cars,
60 lamps, 88 bollards/bins), all asleep until hit. Verified by ramming one:
23.6 deg tilt, launched at 18 m/s.

Fixes a self-inflicted trap from the last commit: level_*.jpg are Godot's
extraction of the GLB's embedded textures, NOT Blender output. build_all
cleared them to avoid orphans but left level.glb.import, so Godot's cache
decided nothing had changed and never re-extracted -- queen_st_mall shipped
with 0 of its 31 textures, loading fine but rendering untextured. The .import
now goes with them.

Also confirmed the Wheel of Brisbane pivot really does turn (0.086 rad over
120 frames, 0.000 m centre drift) -- it was previously untested.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 18:53:05 +10:00
m3ultra
82dae637a1 Scenery overhaul: real OSM street furniture, FLUX texture set v2, lighting pass
Builder now uses the furniture OSM already carries (footways, lamps, benches,
bins, bollards, bus stops, crossings): raised chamfered footpaths, shopfront
bands, awnings in three fabrics, parapets, layered fig/palm trees, zebra bars,
dashed centre lines, Queen St Mall winged canopies. ACES tonemap + SSAO + fog
in game.gd. flux_texture.sh gains size/luma clamping (FLUX renders "pale" as
blown-out white); gen_textures.sh + check_textures.py manage the set. Woolies
carpark rebuilt textured, parking the real fleet. Fixes: fractional OSM layer
tag crash, zero-length-normal UV projection, blood-red mall pavers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 14:13:29 +10:00
type-two
565caa6f85 Crash Mode junctions: scripted convoys, Aftertouch, Crashbreaker, medals
9 junction events across 6 levels, auto-generated from real OSM intersections
(tools/osm_junction.py): each crossing street's ways become lane-offset convoy
streams, deterministic speeds/intervals/models -- learnable puzzles, not dice.
Menu lists CRASH JCT entries; crash -> 9s settle with camera-relative
aftertouch on the wreck and a one-shot crashbreaker shockwave (blast() on
traffic, radial impulse on debris, orange boom). Damage tally vs
bronze/silver/gold targets. Fixed zero-normal UV projection that striped
roads. Smoke test drives a full junction run to tally (k, gold).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 00:14:33 +10:00