《俄羅斯方塊》被壓縮成60KB的PDF小檔案可在任何瀏覽器上運行
一位聰明的安全分析師已經證明,PDF 不僅僅適用於無聊的文件和表格。 他成功地將經典的俄羅斯方塊遊戲壓縮到了一個60KB 的PDF 文件中,該文件可以在瀏覽器中直接運行。
這個被製作人托馬斯-林斯馬命名為”Pdftris”的作品,只需點擊一下,就能讓你玩容易上癮的方塊下落遊戲:
我們在Firefox 上啟動了這款遊戲,果然,那些四邊形積木從臨時遊戲區滾落下來,彷彿又回到了1984 年。
在控制方面,你可以用滑鼠點擊螢幕上的按鈕,這一點也不直觀,因此Rinsma 還加入了鍵盤控制–玩家可以用WASD 鍵移動、旋轉和丟棄四角形小球。
遊戲沒有聲音,沒有顏色,只能在一個不大的瀏覽器視窗中運行,也許未來的更新會引入這些缺少的部分。
至於Rinsma 是如何將所有這些功能塞進一個專為文件設計的文件格式中的,這要歸功於很少有人涉足的PDF 腳本領域,而這一領域的超級功臣非JavaScript 莫屬。
為Chrome 和Firefox 等瀏覽器提供支援的PDF 引擎實際上只支援有限的JavaScript 命令集。 Rinsma 意識到,他可以利用這一點從頭開始拼湊出一個類似俄羅斯方塊的基本遊戲。
Rinsma 必須想出一些笨辦法,才能讓他的遊戲在不同的PDF 引擎中正常呈現。 他的解決方案是使用PDF 註解”欄位”的顯示/隱藏功能來建立標誌性的單色俄羅斯方塊像素。
控制操作是另一個挑戰。 雖然您可以使用螢幕上的按鈕,但Rinsma 還巧妙地啟用了鍵盤控制功能,讓您在遊戲下方的文字輸入框中鍵入文字。 輸入會發送擊鍵事件,遊戲可以將這些事件解釋為動作。
用Rinsma 自己的字來說,這樣做的結果確實很”笨拙”。 但這正是這種實驗性作品的魅力所在。
在引擎蓋下,Pdftris 只是隱藏在PDF 檔案中的普通ASCII 文字。 您可以下載它並在文字編輯器中開啟程式碼,看看它是如何運作的。 或者,您也可以查看Rinsma 的GitHub 軟體倉庫,以取得更多帶有註解的可讀原始碼。
現在,你可能會想–既然俄羅斯方塊都能在PDF 文件中運行,肯定不會有人敢把Doom 這種瘋狂的東西也擠進PDF 文件中吧? 好吧,Rinsma 就知道你會有這種想法。 他認為如果使用單一的PDF 引擎,”使用正確的技巧”確實是可行的。