
브라우저 탭에서 돌아가는 어린 시절 게임들
한 줄 요약: 어린 시절 게임이 설치 없이 브라우저 탭에서 돌아가는 것은 WebAssembly(WASM, 웹에서 네이티브 코드를 돌리는 표준) 덕분이고, 팬 포팅은 공개된 소스, 디컴파일 코드, 유출 소스 세 갈래 길 중 하나로 만들어져요.
최근 SNS에서 어린 시절 게임을 브라우저 탭에서 바로 돌릴 수 있다는 게임 목록이 화제였어요. Call of Duty(이하 CoD) Black Ops의 좀비 모드를 시작으로 Halo, The Simpsons Hit & Run, Skate 3 같은 게임이 한 트윗에 스무 곳이 넘게 열거되어 있어요. 이 붐은 해외 게임 매체의 정리 기사로 이어졌고, 목록 속 주소들은 정리 시점 기준으로 열려 있어요.
화면을 서버에서 그려 보내는 클라우드 게이밍과는 구조가 달라요. 이 포팅들 대부분은 게임의 심장인 엔진 코드 자체를 브라우저가 실행할 수 있는 형태로 바꿔 두었고, 그래서 연산이 내 기기에서 일어나요. 이 글에서는 대표 세 곳(좀비 모드, Hit & Run, Halo)을 직접 접속해 확인하며 깊게 짚고, 목록에서 함께 열거된 MW2를 포함한 나머지는 비교표로 훑은 뒤 한 곳씩 내려와 볼게요.
게임 엔진이 탭에 들어오는 원리
WebAssembly(WASM)는 브라우저가 기계 명령에 가까운 속도로 실행할 수 있는 저수준 코드 형식이에요. 옛 게임 엔진은 대부분 C/C++ 언어로 쓰였기 때문에 이 코드를 WASM으로 컴파일하면, 브라우저도 원작 엔진을 그대로 돌릴 수 있어요. Emscripten이라는 컴파일러 도구가 이 계열 포팅의 표준 장비입니다.
엔진이 브라우저 밖 세계와 나눠 하던 역할은 웹 표준이 대신해요. 화면은 WebGL·WebGPU 그래픽 API가, 소리는 웹오디오 API가, 세이브 저장은 브라우저 내장 데이터저장소(IndexedDB)가 맡아요. 수백 메가바이트에 이르는 게임 파일은 서버에서 필요한 조각만 내려받는 방식으로 흔히 처리돼요.
작업의 출발점은 세 갈래로 갈려요. 하나는 id Software가 1999년 Quake의 소스 코드를 자유 소프트웨어 라이선스(GPL)로 공개한 것처럼 원작 코드가 공개된 사례예요. 또 하나는 기계어로만 남은 원작을 커뮤니티가 거꾸로 읽어 C 코드로 되돌려 놓은 ‘디컴파일’ 계열이고요(Super Mario 64, 젤다 오카리나의 Ship of Harkinian, Jak and Daxter의 OpenGOAL이 이 길을 먼저 밟았어요). 이 외에 유출된 소스를 시작점으로 쓰거나, 만든 과정을 공개하지 않는 사례도 있어요.
원작 엔진 그대로, Black Ops 좀비
이번 목록의 주인공은 CoD: Black Ops(트레이아크, 2010)의 좀비 모드예요. 원작은 출시 첫날 미국·영국을 합쳐 560만 장이 넘게 팔렸고, 그해 12월 22일에는 10억 달러 매출을 넘긴 대작이었어요. 그 좀비 모드가 맵 열 개와 함께 vel.gg/bo1z에서 브라우저로 돌아가요.
이 글 상단의 캡처가 직접 열어 본 미션 선택 화면이에요. Kino der Toten부터 Moon까지 열 개의 맵이 목록으로 나열되고, 하단에는 ’Call of Duty-Singleplayer … build 7.0.152 … win-x86’이라는 원작 PC판 빌드 정보가 그대로 표시돼요. 브라우저 탭이 원작 PC판 본체 역할을 그대로 맡는다는 뜻이에요.
즐기기 전에 세 가지를 짚을게요. 데스크톱 브라우저에서 하드웨어 가속을 켜는 것이 성능의 기본이고, 협동 플레이와 화면 분할(스플릿 스크린)은 없는 솔로 전용이에요. 좀비가 대열을 이루는 장면에서는 프레임이 흔들릴 수 있어요.
만들어진 방법은 공개되어 있지 않아요. ’재컴파일이냐 디컴파일이냐’는 사람들이 붙여 둔 이름일 뿐이고, 포팅 모음 사이트는 작업 중 항목으로 MisaDev를 제작자로 적어요. X에서 크게 퍼졌다는 내용은 보도로 확인됐고, 목록에는 Kino der Toten, Moon 같은 맵 단위 배포본 주소도 따로 실려 있어요.
유출 소스에서 출발한 Hit & Run
만든 과정이 가장 자세히 공개된 곳은 2003년작 The Simpsons: Hit & Run(포팅 사이트)이에요. 만든 개발자가 해커뉴스(Hacker News)에 쓴 글에 따르면, 시작점은 2021년에 유출된 원작 PC판 소스 코드였어요. 그 코드 전체를 WASM과 WebGL로 옮겨 브라우저에서 돌릴 게임을 만들었어요.
지금 사이트를 열면 아래 화면처럼 검은 배경 가운데 Play 버튼 하나가 나타나요. 누르는 순간 게임 파일이 네트워크에서 내려받기 시작해요.

돌아가는 모습부터 보면, 게임은 원본 해상도로 그려지고 필요한 게임 파일은 실행 중에 그때그때 내려받아요. Xbox판에만 있던 렌즈 플레어와 와이드스크린 지원, 프링크(작중 발명가)의 호버카 굴절 효과까지 이 웹판에 더해졌어요. 도입 영상은 H.264 파일로 바꿔 웹 화면 위에 얹는 방식으로 재생했어요.
만든 개발자가 꼽은 가장 까다로운 관문은 순서대로 소리, 파일 입출력, 그래픽이었어요.소리는 원작이 각 소리 채널의 상태(볼륨·방향)를 요청 직후에 확인하길 기대하는데, 웹오디오의 저지연 재생 장치(AudioWorklet)는 별도 스레드에서 짧은 주기로 불려 나가는 구조라 둘이 잘 맞지 않아요. 이 틈을 잠금을 쓰지 않는 공유 메모리 이중 버퍼 설계로 메웠어요.
파일과 그래픽도 각자의 벽이 있었어요. 파일은 약 500MB짜리 아카이브에서 필요한 부분만 읽어 오도록 전송량 과금이 없는 클라우드 저장소(Cloudflare R2) 앞에 1MB 단위로 나눠 응답하는 중계를 두었고, 사파리의 세이브 멈춤은 완료 여부를 매 프레임 확인하는 방식으로 풀었어요. 그래픽은 DirectX 8 시절의 고정 기능 파이프라인(과정을 바꿀 수 없던 옛 화면 처리 방식)을 통합 셰이더 하나로 재현하고, 프레임마다 수천 번 불리던 명령 낭비는 이전 상태를 기억해 줄였어요.
모바일에서 돌아가는 모습도 알려져 있어요. 개발자는 Pixel 10에서 잘 돌지만 물리 키보드가 필요하다고 적었고, 이 웹판은 9월에 매체 보도로도 알려졌어요.
Halo CE, 디컴파일로 120프레임
Halo: Combat Evolved(2001년 Xbox, 2003년 PC)의 브라우저 포팅은 미첼 하인즈가 올해 9월 말에 올렸어요. 하인즈 말을 보도가 옮겼는데, 공개된 처음 5시간 동안 115개국에서 약 2만 회가 플레이됐고 평균 프레임은 94fps였어요. 에뮬레이터도 화면 스트리밍도 아닌, 컴파일된 원작 엔진이 브라우저에서 그대로 돌아가요.
밑바탕은 커뮤니티의 디컴파일 작업이에요. 커뮤니티가 원작을 C/C++ 코드로 되돌려 놓은 이 코드는 윈도우·리눅스·안드로이드·PS5 포팅으로 이어졌어요. 하인즈는 그 코드를 WASM으로 컴파일해 ’브라우저에서 120fps’를 선언했고, 또 다른 개발자가 같은 코드로 서버 한계(원작은 16인 고정)를 128인으로 넓히는 시연까지 보였어요.
멀티플레이는 브라우저와 브라우저를 직접 이어요. 서로를 연결하는 다리는 Cloudflare TURN(방화벽 뒤 연결을 중계하는 서비스)인데, 서버 비용이 거의 들지 않는다고 만든 개발자의 게시글이 알려요. 컨트롤러와 키보드·마우스 모두 지원되지만, 폰(아이폰·안드로이드)에서는 잘 돌지 않아 PC가 권장돼요.
직접 확인한 현재 모습은 아래와 같아요. 첫 화면에 ’저작권을 준수하고 원작 디컴파일 팀을 존중하기 위해 이 사이트는 Halo 게임 데이터를 제공하지 않는다’는 고지가 나오고, Xbox 사본에서 추출한 디스크 이미지(XISO)를 선택해 올리길 기다려요. 보도가 말한 ’무료로 바로 플레이’와 현재의 진입 흐름은 다르고, 직접 열 때 기준이 되는 쪽은 이 고지예요.
바이럴 직후에는 Cloudflare 피싱 필터의 오탈 차단을 받아 하루 동안 닫히기도 했어요. 비공식 프로젝트가 겪는 일을 그대로 보여 주는 사례예요.

