# PDF로 구현된 Doom (1993)

> Clean Markdown view of GeekNews topic #18723. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18723](https://news.hada.io/topic?id=18723)
- GeekNews Markdown: [https://news.hada.io/topic/18723.md](https://news.hada.io/topic/18723.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-01-14T09:50:49+09:00
- Updated: 2025-01-14T09:50:49+09:00
- Original source: [doompdf.pages.dev](https://doompdf.pages.dev/doom.pdf)
- Points: 2
- Comments: 0

## Topic Body

- PDF 파일의 Javascript 환경내에서 실행되는 둠   
- 오래된 **Emscripten** 버전을 사용하면 C 코드를 `asm.js`로 컴파일할 수 있으며, 이는 **PDF 뷰어의 제한된 JS 런타임에서도 실행 가능**함  
- **doomgeneric** 포크를 사용하여 입출력(IO) 구현을 단순화  
- **프레임버퍼 및 키보드 입력**을 직접 구현하여 Doom을 PDF 환경에 맞춤  
- 기존 PDF 내 인터랙티브 데모와 달리:  
  - **출력 방식**: 각 화면 행(row)마다 **텍스트 필드**를 생성하고, ASCII 문자로 픽셀을 표현  
  - **색상 제한**: 6가지 색상의 **모노크롬 디스플레이** 구현  
  - **업데이트 속도**: 프레임당 **80ms**로 갱신 (제한된 성능 내에서 최적화)  
- **소스 코드**: [GitHub 저장소](https://github.com/ading2210/doompdf)에서 확인 가능  
- **지원 환경**:  
  - Chromium 기반 브라우저 (PDFium 엔진 사용)에서만 실행 가능  
  - 다른 PDF 뷰어에서는 정상 동작하지 않음

## Comments



_No public comments on this page._
