DOOM 장치로 정수 연산하는 Doomformer 공개

Ledge AI2026년 11월 8일 (일)
DOOM 장치로 정수 연산하는 Doomformer 공개
  • •개발자 mottopanikeiku, DOOM 장치로 정수 연산하는 Doomformer를 GitHub에 공개
  • •DrawPad, 손글씨 숫자 1만 장 중 9,716장을 정확히 분류
  • •v0.7.2에서 맵 내보내기 지원, GZDoom에서는 Python 없이 실행 가능

개발자 mottopanikeiku는 2026년 10월 20일 슈팅 게임 DOOM의 장치를 활용해 정수 연산을 수행하는 오픈소스 프로젝트 Doomformer를 GitHub에 공개했습니다. 플레이어가 발사 버튼을 누른 채 걸으면 바닥에 선을 그리는 방식을 이용합니다. 선으로 숫자 7을 그린 뒤 판독 버튼을 누르면 결과인 7에 해당하는 조명이 켜지는 데모도 있습니다.

Doomformer는 정수 연산을 수행하는 신경망을 DOOM 계열 실행 환경인 ViZDoom에서 작동하는 스테이지로 변환합니다. 스테이지 안에서 플레이어의 복제 캐릭터는 컨베이어 벨트에 실려 이동하고, 계산용 선을 지날 때마다 각 선에 지정된 값이 더해집니다. 계산 결과는 구역별 조명의 밝기와 바닥 높이로 나타납니다. 소규모 Transformer를 사용해 DOOM 스테이지 이름을 만드는 데모도 공개됐습니다.

숫자 인식 데모 DrawPad에서는 숫자를 그린 스테이지 안에서 복제 캐릭터 1,355개가 계산을 수행합니다. 판정 결과에 해당하는 캐릭터가 선을 지나면 그 숫자에 불이 들어옵니다. 개발자는 손글씨 숫자 데이터셋 MNIST의 테스트 이미지 1만 장으로 평가해 9,716장을 정확히 분류했습니다. 계산은 4개 맵으로 나눠 진행했고, Python이 맵 사이에서 값을 전달했습니다.

평가에서는 이미지마다 게임에서 읽어낸 값 248개를 대상으로, 1만 장 전체에서 NumPy를 이용한 정수 연산 결과와 완전히 일치했다고 보고했습니다. 2026년 11월 2일자 업데이트 v0.7.2에는 DrawPad를 맵 파일로 내보내는 기능이 추가됐습니다. 내보낸 맵은 DOOM 계열 실행 환경 GZDoom에서 Python 없이 실행할 수 있습니다. 계산 과정은 복제 캐릭터가 바닥의 선을 지나가는 움직임으로, 결과는 조명과 바닥 높이로 확인할 수 있습니다. 평가 결과는 개발자가 제시했으며, 조건은 MNIST 테스트 이미지 1만 장, 4개 맵 구성, 이미지당 값 248개였습니다.