How it works
From your disc to a native game
1. Installing
The launcher does all of this once, on your machine. That is why nothing from the game has to be distributed: without your disc there is no game.
Your disc
The European .iso image (BCES-01741), taken from your disc. It never leaves your PC.
Decrypt
The game's executable (EBOOT.BIN) is opened with your keys and becomes an ELF.
Translate
The PPU code and the SPU programs become C++: about 1.8 million lines, instruction by instruction.
Compile
The C++ is compiled on your PC, for your CPU (20 to 40 minutes).
The native game
A PC executable, linked to the ps3kit runtime and RPCS3's renderer.
2. Playing
On a PS3, a main processor, six SPUs and a GPU work together every frame. On PC each becomes threads, and the frame moves as a chain: the PPU prepares, the SPUs build the geometry, the RSX draws. Performance depends on how long each step takes and how long one waits for another.
PPU: the main processor
The game's logic, already translated, runs as C++ on a PC thread.
SPUs: the six helpers
Each SPU is a thread. They build each frame's geometry (EDGE, ~55% of the frame today), the animation and the post-processing.
RSX: the video
The PS3's video commands go to RPCS3's RSX code, which draws with Vulkan or OpenGL on your graphics card.
The PS3's system
Files, audio, cinematic video, controls, saves and network: the firmware's libraries, rewritten in the runtime (ps3kit).
Each step's numbers are in The project.
3. The online
The original servers still work for players on a PS3, but the recompiled game does not sign in to PSN. So the project writes its own server, which answers only what the game expects and never poses as Sony. The match uses the game's own netcode, and its packets go through a relay on the server, since two players at home can hardly ever reach each other directly.
Your PC
Launcher
Signs in with a code, fetches the configuration and your profile and hands them to the game.
The game
The runtime sends the addresses the game looks up to the project's server.
The project's server
Online configuration
Modes, maps and rules the game reads on the way in.
Multiplayer profile
What the game writes (gods, XP, items), kept on your account.
Location
The quick match's first question.
Matchmaking
Brings players into a match and picks the host.
Relay
Carries the match's packets from one player to the other, over UDP.
Accounts and site
Sign-in, profiles, trophies and ranking, in a database not exposed to the internet.
Your game ⇄ the server's relay ⇄ the other players' games, over UDP, with the game's own netcode.
How far the game already gets: Online.