Three new modes, all our own code: - Pursuit (Simpsons Hit & Run's meter): smashing in cruise fills heat, at full the police hunt you. Open 250 m for 6 s to escape, get pinned 4 s to be busted. Heat decays, so picking a fight is a choice not a timer. - Drag (NFSU2's): the gearbox IS the event. The builder finds each level's longest genuinely straight run of wide road (442-628 m across the five OSM levels) and drops DragStart/DragEnd, so no level needs hand-authored coords. - Derby: five opponents in the carpark, last one running. Reuses the pursuit AI, each hunting a different car so it's a brawl not a mob. Crash damage now shows: total control-point travel drives paint dulling, roughness and a scratch layer, so scuffs and crumple can never disagree. Junction generator fixes, all found by measurement rather than inspection: - streams[:6] truncated after street A's ways, so junctions where A yielded 3+ usable ways shipped with ZERO cross traffic. Interleaved before capping; every event now has 2-4 crossing streams. - RADIUS 170 -> 95 spread the convoy over a 340 m window, so you threaded the intersection through a 20 m gap. Margaret x Edward was unwinnable: 27 convoy cars alive, zero collisions, $0. - Launch points now walk the street to exactly SPAWN_DIST and pick the busiest shared node, and _clear_spawn() unblocks a buried start. Albert x Adelaide went from $0 (drove 1 m into a building) to $91k. - build_all_junctions.sh records the street pairs, which existed nowhere before. Fixes from an adversarial review (23 confirmed findings), the worst being: - Derby could only ever be LOST: wrecked opponents un-wrecked 2.2 s later via Car._recover, so "last one running" was unreachable and the kill bounty could be farmed to the boost cap off one revived car. They now hold their wreck. - Drag reported WON to a beaten player: the AI's lookahead wrapped on a 2-point path, U-turning before the line so its distance-to-finish grew again. - The scratch layer used BLEND_MODE_MIX, whose mask defaults to white -- it replaced the paint entirely rather than scuffing it. Now MUL. - Drag on a level with no strip left the car at the origin, half-buried, unable to end. Cop spawns used an unflattened basis. Stale "WANTED" HUD text. Test harness: smoke covers all seven modes, and failures now exit instead of hanging -- a failed assert in a headless SceneTree halts the script but leaves the tree spinning, which cost 53 minutes of wall clock to notice. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
[remap]
|
|
|
|
importer="scene"
|
|
importer_version=1
|
|
type="PackedScene"
|
|
uid="uid://dw52qeb8csi30"
|
|
path="res://.godot/imported/level.glb-17af9cdeb05fd15a816097b7ae0fb96c.scn"
|
|
|
|
[deps]
|
|
|
|
source_file="res://levels/southbank/level.glb"
|
|
dest_files=["res://.godot/imported/level.glb-17af9cdeb05fd15a816097b7ae0fb96c.scn"]
|
|
|
|
[params]
|
|
|
|
nodes/root_type=""
|
|
nodes/root_name=""
|
|
nodes/root_script=null
|
|
mesh_library/use_node_names_as_mesh_names=false
|
|
array_mesh/deduplicate_surfaces=true
|
|
nodes/apply_root_scale=true
|
|
nodes/root_scale=1.0
|
|
nodes/import_as_skeleton_bones=false
|
|
nodes/use_name_suffixes=true
|
|
nodes/use_node_type_suffixes=true
|
|
meshes/ensure_tangents=true
|
|
meshes/generate_lods=true
|
|
meshes/create_shadow_meshes=true
|
|
meshes/light_baking=1
|
|
meshes/lightmap_texel_size=0.2
|
|
meshes/force_disable_compression=false
|
|
skins/use_named_skins=true
|
|
animation/import=true
|
|
animation/fps=30
|
|
animation/trimming=false
|
|
animation/remove_immutable_tracks=true
|
|
animation/import_rest_as_RESET=false
|
|
import_script/path=""
|
|
materials/extract=0
|
|
materials/extract_format=0
|
|
materials/extract_path=""
|
|
_subresources={}
|
|
gltf/naming_version=2
|
|
gltf/embedded_image_handling=1
|
|
gltf/texture_map_mode=1
|