Skip to content

About

OpenTricky is an unofficial PC port of SSX Tricky, made by static recompilation. Bring your own disc.

Topics

Resources

Contributing

Stars

97 stars

Watchers

4 watching

Forks

Repository files navigation

OpenTricky

OpenTricky

The PC port SSX Tricky never got.
Built from the original game, with its features restored, and everything a modern PC release would have: today's controllers, new visual options, ultrawide, high frame rates and a real launcher.

Website: opentricky.com Release Status: unstable Platform: Windows 10/11 x64, Linux / Steam Deck (Proton) Graphics: Direct3D 11 License: GPL-3.0-only Discord Ko-fi

Join the OpenTricky Discord for help, screenshots and news about the next builds.

Important

You need your own game. No disc image, game code, music or video is distributed: you need a disc image (.iso or .xiso) of SSX Tricky for the original Xbox, USA release.

Warning

This is an unstable release. You can play it from start to finish, but some parts are still rough. Please read Known issues before reporting a bug.


Contents


What is this?

OpenTricky runs SSX Tricky (2001) natively on Windows. It is not an emulator: the game's own Xbox code is translated to C with xboxrecomp and compiled into an ordinary Windows program, and the Xbox's graphics, sound and input chips are reimplemented on Direct3D 11, XAudio2 and XInput. OpenTricky continues SSX Tricky PC by MatiasRiveraC.

The goals:

  1. Feature complete. Built from the original game, with all its features restored: fog, lens flares, colours, 5.1 sound.
  2. A modern PC release: modern controllers and button styles (Xbox, PlayStation, PS2 original), the original PS2 controls with all 15 grabs, full keyboard and controller remapping, any resolution, ultrawide, high frame rates, all set up in one launcher.
  3. New options on top: smoother edges, soft shadows, longer draw distance, optional HD textures. The Original Xbox preset turns them all off at once.

