핵심 요약
- PSP 게임의 코드를 웹어셈블리로 정적 재컴파일해 에뮬레이터 없이 웹 브라우저에서 바로 구동하는 오픈소스 프로젝트가 공개되었습니다.
- '갓 오브 워: 체인스 오브 올림푸스'가 원작의 최대 4배 해상도와 60fps로 크롬, 파이어폭스 및 모바일 브라우저에서 구동됩니다.
- 초기 6fps에 불과했던 성능을 수직동기화 병목 해결 및 멀티스레드 렌더링 최적화 등을 통해 60fps까지 끌어올렸습니다.
요약 에뮬레이터를 거치지 않고 웹 브라우저에서 PSP 명작 게임을 직접 구동하는 오픈소스 정적 재컴파일 프로젝트가 공개되어 게이머와 개발자들의 눈길을 끌고 있습니다. 이 프로젝트는 PSP의 MIPS 기계어 코드를 사전에 C++로 정적 변환한 뒤 WebAssembly로 컴파일하고, WebGL2 기반의 경량화된 PSP OS 및 그래픽 칩 재구현 환경에 연결하는 방식으로 작동합니다.
가장 먼저 이 방식으로 구동된 타이틀은 '갓 오브 워: 코인스 오브 올림푸스(God of War: Chains of Olympus)'로, 부팅부터 메뉴 선택, 컷씬, 전투까지 정상 플레이가 가능합니다. 크롬과 파이어폭스 환경에서 최대 원작 4배 해상도(기본 480×272)로 60fps를 안정적으로 방어하며, 모바일 브라우저에서도 온스크린 터치 컨트롤을 지원합니다. 이어 진행된 '갓 오브 워: 고스트 오브 스파르타' 역시 간단한 DRM 복호화와 시스템 콜 패치만으로 3배 해상도에서 55~60fps 구동에 성공했습니다.
개발자가 공개한 최적화 과정도 흥미롭습니다. 초기 구동 당시에는 초당 6프레임(6fps) 수준에 불과했으나, 렌더러 자체를 깎기보다는 불필요한 병목 현상을 잡는 과정에서 성능이 비약적으로 향상되었습니다. 게임 엔진이 수직 동기화를 무시하고 화면에 표시되는 것보다 8배나 많은 프레임을 그리던 것을 제어해 작업량을 8분의 1로 줄였고, Firefox의 버퍼 유효성 검사 특성에 맞춘 인덱스 버퍼 분할, WebAssembly 시간 측정 오버헤드 축소, CPU와 GPU 처리를 분리하는 멀티스레드 OffscreenCanvas 도입 등을 통해 프레임을 60fps까지 끌어올렸습니다.
해당 프로젝트는 저작권 보호를 위해 게임 데이터를 일체 포함하지 않으며, 사용자가 소장 중인 게임 디스크 이미지를 제공하면 로컬 웹페이지 형태로 변환해 주는 스크립트를 제공합니다.
Sponsored · 광고