Changes
- Loading screens no longer slow down on phones (#365, item 6). On a loading screen the game keeps writing data that sits next to some textures in memory. The port took each such write as a change to the texture and loaded it again, every frame. On phones each reload means unpacking the texture on the CPU, so the reporter's Pixel 10a spent about 52 ms of every frame on it, which made the Omochao loading screen run in slow motion. Now a texture is compared with what it was and loaded again only if it really changed. On the release route, the textures loaded on Windows went from 24,581 to 746, and on an AYN Thor from 22,946 to 1,010. Test options › Graphics › Keep unchanged textures › Off is the old way.
- Damage Survival: the gauge keeps its frame on wide screens (#365, item 17). On screens wider than 16:9, the gauge's fill moved to the right edge while its dark frame stayed further in. The frame now moves with it. Normal races are unchanged.
- Shadow maps are no longer copied each frame (#176). The game copies each shadow map out and then clears it straight away. The copy is gone: the shadow surface draws on a spare texture instead. On a Galaxy Tab S12 Ultra at 2.0x render scale, that saves about 1.7 ms of GPU time a frame. Test options › Graphics › Swap cleared surfaces › Off is the old way.
Everything else is the same as v0.10.51.
Validation
- Windows x64 package, Vulkan, with the validation layer: a whole Dolphin Resort race with no validation errors (speed 1.000, all 455 pipelines prepared). The title movie, Sharp scaling and an Avatar award in the middle of a race were also checked.
- macOS (M1) package: a whole Dolphin Resort race at full speed (0.999), no MoltenVK errors. The first build of this release crashed when the game closed (a surface's framebuffer outlived its textures after a shadow-map swap); that is fixed in this build.
- AYN Thor, this release's APK (Android 10+): a whole race at full speed (0.998), with touch controls and tilt leaning (0.998), with camera motion turned on (the Thor has no camera, so the game says so and keeps racing; 0.998), and with all game threads squeezed onto one CPU core (0.991). No crashes or memory errors.
- Linux archive: built on Ubuntu 22.04 (needs glibc 2.35), with the camera runtime next to the game.
- Android APKs: same signing key as before, so they install over 0.10.51.
- Unit tests:
- 180 passed on Linux, 188 on Windows.
- On macOS, 177 of 179 passed; the 2 that failed are the same tests that earlier releases failed, and the macOS GitHub Actions run leaves them out.
- GitHub Actions builds and tests passed on Windows, Linux, macOS and Android.
- Not tested:
- A Mali phone or tablet with this release's APK. The texture change was measured on Windows and the AYN Thor. The shadow-map change was measured on a Galaxy Tab S12 Ultra while it was being made.
- The World Grand Prix mission and loading screen the reporter used. The same screen before a Free Race was checked, and Damage Survival was checked in a Free Race.
- The iOS app was built and packaged only.
Downloads
- Windows x64: download and extract the Windows ZIP; run
FreeRidersRecompiled.exe. - Linux x64: download and extract the Linux archive; run
FreeRidersRecompiled. - Android 10 or later: prefer
android10-arm64.apk. - Android 9: use
android-arm64.apk. - Android version code: 100. The companion licence archive applies to both APKs.
- macOS 14 or later (Apple Silicon): download and extract the macOS ZIP; open
FreeRidersRecompiled.app(right-click › Open the first time). - iOS:
ios-arm64.ipa, to install with your own sideloading tool. - Online server:
docker pull ghcr.io/yuutatsubasa/free-riders-server:0.10.31(unchanged). - Checksums:
SHA256SUMS.txt.
Use your own game disc image. No game data, private saves or test overrides are included.
Known limitations
The same as v0.10.6.