나머지 목록, 어떻게 만들어졌나
앞의 세 곳 외에도 목록에는 여러 갈래가 이어져요. 직접 접속해 확인한 항목을 표로 좁혀 훑고, 다음 절에서 한 곳씩 내려와 볼게요.
| 게임 | 엔진의 출발점 | 게임 데이터 |
|---|---|---|
| Skate 3 (skate.aaddpp.lol) | 공개되지 않음 | 자기 사본 지참 (사이트 고지) |
| MW2 (Open Victor Zulu) | 방법은 공개되지 않음 (보도 기준) | 첫 매치 전에 파일 내려받기 |
| Half-Life·CS 1.6 (Pixelsuft/hl·webXash) | Xash3D FWGS (GoldSrc 재구현) WASM | 서버 패키지 또는 자기 ZIP |
| Quake 1·2·3·RTCW·UT (pieter.com) | 브라우저 안 옛 컴퓨터 + QuakeWorld 클라이언트 | 서버에서 준비 |
| Diablo (diablo_web) | devilution 디컴파일 코드 WASM | 셰어웨어 데모 + 자기 MPQ |
| 그 외 (BO2·PES 6·Hedgewars 등) | 직접 확인하지 못함 | 항목마다 다름 |
MW2, 멀티플레이 웹판
2009년작 MW2에도 웹판이 있어요. 보도에 따르면 온라인에서는 Angelo라 불리는 개발자가 만들었고, 프로젝트 이름은 ’Open Victor Zulu’예요. CoD 콘텐츠 제작자가 게임을 퍼뜨려 인기를 얻었고, PC와 모바일 표준 브라우저 모두에서 매치에 참여할 수 있게 됐어요.
보도 게시판에 남은 사용자 글에서는 ’조금 끊기지만 유쾌하다’는 평이 모여요. 직접 접속해 보니 첫 화면은 아래처럼 Cloudflare 사람 확인 문이었어요. 게임 화면은 이 확인을 통과한 뒤에 열리고, 브라우저 게임 모음의 안내로는 첫 매치 전에 게임 파일을 내려받는 구조예요.