What's new in 0.1.3

  • Linux and Steam Deck: the very low frame rate under Wine and Proton is fixed. The game now runs smoothly there.
  • Music, as in the original game: it fades down and back up over one second (under the announcer's voice, on the results screen, in the menus) instead of jumping at once.
  • Signed updates: the launcher checks the signature of the downloaded zip and refuses one that is unsigned or modified.
  • Steam Deck preset: applied by itself at the first start on a Steam Deck.

Everything else: the release notes and CHANGELOG.md.

Install and play

You need Windows 10 or 11 (64-bit), a Direct3D 11 graphics card, and a disc image (.iso or .xiso) of your own SSX Tricky Xbox disc, USA release (the PS2, GameCube, PAL and Japanese versions won't work). A controller is optional: Xbox-style (XInput) controllers and the keyboard work.

  1. Download OpenTricky-<version>-unstable-win64.zip from Releases and extract it into a new, empty folder.
  2. Start OpenTricky.exe, the launcher, and choose your disc image: the launcher checks it and remembers it.
  3. Pick a preset or your own settings, then press PLAY.

The game itself is bin\SSX Tricky.exe: it also starts the game straight away, with the same settings.

Coming from 0.1.2: let the launcher update you (it checks GitHub once a day: if no update shows up yet, close it, delete update-cache.txt next to settings.ini, and open it again). Coming from 0.1.1: install 0.1.3 fresh, in a new folder (the 0.1.1 launcher can't install it). Saves in Documents\My Games\SSX Tricky\Saves stay where they are; if your saves were inside the old folder (with portable.txt), copy its Saves folder and portable.txt into the new one. Don't copy settings.ini, choose your disc image again, make your shortcuts again (the game is now bin\SSX Tricky.exe), then delete the old folder.

Note

Windows SmartScreen may warn you because the program isn't code-signed. If you trust the download, choose More info → Run anyway.

The launcher also installs the next versions for you, only if you say so. More in the install guide.

Controls and settings

The game uses the original PS2 layout. Everything can be remapped in the launcher's Controls tab.

PS2 button Controller Keyboard
Cross / Circle / Square / Triangle A / B / X / Y Space / Esc / C / V
L1 / R1 LB / RB F / R
L2 / R2 LT / RT Q / E
Start / Select Start / Back Enter / Tab
L3 (press the left stick) Left stick press X
Left stick and D-pad Left stick and D-pad Arrow keys

In the game window: Alt+Enter or F11 switches window / fullscreen, F12 takes a screenshot, Alt+F4 quits.

All settings are in the launcher, in six tabs (Display, Graphics, Audio, Controls, Game, Advanced). Three presets set the main ones at once: Recommended (the default), Original Xbox (every PC extra off) and Steam Deck (1280×800, 60 FPS). Every setting, with its choices and default, is explained in the Settings guide and the controls page.

Known issues

The main ones, most serious first. The full list is on opentricky.com/known-issues.

Problem What to do for now
Above 60 FPS, the controls answer one game step later (about 17 ms). Set Frame rate limit to 60 for the original game's exact timing.
Only Xbox-style (XInput) controllers are supported natively. Use Steam Input or DS4Windows, and choose PlayStation modern or PS2 original in Button style.
Linux / Steam Deck (Proton): 0.1.3 fixes the very low frame rate under Wine/Proton. The game now runs smoothly on Linux. With Proton Experimental, performance may still be lower: if so, try Proton 10 or PortProton, and report it with your logs. Through Steam, pick Proton 10 in Properties > Compatibility. Or, in Desktop Mode, run OpenTricky.exe with PortProton (Flatpak): WINE PROTON_LG_10-28, 3D API DXVK (Newest), then the Steam Deck preset in the launcher.
5.1 surround isn't tested on real 5.1 speakers. Tell us how it sounds.

FAQ

Disc images, saves, updates, frame rates, controllers, Linux and the Steam Deck, help when something goes wrong: every answer is on opentricky.com/faq.

Building from source

The game code is translated on your own PC, from your own disc image. It is never in this repository.

  1. Install MSYS2, then run this in its UCRT64 shell:
    pacman -S --needed mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake make \
      mingw-w64-ucrt-x86_64-python mingw-w64-ucrt-x86_64-python-capstone \
      mingw-w64-ucrt-x86_64-python-numpy mingw-w64-ucrt-x86_64-python-pillow
  2. Build from a Windows command prompt:
    build.bat "C:\path\to\SSX Tricky (USA).iso"
    Or from the UCRT64 shell: ./build.sh "/c/path/to/SSX Tricky (USA).iso".
  3. When the build is done, start dist/OpenTricky/OpenTricky.exe (the launcher) and choose the same disc image.

The script reads default.xbe from your disc image, translates it to C, applies the port's fix-up passes, then compiles the game and the launcher into dist/OpenTricky/. No other tool is needed. docs/building.md has the details.

Caution

Your build contains code translated from your copy of the game. Please don't share it: point people to the releases here instead.

Reporting a bug

Open an issue, or post in #bug-reports on the Discord, with the version (Settings → Advanced → About OpenTricky), your settings, your PC, and SSX Tricky.log (next to settings.ini) or the zip made by Prepare a bug report in the launcher. Nothing is ever sent by itself. More in Help & bug reports.

Credits

Who What
MatiasRiveraC Creator of SSX Tricky PC, the port OpenTricky continues: the recompilation, runtime, renderer, launcher and the reverse-engineering work.
sp00nznet xboxrecomp, the static recompiler and Xbox runtime everything is built on (MIT).
xemu The GPU and audio emulation that parts of the renderer and the audio are adapted from (LGPL-2.1-or-later), and the accuracy reference.
Jorge Jimenez et al. SMAA (MIT).
Bl4ckH4nd HD textures (not included).
RmlUi, SDL, FreeType The launcher's interface, window and input, and text (MIT, zlib, FreeType License).
Capstone, Ghidra Disassembly and reverse engineering.
GiZcesi OpenTricky: direction, testing and playing.

See CONTRIBUTORS.md.

Legal

  • OpenTricky is an unofficial fan project. It is not affiliated with or endorsed by Electronic Arts, EA Canada or Microsoft. SSX and SSX Tricky are trademarks of Electronic Arts, and Xbox is a trademark of Microsoft.
  • No disc image, game code, music or video is distributed. You need your own copy of the game.
  • Licences: OpenTricky's code is under the GNU General Public License v3.0 only (GPL-3.0-only, see LICENSE), unless a file says otherwise. xboxrecomp/ keeps its MIT licence (xboxrecomp/LICENSE). Files adapted from xemu stay under LGPL-2.1-or-later, as their headers say. SMAA is MIT. The launcher uses RmlUi (MIT), SDL 3 (zlib), FreeType (FreeType License) and fonts under the SIL Open Font License; their licences are in port/third_party/ and port/launcher/app/ui/fonts/, and in THIRD-PARTY-LICENSES.txt in the release. Portions of this software are copyright © 2026 The FreeType Project (https://freetype.org). All rights reserved.
  • Contributions are welcome. Please read CONTRIBUTING.md first.

About

OpenTricky is an unofficial PC port of SSX Tricky, made by static recompilation. Bring your own disc.

Topics

Resources

Contributing

Stars

97 stars

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages