世界初のシューティングゲームは?
シューティングゲームでストレス発散中じゃ!
宇宙船からミサイルを発射させるだけの単純なゲームですね
敵を倒す時、爽快で気持ちいいんじゃ!
シューティングゲームを初めて作った人もストレス溜まっていたのかな?
MITのハッカー スティーブ・ラッセル
1937年、物語の主人公であるスティーブ・ラッセルはコネチカット州ハートフォードに生まれました。
ラッセルはすくすく成長し、ダートマス大学に進学しますが、卒業を待たずマサチューセッツ工科大学(MIT)へと移り、人工知能を学ぶようになりました。
MITの大学院生となったラッセルは、ジョン・マッカーシーが開発したプログラミング言語「Lips」の論文を読む機会がありました。
Lipsは、マッカーシーが開発した「Fortran」に次ぐ高水準のプログラミング言語でした。
2022.07.06高水準言語『FORTRAN』を開発したジョン・バッカス氏最初期の高水準言語と評される「FORTRAN」ミツオカ師匠が若かったころは「COBOL」で開発してたって言ってましたよ...
ソースコードは括弧で囲むリストで書かれていて、関数や計算式なども入れ子として記述できました。
ラッセルはLipsを機械語で実装できると思い、IBM 704でパンチカードを使用して試みました。
約12,000行のコードをアセンブリ言語で書き、デバックして実行に失敗すると原因を調査し、修正。
この面倒な作業を根気よく繰り返し、ようやく実装に成功しました。
この成功には Lips を開発したマッカーシーも驚いたそうです。
Lipsは、ラッセルのインタプリタにより便宜性が増し、人工知能の研究にも使用され、多くの研究者によりLips方言が出現するようになるのでした。
ハッカーを熱くさせたTX-0
1958年、MITに新しいコンピュータがやってきました。
その名前はTX-0。
1955年からリンカーン研究所で開発されたTX-0は、フロアを占める大きさであったIBM 704よりもはるかに小さく、一つの部屋に納めることができました。
7×7インチと小さいながらもオシロスコープのディスプレイを備え、キーボードもあり、パンチカードを使用しない対話型のコンピュータを実現したのでした。
この新しいコンピュータは、ラッセルが所属するTMRC(Tech Model Railroad Club)のメンバーたちの興味を引き、どんなことができるのかとワクワクさせます。
特に視覚的に効果が見えるオシロスコープは、何かを表示させ動かせたいと思うのでした。
ゲーム開発
そして、ちょっとしたゲームを作っていきます。
表示したドットがボックスに当たり跳ね返るバウンスボール。
迷路の中をネズミがチーズを見つける迷路ゲーム。
〇と×を3つ並べていく三目ならべ(OXO)。
これらは簡単に作れたわけでなく、失敗を繰り返しながらも成功し、その度に彼らは歓喜しました。
そして、更なる高みへと挑戦していくのでした。
TX-0は、もはやTMRCのメンバーにとっては好奇心を満たすおもちゃになっていたのです。
そして難しいことにチャレンジして、クリアしていくことを十分楽しんだ
PDP-1で「スペースウォー!」
1962年、ラッセルたちをさらに興奮させる出来事が起こります。
DEC社から、MITに何と「PDP-1」が寄贈されたのでした。
PDP-1は、TX-0よりも更に小さい18ビットのミニコンピュータ。
処理能力もTX-0よりも速く、何よりも直径約18cmのCRTモニターがハッカーたちの好奇心を掻き立てました。
ライトペンが使え、直線や曲線も書けて、座標のアドレスも指定できる代物でした。
TMRCのメンバーたちは早速、TX-0で作ったゲームを移植します。
しかし、これだけでは彼らは満足するはずがありません。
誰も見たことのないゲームを創りたい
この新しいコンピュータの能力を最大限に生かし、遊ぶ人を楽しくさせるゲームを作り出さなければならないと考えるのでした。
メンバー内でどんなゲームを使用するか議論した結果決まったのが「スペースウォー!」。
ちょうどその頃アメリカとソ連は宇宙への進出でしのぎを削っていて、宇宙への関心が高まっていました。
またアメリカのSF作家エドワード・エルマー・スミスが宇宙を舞台に書いた「レンズマン」や「スカイラーク」が多くの人に読まれていました。
そこで、「宇宙での戦い」をゲームにすることにしたのでした。
いざスペースウォー!(宇宙戦争)へ!
名前が決まるとどんなゲームにするのか具体的に決めていきます。
メンバー内で話し合いがされ、下記のようなルールが設定されました。
- 「ニードル」と「ウェッジ」、この二つの宇宙船が戦う
- 相手のミサイルや星に当たると宇宙船は消滅
- 二人のプレーヤーがそれぞれの宇宙船を操作
ルールが決まると、「スペースウォー!」の作成のため、まずはPDP-1を使いやすくカスタマイズします。
PDP-1用のデバッガやテキスト編集などのソフトウェアを作成し、準備が整いました。
ラッセルは「スペースウォー!」のプログラムを書くことになりました。
他のTMRCのメンバーも開発に協力してくれます。
三角関数サブルーチン
「スペースウォー!」のプログラムに取り組み始めたラッセルに、コトックがDEC社から三角関数のサブルーチンが保存されている紙テープを持ちこんできてくれました。
ラッセルはドットを組み合わせて宇宙船を作り出し、三角関数サブルーチンをコードに取り入れ、回転させたり前後に動かしたりします。
ここでダン・エドワーズが、スパイスが必要だと「重力の追加」を提案してきました。
画面中央に太陽を配置し、宇宙船は太陽の重力の影響を受け、注意しないと太陽に引き込まれて消滅していくのです。
またゲームの表示を高速化するためコンパイラを作成し、画面のちらつきを防いだのでした。
「スペースウォー!」の操作は、PDP-1に配置された左右のトグルスイッチにより回転方向を、もう一つのトグルスイッチでは前後の動きを設定しました。
ミサイルは、宇宙船の船首から31発発射できます。
「スペースウォー!」が完成
こうして約6ヶ月、200時間をかかった大作ゲーム「スペースウォー!」が完成します。
完成した「スペースウォー!」はTMRCのメンバーでプレイされ、更なるアイデアが追加されました。
ピーター・サムソンは、天体歴と航海年鑑を元にプラネタリウムを完成させ追加しました。
マーティン・グレーツは、破壊寸前の宇宙船を画面上から消し、ランダムな場所に再び出現されるハイスペース機能を追加します。
コントロールボックス
1962年5月、毎年恒例のMITサイエンスオープンハウスで、いよいよ「スペースウォー!」がお披露目されました。
二人で対戦するゲームは初めてであり、スリリングなゲーム展開は多くの学生たちを熱狂させました。
それでも「スペースウォー!」は改良されていきます。
PDP-1に配置されたトグルスイッチはゲームで酷使すると壊れてしまう恐れがあり、プレーヤーも不便を感じていました。
そこで、コトックとボブ・サンダースはコントロールボックスを作成しました。
木箱を作り配置盤を内蔵し、プレーヤーが操作するスイッチを配置して、世界初のコントローラーができあがりました。
左右に動くスイッチは宇宙船の回転、前後に動くスイッチは加速とハイスペース、ミサイル発射はボタンスイッチを連打します。
コントロールボックスは2つ作られ、PDP-1と繋ぎました。
コントロールボックスの登場により、2人のプレーヤーは離れて操作でき、画面も見やすくなりました。
「スペースウォー!」が面白すぎて…
これにより「スペースウォー!」で遊ぶ学生がますます増え、一晩中コンピュータに向かう学生も現れました。
大学はとうとう「スペースウォー!」を禁止し、プログラムが保存されている紙テープも破棄されてしまいます。
それでも残った紙テープがあり、コピーされて他の大学にも広がっていきました。
またPDP-1を提供したDEC社は新規顧客のため、デモンストレーション用にシステムに「スペースウォー!」を入れるのでした。
そして、個人がゲーム開発する時代がやってくることになる
ゲームで遊ぶだけで飽き足らなくなる気持ちは分かります
ユタ州立大学にいた頃に「スペースウォー!」を知って、アーケード版ゲーム「コンピュータスペース」を作るようになるようになるのだ
ラッセルのその後
ラッセルはMITで旋風を起こして、スタンフォード大学へと移り、レイクサイド・スクール(シアトル)のプログラミンググループで指導します。
メンバーにはMicrosoftの創業者でもあるビル・ゲイツとポール・アレンもいました。
1969年、コンピューター・センター・コーポレーションの設立に幹部として参加します。
1970年には残念ながら会社は倒産し、その後ラッセルはDEC社に8年間勤めました。
DEC社を去ってからは、インテルなどでエンジニアとして働き、現役として働き続けることを目標としています。
コンピュータ歴史博物館で月2回ボランティアもしています。
70歳になった時、ラッセルはあるインタビューで語りました。
「ゲームで遊ぶよりゲームのプログラミングをする方が楽しい」
今月納品のシステムが50%しか進んでないぞ!