Skate 3, 고지문에 답이 있다
원작은 PS3·Xbox 360으로만 나왔던 2010년작인데, 보도에 따르면 18세 보안 전공 학생 Asher가 만들었어요. 모바일·태블릿·PC 어디서든 돌고 멀티플레이까지 붙었으며, 플레이어 보고로는 300fps 이상을 기록하기도 했어요. 원작 콘솔판보다 훨씬 부드럽게 돌아간다는 관찰도 함께 있어요.

직접 열어 보면 첫 화면이 고지문이에요. ’EA와 관계없는 비공식 비영리 팬 게임’이라고 시작해, 게임 콘텐츠를 이 서버에 두지 않으며 정당히 소유한 본인의 Skate 3 사본을 직접 변환해 지참하라고 안내해요. 보도의 ‘설치 없이 즐기자’ 인상보다 실제 고지가 기준이 되고, 엔진이 정확히 어디서 도는지는 이 문구만으로는 판단할 수 없어요.
같은 게임에는 다른 접근의 프로젝트도 있어요. skatemods.com의 브라우저판은 러스트 언어로 새로 쓴 엔진을 WASM·WebGPU로 돌리고, 텍스처와 효과음을 전부 새로 만든 자체 에셋을 써요. skate3recomp는 Xbox 360판 코드를 PC 프로그램으로 되돌린 네이티브 재컴파일이고요.
Half-Life와 CS 1.6, Xash3D 엔진
하프라이프 쪽에는 또 다른 길이 있어요. Xash3D FWGS는 원작 하프라이프 엔진(GoldSrc)을 독립적으로 다시 구현한 오랜 오픈소스 프로젝트인데, 여기에 WASM 컴파일을 얹으면 브라우저에서 Half-Life와 CS 1.6이 돌아가요. Pixelsuft/hl과 webXash가 이 길로 나온 사이트예요.

시작 화면은 심플해요. 메모리 크기와 시작 버튼만 있고, 게임 데이터를 서버 패키지에서 받을지 자기 ZIP 파일로 올릴지 다음 단계에서 고르게 돼 있어요. 세이브와 설정은 브라우저 저장소(IndexedDB)에 남기도 하는데, 정상 종료가 필요하다는 조건이 붙어요.
Quake, 살아 있는 서버
인디 개발자 Pieter Levels의 레트로 PC 프로젝트는 브라우저에 1990년대 개인용 컴퓨터를 통째로 준비해 두는 프로젝트예요. 가상 널모뎀(직렬 케이블이 꽂힌 것처럼 흉내 내는 소프트웨어)로 여러 명의 브라우저를 옛 PC 네트워크처럼 묶어, 1996년 도스판 Quake 1의 멀티플레이가 돌아가요. 3월에는 OpenArena(Quake III 계열 게임)의 서버를 브라우저로 옮긴 이야기도 썼어요.

정리 시점에 q1.pieter.com을 열었을 때는 29명의 플레이어가 접속해 맵 E1M4를 돌고 있었어요. 매일의 정기 매치 예고와 하루·주간·전체로 나뉜 랭킹판까지 준비되어 있었어요.
게임 하나라기보다 서비스 하나에 가까운 모습이에요. Quake 소스가 공개된 지 27년이 지난 지금도, 그 코드는 사람을 모아요.
Diablo, 데모와 본게임의 분리
1996년작 Diablo의 브라우저판은 커뮤니티 역공학 코드인 devilution을 WASM으로 돌려요. 니키타 막시모프가 만든 이 판은 체험판(셰어웨어)을 스스로 제공해요. 본게임은 자기 DIABDAT.MPQ 파일(원작 설치 디스크의 데이터 묶음)을 올려야 열리고, 정리 글에 따르면 README가 GOG 사본을 예로 들어요.

