Firebird SQL 데이터베이스 안에서 DOOM이 돌아간다
DOOM, simulated and rendered inside the Firebird SQL database using WASM
Firebird 6를 WebAssembly로 컴파일해 브라우저에서 DOOM을 실행한다. 게임의 모든 틱은 PSQL 프로시저 호출이고, 모든 프레임은 SELECT 쿼리다. JavaScript는 키보드 입력을 읽고 Firebird가 반환한 행을 캔버스에 그릴 뿐이다. WAD 데이터는 SQL 테이블로 변환되고, 렌더링은 윈도우 함수로 구현됐다. 파생 테이블 인라인과 조인 순서 문제 같은 Firebird 성능 교훈도 담겼다.
여기서는 ORDER BY col, depth가 순서를 정하고, 클립 윈도우는 각 컬럼을 따라 전달된다.