A PC port of Amped 3 (Xbox 360, 2005) for Windows 11 and the Steam Deck.
Performance has been the main focus. On an RTX 2080 Ti with a Ryzen 9 3900X it does 144 FPS at 4K in one of the less performant areas of the game, and on the Steam Deck it's near locked at 60 in the same spot. You can set any frame rate from the original 30 up to unlocked and the game still runs at the right speed. More on that under Performance.
It's a hybrid of static recompilation and emulation. The game's own PowerPC code is translated to x64 C++ with ReXGlue and built into a normal Windows program, so it runs natively. The rest of the Xbox 360 (the GPU, audio and system) is still emulated by the ReXGlue runtime, which comes from Xenia, and that's where most of our changes are. No game files are included, so you'll need your own copy.
You can play through the story, make riders, ride the open mountain and do events. It's had hours of real play on PC and Steam Deck plus long automated soak runs, and there are no known crashes.
- Grab the latest zip from the Releases page and unzip it anywhere.
- Run
amped3_launcher.exe, pick your extracted Amped 3 folder (the one withdefault.xex), set your options and hit RIDE.
The first time, Windows may say "Windows protected your PC" because the exe isn't signed. Click More info, then Run anyway.
If your copy of the game is a disc image (.iso), extract it to a folder first, for example with extract-xiso. You want the folder that has default.xex in it.
Steam Deck or a Linux PC: it runs through Steam's Proton 10, so you need Steam installed (the normal version, not the Flatpak one for now). The zip's README.txt has the steps (you add ReAmped3.sh to Steam as a non-Steam game). It's only been tested on the Steam Deck so far.
If you'd rather build it yourself from source, see Building from source.
Launcher
- Checks your game folder: tells you if it's the tested USA version, and if a half-extracted disc is missing files.
- Resolution from your display's own list, or "Match the display".
- Frame rate on PC: 30 (the original), 60, 90, 100, 120, 144, Auto (matches your display's refresh rate), your own cap anywhere from 30 to 1000, or unlocked. On the Steam Deck: 30, 40, 60, 90, your own cap or unlocked.
- Anti-aliasing (SMAA, FXAA or none) and sharpening.
- Fast single-pass rendering, on by default (see Performance). Turn it off and you get the game's own 2x MSAA back instead.
- Sharp UI: the game's own menus, fonts, HUD, button icons and loading screens upscaled 4x on your PC (2x on the Deck) with Real-ESRGAN. It's an offline image upscaler, runs once (about 5 minutes, and you can ride while it works) and keeps the result. Nothing gets downloaded or uploaded and we don't ship any game art.
- UI size: shrink everything, or each part on its own (menus, HUD, help tips, radio popup, button legends). On the Deck the HUD and tips can go up to 150%.
- Controls: remap the pad and keyboard, and each row tells you what it does in the game.
- Music and the ReAmped logo option. On a Steam Deck the first start picks the settings that run best there.
- Works with a controller, including on the Deck.
- If the game can't start, the launcher stays open and says why (for example a CPU without AVX2) instead of just closing.
In the game
- Ultrawide and 16:10: you see more of the mountain, nothing is stretched, and the HUD and menus stay 16:9.
- The logo and warning screens at start are one loading screen, and you can skip the 2K and Indie Built intro movies in the launcher (off by default).
- Your own music, either from a folder or your streaming app (Spotify etc.). It only plays where the game's soundtrack would, so riding and the in-game menus, not the title, loading screens, cutscenes or event jingles. Tracks show up in the game's own radio popup and the D-pad skips them. On the Steam Deck / Linux a playing player is paused when the game starts and quits, and Spotify's hidden window is frozen while the game runs so it doesn't steal the CPU (the music and media controls keep working).
- ReAmped 3 settings inside the game's own Options menu (Audio, Display, Extras).
- Achievements, with a popup, a chime and a list showing your progress.
- Save backups, the last 10 are kept and you can restore one from the menu.
- On-screen keyboard for naming a new rider with a controller.
- ReAmped logo on the title and loading screens if you want it (off by default, so you get the original Amped 3 logo).
- F10 shows a frame time graph.
- UI drawn as vertical stripes (texture fetch bug, same fix as Xenia Canary).
- Two music tracks playing at once after loading.
- The game hanging on the legal screen about 2 starts in 3.
- Cutscenes playing too fast above 60 FPS.
- Sled turning and sled crash scores depending on frame rate (fixes from Amped 3 Revamped).
- A 2.7 second freeze when leaving the mountain.
- Looping sounds that never looped.
- The "stuck, press Back" tip popping up at high frame rates.
- Crash checks and the funbox landing combo counted frames, so above 30 FPS they ran twice as fast. They count time now.
These numbers are from one of the less performant areas of the game: the top of Loveseat on Northstar, where the game draws 12,000 to 15,000 things a frame. We stand still there so every run sees the same thing. Normal riding is lighter than this.
PC: RTX 2080 Ti, Ryzen 9 3900X, Windows 11, frame rate unlocked, default settings (SMAA, single-pass on)
| Average | 1% low | |
|---|---|---|
| 4K | 144 FPS | 111 FPS |
| Single-pass off | 65 FPS | 58 FPS |
At 4K the graphics card isn't the limit here, the CPU is (the game's own main thread and the emulated GPU).
Steam Deck OLED, Proton 10, the first-start Deck settings (full 1280x800 screen, SMAA, single-pass on)
| Frame rate setting | Average | 1% low |
|---|---|---|
| 60 FPS | 60.0 FPS | 59.0 FPS |
| 90 FPS | 86.5 FPS | 55.2 FPS |
| Unlocked | 91.9 FPS | 53.5 FPS |
Without single-pass the Deck can't hold 60 there (58.7 average, 1% low 45). Normal riding sits around 90 on the 90 FPS setting.
Single-pass rendering. The Xbox 360 only had 10 MB of fast video memory, so the game draws every frame in three strips, which means sending the whole scene three times. A PC doesn't have that limit, so we draw it once. That more than doubles the frame rate in busy areas, and it's what gets the Deck to a near-locked 60.
Making the emulated GPU faster. The game still talks to an emulated Xbox 360 GPU, and that was the bottleneck, so we went through it draw by draw:
- render targets and resolves handled directly for how this game draws (building on iExplosiveRage's ReXGlue work)
- register writes done in bulk, shader constants reused when they haven't changed, texture and sampler state cached, pipelines reused
- memory the game rewrites every frame isn't trapped on every write any more
- frames presented straight from the submission thread
Native code for the game's heaviest maths. Its matrix multiply, point transform, visibility test, memory copy and decompression run as our own x64 code instead of translated PowerPC. The results are bit-identical, checked over tens of millions of calls while playing.
Steam Deck tuning. Under Proton the emulated GPU runs on two threads and waits sleep instead of spinning, which leaves the Deck's four cores free for the game. Frame pacing is tuned so 60 and 90 stay even.
Direct3D 12 over Vulkan. We tried ReXGlue's Vulkan backend on the Deck and it only got 54 FPS in that same area, where our Direct3D 12 version (through Proton) stays near-locked at 60. So Direct3D 12 is what we ship on both Windows and the Deck.
Every change was benchmarked in that same spot on the PC and the Deck and only kept if it was faster, then soak tested.
ReXGlue runtime: our fork of rexglue-sdk (BSD-3) is at malinkicat/rexglue-sdk, branch amped3-gpu, and its REAMPED3.md lists the changes. In short:
- GPU: single-pass rendering, resolves for this game, two-thread command processor, the speed-ups above.
- Image: SMAA, AMD FSR/CAS sharpening, ultrawide and 16:10, UI scale. NVIDIA DLAA and FSR 3 frame generation are in there but switched off until the game has proper motion vectors.
- Texture replacement with background loading (what Sharp UI uses).
- Audio: your own music player (FLAC, MP3, WAV, OGG) and the looping sound fix.
- A data overlay so our patched UI files load without touching your game folder.
- On-screen keyboard for controllers, keyboard/mouse fixes, and Wine/Proton timer and threading tweaks.
- Some Deck ideas from Project8Recomp (bulk register writes, blocking timer wait).
Nothing from the game is shipped. The patched menus, the loading screen and the optional logo are all made on your PC from your own game files.
- Windows 11 x64, a CPU with AVX2 and a Direct3D 12 graphics card. Or a Steam Deck, or a Linux PC with Steam and Proton 10.
- Your own Amped 3 disc, extracted (the folder with
default.xex). Only the USA (NTSC-U) version has been tested; others should work too. - For Sharp UI: a graphics driver with Vulkan (the upscaler uses it), about 1 GB free while it builds, and around 4 GB of RAM for the game with it on (16 GB in the PC is plenty). It lives in
texturesnext to the launcher.
You'll need:
- Visual Studio 2022 Build Tools with "Desktop development with C++" (includes the Windows SDK, CMake and Ninja), installed in the default place.
- LLVM/Clang for Windows (we use 19.1.7).
- Git.
- Your extracted Amped 3 folder.
Steps:
- Clone this repo, and our runtime next to it:
git clone https://github.com/malinkicat/ReAmped3.git git clone --recursive -b amped3-gpu https://github.com/malinkicat/rexglue-sdk.git - Download
rexglue-sdk-0.10.0-win-amd64.zipfrom ReXGlue's v0.10.0 release and unzip it so you end up withReAmped3\.tools\sdk\win-amd64\bin\rexglue.exe. - Copy
tools\local.cmd.exampletotools\local.cmdand setAMPED3_GAME_DIR(your game folder),LLVM(Clang'sbinfolder) andSDK_SRC(where you cloned rexglue-sdk). - Build the runtime:
tools\build_sdk_ffx.cmd. The first run downloads AMD FidelityFX and the NVIDIA DLSS SDK files it builds against, and takes a while. It puts the DLLs inproject\sdk-bin. - Copy
default.xexfrom your game folder intoprivate_work\, then inproject\run:..\.tools\sdk\win-amd64\bin\rexglue.exe codegen amped3_manifest.toml - Build the game and the launcher:
tools\build.cmd, thentools\build_launcher.cmd. - Run
build\amped3_launcher.exeand point it at your game folder.
To make a zip like the release: download realesrgan-ncnn-vulkan-20220424-windows.zip from Real-ESRGAN v0.2.5.0, unzip it into private_work\esrgan, then run powershell -File tools\package.ps1 -Release. The zip ends up in dist\.
Never upload build, dist, private_work or project/generated. They contain or are made from game files.
project/overrides.toml: hooks into the game code and functions the analyser missed.project/src: our hooks and features (frame rate, music, UI patch, menus, saves, achievements).project/launcher_sdl: the launcher (SDL3 + Dear ImGui).tools: build, packaging, test and benchmark scripts.
- ReXGlue and Xenia, which the runtime comes from.
- iExplosiveRage's ReXGlue fork for render target and resolve work and texture replacement.
- Real-ESRGAN and Real-ESRGAN-ncnn-vulkan (Xintao Wang) for the upscaler.
- Table-Tennis-Rockstar-PC for the frame graph, the launcher's starting point and some runtime fixes.
- Amped 3 Revamped for the sled frame rate fixes.
- Brian Maguire for finding the cause of the UI corruption, and Xenia Canary PR #1129 for the fix.
AI was used to help make this, for writing and reviewing code, research and testing. It's all been tested on a real PC and Steam Deck.
Full details and licences are in THIRD_PARTY_NOTICES.md.
MIT for our own code (LICENSE). Third-party parts keep their own licences. Game content isn't included or covered.
Amped 3 is © 2K Games / Indie Built. This project isn't affiliated with them.