• トップ
  • ブログ一覧
  • 世界初のシューティングゲーム「スペースウォー!」を作ったスティーブ・ラッセル
  • 世界初のシューティングゲーム「スペースウォー!」を作ったスティーブ・ラッセル

    メディアチームメディアチーム
    2023.07.20

    ITエンタメ

    世界初のシューティングゲームは?

    にゃんこ師匠にゃんこ師匠
    よし、いけいけー!
    ミツオカミツオカ
    また競馬ですか?
    にゃんこ師匠にゃんこ師匠
    違うわい!
    シューティングゲームでストレス発散中じゃ!
    ミツオカミツオカ
    シューティングゲーム?
    宇宙船からミサイルを発射させるだけの単純なゲームですね
    にゃんこ師匠にゃんこ師匠
    最近の若者はシューティングゲームを知らんのか…
    敵を倒す時、爽快で気持ちいいんじゃ!
    ミツオカミツオカ
    ほお…
    シューティングゲームを初めて作った人もストレス溜まっていたのかな?
    にゃんこ師匠にゃんこ師匠
    いやいや、その逆でかなり楽しんで作っていたみたいだぞ
    ミツオカミツオカ
    それはまた気になりますね
    にゃんこ師匠にゃんこ師匠
    それでは、世界初のシューティングゲーム「スペースウォー!」を作ったスティーブ・ラッセルの話をするかの!

    MITのハッカー スティーブ・ラッセル

    1937年、物語の主人公であるスティーブ・ラッセルはコネチカット州ハートフォードに生まれました。

    ラッセルはすくすく成長し、ダートマス大学に進学しますが、卒業を待たずマサチューセッツ工科大学(MIT)へと移り、人工知能を学ぶようになりました。

    MITの大学院生となったラッセルは、ジョン・マッカーシーが開発したプログラミング言語「Lips」の論文を読む機会がありました。

    Lipsは、マッカーシーが開発した「Fortran」に次ぐ高水準のプログラミング言語でした。

    高水準プログラミング言語『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のメンバーにとっては好奇心を満たすおもちゃになっていたのです。

    にゃんこ師匠にゃんこ師匠
    ちなみに、TMRCは1946年に鉄道模型の自動運転を目的として設立されたグループだったのじゃ
    ミツオカミツオカ
    それがなぜコンピュータに?
    にゃんこ師匠にゃんこ師匠
    自動運転のために自動制御システムの開発などをメインしていたはずだが、新しいコンピュータが使えると分かれば、コンピュータに夢中になるものだ
    ミツオカミツオカ
    なるほど
    にゃんこ師匠にゃんこ師匠
    彼らの情熱は並大抵ではなく、TX-0でできることをいろいろと試したのじゃ。
    そして難しいことにチャレンジして、クリアしていくことを十分楽しんだ
    ミツオカミツオカ
    最先端の技術で遊んでいるなんて、天才集団すぎますね~!
    にゃんこ師匠にゃんこ師匠
    そして彼らは、自分たちをコンピュータにいたずらをする人として、ハッカーと呼ぶようになる…

    PDP-1で「スペースウォー!」

    1962年、ラッセルたちをさらに興奮させる出来事が起こります。

    DEC社から、MITに何と「PDP-1」が寄贈されたのでした。

    PDP-1は、TX-0よりも更に小さい18ビットのミニコンピュータ。

    処理能力もTX-0よりも速く、何よりも直径約18cmのCRTモニターがハッカーたちの好奇心を掻き立てました。

    ライトペンが使え、直線や曲線も書けて、座標のアドレスも指定できる代物でした。

    TMRCのメンバーたちは早速、TX-0で作ったゲームを移植します。

    しかし、これだけでは彼らは満足するはずがありません。

    誰も見たことのないゲームを創りたい

    この新しいコンピュータの能力を最大限に生かし、遊ぶ人を楽しくさせるゲームを作り出さなければならないと考えるのでした。

    メンバー内でどんなゲームを使用するか議論した結果決まったのが「スペースウォー!」。

    ちょうどその頃アメリカとソ連は宇宙への進出でしのぎを削っていて、宇宙への関心が高まっていました。

    またアメリカのSF作家エドワード・エルマー・スミスが宇宙を舞台に書いた「レンズマン」や「スカイラーク」が多くの人に読まれていました。

    そこで、「宇宙での戦い」をゲームにすることにしたのでした。

    いざスペースウォー!(宇宙戦争)へ!

    名前が決まるとどんなゲームにするのか具体的に決めていきます。

    メンバー内で話し合いがされ、下記のようなルールが設定されました。

    1. 「ニードル」と「ウェッジ」、この二つの宇宙船が戦う
    2. 相手のミサイルや星に当たると宇宙船は消滅
    3. 二人のプレーヤーがそれぞれの宇宙船を操作

    ルールが決まると、「スペースウォー!」の作成のため、まずは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歳になった時、ラッセルはあるインタビューで語りました。

    「ゲームで遊ぶよりゲームのプログラミングをする方が楽しい」

    にゃんこ師匠にゃんこ師匠
    MITから生まれたハッカーが、コンピュータゲームを広めるきっかけの一つとなったということだな!
    ミツオカミツオカ
    みんなで、あーだこーだと言いながら楽しそうにゲームを作っているのが浮かびます
    にゃんこ師匠にゃんこ師匠
    コンピュータを前に難しい計算ばかりしていたら、ゲームでも作ってみようかなという気持ちになるのは分からんでもないな!
    ミツオカミツオカ
    何事も遊び心が大事ですからね!
    にゃんこ師匠にゃんこ師匠
    うむ、ミツオカはいつも遊んでばかりだから、たまには働き心も必要じゃな!
    今月納品のシステムが50%しか進んでないぞ!
    ミツオカミツオカ
    えっ?
    にゃんこ師匠にゃんこ師匠
    は・た・ら・け
    ミツオカミツオカ
    逆から読むと?
    にゃんこ師匠にゃんこ師匠
    ケ・ラ・タ…
    ミツオカミツオカ
    パッ…━━━タタタタヘ( ´Д`)ノ
    にゃんこ師匠にゃんこ師匠
    逃げたー!働け!

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    メディアチーム
    メディアチーム
    Show more...

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background