Skip to content
swaxPublic

About

SSX Collaborative Map Editor. Build and play maps together in the browser, mobile, and VR.

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

1 watching

Forks

Repository files navigation

The Slopesmith mark: an anvil set into a mountain

OpenSlope

Build and ride SSX Tricky-compatible maps—including entirely original courses—together, from almost any device.
Shape a mountain with friends in the browser, then ride it on a desktop, a phone, or a standalone Quest.

Website: slopesmith.com Verify workflow status Play on: Quest (WebXR), desktop, mobile Node.js 24 Built with Three.js License: Apache-2.0 and GPL-3.0-only, by component Discord YouTube: watch it ride

Join the OpenSlope Discord to meet other course creators, get help, share original mountains, and discuss development.

Author in the browser Test-ride without exporting
An authored course open in Slopesmith A course being ridden in Slopesmith

Note

Independent and unofficial. OpenSlope ships no retail game content, and original courses need no game disc. LEGAL.md sets out what that means, and how to reach us if you hold rights in something you believe this repository carries.


Contents


What is OpenSlope?

At the center of OpenSlope is Slopesmith, a collaborative, self-hosted browser editor and riding space. Shape a mountain together, test-ride it, and see one another live with optional voice chat. It runs on desktop and mobile browsers and directly on a standalone Quest through WebXR—no native client or PC streaming required. The Slopesmith handbook at slopesmith.com has illustrated guides to the editor, shaping terrain, and taking a test ride.

OpenSlope also includes the interoperability tools and research needed to move courses between runtimes. Author from scratch, or convert data locally from a user-supplied SSX Tricky disc image where making and using that image is permitted by applicable law. Both routes produce the same inspectable map folder for use in the browser, glTF and Unity workflows, or repacking for PCSX2 and PS2 hardware. The pipeline is backward-compatible with SSX Tricky without limiting new courses to what the original game could do.

See it in action

Watch on YouTube:

Create and collaborate

  • Author together. Invite people to a private server, edit shared projects with durable revisions and conflict handling, and control access with roles and per-mountain permissions.
  • Build a complete course in the browser. Shape Bézier terrain, paint ride surfaces, and place props, lights, rails, pickups, audio, weather, and effects without leaving Slopesmith.
  • Generate art when you need it. Describe seamless terrain textures, transitions, decals, or a textured 3D prop and add it to the open mountain using your own fal.ai key. Slopesmith records model provenance; see texture generation and prop generation.
  • Bring your own rider. Choose a built-in character, add a compatible GLB, or import a Mixamo FBX into the server-wide custom avatar library.
  • Hang out while you make and ride. Add opt-in, self-hosted voice chat, and use the shared Jukebox to watch a synchronized YouTube queue through YouTube's embedded player.

Play on the hardware you have

  • Standalone Quest. Open a Slopesmith site in the headset and enter WebXR. Riding, physics, and rendering happen locally, with tracked head and hands, seated or room-scale play, body calibration, flight, first/third person, and in-headset performance controls.
  • Phones and tablets. Ride full-screen with touch controls designed for landscape play, or attach any standard Web Gamepad device exposed by the browser—including Backbone and MFi controllers on iOS—and use the same board controls as desktop.
  • Desktop and laptop. Use keyboard and mouse or a standard game controller; no separate client is required.

The renderer targets constrained standalone hardware. The measured Quest 3 reference profile holds 60 fps at 1.5× render scale with anti-aliasing; the ride and performance guide covers the profile, profiler, and quality controls.

Compatibility without being a port

OpenSlope is not a port of SSX Tricky. Slopesmith and the Unity runtimes are independent reimplementations that aim to preserve the course-facing mechanics needed to ride the same terrain, catch and grind its rails, and otherwise make compatible maps work. They do not include the original game's characters or trick system; they use OpenSlope-specific riders and added features. One example is Air Boost: while airborne, boost can add directed thrust and give a rider the extra edge needed to catch a rail.

To ride a map with the original characters, tricks, and game rules, repack it using a user-supplied disc image and play the result with PCSX2 or your own PS2 hardware. See the repacking guide.

Highlights

  • The complete round trip. Convert a disc-backed course into an inspectable, browser-playable map, or repack a map exported from an entirely original Slopesmith mountain into a native game slot for PCSX2 or PS2.
  • A serious Bézier terrain modeler in the browser. Stable quad topology supports sculpting, loop cuts, extrusion, bridges, tubes, patch drawing, cutting, ripping, dissolving, welding, and contour-flow retopology.
  • Interactive course content. Rails, movers, triggers, breakables, boost and reset volumes, particles, fog, lighting, ambient audio, and other effects are authorable and playable in the browser and can flow into native repacks.
  • Riding became part of authoring. Slopesmith can playtest authored or reference terrain, follow AI race lines, grind curved rails, and host shared sessions with live custom avatars.
  • Fidelity is testable. Versioned schemas, cross-runtime effect tests, collision labs, telemetry, and repository-wide verification keep the browser, portable formats, and disc-backed paths honest.

Try Slopesmith locally

For original authoring, you only need Node.js 24 and this repository. No game disc, Blender installation, or separately installed native dependency is required.

git clone https://github.com/swax/OpenSlope.git
cd OpenSlope/Slopesmith
npm ci
npm run dev

