# AI 가 FPS 게임 'DOOM' 의 세계 자체를 뇌로 삼아 손글씨 숫자 인식부터 텍스트 생성까지 구현한 'Doomformer'

> https://bookfactory.kr/board/news/24451
> 게시판: 뉴스
> 작성자: tachikoma43
> 작성일: 2026-11-03T05:33:31.784Z

---

FPS 게임의 정점이라 불리는 'DOOM'의 게임 내 메커니즘을 활용하여 신경망의 계산을 수행하는 프로젝트 'Doomformer'가 공개되었습니다. 수많은 플레이어의 복제본, 바닥의 높이, 조명의 밝기 등을 계산을 활용하여 손글씨 숫자 인식, 텍스트 생성, AI 기반 게임 조작까지 실현하고 있습니다. DOOMFORMER: integer neural networks computed by voodoo dolls in ZDoom maps https://mottopanikeiku.github.io/doomformer/#writes-itselfmottopanikeiku/doomformer: Compile an integer neural network into a DOOM map. Voodoo dolls do the arithmetic, light levels and plane heights hold the values, and every value is checked against NumPy with tolerance 0. https://github.com/mottopanikeiku/doomformer 'DOOM'은 소스 코드가 공개되어 있어, 자발적인 개발자들의 노력으로 트랙터, 내비게이션 시스템, 의료용 초음파 스캐너, 임신 진단 키트, 나아가 'DOOM' 게임 내 등 다양한 플랫폼으로 이식되어 널리 알려져 있습니다. 개발자 mottopanikeiku 가 공개한 'Doomformer'는 'DOOM'을 구동하는 것을 넘어, 게임의 메커니즘 자체를 AI 의 계산에 활용한다는 프로젝트입니다. Doomformer 는 신경망을 'DOOM'의 스테이지로 변환하고, 게임 내 객체를 움직여 계산을 수행합니다. 실행 환경으로는 'DOOM'을 확장한 ZDoom 계열에 대응하는 'ViZDoom'을 활용하고 있습니다. 아래는 신경망에서 DOOM 맵을 생성하여 ViZDoom 에서 계산한 결과를, Python 을 사용하여 대량의 수치 데이터를 고속으로 계산하기 위한 라이브러리인 NumPy 와 비교하는 과정까지 보여주는 도표입니다.

핵심이 되는 것은 '부두도어 (Voodoo Doll)'라는 메커니즘입니다. 이는 'DOOM'의 맵에서 플레이어의 시작 위치를 여러 개로 설정할 때 나타나는 플레이어의 복제본이며, Doomformer에서는 이 복제본을 대량으로 배치하여 계산을 수행합니다.

예를 들어, 복제본을 벨트 컨베이어처럼 움직이는 바닥 위에서 이동시키고, 특정 선을 통과할 때 수치를 가산함으로써 신경망이 필요한 계산을 재현합니다. 계산 결과는 조명의 밝기나 바닥과 천장의 높이로 기록되며, 계단이나 통로도 계산 처리에 활용됩니다.

Transformer 에서 사용되는 Attention 이라는 계산도 천장의 높이로 복제본의 통과를 제어함으로써 재현합니다. 즉, 'DOOM'의 화면에 AI 의 계산 결과를 표시하는 것뿐만 아니라, 게임 내의 복제본이 실제로 움직이며 계산을 진행하는 것입니다.

Doomformer 는 이 기술을 활용하여 손글씨 숫자 인식 데모를 공개했습니다. 예를 들어, 플레이어가 게임 내 바닥을 걷는 동안 숫자를 적으면 그 형태가 28×28 픽셀의 이미지로 신경망에 입력됩니다. 숫자 인식에는 1355 개의分身 (分身) 이 활용되어 어떤 숫자가 될 가능성이 높은지 계산합니다. 판정 결과는 게임 내 디스플레이에 표시되며, 개발자가 준비한 0 에서 9 까지의 숫자를 각각 3 가지 방법으로 적는 테스트에서는 30 회 모두 올바른 숫자를 인식했다고 보고되었습니다.

또한 손글씨 숫자 데이터셋 'MNIST' 를 사용한 검증에서는 1 만 장의 테스트 이미지 대비 97.16% 의 인식 정확도를 기록했습니다. 실제로 'DOOM' 내에서 계산된 결과는 Python 수치 계산 라이브러리 'NumPy' 로 계산한 결과와 일치했다고 합니다.

Doomformer 은 텍스트 생성 AI 등에도 활용되는 'Transformer'라는 신경망 구조에도 대응하고 있습니다. 다음은 'DOOM' 게임 내에서 작동하는 AI 가 실제로 DOOM 을 플레이하는 데모입니다. Transformer 를 활용한 AI 가 적의 위치나 진행 방향 등의 정보를 바탕으로 행동을 판단하고, 스테이지 내에서 이동하며 적을 처치하여 목표를 향해갑니다. AI 의 계산은 55 개의 게임 환경으로 분할하여 실행되었으며, 102 번의 행동 판단에 대해 NumPy 의 계산 결과와 일치함이 확인되었습니다. 또한 하나의 스테이지 내에서 텍스트 생성을 반복하는 데모에서는 5,875 개의分身을 사용하며, 다음에 출력할 문자의 선택부터 다음 계산의 준비까지 게임 내에서 실행함으로써 'DAN'이라는 문자열을 생성합니다. Python 은 게임 내 시간을 진행하거나 계산 결과를 읽는 역할을 담당하지만, 문자 선택 자체는 게임 내에서 이루어집니다. 켄치로이 말벌의 신경 연결 데이터 'FlyWire'에서 구축된 255 개의 뉴런을 가진 모델을 활용하여 음식을 먹기, 거절하기, 위생 관리하기, 날아오르기라는 4 가지 유형의 행동을 재현하는 실험도 이루어졌습니다. 신경 회로의 동작은 단순화되어 있으며, 실제 켄치로이 말벌의 뇌를 완전히 재현한 것은 아니지만, 169 번의 계산 단계 모두에서 기준 모델과 결과가 일치합니다. 또한 게임 내 적의 위치에 따라 AI 가 공격을 판단하는 실험이나, 'DOOM'의 스테이지 내에서 신경망의 가중치를 업데이트하여 학습시키는 실험 등이 공개되었습니다. 플레이어의 행동을 결정하는 신경망을 게임 내에 통합하고,分身을 통한 계산 결과를 사용하여 캐릭터를 조작하는 것도 가능합니다.

그러나 'DOOM' 을 사용한 계산은 일반적인 컴퓨터 계산에 비해 매우 느립니다. 개발자의 검증에 따르면, 소규모 신경망 계산은 NumPy 에 비해 약 6 만 5 천 배의 시간이 걸렸다고 보고되었습니다. 또한 'DOOM' 내의 연산 결과가 NumPy 와 일치한다는 것은 확인되었으나, AI 의 인식이나 답변 자체가 항상 정확한 것을 의미하는 것은 아닙니다. Doomformer 의 소스 코드는 GitHub 에서 공개되었으며, MIT 라이선스로 사용할 수 있습니다. Linux 와 macOS 를 위한 설치 방법도 안내되어 있습니다.

[원문 보기](https://gigazine.net/news/20261030-doomformer/) | 출처: Gigazine