데모와 본게임을 이렇게 나눠 두는 건 저작권 경계를 스스로 지키려는 설계예요. Halo의 XISO 고지, Skate 3의 사본 지참 안내와 이어지는 공통 자세예요.
어떻게 활용하면 좋을까요
접속은 주소를 열고 기다리는 것으로 끝나요. 다만 첫 로드가 몇십 메가바이트에서 수백 메가바이트까지 갈 수 있으니 여유를 두세요. 브라우저는 데스크톱이 기준이고, Halo는 게임패드를, Hit & Run은 물리 키보드를 갖추면 편해요.
목록 작성자의 조언도 그대로 유효해요. 일부 항목은 본인의 게임 파일을 요구하지만, 그럴 필요 없이 바로 열리는 곳도 있어요. 그리고 ’런처 설치를 요구하는 사이트는 거르라’는 조언이 목록 원문에 직접 적혀 있어요.
주소의 수명은 길게 보기 어려워요. GTA V의 브라우저 포팅은 공개되고 화제가 된 몇 시간 만에 차단됐고, 목록의 GTA 5 항목이 웹 아카이브 링크로 남은 이유이기도 해요. Halo 포팅의 필터 오탈 차단까지 더하면, 지금 열린 주소도 언제 닫힐지 모른다는 게 공통 상태예요.
마지막으로 저작권을 한 번 더 생각해 볼게요. 여기 나온 프로젝트는 모두 비공식이고, 원작자의 권리는 언제든 문제가 될 수 있어요. 그래서 게임 파일을 스스로 지참하는 구조는 그 경계를 지키려는 선택이기도 해요.
지금 접속해 보고, 마음에 든 원작은 정품으로 갖추는 접근이 이 붐에서 가장 건전한 쓰법이 될 거예요. 콘솔 진열장이나 구형 PC 없이도 그 시절 감각을 꺼내 보고 싶다면, 오늘 열려 있는 주소부터 하나씩 열어 보세요.
이 글의 내용은 아래 자료를 기준으로 확인했어요. 화면 캡처는 정리 시점(2026-10-10)에 직접 접속해 찍은 것이에요.
- 화제의 게시물 — 인스타그램
- 게임 목록 트윗 — X(RadiantOpti)
- TweakTown — 브라우저로 돌아가는 20개가 넘는 클래식 게임 보도
- Call of Duty: Black Ops — 위키백과(출시 판매 기록)
- vel.gg/bo1z — Black Ops 좀비 포팅 사이트
- recompiledgames — Black Ops Zombies 정리 글
- Ported2Browser — Black Ops Zombies 항목(MisaDev 표기)
- TheGamer — Black Ops Zombies 브라우저 보도
- shar-wasm — The Simpsons: Hit & Run 포팅 사이트
- 해커뉴스 — 개발자가 설명한 Hit & Run 포팅 과정
- Screen Rant — Hit & Run 브라우저 보도
- mitchellhynes.com/halo — Halo 포팅 사이트
- XDA — Halo 브라우저 포팅 보도(플레이 기록 포함)
- allnight.city — Halo CE 디컴파일 씬과 120fps 기록 정리
- allnight.city — Halo 포팅을 겨냥한 피싱 필터 오탈 차단 사례
- 미첼 하인즈 — 멀티플레이 공개 글(X)
- Pixelsuft/hl — GitHub(하프라이프 브라우저 포팅)
- x8BitRain/webXash — GitHub(CS 1.6 브라우저 포팅)
- FWGS/xash3d-fwgs — 공식 WASM 지원 이슈
- levels.io — 브라우저 레트로 PC 프로젝트 설명
- levels.io — 가상 널모뎀 Quake 1 멀티플레이
- levels.io — Quake III 서버를 브라우저로
- JohnImril/diablo_web — GitHub(Diablo 브라우저 판)
- recompiledgames — Diablo(DiabloWeb) 정리 글
- GlitchMod — MW2 브라우저판(Open Victor Zulu) 보도
- browsergame.si — MW2 항목 안내
- Operation Sports — Skate 3 브라우저 포팅 보도(Asher)
- skatemods.com — 러스트 엔진 기반 클린룸 브라우저판
- mchughalex/skate3recomp — GitHub(Xbox 360판 네이티브 재컴파일)
- Tom’s Hardware — GTA V 브라우저 포팅 즉시 차단 보도
- MDN — WebAssembly 소개
- Emscripten — 공식 사이트