Skip to content

Smooth64 — Sound

Choose a tag to compare

@github-actions github-actions released this 23 Sep 07:37
2d1048a

Smooth64 — Sound

The explorer can be heard now: footsteps, jumps, flips, landings, slides, lava, and every pickup. Gamepad sticks also get a proper dead zone.

Play

Download Smooth64-Browser.zip, extract it, and open Smooth64-Play.html.
Or download the HTML file directly. Both work offline, with no setup or ROM. Sound starts after your first click, tap, or key press (a browser rule).

What's new

  • Sound effects, timed by the movement code itself. The original actions already say when to play a sound: a footstep on specific animation frames, one jump sound per takeoff, a whoosh on each flip's spin frames, a landing thud, a scrape for as long as a slide or skid lasts, a burn for as long as the lava boost. The core now reports those requests each tick (s64_sounds), and the game voices them. Nothing is guessed from the picture.
  • What you'll hear: footsteps that soften at a walk and tiptoe, a push-off and a little "hup" on every jump (rising for double and triple jumps), spin whooshes on backflips and somersaults, soft landings and heavy ground-pound impacts, the scrape of braking, turning and sliding, a wall tap you can time wall kicks to and a kick when you leave the wall, gloves catching ledges and clinking along the grates, punches and dives, bonks, a yelp and crackle in lava, and a whistle on long falls.
  • Pickups ring out: coin chimes, an arpeggio for Ember Shards, a checkpoint whoosh as the beacon lights, a fanfare for each star, and a secret jingle when the Crimson Star appears.
  • The stride matches the sound. Walking, running, and tiptoeing now plant a heel on exactly the frames the original plays its footstep, so every step sound lands on a footfall.
  • Menu → Settings → Sound effects sets the volume (0 mutes). It's saved with your other settings.
  • Gamepad stick dead zone. Both sticks now use a 15% scaled radial dead zone (the SM64 PC port's default), so a drifting stick no longer walks the explorer, turns the camera, starts the timer, or skips the intro shot. Travel beyond the zone is rescaled, so the first movement past it is still the gentlest tiptoe and full tilt still runs. Menu → Settings → Stick dead zone adjusts it from 5% to 35% if your controller needs more.

Sound sources

Every sample is CC0 (public domain, no attribution required) from Kenney: his official Godot starter kits (3D Platformer, FPS, Racing, City Builder) and the Kenney set bundled with the Python Arcade library. The two continuous textures (the slide scrape and the lava crackle) are generated in code. No Nintendo audio is used. See THIRD_PARTY.md and tools/build_sounds.py for the exact files, revisions, and checksums.

Verification

All 15 native and 52 Node tests pass. The native/WASM parity check now compares the sound requests as well as all 80 state bytes on every tick. New tests cover how sound IDs map to cues, the sprite's sync marker, sustained and released loops, volume and muting, footstep variety, stick drift and range, and heel strikes on the footstep frames. The browser check confirms footsteps and the coin chime play during real gameplay, that volume and dead zone settings persist, and that the offline file plays sound with no network requests or console errors.