Repository navigation
Releases
The Simpsons Game — Recompiled v0.0.6.5
You need your own copy of The Simpsons Game for Xbox 360. No game content is included; the
launcher installs the game from your own ISO.
NEW DISCORD SERVER!
Frame rates above 60
- The launcher's Frame rate in levels setting offers 30, 60 (the default), 90, 120, 144, 165, 240 and Unlimited. 30 and 60 keep the game's own vblank timing; the other rates count each frame in fractional vblanks and pace frames with a precise limiter, so game time follows real time at every rate.
- Havok physics keeps 1/59.94 s steps, 60 per second, at any rate. Background loading keeps at least the game's own frame period, so loading screens finish when frames are uncapped.
- Menus, the title screen and the pause menu run their frame-counted logic (input repeat, timers, credits) at the 30 FPS they were made for, and by default are drawn at 30 too (Frame rate in menus). UI movies no longer run 1-4% slow.
- Pick your display's refresh rate: a fixed-refresh display never shows the extra frames, and Unlimited drops them unevenly.
Graphics options
- Character tessellation (experimental, off by default): Low, Medium and High round the characters and other skinned meshes using their own positions and normals, adding triangles where an edge is large on screen or bends sharply. It works with Vulkan on Linux and Windows. Shaders and meshes it does not recognise keep their original geometry. Its helper shaders compile on first use.
- Colour: Original (unchanged), Vivid, Punchy, Soft and Custom, with vibrance, saturation, contrast and brightness. Vibrance raises muted colours more than vivid ones. It shares the FXAA pass when FXAA is on and is skipped entirely at Original. Vulkan only.
- Both settings are in the launcher's Settings tab and need a restart.
Renderer
- Special attacks and other effects no longer turn the scene black for about a second. Some effect passes resolve the scene and clear it in the same command, and a held-back copy-free resolve read the image after the clear. Seven captured failure frames and a live effect trace now match exactly at 1x and 2x, and recordings of repeated combos show no blackouts.
- Copy-free resolves are on by default. In 0.0.6.4 they were off because live 2x play could alternate between old and new frames; the swap now flushes held-back resolves after opening its submission. Replays are bit-identical and 0.57 ms faster per frame on the GPU at 2x. The launcher turns them on once for existing installs; a player who turns them off afterwards keeps that choice.
- The GPU copy of the Xbox 360's memory is created only when something needs it. Resolves that share memory write into one native buffer, fresh resolves take their initial data from guest memory, and textures only partly covered by native buffers are assembled from them. In new games of all 18 episodes at 2x, 16 never create it. Replayed gameplay frames are pixel-identical, with 0.3 ms (2x) to 0.9 ms (1x) less GPU time.
- The rare frames where a depth buffer owned memory that a colour resolve read (seen in Eighty Bites and The Day the Earth Stood Stupid) now go through a native depth-to-colour transfer, keeping the depth and stencil bits, instead of the EDRAM emulation.
- The shipped translated shader set matches the current translator again; in 0.0.6.4 its hash no longer matched, so about 95% of shaders were translated during play. It also serves more GPUs now: the configuration it checks holds only what the modules depend on, so a set made on the Steam Deck works on most desktop GPUs. In Springfield at 2x all 262 shaders come from it. Release builds stop if the set does not match the translator.
- Retained vertex and index data is checked by hash instead of byte for byte, and found through a flat table: on the Deck at 1x in Springfield the GPU command thread drops from about 9.2 to 8.2 ms per frame.
CPU performance
- Linux builds use the default code model and ThinLTO, and Windows builds use ThinLTO. On the Deck at 1x in Springfield with an unlimited frame rate, the code model change alone took the average from 90.0 to 91.9 FPS and the 1% lows from 67.3 to 69.5 FPS.
- The game's memset and memcpy, the renderer's shader constant copies and the XDK's write-combined copies use the host's routines, and indirect calls are no longer counted in release builds: the main thread drops from about 10.45 to 10.0 ms per frame at 1x in Springfield.
- At 30 and 60 FPS the game's frame limiter sleeps until shortly before its deadline instead of spinning. On the Deck at 2x and 60 FPS the APU drops from its 15 W limit to about 14.3 W and frames over 18 ms from about 41 to 29 in 1500.
Direct3D 11 renderer (experimental, Windows)
- Resolves of whole single-sampled colour render targets copy straight into the textures that read them, instead of being decoded again from the Xbox memory layout. Under Proton the first level renders the same with it on and off.
- Under Proton, if the log reports an unsupported
SHDRshader chunk, install Microsoft'sd3dcompiler_47with protontricks; Wine's own compiler produces shaders the renderer cannot use yet. Windows includes the right one.
Windows
- Windows packages now use the native renderer paths and the translated shader set, like Linux. In 2x Springfield runs through Proton on a Steam Deck this averaged 68.9 and 68.7 FPS against 63.1 and 63.6 with the previous Windows settings, with 1% lows of 51.6 and 52.5 against 39.0 and 37.3. With ThinLTO, 1x runs averaged 78.0 FPS against 76.2 and 76.7. Windows drivers themselves are still untested.
Linux
- A crash or forced quit no longer leaves the game's memory file in /dev/shm, where enough of them made the next start fail with SIGBUS.
Launcher
- New settings: level and menu frame rates, character tessellation and colour. FXAA's description explains that at 2x and above it costs about 1 ms a frame on the Deck for an image that is already supersampled.
Known issues
- Native GPU coverage is still incomplete. Unsupported resources and resolves use the existing fallback.
- Character tessellation is experimental. It has been checked at every setting in a few episodes, not across the whole campaign or on Windows drivers.
- Above 30 FPS some scripted sequences may still misbehave; switch to 30 if one does. The whole campaign has not been played at the higher rates.
- The Direct3D 11 renderer is experimental and has not been tested on Windows drivers.
- The minimum 4-frame audio queue can still underrun under heavy CPU load.
The Simpsons Game — Recompiled v0.0.6.4
You need your own copy of The Simpsons Game for Xbox 360. No game content is included; the
launcher installs the game from your own ISO.
Performance and renderer
- Vertex and index data can use native GPU buffers instead of scanning and uploading the Xbox memory mirror for every draw. Unchanged buffers are retained; changed data gets a fresh immutable copy, and old copies stay alive until the GPU finishes with them.
- Changing vertex data can reuse its latest immutable copy within a frame. Every reuse still checks the source bytes. This reduced vertex upload traffic by about 55% in the tested 2x Springfield scene.
- Verified index bounds are retained with their exact buffer version instead of scanning the same indices again. Native texture uploads also bypass the full memory mirror for supported CPU textures.
- Native buffer reuse checks use Linux's optimized byte comparisons and explicit SIMD batches on Windows, where larger ranges use AVX2 in the regular package. NoAVX2 builds keep their compatible path. Every source byte still has to match before a GPU buffer is reused.
- The title and menus recover their 30 FPS target in the tested 2x scene. Renderer CPU time there fell from 45.4 ms to 17.7 ms after removing the vertex/index residency scans. This is a menu measurement; it does not establish the same gain throughout gameplay.
- Matching render target transfers use GPU image copies. Native resolves can keep their results in their own GPU buffers, let texture reads use them directly, and update the memory mirror when something actually needs it. A partial CPU write preserves the untouched GPU-written pages.
- Matching full color resolves copy into separate texture images. Image ownership stays stable across frames. Partial updates and forced memory reloads preserve channel order, including 10-bit color.
- Copy-free resolves stay off by default. That experimental shortcut caused the development build to alternate between old frames, including in menus. The other native renderer work remains enabled.
- On Linux, the timer queue sleeps between deadlines instead of continuously spinning. This frees CPU time for the game and audio. It has been checked with sound enabled.
- More shader programs can be extracted from the executable and compiled before play. The bake now includes common shader modifications without requiring a recorded pipeline for each one. Missing draw variants and other Vulkan device configurations still use runtime translation.
- The native fullscreen search shader advances its constant-table address once per sample, matching the original program. The previous version advanced it twice and could sample the wrong offsets.
- Renderer comparisons cover menus, level arrival, Springfield and super burp at 1x and 2x. The compared images are identical. Full-game native GPU coverage is still unfinished.
- The latest live Springfield checks average 59.5 FPS at 1x and 54.4–56.8 FPS at 2x on the Deck. These are short scene checks, not a full-game benchmark or proof of a consistent gameplay gain.
Frame timing
- Game time runs at the right speed. Every read of the game's clock rounded a little time away and took a lock, and the game reads it constantly, so its time ran about 0.5% slow, with frames and vblanks at 59.65 Hz instead of 59.94. The clock is now computed from a fixed base without rounding or locking. Windows and Linux keep the full integer result when scaling that clock.
- A frame that finishes just after its vblank is shown right away instead of a whole frame later. The game held every late frame for the next vblank, because showing it immediately would tear on the console; the PC presents without tearing either way, so this removes a source of stutter.
tick_count_precisereads the native millisecond clock directly, so late background timer updates cannot distort the game's frame time. Steady Havok stepping uses that clock's frame time instead of its smoothed copy, avoiding extra 8.3 ms physics steps at 60 FPS. Both are enabled by default;physics_stepalso offers Legacy and Original for comparison.- Windows requests a high-resolution timer again after audio initialization and opts out of Windows 11 timer throttling. This addresses the fork's reported game-speed drift at 30 FPS. These changes preserve the game's timebase and do not unlock rendering above 60 FPS.
Camera and visual settings
- Free camera and photo mode: press L3 + R3 or F6 to toggle the camera, then Y or F8 for photo mode. Move with the left stick or WASD, look with the right stick or arrow keys, move vertically with the triggers or Q/E and zoom with LB/RB or 1/3. Photo mode pauses the level and hides the HUD and subtitles. Leaving a level releases the camera and its input lock.
- Ink outlines can be Hard (original), Soft or Off, with soft-line strength, colour presets and a custom
RRGGBBcolour. Characters' eyes can be Clean (the default) or Original. These settings require a restart. Clean eyes and coloured outlines change shader microcode and can cause a first-use shader compilation pause; black outlines retain the existing shader variants. - Image patches verify the expected game data before writing. An unsupported executable is left untouched, and a failed protection change cannot leave a partial patch.
Direct3D 11 renderer (experimental, Windows)
- Windows builds now include an experimental Direct3D 11 renderer for GPUs without good Vulkan or Direct3D 12 drivers. Choose Direct3D 11 (experimental) in the launcher's graphics backend setting, or set
gpu = "d3d11". Automatic still uses Vulkan, with Direct3D 12 as the fallback. It needs a feature level 11.0 GPU; vertex memexport needs 11.1. - It runs the game's own draws natively: shaders, textures, render targets and MSAA, depth, ownership transfers between render targets, tiled resolves, higher render scales, gamma and the launcher's FXAA, CAS and FSR1 settings.
- Tested on a Steam Deck through Proton: the intro videos, menus, saves and Springfield at 1x and 2x, with movement, camera, pause and all presentation effects. It has not been tested on Windows drivers yet.
- Performance in the tested Springfield scene on the Deck: about 55 FPS at 1x and 22 FPS at 2x, where 2x started at 13 FPS. At 2x it is limited by the GPU, because resolves still go through the Xbox memory layout; Vulkan resolves directly into textures. The title screen holds its 30 FPS.
- Before this release, the work per frame was cut by uploading only the vertex data each draw reads, keeping state between draws instead of resetting it, updating constants in place, copying register blocks in bulk, writing depth and stencil in one pass and using the same depth settings as the other renderers.
- Scaled resolve views are retained with their GPU allocation instead of being created again for each read or write. The cache is bounded; growing an allocation creates fresh views while earlier draws keep their original data.
- Draws that discard rasterization keep their vertex work running and leave pixels untouched. Their stream-output setup now uses an explicit declaration, with vertex execution and unchanged render targets checked together.
- Multisample helpers declare the native sample count and initialize unused load coordinates. Volume uploads bind the whole mip before applying a slice offset, keeping writes inside their intended slices on Windows and Proton.
Audio
- Late mixer wakeups no longer trigger a burst of calls to the game's mixer. Requests for audio frames keep a steady schedule, stay at least half a frame apart, and wait with a high-resolution timer, so Windows' millisecond sleep granularity cannot slow the game's audio. With the Windows build on the Deck through Proton, normal play, four competing CPU workers, pause and resume ran without underruns with the 16- and 32-frame queues.
- SDL writes, semaphore wakeups and diagnostic logging no longer hold the audio queue lock. A failed SDL write returns its consumed queue credit so a device error cannot permanently reduce the queue.
- Audio queue settings are clamped before conversion to an unsigned value, so negative values no longer select the largest queue.
- The scalar stereo downmix puts the rear left and right channels on their correct sides, matching the x64 path.
- Decoder commits and mixer setters now publish only the fields they own. A delayed decode can no longer rewind a newer mixer read position or overwrite another audio update. Output positions publish their PCM samples before the mixer reads them.
- Cancelled or already completed decode work is checked again after taking its context lock, preventing an older worker from claiming the same voice later.
- The audio worker, decoder and game's DAC mixer request native audio scheduling. On Linux, the desktop priority service can grant it without running the game as root. Non-audio RenderWare workers retain their usual scheduling.
- Mixer status queries read their own context word instead of copying the whole audio context.
- In the tested 2x Springfield scene with four competing CPU workers, the 16-frame queue went from 119 underruns and 16 silent mixer blocks to zero of both. Normal play and pause/resume also pass. The minimum 4-frame queue can still underrun under this load. The Windows build was checked through Proton, as above, but not yet on Windows itself.
- Optional audio diagnostics now report callback rate, time spent in the callback, wait lateness and queue depth.
audio_dump_filerecords submitted six-channel PCM frames and companion monotonic timestamps for debugging; it is off by default. Physics step and hazard-damage logging is also available withphysics_log.
Windows
- Windows saves vector registers into the game's native setjmp storage with aligned stores. That storage is now always 16-byte aligned; an unaligned buffer crashed the Direct3D 11 test build at startup.
Lau...
The Simpsons Game — Recompiled v0.0.6.3
You need your own copy of The Simpsons Game for Xbox 360. No game content is included; the
launcher installs the game from your own ISO.
Security
GitHub's code scanning and Dependabot are now turned on for the project. This release fixes what they found in the launcher, the game's runtime and the tools that come with it.
- The launcher's built-in server, which the launcher window talks to, now only answers requests addressed to 127.0.0.1 or localhost. Before, a web page that pointed its own domain name at your computer (DNS rebinding) could read the launcher's answers, including its folder listings. Every request to the launcher's API now also needs the launcher's token; the ISO browser's folder listings didn't before.
- The ISO browser only opens folders inside its starting locations (your home folder, drives and media folders), checked after resolving
..and links, and a folder like/home/deck2no longer counts as being inside/home/deck. Launcher artwork, fonts and save backups are only served or restored by their exact name in their own folder. - Game runtime: sizes and offsets for memory protection, index buffers and GPU buffer bindings are computed in 64 bits so they can't overflow first, and closing a window no longer goes through code that could call into a half-destroyed window. The Xbox 360 kernel's DES encryption functions are stubs now and the DES code is removed; the game never calls them.
- extract-xiso, which installs the game from your ISO: its rewrite mode (
-r, which the launcher doesn't use) can no longer replace a file that appears next to the image while it runs. - The Build check workflow's GitHub token can only read the repository.
- Bundled third-party code: SPIRV-Tools' sva, a JavaScript tool that nothing here builds or runs, is removed along with the vulnerable npm packages it pinned (brace-expansion, braces, minimatch, js-yaml, nanoid, serialize-javascript and others), and Google Benchmark's Python requirements now ask for scipy 1.10.0 (CVE-2023-25399, CVE-2023-29824). Neither was part of the game or the launcher.
Renderer
- Render target copies that full-screen passes overwrite anyway are skipped.
- The game's clears are done as real GPU clears, which the GPU can fast-clear: about 0.45 ms less GPU time per frame at 2x.
- The post-processing passes fetch their texture samples in batches so the waits overlap: about another 0.45 ms per frame at 2x.
- Same images as 0.0.6.2 in captured scenes at 1x and 2x.
Launcher
- The launcher no longer uses about a third of a CPU core while it is open. Its spinning donut and picture crossfade repainted the whole page every frame, which took frames from the game when the launcher stayed open behind it. The donut now only spins when clicked, and the pictures change every 15 seconds and not at all while the game runs or the launcher is hidden.
Known issues
- In-game prompts still show controller buttons. Press F1 to see which key each one is on.
- Keyboard and mouse has been tested much less on Windows than on Linux and the Steam Deck.
- At 2x, occasional frame drops remain in the busiest areas (a few per minute in Springfield). They come from the game's frame timing on the CPU, not from the GPU.
- Frame rate settings above 60 do not add frames, because the game's frame scheduler tops out at 60 FPS, and they make frame pacing less even. 60 is recommended.
- At 60 FPS some scripted sequences can misbehave. If random deaths happen at the dam in "Lisa the Tree Hugger", switch to 30 for that section.
Installing
- Windows: extract the zip and run
simpsons-launcher.exe. - Linux and Steam Deck: extract the archive and run
Play.sh. - CPU without AVX2 (most CPUs from before 2013): use the package ending in
-NoAVX2instead. - In the launcher's Install tab, select your Xbox 360 ISO, then press Play.
- Existing installs can update from the launcher's About tab.
The Simpsons Game — Recompiled v0.0.6.2
You need your own copy of The Simpsons Game for Xbox 360. No game content is included; the
launcher installs the game from your own ISO.
Keyboard and mouse
- The game takes the mouse as soon as its window is active: no more clicking into the window, the cursor is hidden and stays inside, and switching to another window lets go of it. On Linux and the Steam Deck, mouse look reads the mouse's raw movement, so it is smooth at any speed and free of desktop pointer acceleration.
- Every control can be rebound in the launcher (Settings, Keyboard & mouse): press Change, then a key, a mouse button or the wheel. An action can have more than one key, and the mouse wheel and side buttons can be bound. Mouse sensitivity and invert-Y are there too.
- Press F1 in the game to see the controls: each controller button, the key it is on and what it does, so the game's button prompts make sense on a keyboard. A short reminder appears when the game starts.
- Controls can also be changed while playing: F4 opens the settings, with the controls under Input > Keybinds. The mouse is released while the settings or the console are open, so they can be clicked.
- New default layout: W A S D to move, the mouse to look around, Space to jump, left click to attack, right click for the special attack, E for actions, Shift to target, Ctrl to walk, 1 to 4 or the arrow keys to switch character, Tab for the to-do list and Esc to pause. Enter and Backspace confirm and go back in menus.
- The camera can be turned with keys too: bind Look up, down, left and right in the launcher (#33).
- The keys that open the in-game overlays (controls list F1, settings F4, FPS overlay F3, console `) can be changed in the launcher, and a key changed in the game's own settings now stays changed after a restart.
- Quick key taps and clicks are no longer missed.
Launcher
- A new look with the show in mind, in a light theme (Springfield by day) and a dark theme (Springfield by night). The button at the top right switches between them; until you pick one, the launcher follows your system's setting.
- Settings are saved the moment you change them. Before, a change was lost unless you pressed Save at the bottom of the page, which is why settings seemed to reset, fullscreen didn't stick and a higher render resolution never took effect (#34).
- The sharpening setting only appears with FSR 1, the only filter that uses it (Bilinear never sharpens), and Render resolution says what it does: 3x draws a true 4K picture (#34).
- Launcher artwork works again. With the ffmpeg bundled on Windows, every cutscene frame failed, which left the art folder empty; elsewhere the same pictures repeated. Every install makes its artwork again once (#7).
- The launcher window no longer stops at "127.0.0.1 refused to connect" when its built-in server answers late: it retries, and if the server never answers it says what to try. It also writes
launcher.lognext to itself, for bug reports (#37).
Windows
- The game now asks Windows for its finest timer resolution, as Xenia does. Without it, every short wait in the game, its frame pacing and the threads that feed the audio stretched to Windows' default 15.6 ms tick, the likely cause of choppy audio (#36) and uneven frame pacing on Windows.
Renderer
- Springfield at 2x internal resolution now runs at about 59 FPS on the Steam Deck, up from about 50. The GPU needs about a third less time per frame there: memory the game rewrites every frame is uploaded only when it actually changed, buffers are no longer all uploaded again every frame, and textures the game renders to keep the GPU's color compression on AMD GPUs.
- Every shader the game uses comes precompiled in the Linux and Steam Deck packages, so new areas no longer stop to translate shaders the first time they appear.
- Render targets are the size of what the game draws instead of covering the Xbox 360's whole EDRAM, which saves about 95 MB of video memory at 2x.
- Rendered images that no texture reads yet are written straight to memory, and shadow-map copies whose data is never used are skipped.
- Every change gives the same image as 0.0.6.1 in replay tests at 1x and 2x.
Known issues
- In-game prompts still show controller buttons. Press F1 to see which key each one is on.
- Keyboard and mouse has been tested much less on Windows than on Linux and the Steam Deck.
- At 2x, occasional frame drops remain in the busiest areas (a few per minute in Springfield). They come from the game's frame timing on the CPU, not from the GPU.
- Frame rate settings above 60 do not add frames, because the game's frame scheduler tops out at 60 FPS, and they make frame pacing less even. 60 is recommended.
- At 60 FPS some scripted sequences can misbehave. If random deaths happen at the dam in "Lisa the Tree Hugger", switch to 30 for that section.
Installing
- Windows: extract the zip and run
simpsons-launcher.exe. - Linux and Steam Deck: extract the archive and run
Play.sh. - CPU without AVX2 (most CPUs from before 2013): use the package ending in
-NoAVX2instead. - In the launcher's Install tab, select your Xbox 360 ISO, then press Play.
- Existing installs can update from the launcher's About tab.
The Simpsons Game — Recompiled v0.0.6.1
You need your own copy of The Simpsons Game for Xbox 360. No game content is included; the
launcher installs the game from your own ISO.
Improvements
- Fixed a stall in every frame: presenting a frame made the game wait until the GPU had finished the previous one, and rebuilt a pipeline each time. Frame pacing is smoother at every resolution; at 2x internal resolution in Springfield on the Steam Deck, this fix alone raised the frame rate from 46 to 51 FPS.
- Fixed the lag in Springfield. Vertex data the game rewrites every frame is now uploaded fresh for each draw instead of being write-protected and faulted on hundreds of times per frame. On the Steam Deck, Springfield went from 51-54 to 59 FPS at 1x, and now holds 60.
- 2x internal resolution is now practical on the Steam Deck. Render-to-texture works natively at 2x instead of copying through emulated memory and reloading every texture, and resolved images are written to emulated memory only when something actually reads them. Springfield, the busiest area, went from 24 to about 52 FPS at 2x.
- Native replacement shaders for the most expensive post-processing passes are now used in play (before, they only loaded in testing), with versions for 1x and 2x internal resolution. They produce the same image as the translated shaders. The Linux packages include them.
- Faster texture sampling in shaders. Shaders whose textures are all unsigned skip the per-component signedness handling, and textures without mipmaps are sampled directly instead of through gradients. Both give identical images.
- Lower CPU use while the game waits for the GPU: its main thread sleeps instead of spinning, which leaves more of the Steam Deck's shared power budget for the GPU.
- Removed the "Instant character pop-in" patch and its warning. Characters are drawn correctly without it, and the launcher turns it off for anyone who still had it on.
- New launcher settings for the upscaling filter (bilinear, AMD FSR 1 or AMD CAS) and FSR sharpness.
Known issues
- At 2x internal resolution, the busiest areas such as Springfield run at about 50 FPS on the Steam Deck. 1x holds 60.
- Frame rate settings above 60 do not add frames, because the game's frame scheduler tops out at 60 FPS, and they make frame pacing less even. 60 is recommended.
- At 60 FPS some scripted sequences can misbehave. If random deaths happen at the dam in "Lisa the Tree Hugger", switch to 30 for that section.
Installing
- Windows: extract the zip and run
simpsons-launcher.exe. - Linux and Steam Deck: extract the archive and run
Play.sh. - CPU without AVX2 (most CPUs from before 2013): use the package ending in
-NoAVX2instead. - In the launcher's Install tab, select your Xbox 360 ISO, then press Play.
- Existing installs can update from the launcher's About tab.
The Simpsons Game — Recompiled v0.0.6.0
You need your own copy of The Simpsons Game for Xbox 360. No game content is included; the
launcher installs the game from your own ISO.
Improvements
- Characters and objects no longer go missing at the start of levels (#18, #30). Character meshes with absent optional vertex streams are now drawn safely on every GPU, including the Steam Deck.
- Fixed the GPU crash right after the first cutscene or on the first level load on AMD graphics cards with Windows, with both Vulkan and Direct3D 12 (#13, #16, #25). Those same character draws read GPU memory that had nothing behind it.
- New packages for older CPUs without AVX2, ending in
-NoAVX2(#28). The standard package fails to start on those CPUs with error 0xc0000142. The launcher detects which one your CPU needs and its updater installs the right package. - Fixed washed-out character colors on the native renderer. 10-bit render targets are now stored at full precision.
- Fixed audio crackle. The game is now asked for audio at the steady rate the Xbox 360 hardware used, instead of in bursts that made it hand over silent frames.
- Menus, the title screen and loading screens now run at the original 30 FPS, so menu navigation is no longer twice as fast and the title screen no longer stutters. Gameplay still runs at 60 FPS.
- Much lower CPU use. Threads waiting on several game events at once now sleep instead of polling; the audio thread dropped from about half a CPU core to under 5 percent, which also leaves more of the Steam Deck's power budget for the GPU.
- FXAA now works with the Vulkan renderer on Linux and Steam Deck, and new installs start with it on. It smooths the jagged cel-shading outlines at very little cost.
- New "Always show subtitles" setting in the launcher, which shows subtitles from the very first cutscene of a new game (#27; setting added by anasalialamgir in #31).
- The launcher can start the game without its window:
Play.sh --playorsimpsons-launcher.exe --play, for example from your own Steam shortcut (#18, #20). - The Windows launcher is now built with a freshly compiled PyInstaller bootloader and carries version information, to reduce false antivirus detections such as Trojan:Win32/Suschil!rfn (#21, #32).
- The native renderer, which draws with the GPU's own render targets, is now the default. The Renderer setting can switch back to the accurate EDRAM emulation path.
- Faster rendering. Render target resolves happen in a single pass and write straight into the textures that sample them, and far fewer EDRAM emulation copies are made around clears and multisampled surfaces. In a captured gameplay frame, GPU time on the Steam Deck dropped from 14.6 ms to 8.1 ms.
- Lower GPU command processing overhead per register write and per shader constant update.
- The driver pipeline cache is saved between runs, reducing shader compilation stutter after the first session.
- With VSync off, guest vblank interrupts now follow the configured refresh rate instead of running at 1000 Hz, which cut GPU load in menus.
- Fixed intermittent stalls where a game thread was created but never started.
- Quitting the game can no longer hang. If shutdown gets stuck, the game exits after 10 seconds.
- New README with installation, configuration, build and contribution guides.
Known issues
- Frame rate settings above 60 do not add frames, because the game's frame scheduler tops out at 60 FPS, and they make frame pacing less even. 60 is recommended. for now.
- At 60 FPS some scripted sequences can misbehave. If random deaths happen at the dam in "Lisa the Tree Hugger", switch to 30 for that section.
- The "Instant character pop-in" patch remains experimental and is no longer needed.
Installing
- Windows: extract the zip and run
simpsons-launcher.exe. - Linux and Steam Deck: extract the archive and run
Play.sh. - CPU without AVX2 (most CPUs from before 2013): use the package ending in
-NoAVX2instead. - In the launcher's Install tab, select your Xbox 360 ISO, then press Play.
- Existing installs can update from the launcher's About tab.
The Simpsons Game — Recompiled v0.0.5.5
The Simpsons Game — Recompiled v0.0.5.4
What's Changed
- Fix Windows Vulkan build: link dxgi for the DXGI presenter regardless of backend by @awemancba in #17
New Contributors
- @awemancba made their first contribution in #17
Full Changelog: v0.0.5.3...v0.0.5.4
The Simpsons Game — Recompiled v0.0.5.3
Full Changelog: v0.0.5.2...v0.0.5.3
The Simpsons Game — Recompiled v0.0.5.2
Full Changelog: v0.0.5.1...v0.0.5.2