라떼군 이야기
전설의 FPS '디센트', 설치 없이 웹에서 바로 즐긴다? (Three.js의 마법)
TL;DR Three.js의 창시자 Mr.doob이 1995년 고전 명작 FPS ‘디센트(Descent)‘를 웹으로 완벽하게 이식했습니다. 별도의 설치 없이 브라우저만으로 6자유도(6DOF) 비행 슈팅을 즐길 수 있는 이 프로젝트는 웹 3D 기술의 성숙도를 보여주는 놀라운 사례입니다.
90년대 게이머들을 어지럽게 만들었던 전설의 3D 슈팅 게임 ‘디센트’를 기억하시나요? Three.js의 창시자인 Mr.doob이 이 고전 게임을 웹 브라우저로 가져왔습니다. 단순한 에뮬레이터 구동이 아니라, 웹 기술을 활용해 네이티브에 가까운 경험을 구현해낸 이 프로젝트는 웹 그래픽스 기술이 어디까지 왔는지를 증명하는 흥미로운 사례입니다.
핵심 내용
이 프로젝트는 1995년 출시된 PC 게임을 별도 플러그인이나 설치 과정 없이 최신 웹 브라우저에서 즉시 실행할 수 있게 만들었습니다. Three.js 라이브러리를 기반으로 렌더링 파이프라인을 구축하여, 원작의 복잡한 3D 미로와 6자유도 움직임을 부드럽게 재현했습니다. 사용자는 URL 접속만으로 키보드와 마우스를 이용해 즉시 게임플레이가 가능하며, 이는 웹이 단순한 정보 전달 수단을 넘어 고성능 인터랙티브 콘텐츠 플랫폼으로 진화했음을 보여주는 강력한 증거입니다.
기술적 인사이트
기술적으로 가장 주목할 점은 레거시 C/C++ 코드베이스를 현대적인 웹 스택(Three.js/WebGL)과 결합한 방식입니다. 이는 단순히 화면을 스트리밍하는 클라우드 게이밍이나 무거운 에뮬레이터 방식과는 궤를 달리합니다. 클라이언트 사이드에서 리소스를 직접 연산하고 렌더링함으로써 인풋 랙(Input Lag)을 최소화했고, Three.js의 추상화 계층을 통해 로우 레벨 그래픽스 제어의 복잡성을 줄이면서도 원작의 퍼포먼스를 웹 환경에 최적화했다는 점에서 훌륭한 엔지니어링 사례입니다.
시사점
이 사례는 ‘소프트웨어 아카이빙’과 ‘크로스 플랫폼 배포’의 새로운 표준을 제시합니다. 개발자들은 기존의 네이티브 애플리케이션이나 레거시 시스템을 웹으로 이식(Porting)함으로써 설치 장벽을 없애고 접근성을 극대화할 수 있습니다. 또한, 게임뿐만 아니라 CAD, 시뮬레이션 등 고성능 그래픽이 필요한 산업용 소프트웨어도 웹 어셈블리(WebAssembly)와 WebGL/WebGPU를 통해 브라우저 환경으로 넘어올 수 있다는 가능성을 시사합니다.
이제 브라우저는 OS의 제약을 뛰어넘는 유니버설 런타임이 되어가고 있습니다. 앞으로 WebGPU가 본격적으로 도입되면 웹에서 구동되는 3D 애플리케이션의 한계는 어디까지 확장될까요? 여러분의 레거시 프로젝트도 웹으로의 이식을 고민해볼 시점일지도 모릅니다.