Three laps, one loop, no excuses.
An arcade kart race around a tight rounded circuit with a hairpin chicane. Nail the checkpoints in order, chase the clock across three laps, and beat your best lap time. Made by Kenney as an open-source Godot starter kit with CC0 art; the race (checkpoints, laps, timer, best-lap record) was added for this port.
Made by Kenney (kenney.nl). Released under the MIT (code), CC0 (assets) license — original source.
Changes for this platform: Switched the renderer from Forward+ to Compatibility (WebGL 2) so it runs in browsers; exported with Godot 4.6.3 as a single-threaded web build; the engine runtime is served from the platform's shared /engine/godot/4.6.3/ instead of being bundled; replaced the default HTML shell with a launcher that shows a loading backdrop and calls ArcadeSDK.ready(). The starter kit ships only a driving sandbox with no goal, so this port adds a full game loop in scripts/race_manager.gd: 16 checkpoint Area3D triggers traced from the track's GridMap and placed in the car's direction of travel, order-enforced lap detection (wrong-order entries ignored), a 3-2-1-GO countdown that freezes the car, a 3-lap race with a live lap/total timer HUD, a best-lap record persisted through ArcadeSDK.storage (key 'racing-best-lap', loaded on start), a score derived from total race time (score = max(0, round(100000 - total_ms/10)), so a faster run scores higher), SDK.score/gameOver/submitScore calls at lap and race end, and a results overlay with keyboard (Enter/Space) and touch (on-screen Restart button mapped to the Enter key) restart. scripts/vehicle.gd gained a small input_locked flag (freezes steering during the countdown) and get_vehicle_transform()/reset() helpers used to return the car to the start line; the InputMap's forward/back/left/right actions are also re-asserted for the arrow keys at runtime as a defensive measure for the touch joystick shim (the kit's own project.godot already binds them). Game art, models, sounds and base driving physics are unchanged.
Comments 0
Log in to comment.