HeadlinesBriefing HeadlinesBriefing.com

RUNNING PS2 GAMES IN BROWSER VIA WEBASSEMBLY RECOMPILATION

Hacker News •
×

PLAY STATION 2 GAMES RUN IN THE BROWSER WITHOUT AN EMULATOR. THE GAME'S EMOTION ENGINE MACHINE CODE IS TRANSLATED AHEAD OF TIME INTO C++, COMPILED TO WEBASSEMBLY, AND LINKED AGAINST A REIMPLEMENTATION OF THE PS2'S OPERATING SYSTEM AND HARDWARE THAT DRAWS WITH WEBGPU.

THIS IS THE SIBLING OF PSP-WEB-RECOMP AND FOLLOWS THE SAME METHOD. THE FIRST TITLE BROUGHT UP THIS WAY IS GRAN TURISMO 4, CHOSEN BECAUSE IT IS ONE OF THE MOST DEMANDING GAMES ON THE SYSTEM: IT LEANS ON BOTH VECTOR UNITS, ON EXACT FLOATING POINT BEHAVIOUR FOR ITS REPLAYS AND LICENSE TESTS, AND ON GRAPHICS TRICKS THAT READ RENDERED IMAGES BACK AS PALETTES. IT PLAYS FROM BOOT THROUGH THE OPENING MOVIE, THE MENUS AND RACES, WITH MUSIC AND SOUND EFFECTS, AND SAVES TO A MEMORY CARD KEPT IN THE BROWSER. A RACE RUNS AT FULL SPEED, 50 FRAMES PER SECOND FOR THIS PAL RELEASE, IN CHROME ON A LAPTOP'S INTEGRATED GPU AT TWICE THE PS2'S RESOLUTION.

GOD OF WAR II FOLLOWED THROUGH THE SAME SCRIPTS. IT NEEDED NO GAME-SPECIFIC CODE, BUT IT FOUND TWO BUGS THAT GRAN TURISMO 4 HAD NEVER TRIGGERED, ONE IN THE RECOMPILER AND ONE IN THE VECTOR UNIT TIMING, AND A FEW MISSING PIECES OF THE PS2'S INPUT/OUTPUT PROCESSOR. IT NOW PLAYS FROM THE MENUS THROUGH ITS CUTSCENES INTO COMBAT, AND HOLDS 60 FRAMES PER SECOND IN HEAVY COMBAT AT THE PS2'S RESOLUTION IN CHROME.

NO GAME DATA IS INCLUDED HERE. YOU BRING A DISC IMAGE OF A GAME YOU OWN, AND THE SCRIPTS IN THIS REPOSITORY TURN IT INTO A WEB PAGE ON YOUR MACHINE.

KEY ENTITIES: COMPANIES: GITHUB, CHROME

المصدر: Hacker News · لخّصه HeadlinesBriefing