Hails b495ed696f Asset pipeline: bake authored map spawns and headings
Every map's startup position and default landing zone is its baked
spawn. The old rule (upward triangle nearest the origin) put the skater
over the void on MegaPark and on the roof of Industrial Skate Park and
StartPark, because park origins sit at a corner and retail floors are
sometimes wound downward.

New map_starts.py resolves each district's start from retail data: the
world row's start locator (parks), a chosen fe_locations row for
districts with several (University career start, Industrial Haystings
Park, DownTown Rosalita Skate Park, Maloof street), or the district's
only fe_locations row. Position and heading come from the district's
global_locators records; the heading is now written into the .skate
header. Districts without an authored start fall back to geometry:
compact parks use the new ground_spawn search, city-sized districts keep
the original rule (ground_spawn put Industrial under the streets).

See docs/hails-additions/04-map-spawns.md.
2026-09-30 19:26:57 -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
51 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%