PDF 内でプレイ可能なテトリスのバージョンを作成するのはなぜでしょうか?「なぜダメなのか?」

  • abmhh
  • 0 comments
PDF 内でプレイ可能なテトリスのバージョンを作成するのはなぜでしょうか?「なぜダメなのか?」
Chrome ブラウザで表示される PDF ファイル内でプレイ可能なテトリスのバージョン。
PDFファイル内でテトリスのバージョンをプレイすることはできますが、スムーズなゲームプレイは期待できません。 (画像提供: Future)

PDFといえば、仕事の書類、契約書、静止画像などを思い浮かべるでしょう。このファイル形式はゲームプラットフォームとしてはあまり知られていませんが、ある開発者はまさにそれをゲームプラットフォームとして活用することを決意しました。セキュリティアナリストのトーマス・リンスマ氏は、PDFファイル内にテトリスのフル機能版を作成しました。「pdftris」と名付けられたこのゲームがPCゲーマーの定番になるとは思いませんが、PDFファイルを独自の方法で使用した場合の潜在能力を示す、興味深いハッカープロジェクトです。

このファイルを互換性のあるブラウザで開くと、PDF内でテトリスをプレイできます。Rinsma氏によると、FirefoxとすべてのChromiumブラウザがサポートされているとのことですが、EdgeよりもChromeの方が快適に動作しました。これは、EdgeがAdobe Readerを使用しているためだと思われます。Rinsma氏によると、Adobe Readerは「いくつかの点で互換性がない」とのことです。

残念ながら、モバイル ゲーマーにとって、pdftris は現時点ではデスクトップ ブラウザー内でのみ動作します。

PDF内で動作するテトリスゲームをご紹介します。キーボード操作も可能(入力ボックスにWASDキーを入力)。さらに、ゲームオーバー時にページを印刷してスコアを「保存」できます ;)https://t.co/YrOInaHOUYほとんどのブラウザで動作するはずです(pdfium/PDF.js用に構築)。pic.twitter.com/n4CPcitzz9 2025年1月5日

ゲームはスムーズに動作しないのが難点ですが、これは当然と言えるでしょう。Edgeでpdftrisを起動すると、フレームレートが低すぎて正常にプレイできませんでした。Chromeではゲームはスムーズに動作しましたが、画面全体に黒い線が表示されました。しかし、pdftrisのようなプロジェクトはスムーズなゲームプレイを追求するものではありません。

PDFにテトリスを入れるのは楽しいプロジェクトでしたが、同時に克服すべき課題もありました。ChromiumのPDFリーダーであるPDFiumと、FirefoxのPDFリーダーであるPDF.jsは、どちらも異なるエンジンを使用しています。

「両方のエンジンで動作する機能の統合を見つけるのは少し難しかったが、最終的には、注釈の「フィールド」の表示/非表示がモノクロピクセルの作成にうまく機能し、テキスト入力ボックスに入力することでキーボード入力が実現できることが判明した」とリンスマ氏はHacker Newsの投稿で説明した。

ユーザーやプロジェクトに関心のある人々からのフィードバックを受けて、リンスマ氏はプロジェクトに関するブログ記事を公開しました。そこでは、多くの人が最初に尋ねるであろう疑問、「なぜPDFでテトリスを作るのか?」に答えています。リンスマ氏の簡潔な答えは「なぜ作らないのか?」です。このプロジェクトの着想は、リンスマ氏が最新のデスクトップブラウザのPDFエンジンがJavaScriptといくつかのI/Oプリミティブをサポートしていることに気づいたことから生まれました。

Windows と Xbox の熱狂的なファンのための最新ニュース、レビュー、ガイド。

また、GitHub のプロジェクトをチェックして、pdftris 内の次のブロックを制御できるテキスト フィールド内でキーストローク入力を行うために使用されるコードを確認することもできます。

ご存知ない方のためにご説明しますと、PDFファイルを使ってDoomを実行することは可能です。Rinsma氏は少し手を加えた後、このクラシックゲームをPDFファイル内で動作させることに成功しました。

ショーン・エンディコットはWindows Centralのテクノロジージャーナリストで、Windows、Microsoftソフトウェア、AI、PCを専門としています。Windows 10と11からChatGPTのようなAIツールの台頭まで、主要なリリースを取材してきました。ショーンのキャリアはLumia 930から始まり、アプリ開発者との強いつながりを築きました。執筆活動以外では、アメリカンフットボールのコーチも務めており、チームの運営にMicrosoftのサービスを活用しています。ノッティンガム・トレント大学で放送ジャーナリズムを学び、X(@SeanEndicott_)とThreads(@sean_endicott_)で活躍しています。