TX-0 は、1987年発行の名著、「ハッカーズ」(スティーブン・レビー著)の、一番冒頭に出てくるコンピューターです。
1956年に完成し、性能的には特にすごいことはありません。
Whirlwindという真空管コンピューターを、ただトランジスタに置き変える、という設計指針で作られています。
細かなことはともかく、トランジスタで本当にコンピューターが作れるのか、実験してみた、と言うだけの機械です。
しかし、そんな実験機だからこそ、実験が終了した後は学生に広く開放されます。
コンピューターに触れるのが「特権階級」にしか許されなかった時代、これは驚くべきことでした。
当時、コンピューターはまだ「計算機」でした。
人間の手に負えない、莫大な計算力を生み出すための道具だったのです。
TX-0 の管理担当教員は、これを学生に解放したらどんな使い方を始めるか、興味深い実験をしていた節もあります。
そして学生たちは…驚くことに、コンピューターを道具として使うのではなく、コンピューターそのものを楽しみだしました。
プログラムを作る、そのことが目的になってしまい、出来上がったプログラムは…およそ社会の役には立たないものばかりでした。
特に学生たちが競うように作ったものの一つに、「画面になにか、面白いものを表示する」プログラムがあります。
あるものは、ほんのわずかな命令数で、画面が万華鏡のように変化するプログラムを作りました。これ、現代でいう「メガデモ」の元祖です。
あるものは、コンピューター相手に、画面上でマルバツゲームを遊べるようにしました。この時のマルバツも、世界初のテレビゲームの一つに数えられています。
そして、究極の形として、「迷路のねずみ」が生まれました。目的は「面白いものを表示する」ことだったので、ネズミがしっぽを振りながら進んだり、チーズを食べた後にかけらが残ったり、隠しコマンドでチーズが「マティーニ」に変わったりと、やたら細部にこだわっています。
迷路のねずみは、究極の形の一つだったので、冒頭に書いた「ハッカーズ」にも記されています。
ただ、当時の学生以外に実際の動作を見たものはほとんどおらず、これが「ただのデモ」だったのか「ゲーム」だったのか、ネット上の(主にアメリカの)記述を見ても見解が分かれています。
僕は自分のWEBサイトで、古いコンピューターの歴史を調べ、書いています。
TX-0は冒頭に書いた書籍で読んで以降、ずっと自分の興味のあるコンピューターでしたが、最近になって膨大な資料がネット上で公開されているのを知りました。
「迷路のねずみ」のプログラムも残っていました。
ぜひ動かしたい、と調べたのですが、TX-0 エミュレータはどこにもありませんでした。
ただ、作りかけでほったらかしになっているものが、2件見つかりました。
…資料もあるし、古いコンピューターなのでそれほど複雑でもない。
なにより、TX-0には4つしか命令がありません。
これは、自分でエミュレータ作ってみるか、と作り始めた後で、前述の「2件」がほったらかしの意味が分かりました。
資料は、膨大なように見えて、結構穴だらけなのです。
実際エミュレータを作ろうと思ったら、動作詳細がわからないところだらけで、すぐに行き詰まりました。
幸い、「迷路のねずみ」以外にも、当時のプログラムは多数残されています。
小さな、動きそうなプログラムから着実に動くようにしていき、動作詳細のわからない部分は、過去のプログラムを解析し、参考としました。
ただ、ここにも落とし穴があり、当時はプログラム技術も現代のようには確立しておらず、プログラムが「バグを持っている」ことも非常に多いのです。
動くはずだと何度も調整を繰り返し…最終的に「プログラムが未完成」だと判断したようなものもありました。
そして、最終的に「迷路のねずみ」が動きました。これで、「デモかゲームか」論争に、僕なりの終止符をうてたように思います。
疑問に対する返答
公開後に多くのコメントをいただきました。当初は投稿者コメントで返答していたのですが、ごちゃごちゃになるのでこちらにまとめなおそうと思います。
ソフトの入手はどうしたのか
bitsavers.orgでは、50~80年代までの、ミニコンピューター・メインフレームの情報を収集・公開しています。
bitsavers の目標は、当時のマシンを再現するエミュレータを作り、資産を未来に残すことです。MAME をベースとした SIMH というエミュレータを開発していますが、残念ながら TX-0 は作りかけのまま止まっています。
BGMがうるさい
ごめんなさい。最初の曲はノイズから始まります。これは、ライセンス無料の曲の中から、迷路のねずみにちなんだような題名を持つもの…という縛りで探したため、その曲しかなかったのです。
最初の曲は「Mouse Run」。2曲目は「This Crazy Mouse Won't Leave Me Alone」です。
本物はベクタースキャンディスプレイだったのか?
その通りです。TX-0 は 18bit マシンなのですが、これを9bit づつにわけて、511x511 の解像度のディスプレイでした。「512ではないの」と思われるかもしれませんが、負の数の表現方法が今と違うため、「マイナス 0」という数が存在し、その分表現の幅が減っています。
ディスプレイは、「点を描く」機能のみでした。ベクタースキャンですが、線は引けません。
マウスよりライトペンが先だったのか
はじめてコンピューターにディスプレイが備えられたのは、TX-0のベースマシンである Whirlwind で、1951年のことでした。この後、Whirlwind は空軍のレーダー網(SAGE)の中枢システムとして使うために改良・量産されます。この際、ライトペン(当時はライトガンと呼びました)が開発されます。正確な年代はわかりませんが、1954年ごろのことと思われます。
マウスの開発者として知られるダグラス・エンゲルバートは、SAGE のオペレータをした経験があり、「ディスプレイとポインティングデバイスで操作するコンピューター」の開発に着手します。これが1962年のこと。
実際の開発着手前にアイディア構想段階があり、その途中の1961年にマウスのアイディアを思いついた、としています。実際の作成は1963年だそうです。いずれにせよ、ライトペンよりは後になります。
マイクロマウスとの関連性
多分、関連性はありません。
1950年代は、「知能とは何か」というテーマが科学者の間で流行しています。そのため、TX-0 は「人工知能」の研究に使われていましたし、ネズミの迷路実験も多くの試験が繰り返されています。知能をテーマとしたSFの名作、「アルジャーノンに花束を」も、迷路のねずみと同じく1959年に発表されています。
マイクロマウスは1977年に始まっています。「迷路のねずみ」と関係がない、と言い切るだけの根拠もありませんが、50年代に流行した科学実験を機械で真似するという発想は、別々に考案されていても不思議ではないと思います。
迷路の壁に「島」があるとどうなるか
なかなか鋭い質問です。ぜひ自分で遊んでみてください。…と言いたいところですが、答えておきます。
ネズミが動くアルゴリズムは複雑ですが、学習に関しては「袋小路を覚える」方法で行っています。一度通った場所が、逆戻りする以外になにもできなかった場所が「袋小路」です。
「島」があると、道はループします。この場合袋小路ではないため、たとえ同じ場所に帰ってくるしかなかったとしても、省略できる道だと気づきません。
ただ、アルゴリズム上ループに気づく場合もあります。この時は、ループの終わりで見えない壁にぶつかったようになり、今来た道を引き戻そうとします。完全に戻ることができれば、そこは袋小路と認識します。
ねずみを「かわいい」と言った方へ
僕もかわいいと思います。そして、「迷路のねずみ」を作った人は、コンピューターが表示したネズミが「生きているようにかわいい」と皆に思ってもらえるように作ったのだろう、と思っています。
この記事の最初に書いていますが、当時はディスプレイに「面白いもの」を表示することが流行しています。迷路のねずみの最大の開発動機は、他の開発者たちに対して「これは勝てない」と思うような、すごいプログラムを見せつけることでした。
だから細部にこだわっています。その細部を、まるで生きているようだと感じ、「かわいい」と思ったとしたら…作者さん(John E. Ward)は喜ぶでしょうね。
ちなみに、迷路のねずみを見て「これはかなわない」と気づいたプログラマーの一人は、「TX-0ではもうあれ以上は作れないが、別のマシンで超えてみせる」と、PDP-1で新たなゲームを作り始めます。
PDP-1はTX-0を元に作られた量産機で、性能で上回っていました。そして開発されたのが、世界最初のシューティングゲームと言われる「スペース・ウォー」です。
迷路のねずみが、「かわいい」と思わせるほどの出来でなかったとしたら、スペース・ウォーも生まれず、その後のテレビゲームの歴史も変わっていたでしょう。
- 1
- 0pt