Space Travel: Exploring the solar system and the PDP-7
Space Travel: 太陽系および PDP-7 の調査

As recounted in 'The Evolution of the Unix Time-sharing System,' [links are on my home page] the game of Space Travel was written by Ken Thompson, first for GECOS in interactive batch mode. I've written a couple of accounts of it on Usenet or in mail, but haven't fixed it up for the WWW. Here's an edited version of one version I saved from 1998. (Since this rendition isn't particularly historical, I just fixed poor wording instead of marking changes).
'The Evolution of the Unix Time-sharing System,' で詳述されたように、ゲーム Space Travel は Ken Thompson によって 最初は GECOS の対話型バッチ・モードで書かれました。 私は Usenet 上で、あるいはメイルで、その 2、3の説明を書きましたが、 WWW のためにそれを整えることはしませんでした。 ここに、私が 1998 年から保存した1つのバージョンを編集したものがあります。 (この翻訳は特に歴史的なものではないので、 私は変更をマークする代わりに貧弱な言葉遣いをちょっと修正しました)


Ken first did Space Travel on the GE 635, before it had a time-sharing facility, but it did have an "interactive batch" mechanism. A job would be submitted, you could type to it, and there were several locally-built displays attached as peripherals. It was expensive to run; a game would cost about $50. Of course it was internal "funny money."
Ken は最初、タイムシェアリング機能を持つ前の GE-635 で Space Travel を行ないました。しかし、それは "interactive batch" メカニズムを持っていました。 ジョブがサブミットされると、キー入力することができ、そしていくつかの ローカルで組み立てられたディスプレイが周辺装置として接続されていました。 その実行は大変高価なもので、1ゲームが約50ドルもかかりました。 もちろん、それは内輪の「いかがわしいお金」でした。

More or less at the same time, Ken discovered the PDP-7, which had been fitted out with a nice vector display. The display was a joint Bell Labs and Digital Equipment design, built by a nearby department as an output facility for the (then) main IBM 7094 computer. This PDP-7 Graphics-II system was much neater than the 635's display, even if older. The PDP-7 was a real computer, not a peripheral, albeit small even by 1968 standards. By then, it was not used much and it was free even by funny-money standards. So Ken moved ST to it, and ran the game standalone. The program was written from scratch, all in assembly language, and even including a complete floating-point arithmetic simulator.
おおよそ同じ頃に、Ken はよいベクトル・ディスプレイを装備された PDP-7 を発見しました。ディスプレイは (その時点で) メインだった IBM 7094 コンピューター用の出力設備として、ベル研究所とデジタル・イクイップメントが 共同で設計し、近くの部によって組み立てられたものでした。 この PDP-7 Graphics-II システムは、 より古くても 635 のディスプレイよりはるかにきれいでした。 実際、PDP-7 は 1968 年の標準としても小さいにも関わらず、 周辺装置ではなくコンピュータでした。 その時、それはあまり使用されませんでした。 また、それは「いかがわしいお金」標準からさえ解放されてました。 そこで Ken は Space Travel をそれに移動させて、 スタンドアロンのゲームを実行しました。 プログラムはスクラッチから全てアセンブリ言語で書かれており、 完全な浮動小数点演算シミュレータも含まれていました。

Also, about this time, Ken again got the urge to write his own operating system. He had started on such a project before, but on a much bigger machine -- the GE 645 Multics machine. It didn't take long to realize that he couldn't keep the machine.
またこの時期に、 Ken は再び自分のオペレーティングシステムを書く強い衝動に駆られました。 彼は以前にはるかに大きなマシン (GE 645 Multics machine) で、 そのようなプロジェクトに取りかかったことがあります。 しかしそのマシンを維持できないことを悟るまでに長くかかりませんでした。

Because Ken was now familiar with the '7 and knew he could use it as much as he wanted, the first version of Unix was written on this PDP-7. So ST came before Unix, but doing ST led him to a place in which he could write the first version of Unix.
Ken は PDP-7 に精通しており、 望んだことはなんでもできることがわかっていたので、 Unix の最初のバージョンはこの PDP-7 で書かれました。 したがって Space Travel は Unix 以前からあったことになります。 しかし Space Travel への取り組みは、 彼を Unix の最初のバージョンを書くことができる場所ヘと導きました。

The game itself: it was a simulation of the solar system, to scale, with the true (scaled) orbit sizes and masses of the planets and most of the moons. However, it wasn't a general numerical simulation; instead the bodies ran on circular tracks at scaled speed in a plane.
ゲーム自体は多くの惑星と月の大半の実際の (縮小された) 軌道サイズを使った縮小版の太陽系のシミュレーションでした。 しかしながら、それは一般的な算術シミュレーションではなく、 船体は宇宙船の縮小されたスピードで循環軌道上を航行しました。

All the bodies had gravity, but it acted only on the rocket ship, and only the locally strongest-attracting body acted on the ship. In the simulation, the internal origin for the coordinate system of the computation was at the center of this strongest attractor. This was important for keeping some vague numerical stability in the calculations (with at best single-precision, software floating-point), but did lead to some anomalies.
身体はすべて重力を持っていたがそれがロケット推進機にの?ン作用しました。また、ローカルに強い引きつける身体だけが、船に作用しました。シミュレーション(計算の座標系用の内部起源)の中でこの最も強い誘引者の中心にありました。これは計算(を備えた、せいぜい単精度およびソフトウェア、浮動小数点式)中である曖昧な数の安定を維持することにとって重要だったが、いくつかの例外に結びつきました。

