「動いた!」と「使える」のあいだ

ゲームで右へ進もうとキーを押し、結果が出るまで54.4秒待つ。
故障の話ではありません。
今週のWBRが紹介したのは、インターネットの住所案内を担うDNSを使って「Doom」を動かしたという、かなり変わった実験でした。
54.4秒待っても、「動いた」
作者の説明では、計算の答えやゲームの状態をDNSの記録に置き、小さな外部プログラムが進行をつなぎます。
DNSがそのまま普通のパソコンになった、という話ではありません。
それでも、普段は通信を支える仕組みが、ゲームを動かす一部になるという発想には驚かされます。
最初は右キーの結果が出るまで577秒かかり、工夫を重ねて54.4秒まで縮めたといいます。
大幅な改善ですが、気持ちよく遊べる速さとはまだ大きな隔たりがあります。
「動いた」という言葉の中に、ずいぶん違う状態が入っていることに気づきます。
速くなった画面に残る課題
ところが同じ週には、遅いと思われていた画面でゲームを速く動かす話もありました。
電子書籍端末などに使われる電子ペーパーで、ゲームボーイのゲームを毎秒30フレーム、4段階のグレーで表示したという「InkBoy」です。
報道によると、作者は画面を制御するソフトをつくり直し、顔料の動かし方を工夫しました。
こちらは「この画面では無理そう」という見込みを揺さぶります。
ただし、長く安心して使えるかは別の話です。
通常と異なる駆動方法はパネルを傷めるおそれがあり、長期的な寿命は検証していないとの注意もあります。
映像が滑らかになったことで、耐久性まで分かったわけではありません。
出典:The Register(電子ペーパーのInkBoy)
不具合まで受け継ぐ移植
もう一つの「動いた」は、AIによるプログラムの移植です。
移植とは、別の言語や環境でも同じように使えるように書き換えること。
今週の記事では、TypeScriptのコンパイラーという、プログラムを変換・検査する道具を、Rustという言語へ移した試みが紹介されました。
報道によると、AIは元の実装を直接書き換えるのではなく、すでにGoという言語で書かれた版を足場にしました。
そして、その版にあった不具合の一部まで引き継いだといいます。
速く動くことや、多くのテストを通ることと、元の問題がなくなることは、同じではなかったわけです。
出典:The Register(TypeScriptのRust移植)
三つの話は、同じ技術の進歩を示すものではありません。
けれど並べて読むと、「できるか、できないか」だけで道具を見ていた判断に、もう少し目盛りを足せそうです。
ゲームなら操作の待ち時間、画面なら寿命、移植ならどの振る舞いまで受け継いだか。
確かめたいことは、それぞれ違います。
本来とは違う使い方を試すからこそ、道具の思いがけない可能性が見える。
その面白さを楽しみながら、実験の成功と、毎日頼れる道具としての完成を分けて受け取ることはできます。
何を実現したかに加えて、何をまだ試していないかも、その挑戦を理解する手がかりになります。
次に「こんなことまでできた」というニュースを見たら、驚いたあとに、もう一つだけ聞いてみたいと思います。
どんな条件でできて、どこから先はまだ分からないのでしょうか。
今回取り上げた記事
- DNSの問い合わせだけでDoomを動かしたとの主張
DNSでDoomを動かし、操作の待ち時間を短縮したという試みです。
- 電子ペーパーで30fpsのGame Boyが動いたとの主張
電子ペーパーでのゲーム表示と、未検証の長期耐久性を扱います。
- AIによるRust移植、Go版のバグまで写したとの主張
AIによる移植で、元の版の不具合も引き継いだと報じられた事例です。