게임은 PDFium.js 또는 PDF.js 렌더링을 사용하여 최신 브라우저에서 실행됩니다.

고전 게임 테트리스가 PDF 파일 형식으로 패키징되어 ‘Pdftris’라는 이름으로 출시되었습니다. 이 고전 낙하 블록 퍼즐 게임은 대부분의 데스크톱 브라우저에서 구동 가능하다고 주장되며, 실제로 상단의 링크를 클릭하는 것만으로 PC의 Firefox에서 게임을 로드하고 플레이하는 데 성공했습니다. 이 새로운 PDF 기반 브라우저 게임은 보안 분석가인 토마스 린스마(Thomas Rinsma)가 개발했습니다.
여기에 PDF 내부에서 작동하는 테트리스 게임을 확인하실 수 있습니다. 심지어 WASD를 입력 상자에 입력하여 키보드 제어까지 가능합니다. 또한, 게임 오버 시 해당 페이지를 인쇄하여 점수를 ‘저장’할 수도 있습니다.
https://t.co/YrOInaHOUY 대부분의 브라우저에서 작동합니다(pdfium/PDF.js용으로 구축됨). pic.twitter.com/n4CPcitzz9 2025년 1월 5일
이 프로젝트의 배경 설명이 광범위하지 않은 이유는 GitHub 프로젝트 페이지의 ReadMe 항목이 비어있기 때문입니다. 하지만 린스마는 Hacker News 피드에서 사용자들과 프로젝트 개발 과정에 대해 자발적으로 소통했습니다.
린스마는 현대 데스크톱 브라우저의 PDF 엔진(PDFium 및 PDF.js)이 "테트리스와 같은 기초 게임을 구현할 수 있을 만큼 충분한 I/O 원시 기능을 갖춘 JavaScript를 지원한다는 사실을 깨달으면서" 이 게임을 PDF로 포팅하는 영감을 얻었다고 설명합니다.
개발자의 1994년 리눅스 데스크톱 재현물이 현대 웹 앱처럼 브라우저에서 실행되다
야심찬 개발자가 작은 64KB 실행 파일에 담은 세련된 트리플 레벨 퀘이크 유사 게임 공개
이 보안 분석가이자 "이상한 루프와 기묘한 기계"에 깊은 관심을 가진 애호가는 자신의 테트리스 게임을 두 엔진에서 제대로 작동하도록 만드는 것이 결코 쉽지 않았다고 전했습니다. 하지만 그는 "주석(annotation) '필드'를 보여주거나 숨기는 방식이 단색 픽셀을 구현하는 데 효과적임"을 발견했습니다. 게다가, 화면에 표시된 버튼 대신 키보드 조작을 선호하는 사용자를 위해, 린스마는 게임 영역 아래 텍스트 입력 상자에 타이핑하여 키보드 제어가 가능하도록 구현했습니다.

린스마는 자신의 PDF 테트리스 코드가 "꽤 불안정하다(janky)"는 점을 겸손하게 인정했지만, 적어도 PDF 스크립팅의 잠재력과 유연성을 상기시켜주는 예시가 된다고 제안했습니다.
Pdftris 코드의 작동 원리를 궁금해하는 사람들은 전문적이거나 난해한 개발 도구를 사용할 필요가 없습니다. 60KB PDF 파일을 다운로드하여 일반 텍스트 편집기로 열어보면, 파일 전체가 "ASCII 문자열"로 구성되어 있음을 확인할 수 있습니다.
가독성을 높이고 주석을 추가한 소스 코드도 제공되고 있으며, 이는 앞서 언급된 GitHub 프로젝트 페이지의 특정 섹션에서 확인할 수 있습니다.
린스마는 Pdftris가 Adobe Reader에서는 작동하지 않는 이유를 "여러 부분에서 표준을 준수하지 않기(not compliant)" 때문일 가능성이 높다고 언급했습니다. 그는 Foxit Reader와 같은 다른 비브라우저 기반 PDF 리더의 경우, 게임 작동에 필요한 스크립팅 기능을 지원한다고 믿기 때문에 작동할 수 있을 것으로 추측했습니다.
Pdftris의 향후 버전에서 색상, 음영, 사운드 등의 추가가 이루어지면 좋을 것이지만, 프로젝트가 얼마나 더 발전할지는 미지수입니다. 어떤 면에서 이 작품은 일종의 개념 증명(proof of concept)입니다.
Pdftris는 게임과 문서 렌더링이라는 이질적인 영역을 결합한 인상적인 결과물임은 분명하지만, 개발자들은 그보다 훨씬 더 평범한 애플리케이션들(특히 Microsoft Excel)까지 게임 분야로 끌어들여 왔습니다. Microsoft의 스프레드시트는 VBA의 도움을 받아 3D 레이 트레이싱 게임 엔진까지 호스팅할 수 있습니다.