Open http://localhost:5179. The editor starts with local, gitignored project storage; create or open a mountain, use the mode switcher to edit it, and enter Test to ride. Export map… writes the portable Maps/<NAME>/ form and includes a Repack.md with the next commands for that export.

Tip

Prefer a guided first session? On slopesmith.com, Getting started walks through running the editor and riding your first line, and the editor tour shows where each tool lives.

Warning

Slopesmith binds to your own machine by default. Its API can read and write projects and local maps, so do not expose the development server directly to the internet.

To ride a course from a user-supplied PS2 disc image, follow the import-to-browser guide. It covers the Snowknife build, importing one course, and selecting it in Slopesmith. Browser play reads the imported map directly; no glTF build is required.

Run a private server

Choose the setup that matches who needs access:

Use Setup
Just you, on one computer Use npm run dev; the editor and API stay on loopback.
A short-lived session on an isolated, trusted LAN Run npm run dev -- --host --unsafe-open-network. Everyone who can reach it has owner-level access.
A persistent private server Follow the production deployment guide. It covers invitation-based accounts, TLS, persistent storage, service templates, backups, updates, monitoring, and optional voice chat.

Choose a starting point

Slopesmith is the primary runtime to start with today. The other components support conversion, interoperability, and alternate runtimes at different maturity levels:

I want to… Start here Status and requirements
Author, collaborate, and ride Slopesmith Primary runtime; Node.js 24 and a modern browser
Import, inspect, convert, or repack a course Snowknife Maintained CLI; .NET 10, the SSX-Library submodule, and a user-supplied disc image for retail workflows
Repack an authored course for PCSX2 or PS2 Repacking guide Maintained workflow; a user-supplied disc image
Ride a map in Unity or VRChat Unity Source integration; Unity 2022.3.22f1, plus the VRChat SDK and UdonSharp for VRChat
Try the Unity 6 runtime Basis Experimental runtime; matching Basis client/server checkouts
Try the native C++ player Native Experimental terrain/contact prototype; C++20, CMake, and optional Vulkan/OpenXR host
Inspect or remodel content in Blender Blender Exploratory tools; tested versions vary by workflow

How the pieces fit

Slopesmith export ──────────────────────┐
user-supplied disc image ─> Snowknife ──┴─> Maps/<NAME>/ ─┬─> glTF / Unity / portable tools
                                                          └─> Snowknife repack ─> PCSX2 / PS2

Maps/<NAME>/ is the shared boundary: a portable folder of geometry, textures, audio, and JSON contracts. Slopesmith writes it directly; Snowknife imports retail data into it; the glTF builder, Slopesmith's reference view, the Unity importer, and the ISO repacker consume it. The shared schemas live under Snowknife/Snowknife/schemas/.

In the documentation, a course is what someone creates and rides, a mountain is an editable Slopesmith project, a map is the portable Maps/<NAME>/ artifact, and a level is a platform's native representation.

Project boundaries

No retail executable, disc image, or extracted game asset ships in this repository. Disc-backed workflows require a user-supplied image, and their generated data stays in gitignored local folders. Users are responsible for determining whether making or using an image is permitted under applicable law and contractual terms. Do not distribute builds containing retail-derived content.

Authored courses made from material you created or may redistribute can be shared independently of private disc-backed data. Trailmap/ is an optional local research workspace, excluded from Git. Shared runtime inputs live in Contracts, and each component's NOTICE describes its scope and third-party attributions. LEGAL.md states the full scope and the trademark position.

Documentation and contributing

Join the Discord community for questions and conversation. Use Report a bug or Suggest a feature to add work to the issue backlog. Follow SECURITY.md for private vulnerability reports.

See CONTRIBUTING.md for project scope, faster component checks, test tiers, environment setup, reverse-engineering hygiene, coding conventions, and pull-request expectations. The full repository gate is npm run verify after installing the prerequisites listed there. Useful indexes and background include:

The repository is designed to work well with Codex and Claude Code: its documentation describes subsystem ownership, portable contracts, behavior, deployment, and tests. Slopesmith also has a development-only agent layer for inspecting and driving the WebGL editor. Review AI-assisted changes and run the relevant repository checks.

Credits

OpenSlope builds on years of work by the SSX modding and preservation community, especially:

Claude Code and Codex assisted development under human direction, review, testing, and play-testing. Corrections to these credits are welcome.

License

The repository is not licensed as one unit. LICENSE maps every component to its license: Snowknife is GPL-3.0-only, its portable schemas are Apache-2.0, other repository-authored components are Apache-2.0, and the SSX-Library submodule retains its upstream license. See each component's NOTICE for its detailed scope and third-party attributions.

SSX and SSX Tricky are trademarks of Electronic Arts Inc. Rights in the music and voice performances on a retail disc are held by their publishers, labels, and performers and are licensed to Electronic Arts; no grant here extends to them.

Rightsholder enquiries: contact@transparentsource.org. If you hold rights in something you believe this repository carries, write to that address and we will act on a specific, good-faith request about specific material. LEGAL.md has the full statement. Security reports go elsewhere — see SECURITY.md.

About

SSX Collaborative Map Editor. Build and play maps together in the browser, mobile, and VR.

Topics

Resources

Contributing

Security policy

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages