The path from mountain to game

Slopesmith exports an editable mountain into OpenSlope’s portable map format. Snowknife combines that export with data from your own SSX Tricky disc image, replacing a course slot in a separate output image.

Before starting, have:

  • A Slopesmith mountain that you have already test-ridden.
  • A clean PAL or NTSC-U SSX Tricky PS2 ISO that you are permitted to make and use.
  • The imported Maps/<SLOT> folder for the same course slot and source image.
  • The .NET SDK version specified by OpenSlope’s global.json, plus the repository’s SSX-Library submodule.
  • Space for a second ISO and temporary build files, and a working PCSX2 setup.

New to Slopesmith? Start with the first-mountain guide. You can create and ride original courses in the browser without any disc image.

01. Export your mountain

In Slopesmith, choose Export map… and review the export’s preflight results. Save the portable map folder somewhere you can find from your terminal.

The export includes Repack.md, a recipe with the next commands for that map. Keep it with the export. For the examples below, place the map files in Exports/MyMountain beneath your OpenSlope checkout.

Keep the editable mountain too. The project is where you make the next change; the map is the artifact that the other tools consume.

02. Prepare the conversion tools

Run these commands from the OpenSlope repository root:

PowerShell · build Snowknife
git submodule update --init --recursive
dotnet build Snowknife/Snowknife/Snowknife.csproj -c Debug

Wait for a successful build. If the SDK is missing, install the version selected by global.json; a different .NET 10 feature band may not satisfy the repository’s version pin.

This example uses Garibaldi’s GARI slot. Replace the ISO path with your own, then import into a fresh folder. If you have already imported the matching course, reuse that folder instead of overwriting it.

PowerShell · set paths and import the slot
$iso = "C:/path/to/ssx-tricky.iso"
$snowknife = "Snowknife/Snowknife/bin/Debug/net10.0/snowknife.dll"
dotnet $snowknife import $iso GARI Maps/GARI

Both GARI arguments identify the donor course. Keep the source ISO, slot, and imported map consistent. For other supported slots and the full import workflow, see the import guide.

03. Check the plan first

In the same PowerShell session, run the repack with --dry-run. It checks the build plan without writing an output ISO:

PowerShell · preflight
dotnet $snowknife repack $iso GARI Maps/GARI Exports/MyMountain ssx-custom.iso --dry-run --texture-type2 --bare-slot --no-skycolor

Review the reported findings, texture assignments and budgets, path selection, and sky plan. Resolve errors before making the final image; warnings can identify tradeoffs that affect how your course behaves.

  • --texture-type2 uses the recommended indexed format for authored texture pages.
  • --bare-slot hides the donor course’s props and silences their sounds while retaining its start/finish markers.
  • --no-skycolor skips applying the export’s sky top color. This recipe also selects no executable patches.

These are the standard original-course defaults. If your export’s generated Repack.md has more specific instructions, follow that recipe and consult the full repacking reference.

04. Build a separate image and test

Once the plan is acceptable, remove --dry-run:

PowerShell · build the repack
dotnet $snowknife repack $iso GARI Maps/GARI Exports/MyMountain ssx-custom.iso --texture-type2 --bare-slot --no-skycolor

Snowknife reads the source image and writes a separate ssx-custom.iso. Load the output in your configured PCSX2 installation and select the course slot you replaced.

Repacking does not unlock that course in the game’s menus. Choose a slot available in the intended mode and profile, and check with a fresh memory card when evaluating a release workflow.

Ride the whole route. Check the start, terrain transitions, rail approaches, collisions, and finish. A successful build is the beginning of playtesting, and the browser and original game remain different runtimes.

05. Share the course you made

The repacked ISO still contains retail game data. Keep it private. Share your original authored project and rights-cleared assets, or a suitable patch, rather than the disc image or extracted retail content.

OpenSlope is independent and unofficial. The project’s content boundaries explain how original authoring and local disc-backed workflows fit together.