Skip to content

JSRF Unleashed 0.6.0

Choose a tag to compare

@JuMatt JuMatt released this 30 Oct 22:42
· 7 commits to main since this release

Jet Set Radio Future, natively on Mac, Windows, Linux, Android, iPhone and iPad. You need your own copy of the game (the standalone US disc): these downloads are the engine only.

Download For
JSRF-Unleashed-windows-x86_64.zip Windows 10 and 11, 64-bit
JSRF-Unleashed-macOS-arm64.zip macOS 12 or later, Apple Silicon
JSRF-Unleashed-linux-x86_64.tar.gz Linux x86_64, glibc 2.34 or later
JSRF-Unleashed-android-arm64.apk Android 10 or later, 64-bit, OpenGL ES 3.0; a Snapdragon 8 Gen 1 or newer
JSRF-Unleashed-iOS.ipa iPhone and iPad, iOS 15 or later (AltStore, SideStore, Sideloadly)

Thank you to spriteice, who measured where the time goes on a ROG Xbox Ally X and found these speed fixes -- six of them are in this release!

Entering an area, on Windows and Linux

A new area brings 50 to 110 textures at once, and the engine decoded each one to plain pixels before handing it to the graphics driver. Most of the game's textures are DXT compressed, which every desktop graphics driver takes as it is, so now they go to it that way: nothing to decode, and a fraction of the bytes. On spriteice's Ally X, the frames entering a level came in under 27 ms instead of 42 to 111. The Mac (Metal, and its OpenGL for now), phones and computers without a graphics card decode them as before, with a faster loop for every other texture format.

Fades no longer build shaders

The game fades some effects -- the spray can's, the sewer's splashes -- through colours that were written into each shader, so every shade was a new shader built in the middle of a frame. The shader now reads those colours as values, so a fade is one shader. (The shader cache starts afresh once: the first start builds the shaders again, ahead of time.)

Less work for every drawing command

Runs of vertex indices -- more than half of what the game sends the GPU -- are handled in one go instead of one by one; on Windows and Linux the vertex data checks hash twice as fast; on Linux the engine spins less while it waits to show each frame; and a diagnostic probe that filled half of every log is off by default.

How it was tested

On a Mac, with Metal and with OpenGL, against 0.5.10 back to back on the same machine: the Fortified Residential Zone (four times on Metal, alternating), Dogenzaka Hill with SMAA and MSAA 4x, and Shibuya Terminal from an empty save folder -- 60 frames a second, the camera and the sound exactly as in 0.5.10. In play, the pictures side by side with 0.5.10's at the same moments in the Fortified Residential Zone, on Metal and on OpenGL, and with the DXT textures handed to the driver as they are: the same, shadows included. Linux (Mesa) and Windows (under Wine): the attract demo against 0.5.10 on the same machine, the same frame rate. The Android and iPhone builds were built and checked, not run.

Everything else is in the changelog, and installation instructions are in the README.