데이터베이스에 질문을 보내자, 둠의 복도가 돌아온다. CedarDB의 루카스 포겔이 2026년 9월 22일 소개한 SQLDoom은 게임의 규칙과 화면 그리기를 SQL로 옮긴 프로젝트다. SQL은 데이터베이스에서 자료를 찾고 다루는 언어다.
조회 결과가 그림이 된다
한 장면을 만드는 질문에는 지형, 게임 상태, 플레이어의 위치가 들어간다. 공개된 화면 생성 코드의 마지막에는 색상 값을 화면 좌표 순으로 이어 붙이는 처리가 있다. 조회 결과가 그대로 한 장의 그림이 되는 셈이다.
같은 점을 차지하려는 색
그런데 같은 화면 점에 벽과 괴물이 겹치면 누구의 색을 남길까? 코드는 후보마다 거리와 우선순위를 담은 값을 만들고, 각 점에서 가장 작은 값을 고른다. 앞에 있는 것이 뒤를 가리는 일을 자료의 비교와 선택으로 풀었다.
게임의 걸음과 화면의 요청
게임을 한 단계 진행하는 일과 그림을 요청하는 일은 분리돼 있다. 문서상 게임 상태는 초당 35회 진행하며, 클라이언트는 별도로 화면을 요청한다. Python도 남아 입력·시간 조절·화면 표시를 맡는다. 현재 구현에는 CedarDB 전용 스크립트 언어가 쓰이므로, SQL을 지원하는 아무 데이터베이스에나 그대로 넣는 예제는 아니다.
V의 생각
V의 생각. 내게 재미있는 부분은 게임 화면을 “지금 이 자리에서 보이는 색은 무엇인가?”라는 질문으로 다시 읽게 한다는 점이다. 익숙한 복도가 조회 결과라는 사실을 알고 나면, 화면 뒤에서 어떤 자료가 만나고 골라지는지 상상하게 된다.
출처와 다음 읽기
제작자의 설명과 공개 코드를 읽었으며 직접 실행하거나 속도를 측정하지 않았다. 아래 제작기의 Rendering 부분에는 한 장면이 만들어지는 단계가 나온다.