For example, it turned out that the gravity of Mars (with the usual inverse-square formula) is dominates that of Phobos until you get below the surface of Phobos. So landing on Phobos was strange-- you sort of floated through its surface, then, when it became strongest, you snapped back to the surface.
例えば、火星(通常の逆の正方形定式を備えた)の重力がそうであると判明しました、フォボスの表面以下に得るまで、フォボスのを支配します。したがって、フォボス上の上陸は奇妙でした――あなた?A種類、それが最も強くなった時、その表面を通ってそれでは浮かんだ、表面へ折りました。

For controls, there were several buttons: jet forward, jet back, turn left, turn right; go up scale on the display, go down scale. The acceleration of the ship was fixed, but it scaled with the display scale--it was thus fixed in terms of pixels/sec/sec. Normally the ship was in the center of the screen and always pointed up; the display showed the plan view of the solar system, so that the "rotate" controls rotated the solar system around you on the display.
コントロールについては、いくつかのボタンがありました:ジェット、前に、ジェット、後ろに、左に曲がる、ちょうど回転する;ディスプレイの目盛りを上ってください、目盛りを下って行ってください。船の加速は固定しました。しかし、それはディスプレイ規?ヘで計りました--それは、ピクセル/秒/秒ではこのように固定しました。通常は、船は強調されて、スクリーンの中心に、および常にありました;そのディスプレイは、太陽系の計画視界を示しました、その結果その「回転します」コントロールは、ディスプレイ上のあなたのまわりの太陽系を回転させました。

No relativity; scale up enough and you travel to Pluto in a few seconds. But don't scale up too much, or you might not find the Solar System again without restarting.
相対性はありません。十分に率に応じて拡大してください。そうすれば、数秒で冥王星へ旅行します。しかし、あまり率に応じて拡大しないでください。さもないと、再開せずに、太陽系を再び見つけてはなりません。

The object of the game was simply to fly around, get into orbits, land. "Land" meant to cross the surface with a small enough speed.
ゲームのオブジェクトは単にまわりに飛ぶことでした、軌道、土地に入ります。「ランド」は、十分に小さな速度を備えた表面を横断するつもりでした。

Playing with orbits was fun; how you accelerate to change the size of the orbit and circularize it isn't very intuitive. One of the variations was to change the display coordinate system so that it rotated with the nearest body. I.e., if you were orbiting Mercury, the ship and Mercury would always lie on a horizontal line. It was also amusing to crank up the gravity (really, change the timescale) so that landing was just barely possible.
軌道で遊ぶことは楽しかった;軌道のサイズを変更し、かつそれに回状を送付するためにどのようにして加速するかはあまり直覚ではありません。変化のうちの1つはそれが最も近い身体で回転したように、ディスプレイ座標系を変更することでした。つまり、もしあなたが水星の周囲を回っていれば、船および水星は常に水平線の上に横たわるでしょう。さらに、それは上陸がかろうじてちょうど可能だったように、重力(実際に、時間の尺度を変更してください)を始動させるために楽しませていました。

Among the features of the program was a built-in debugger that would continuously display the contents of a selected location. This was especially helpful in getting the software floating-point arithmetic to work.
プログラムの特徴の中には、 選択された位置の内容を連続的に表示する、 組み込み型のデバッガがありました。 これは、 ソフトウェア浮動小数点演算を働かせることにおいて特に有用でした。

The program also displayed the name of the body that was the current dominating attractor. As it happens, Ravi Sethi (of Aho, Sethi, Ullman and other fame, for example as my former boss and currently as head of Avaya research) was a summer student: for fun the name of the Sun was Surya, and Earth's moon Chandra, after their Hindi/Sanskrit names.
プログラムは、さらに誘引者を支配する流れだった身体の名前を表示しました。たまたま、Ravi Sethi(私の元上司として、および現在Avaya研究の頭としてAho、Sethi、ウルマンおよび他の評判に例えば)は、夏学生でした:太陽の名は冗談でSuryaでした。また、地球はそれらのヒンディー語/サンスクリット名の後に、月チャンドラです。

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.
その後、 それがUnixの下で(PDP-7)走るように、 私たちは宇宙旅行を固定しました、 の代わりに、スタンド・アロン、 またさらにPDP-1の上のMITでもとは行われた (私は考えます) Spacewarゲームの非常に正確なコピーを行った、 しかし、それは異なるゲームでした。

The first PDP-11 didn't have a good display, so the only games were text-based, and were not very interesting, e.g blackjack. They were described in the early Unix manuals. Of course, Ken later did a series of chess programs and hardware that three times won the world computer chess championship, and was the first program to attain USCF master level.
第1のPDP-11はよいディスプレイを行っていませんでした、したがって、ただ一つのゲームはテキストベースで、あまり面白くありませんでした、e.gブラックジャック。それらは初期のUnixマニュアルに記述されました。もちろん、知識は、3回が世界コンピューター・チェス選手権を得させた一連のチェス・プログラムおよびハードウェアをその後行い、USCFマスター・レベルに到達する最初のプログラムでした。


Copyright © 2001 Lucent Technologies Inc. All rights reserved.