본문 바로가기
2글자 이상 입력하세요

Doom

1993년 클래식 FPS 의 셰어웨어 에피소드를 브라우저 안에서 WebAssembly 로 플레이합니다.

타이틀 화면에서는 Esc 로 메뉴를 열고 New Game → 난이도 → Enter 로 시작합니다. 게임 영역을 클릭하면 마우스 포인터가 잠기고 키보드 조작이 시작되며, 그 전에는 페이지가 평소처럼 스크롤됩니다. 전체화면은 우상단 메뉴 안에 있으며 터치 기기에서는 가로 화면으로 고정을 시도합니다.

브라우저에서 돌아가는 Doom

Doom 은 1993년 id Software 가 발표한 1인칭 슈팅 게임의 원형입니다. 이 페이지는 Boom 계열 엔진 PrBoom+ 와 PrBoomX 를 WebAssembly 로 컴파일한 Dwasm 을 사용합니다. 셰어웨어로 배포된 에피소드 1 'Knee-Deep in the Dead' 의 9개 맵을 플레이할 수 있고, 게임 규칙은 원본과 같으면서 와이드스크린·고해상도·부드러운 프레임·MIDI 음악 합성 같은 현대적 편의가 더해져 있습니다.

엔진과 게임 데이터(약 6.5MB)는 시작 버튼을 누른 뒤에 내려받고, 모든 실행은 브라우저 안에서 이뤄집니다. 저장 파일과 설정만 브라우저 저장소에 남고, 서버에는 아무것도 전송하지 않습니다.

게임 진입과 PC 진행 방법

  1. 게임 시작 버튼을 누르면 엔진을 내려받아 타이틀·데모 화면이 나옵니다. 데모가 재생 중일 때는 다른 키가 아니라 Esc 만 메뉴를 엽니다.
  2. Esc → New Game → 난이도(위에서 두세 번째가 표준) → Enter 로 E1M1 에 들어갑니다.
  3. 게임 영역을 한 번 클릭하면 마우스 포인터가 잠깁니다. 마우스 좌우로 회전, WASD 로 이동, Ctrl 또는 마우스 왼쪽 버튼으로 발사, Space 로 문과 스위치를 사용합니다. Shift 를 누른 채 달리고 CapsLock 으로 항상 달리기를 켤 수 있습니다.
  4. Tab 으로 자동 지도를 열고, 1~5 나 마우스 휠로 무기를 바꿉니다. 출구 스위치를 누르면 다음 맵으로 넘어갑니다.
  5. F6 빠른 저장, F9 빠른 불러오기(첫 번째 저장은 F2 에서 슬롯을 고릅니다). Esc 로 포인터 잠금을 풀고 메뉴에서 Options → Setup 으로 키·해상도·HUD 를 바꿀 수 있습니다.

조작 방법

이동·전투 (g_game.c · m_misc.c)

W / S
앞으로 · 뒤로 이동 (key_up · key_down)
A / D
왼쪽 · 오른쪽 옆걸음(스트레이프) (key_strafeleft · key_straferight)
← / →
왼쪽 · 오른쪽으로 회전 (key_left · key_right). 마우스 좌우 이동과 같은 역할
Alt + ← / →
누른 채 회전 키를 누르면 옆걸음 (key_strafe = RAlt)
Shift
누르고 있는 동안 달리기 (key_speed = RShift)
CapsLock
항상 달리기 켜기 · 끄기 (key_autorun)
Ctrl
발사 (key_fire = RCtrl)
Space
문 열기 · 스위치 사용 (key_use)
1 ~ 9
무기 선택 (key_weapon1~9). 셰어웨어는 1~5 만 등장
0
무기 전환 (key_weapontoggle)
마우스 휠
다음 · 이전 무기 (key_nextweapon · key_prevweapon)
Pause
일시 정지 (key_pause)
T
채팅 (key_chat, 멀티플레이 전용)
F12
다른 플레이어 시점 (key_spy, 멀티플레이 전용)
~
콘솔 열기 (key_console, PrBoomX 추가)
[ / ]
시간 되감기 · 빨리감기 (key_timewarp_backward · forward, PrBoomX 추가)

메뉴 (m_menu.c)

Esc
메뉴 열기 · 닫기 (key_menu_escape). 타이틀·데모 화면에서는 이 키만 메뉴를 엽니다
↑ ↓ ← →
항목 이동 · 슬라이더 조절 (key_menu_up/down/left/right)
Enter
선택 (key_menu_enter)
Backspace
이전 메뉴 (key_menu_backspace)
Delete
키 설정 화면에서 바인딩 지우기 (key_menu_clear)
Y / N
확인 · 취소
F2 / F3
저장 · 불러오기 (key_savegame · key_loadgame)
F4
볼륨 (key_soundvolume)
F5
HUD 전환 (key_hud)
F6 / F9
빠른 저장 · 빠른 불러오기 (key_quicksave · key_quickload)
F7
게임 끝내기 (key_endgame)
F8
메시지 표시 켜기 · 끄기 (key_messages)
F10
종료 (key_quit)
F11
감마(밝기) 단계 (key_gamma)
= / -
확대 · 축소 (key_zoomin · key_zoomout)

자동 지도 (am_map.c)

Tab
지도 켜기 · 끄기 (key_map)
↑ ↓ ← →
지도 이동 (key_map_up/down/left/right)
= / -
확대 · 축소 (key_map_zoomin · key_map_zoomout)
0
전체 보기 (key_map_gobig)
F
따라가기 모드 (key_map_follow)
G
격자 (key_map_grid)
M / C
표시 남기기 · 지우기 (key_map_mark · key_map_clear)
R
지도 회전 (key_map_rotate)
O
게임 화면 위에 겹쳐 보기 (key_map_overlay)

마우스 (mouseb_*)

이동
좌우로 회전 (mouse_sensitivity_horiz 10). 게임 영역을 클릭하면 포인터가 잠기고, Esc 로 풀립니다
왼쪽 버튼
발사 (mouseb_fire = 0)
오른쪽 버튼
누른 채 이동하면 옆걸음 (mouseb_strafe = 1)
가운데 버튼
전진 (mouseb_forward = 2)

위 표는 PC 키보드·마우스 기준으로, 엔진 소스 m_misc.c 의 기본 바인딩입니다(괄호는 변수 이름). 게임 안 Options → Setup → Key Bindings 에서 바꿀 수 있고 변경은 브라우저에 저장됩니다. 모바일·태블릿에서는 화면 위 가상 키패드가 이 키들을 대신 보냅니다.

전체화면과 가로 모드

  • PC — 게임 영역이 모니터를 가득 채웁니다. 우상단 메뉴의 전체화면 항목으로 켜고 끕니다(Esc 는 게임 메뉴와 포인터 잠금 해제).
  • 안드로이드·iPad — 전체화면 진입 뒤 가로 방향 고정을 요청합니다. 기기가 허용하지 않으면 게임 영역을 90° 돌려 가로로 보여 줍니다.
  • iPhone — Safari 에 전체화면 API 가 없어 화면을 덮는 방식으로 대신하고, 세로 상태면 게임 영역을 90° 돌려 가로로 보여 줍니다. 기기를 직접 가로로 돌리면 회전 처리가 풀리고 그대로 가로 화면이 됩니다.

자주 묻는 질문

어떤 버전인가요?
1993년 id Software 가 배포한 Doom 셰어웨어(에피소드 1 'Knee-Deep in the Dead', 9개 맵)입니다. 엔진은 PrBoom+ 와 PrBoomX 를 WebAssembly 로 옮긴 Dwasm 을 사용해 와이드스크린·고해상도·35fps 이상 프레임을 지원하고, 게임 안 Options 메뉴에서 해상도·키 바인딩을 바꿀 수 있습니다.
게임은 어떻게 시작하나요?
시작 버튼을 누르면 엔진과 데이터(약 6.5MB)를 내려받고 타이틀·데모 화면이 나옵니다. 여기서는 Esc 만 메뉴를 열기 때문에 Esc → New Game → 난이도 선택 → Enter 순서로 진입하세요. 게임 영역을 클릭하면 마우스 포인터가 잠겨 좌우 회전이 되고 Esc 로 풀립니다.
모바일·태블릿에서도 할 수 있나요?
네. 화면 위 가상 키패드가 게임 상태에 맞춰 바뀝니다. 타이틀에서는 좌상단 Esc 로 메뉴를 열고, 메뉴에서는 왼쪽 패드로 항목을 옮기며 오른쪽의 선택·뒤로·예·아니오 버튼을 씁니다. 게임에 들어가면 왼쪽 패드가 이동(W/A/S/D, 대각선 포함), 오른쪽 패드가 좌우 회전을 맡고, 오른쪽 패드 둘레에 무기 1~5·전환·달리기·열기·발사 버튼이 7시부터 5시까지 둘러 놓입니다. 지도(Tab)를 열면 둘레 버튼이 확대·축소·따라가기·격자·표시 같은 지도 버튼으로 바뀝니다. 우상단 설정 메뉴에 전체화면·패드 투명도와 저장·불러오기·볼륨·HUD·메시지·밝기·항상 달리기·일시 정지·게임 끝내기·종료가 있습니다. 전체화면을 켜면 가로로 고정하고, 고정이 안 되는 기기(iPhone 등)에서는 게임 영역을 90° 돌려 가로로 보여 줍니다.
소리가 나지 않아요.
브라우저 정책상 게임 영역을 한 번 클릭하거나 터치한 뒤에 소리가 켜집니다. 음악은 OPL2 신디사이저(Sound Blaster 계열 음색)로 실시간 합성됩니다.
진행 상황이 저장되나요?
네. 저장 파일과 설정은 브라우저 저장소(IndexedDB)에 기록되어 같은 브라우저로 다시 방문하면 이어서 할 수 있습니다. 브라우저 데이터를 지우면 함께 사라집니다.
정품 WAD 를 쓸 수 있나요?
이 페이지는 셰어웨어 WAD 만 제공합니다. 정품 doom.wad·doom2.wad 는 저작권상 포함하지 않습니다.

엔진과 크레딧

Doom 은 id Software 의 저작물이며 셰어웨어 에피소드는 자유롭게 재배포할 수 있습니다. 엔진은 GNU GPL v2 로 공개된 PrBoom+·PrBoomX 와 그 WebAssembly 포트 GMH-Code/Dwasm 을 사용했습니다. 가상 키패드·전체화면·가로 고정은 이 사이트에서 추가한 부분입니다.

다른 게임