PCやゲーム機の自作を行うYouTubeチャンネル・Bringus Studiosが、エプソン製のレシートプリンターをゲーミングPCとして活用するという試みをムービーで公開しました。この中で、実際にBringus StudiosはDOOMをはじめとするさまざまなゲームをプレイしています。

Gaming on a Receipt Printer - YouTube

使用されたデバイスはエプソンのTM-T88V-DTという機種。



TM-T88V-DTは通常のレシートプリンターにIntelのAtomプロセッサ、500GBのHDD、4GBのメモリを搭載したPCが一体化した特殊な製品です。



側面にはWindows 7 Proのプロダクトキーを記したステッカーが貼られています。



当初、付属の電源アダプタでは電力が不足し、印刷と計算処理を同時に行うとシステムが落ちてしまう問題があったそうで、24V 5Aのより強力な電源を自作して接続することで安定動作に成功しました。



しかし、32 bitUEFIブートローダーによって制限された64ビットCPUを使用しているという環境だったため、64bit版Debianのインストールに失敗してしまいます。



ブート制限を回避するため、投稿者はハードウェアラッシュツールを使用してBIOSをダンプし、Xユーザーから提供された改造バージョンを書き込んで、64bit版Debianのインストールに成功。



Steamもインストールできました。



ただし、PowerVRベースの統合グラフィックス用の適切なドライバがないため、パフォーマンスはプレイ不可能なレベル。「Half-Life」を動作させたところ、フレームレートはなんとわずか2〜7FPSでした。



IntelはこのIntel Atomチップセット用に、Windows 7 32ビット版のグラフィックスドライバしかリリースしていなかったため、Windows 7 64ビット版に戻しても失敗。そのため、32bit版のWindows 7をインストールし直すことを余儀なくされました。



適切なドライバをインストールできるようになったことで、パフォーマンスは劇的に向上。Bringus Studiosは「Team Fortress 2」や「CounterStrike:GO」をなんとか動作させることに成功。



「Portal」も852×480という低解像度であれば最高30FPSでプレイすることもできるようになりました。ただし、すぐに数FPSに落ちるなど、かなりカクカクした動きになってしまいます。



そこで、Bringus Studiosは画面をキャプチャしてプリンターに送信するスクリプトをPythonで作成し、レシート用の感熱紙をゲーミングモニターに変える試みを行いました。



こんな感じで、レシート用の感熱紙にゲームの画面がプリントされるというわけです。なお、感熱プリンターは黒いピクセルを印刷するために熱を発生させるため、暗いゲームシーンを急速に印刷すると熱でエラーを起こしてしまう恐れがあります。そのため、Bringus Studiosはプリンターの過熱を防ぐため、自作したスクリプトで黒いピクセルの色味を調整しました。



というわけで、「DOOM」を印刷した感熱紙を見ながらプレイ。なお、プレイしているDOOMは、低スペックPCや古いグラフィックカードでもスムーズに遊べるようにフォークされた「LZDoom」です。



レシートへの映し出しはスクリプトを使っているだけで、別途接続したモニターには通常通りゲームの画面が表示されています。



当然のことですが、「自分の動きが印刷物に反映されるまでに最大4秒かかるため、扉を開けてもちゃんと開いたのか閉まったままなのかがわからない」「とにかく大量のレシートが出て邪魔になる」「ゲームを終えてもスクリプトを止めないとレシートが延々と排出される」といった問題があったとBringus Studiosは報告しています。