in between days

表参道で働くシニアのブログ

UNIXを生み出したゲームは「スペースウォー!」じゃなかったのか

「スペースウォー(Spacewar!)」といえば元祖ハッカーのスクツ*1であるMIT TMRC(テック模型鉄道クラブ)のひとたちがDEC PDP-1上で開発した世界初のシューティングゲームであり(最初のバージョンは1962年2月)、のちにW3Cにも深くかかわったアラン・コトック(Alan Kotok)が世界初のジョイスティックを開発したことでも知られる伝説のゲームですが、のちにAT&Tベル研のケン・トンプソン(Ken Thompson)がPDP-7にこのゲームを移植する際に小回りの利くOSとして開発したのがUNICS(=UNIX)である。

というトリビアをずっと信じてたんだけど、どうやら違うゲームなんですね。Software Design誌のOS特集を読んで、UNIXの前史としてMulticsの話は載ってたけど、ゲームがしたかったからという実にハッカーらしいステキな動機については書かれてなかったので、UNIXといえばSpacewar!だよなーと検索してみたらそれは「Space Travel」だということがわかったのでメモ代わりにエントリを上げとくです。

詳細

AT&T はMULTICS の開発が失敗に終わりそうだと見るとすぐに撤退を決めました。しかし、AT&Tから参加していた Ken は、MULTICS に未練を感じていました。

なぜなら、彼は MULTICS で作成した「宇宙旅行ゲーム(Space Travel)」を非常に気に入っていたのです。MULTICSプロジェクトから撤退してしまった今では、あの面白いゲームが遊ぶことが出来ません。

(宇宙旅行ゲームではなく、宇宙戦争ゲーム(Spacewar!)とする説もあります。しかし、UNIX 開発者の一人、デニス・リッチーのホームページには、問題となるゲームが宇宙旅行ゲームであり、宇宙戦争ゲームとは異なるゲームだとはっきり書かれています。)
OSの登場 # UNIX - 魔法使いの森

UNIXの共同開発者デニス・リッチー(Dennis Ritchie)のサイトにはケン・トンプソンがゲームを開発した経緯についてのドキュメントが公開されていて、その中にはこういう一節があります。

Later we fixed Space Travel so it would run under (PDP-7) Unix instead of standalone, and did also a very faithful copy of the Spacewar game originally done (I think) at MIT on the PDP-1, but that was a different game.

(超訳 - あとで「Space Travel」をスタンドアローンじゃなくってPDP-7 Unixで動くように直したんだ。んで、MITの「Spacewar」のすげー忠実なコピーも作ったけど、それは違うゲームだからね)
The Space Travel game

Wikipediaにもこう書かれています。

Although some accounts mistakenly identify Spacewar! as a motivation for the development of Unix, the game involved in that case was Space Travel.

(超訳 - Spacewar!がUnix開発の動機だと勘違いされるけど、それはSpave Travelだから)
Spacewar! - Wikipedia, the free encyclopedia

ということでUNIX開発の動機付けになったゲームは、MIT由来の「スペスウォー!」ではなく、ケン・トンプソン自身がGE-645上のMulticsで開発した「スペース・トラベル」だということでした。

参考

AppleInsiderにもまとまったドキュメントがありました(「AppleInsider: Mac OS X Leopard Server に向かって: コラボレーション情報共有サービス - silvervine の定点観測所」に日本語訳がアップされています)。

Ken Thompson wrote a video game for the system called Space Travel, but running it cost $75 in CPU time. [...]

Thompson ported his Multics Space Travel game to run on the new system, and developed underlying system software to support it. Those system utilities came to be called "Unics" as a word play for being an emasculated version of Multics. It was later spelled Unix.
AppleInsider | Road to Mac OS X Leopard Server: Collaborative Info Sharing Services

PDP-7上へのSpace Travelの移植についてはこちらにまとめられていました。

  • かの有名な K.Thompson 作ったゲーム Space Travel は太陽系の主要な天体の飛行を模したシュミレーションゲームであった。
  • Space Travel は 1969 に開発された。当初は Multics で、続いて GE645 の標準OSである GECOS の Fortran に書き直された。が、GE645上でゲームすると1ゲームあたり約75ドル分のCPU時間を使用する問題があった。Space Travel を PDP-7 に移植する動機は主にこの問題を解決するためだったと推測される。
  • たまたま使用者不在の PDP-7 が存在しており、K.Thompson が自由に使用することができた。(以下ry

Unixの歴史

*1:←なぜか変換(ry