Skip to content

Ascension-R v0.1.0-alpha.7

Pre-release
Pre-release

Choose a tag to compare

@rigaz29 rigaz29 released this 12 Nov 05:45

Ascension-R 0.1.0-alpha.7: the Delphi temple's broken textures kept from spreading, Kratos no longer speckled, and the vertex shaders built before the first start. A native Windows port of God of War: Ascension (PS3) made by static recompilation: the game's PPU and SPU code runs as x86-64 code and the RSX is drawn with Direct3D 12, with no emulator running while you play.

This download holds no code or assets of the game. You need your own copy (the digital US release NPUA80918 at version 1.12, with every update from 1.04 installed) and its license. The launcher builds the game's code on your PC from that copy, once for each version.

This is still an alpha. It boots, plays the cinematics and goes through the menus into the levels, but it has not been played from start to finish, and it has been tried on few PCs so far.

Fixed

  • Broken textures and a freeze at the Delphi temple (#9). On one PC, in every session there, a block of the game's own video memory manager got a negative size. Its allocator then handed out space that overlapped other textures or lay past the end of video memory, and its defragmenter moved the block 16 MB at a time: over the textures after it and, since the port let those copies run past video memory into main memory, over the game's own code pointers. On a PS3 the game's own check would have stopped there. Such an allocation or move is now refused and a copy past video memory is left out, so the damage cannot spread, and the log gets a [vram] line saying which texture it was and what it held. What gives the block that size is not known yet: with the reporter's saves, settings and input the temple plays clean here, on this build and on 0.1.0-alpha.6.
  • Kratos speckled. When the GPU-resident vertex memory was full, a skinned mesh could have its depth pass from the GPU's vertex pass and its lit pass from a fill on the CPU, or the other way round. The fill rounded the PC's way, so the positions differed in the last bit, and the lit pass, which draws only where the depth is the same, left holes all over the mesh. The fill rounds the SPU's way now.

Changed

  • The vertex shaders are built before the first start of each version. A draw whose shader is still being built is left out for that frame, which showed as things missing for a moment in a new place (#8). The first start of each version now builds every vertex shader first, behind a screen of its own drawn in code: about two minutes on a laptop with a Ryzen 5 4600H and a GTX 1650 Ti, and later starts of the same version go straight to the game. Closing that screen quits; Clear shaders in the launcher makes the next start build them again. Fragment shaders are still built when the game first reaches them.

Speed

Unchanged since 0.1.0-alpha.6.

EDGE on the GPU

Unchanged since 0.1.0-alpha.5, whose notes have all seven steps, but for the skinned fill's rounding above.

Install

  1. Download Ascension-R-0.1.0-alpha.7-kit-win64.zip below and unpack all of it into a folder of its own. Keep the kit folder next to Ascension-R.exe.
  2. Start Ascension-R.exe. The exe is not signed, so Windows SmartScreen may stop it the first time: More info, then Run anyway.
  3. The launcher looks for the game on every disk. If it does not find it, open the System tab and pick the game's folder with Browse.
  4. If your copy still has to be decrypted, the same row says what is missing: pick your rpcs3.exe or press Download RPCS3, and pick the .rap file if it asks for one. Your game's folder and your RPCS3 are only read.
  5. On the Play tab, press Build: ten minutes or more, at a low priority, with the time left on screen. It needs about 1.5 GB free while it works.
  6. Pick a preset and press Play. The first start of this version builds the vertex shaders first, with its progress on screen.

Updating from 0.1.0-alpha.6 or earlier: unpack this version over the old folder, or into a new one. Your settings and saves stay where they are, and the launcher builds the game's code again for this version.

Settings, saves, shaders, logs and the game's code you built are in %LOCALAPPDATA%\Ascension-R. To keep them in the program's folder instead, put an empty file named portable.txt next to Ascension-R.exe.

Status

What Status
Boot, cinematics, menus ✅ Works
The opening: the prison, the first fight, the gate ✅ Plays: about 30 FPS in the first fight with FSR 3.1 on that laptop
Further in: the Hecatonchires and on ⚠️ Played in parts, not from start to finish
The Grotto ⚠️ Its freeze fixed in 0.1.0-alpha.6, not yet confirmed on the PC where it happened
The Delphi temple ⚠️ Broken textures on one PC (#9): kept from spreading here, the cause not found yet
Saves ✅ Works, with a backup before each overwrite
Keyboard ✅ Works
Controllers ⚠️ One wired Xbox 360-style pad tried, through XInput and SDL3
Sound, stereo ✅ Works
Sound, 5.1 and 7.1 ⚠️ Tried on a stereo laptop only, which Windows folds it down to
FSR 3.1 frame generation ⚠️ Tried on a 60 Hz display only
Ultrawide ⚠️ The pause menu's dimming stops short of the screen's sides
Other releases of the game (European, disc) ❌ Only the US digital release NPUA80918 at 1.12 (#4)
Online ❌ Not supported: single player

Known issues

  • At the Delphi temple, on the PC of #9, a texture may still come out missing or wrong: the guards keep the damage from spreading, not its cause. If your log has a [vram] line, a report on #9 helps most.
  • One player saw a crash after playing a while. Its cause is not known yet: if you see one, Report a problem in the launcher's sidebar makes the zip to attach to an issue.
  • Fragment shaders are compiled the first time the game reaches them, so a new place can stutter once.
  • Decrypting and then building in one go has not been run on a PC whose copy was not decrypted yet.
  • The first ultrawide session compiles part of the shaders again.

For testers

What helps most is a report from a PC unlike that laptop: another CPU, an AMD or Intel GPU, a desktop, a real 5.1 or 7.1 system. Report a problem in the launcher makes the zip to attach, and with Include my saves ticked we can load the game where it happened.

The game's code comes out the same on every PC. To check yours, in PowerShell:

Get-FileHash "$env:LOCALAPPDATA\Ascension-R\game-code\ascension_game.dll"

It should be D686E28434F0D4B13B9ABD8528B8F7E846AC599A423FEDF002194E316A58F309 (with portable.txt, the DLL is in the program's own game-code folder). If yours is not, say so in an issue, with the report.

Files

  • Ascension-R-0.1.0-alpha.7-kit-win64.zip: the download, 144.7 MB. SHA-256 fc5e4923d2e501b27d67e17f51031e59abc07a713903493e8748d4e8f9e56aa7.
  • audit.txt: what the package was checked for before it was zipped, and what was found: no file of the game or made from it, no PS3 keys in the port's files, nothing of the PC it was made on.
  • ffmpeg-8.1.3.tar.xz: FFmpeg's source, as its license asks. You do not need it to play.

Credits

Built on ps3recomp by sp00nznet. RPCS3 decrypts your copy, and its patch list was the map for the game patches. The program carries AMD FSR, SMAA, SDL, FFmpeg, zlib and Zstandard, and the Kit carries Python and LLVM's clang and lld; their licenses are in the zip's licenses folder, THIRD-PARTY.txt first.

The port's own code is under the MIT License. God of War is a trademark of Sony Interactive Entertainment; this project is not affiliated with or endorsed by it.