ShitboxInfinity/README.md
type-two 1c0b7efb32 Engine v0: Godot 4.6 data-driven arcade racer scaffold
Drop-in content: cars/<id>/stats.tres (+optional car.glb), levels/<id>/level.glb
or .tscn with a Spawn marker. Raycast arcade car (boost, drift, drift-earns-boost),
chase cam, HUD, menu built from registry scan. Placeholder Woolies carpark with
shuntable parked cars. Headless smoke test + windowed screenshot harness.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 21:03:45 +10:00

1.7 KiB

Burnout Infinity: Shitbox

Burnout 3-style arcade racer, Aussie shitboxes, Woolies carparks. Godot 4.6 + Blender, native Apple Silicon.

Run

/Applications/Godot.app/Contents/MacOS/Godot --path .

Controls: WASD/arrows drive, Shift drift, Space boost (earn it by drifting), R reset, Esc menu.

Add a car

Make a folder cars/<id>/ containing stats.tres:

[gd_resource type="Resource" script_class="CarStats" load_steps=2 format=3]

[ext_resource type="Script" path="res://src/car_stats.gd" id="1"]

[resource]
script = ExtResource("1")
display_name = "Datto 120Y"
model_path = "res://cars/datto_120y/car.glb"
engine_power = 12.0
mass = 900.0
grip = 6.5

Model is optional — no car.glb means you drive the placeholder box. Export the GLB from Blender with the car facing -Y (Blender forward), roughly 1.8 x 1.4 x 4.2 m, origin at the centre, wheels-bottom around z = -0.5.

Add a level

Make a folder levels/<id>/ containing level.glb (or level.tscn). Blender convention:

  • Objects that should be solid: suffix the object name with -col (Godot generates collision on import).
  • Add an Empty named Spawn where the car starts (its -Y/forward axis = drive direction).
  • Export scene as glTF Binary to levels/<id>/level.glb. Done — it appears in the menu.

Tests

/Applications/Godot.app/Contents/MacOS/Godot --headless --path . --import
/Applications/Godot.app/Contents/MacOS/Godot --headless --path . --script tests/smoke.gd

Design doc

docs/BurnoutInfinityShitbox.pdf — research report on the original game. The build order the report implies: 1) handling + boost loop (done, tune forever), 2) crash/damage + takedowns, 3) traffic, 4) Crash Mode in the carpark, 5) race modes + AI.