Hails e7af7b77e0 Game audio: ambience, water, rolling, trick cues, footsteps, settings
New crates/skate-game/src/game_audio/ module (Bevy audio):
- Loudness rules: master 25 % by default (settings/audio.json, Master/
  Ambience/Effects rows in the GRAPHICS menu), --mute; a clip may be
  raised only to its own full-scale peak (x4 max); fades, voice and
  repeat limits; silent while the menu is open or a replay runs. Mod
  audio follows the master volume and shares the one listener.
- Per-map ambience beds; water emitters on the map's water bodies
  (fountains: moving water, canals/lakes: lapping).
- Rolling: grain speed bands by board speed and the wheels' audio
  surface (new WheelLineState::audio_surfaces in skate-core, additive),
  restarted cleanly after leaving the ground.
- Cues found from physics/animation state each tick: pop, flip/grab
  (new trick only), landing (+ weight layer by impact), board-down,
  grind (metal vs other surfaces), powerslide and foot drag (shuffled),
  push, bail tiers, splash (retail patch record 869, played with its
  layers), footsteps from foot strikes. Sample picks confirmed by ear;
  each matches a retail SPLC patch record.
- AUDIO_CUE / AUDIO_LOOP / AUDIO_EVENT log lines; SKATE_AUDIO_TRACE=1.
- Read-only helpers: physics::foot_clearance, an animation-event latch
  in AnimationInput (physics never reads it).
- skate-data example audio_surfaces (per-map audio IDs, AT= point query).
2026-10-01 17:37:56 -06:00

Rust crab riding a skateboard

Skate 3 Rust Engine

A Rust and Bevy skating project built from Skate 3 reverse-engineering research. Includes skating, tricks, grinds, offboard movement, difficulty settings and .skate map support. Gameplay parity is still a work in progress.

Play

Download Experimental. Successful main builds replace this prerelease. Choose Latest in Updates for experimental updates; Stable is the default.

Extract the Windows release ZIP and run skate3rust.exe. Select your Skate 3 Xbox 360 ISO, or select default.xex in an extracted game folder. Keep its data folder alongside it. Setup prepares the skater, animations and all disc maps, then starts University. The original scoring and session-marker HUD assets are also exported automatically during setup. No Blender, Python or Rust installation is needed. ISO extraction needs internet access. The first conversion can take a while.

Use an XInput controller to play. Escape opens graphics, difficulty and map settings. Maps can be switched without restarting the game.

Skate 3 assets are not included. Your converted files stay in the data folder beside your executable. Each freshly unpacked copy runs its own setup; it does not adopt another installation. In-place updates refresh only changed asset groups.

Build

Requires Windows, Rust with the MSVC toolchain, and LLVM installed in its default location. Run BUILD.bat to build, then PLAY.bat to launch the test world. PLAY.bat opens your saved map (University by default); use the in-game menu to switch maps, or drag a .skate file onto PLAY.bat. An XInput controller is required for gameplay; Escape opens difficulty and graphics settings.

Development builds use a prepared asset set in assets/private/ or the installed asset directory. scripts/Build-Release.ps1 builds the portable Windows package and requires Python 3.13. GitHub Actions builds main automatically; numbered releases are published separately.

Custom animations and climbing support remain available, but no custom clips are shipped. The included format-demo map is original procedural content.

Implementation notes are in docs/. Patched Bevy dependencies and their licenses are in vendor/. This is an unofficial project, not affiliated with EA.

Advanced diagnostics

Windows builds support opt-in performance timeline capture through the --trace CLI option, including optional GPU pass diagnostics.

S
Description
No description provided
Readme GPL-3.0
52 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 87%
Python 8.9%
Lua 2.6%
PowerShell 0.7%
WGSL 0.4%
Other 0.3%