1978年にタイトーが世に出した『スペースインベーダー』。敵を撃ち落とすほど残りの動きが速くなり、最後の1体がいちばん手ごわい。だが、倒すほど速くなるのは、そう作ったからではない。当時の基板は処理が遅く、プログラムは画面を1回書き換えるたびに敵を1体ずつ動かしていた。数が減れば、全員が動き終えるまでの時間が縮む。西角友宏氏が開発した日本生まれのゲームの“制約の副産物”が、海外の掲示板で話題になっている。
※注:元スレッドのタイトルは「敵が減るとゲーム全体が速く動いた」としているが、プログラムを解析した資料によると、速くなるのは敵の隊列の動きで、自機と自機の弾の速さは変わらない。コメント欄でも同じ指摘が出ている。この記事はそちらに沿って書く。
今日の知ってた?
👾 1978年にタイトーが発売した『スペースインベーダー』。開発したのは西角友宏氏で、企画からプログラミングまでをひとりで担当した
⏩ 敵は横11列×縦5段の55体。撃って数が減るほど、残った敵の動きが速くなる
⚙️ 理由は敵の動かし方にある。プログラムは画面を1回書き換えるたびに、敵を1体だけ動かす。55体そろっていると全員が一歩進むのにおよそ1秒かかるが、数が減れば、そのぶん早く一巡する
🗣️ アメリカで販売したミッドウェイ社のゲーム開発部門の責任者は1982年、米国の技術誌で「インベーダーが速くなるのは、機械の動き方がそうなっていたというだけのこと」と説明している
🎯 速くなるのは敵の隊列だけ。自機と自機の弾の速さは、最初から最後まで変わらない
背景:スペースインベーダーとは
『スペースインベーダー』は、タイトーが1978年に発売した、ゲームセンターなどに置く業務用のビデオゲームである。プレイヤーは画面のいちばん下で砲台を左右に動かし、上から迫ってくる敵(インベーダー)を撃つ。敵は横11列・縦5段の55体。隊列を組んだまま左右に動き、画面の端に着くたびに一段ずつ下りてくる。全滅させれば次の隊列が現れ、敵がいちばん下まで下りてきたらゲームオーバーになる。
開発したのは西角友宏氏。日本語版ウィキペディアによると、当時はタイトーの子会社パシフィック工業に在籍しており、敵が集団で並ぶという発想は『ブロックくずし』がもとになったと本人が説明している。CPU(コンピューターの頭脳にあたる部品)には、アメリカのインテル社の「8080」を使った。西角氏は2019年の『ファミ通』のインタビューで、「当時は企画からプログラミングなど、すべてひとりで担当していました」と語っている。ゲームを動かす土台になるソフトも、自分で作るしかなかったという。
日本では、喫茶店のテーブルがこのゲームのテーブル型の機械に置き換えられ、このゲームばかりを並べた「インベーダーハウス」と呼ばれる店が各地にできるほどのブームになった。料金は1回100円。海外ではアメリカのミッドウェイ社が販売し、こちらも大ヒットした。今回紹介するのは、その英語圏の掲示板でのやり取りである。
もう少し詳しく
1体ずつ動かす、という作り。初代のプログラムを解析して公開している海外サイト「Computer Archeology」によると、このゲームの画面の書き換えは毎秒60回。プログラムは、書き換え1回につき敵を1体だけ動かして描き直す。55体そろっているあいだは、全員が一歩進み終えるまでに55回ぶん、およそ1秒かかる。数が半分になれば、一巡にかかる時間もおよそ半分。最後の1体になると、書き換えのたびにその1体が動く。倒すほど速くなるのは、この作りからそのまま出てくる結果である。
速くなるのは敵の隊列だけ。同じ解析によると、自機の処理は画面の書き換えのたびに毎回行われ、自機の弾も決まった幅ずつ進む。敵がどれだけ減っても、こちらの動きは速くならない。「ゲーム全体が速く動いた」という元スレッドのタイトルは、ここが少し大ざっぱだ。また、残り1体になったときだけは、右へ進むときの歩幅を左へ進むときより広げる処理が入っているという。加速そのものは成り行きでも、最後の1体の手ごわさには手が加えてあったことになる。
当時の関係者と、開発者の言葉。アメリカの技術誌『IEEE Spectrum』は1982年12月号で、ミッドウェイ社でゲーム開発部門の責任者を務めていたビル・アダムス氏の説明を載せている。「インベーダーが速くなるのは、機械の動き方がそうなっていたというだけのこと」「何体か撃たれると、機械が動かす相手が減って、残ったインベーダーが速くなった」。記事は、この加速を「偶然」のものだったと伝えている。西角氏も2019年の『ファミ通』のインタビューで、「『スペースインベーダー』の基板は当時としてはすごく性能がよかったんですけど、それでも処理速度が遅くて思ったようにグラフィックを動かせなかったので、開発するのはすごくたいへんでした」と振り返っている。
気づいたうえで残した、とされる。英語版ウィキペディアは、2004年にイギリスのゲーム雑誌に載った西角氏のインタビューなどを出典に、西角氏は開発中にこの現象に気づき、打ち消す仕組みを入れずに、遊びの一部としてそのまま残したと紹介している。あとから振り返って、この点がゲームを面白くし、ハードの限界を補ったと語った、ともある。一方で西角氏は、2025年に公開された海外メディアのインタビューで、ハードの性能に縛られてやりたいことができなかった、敵をもっと速く動かしたかった、技術者としては悔いが残る、という趣旨のことも話している。
「だんだん難しくなる」こと自体は、狙いだった。西角氏は2024年に公開されたアメリカのメディアのインタビューで、だんだん難しくなっていくゲームにすることはいつも頭にあった、という趣旨を語っている。英語版ウィキペディアによると、それまでのゲームセンターのゲームは制限時間で終わるものが一般的で、西角氏は時間制限の代わりに「下りてくる敵」を置いた。同じく英語版ウィキペディアによれば、『ディフェンダー』を手がけたゲーム開発者ユージン・ジャービス氏は、多くのゲームが今も、スペースインベーダーの「残機があって、進むほど難しくなる」という型に頼っていると述べている。
海外の反応
1. 海外の名無しさん
この仕組みのせいで、ゲームとしてはごく単純なのに、忠実に再現(エミュレート)するのはとんでもなく難しいんだよ。元の基板がどう処理していたかを真似るだけじゃ足りなくて、今のコンピューターに「処理が追いつかないふり」までさせなきゃいけない。
(追記:難しさを大げさに言いすぎた。自分より詳しい人たちが、下で問題と解決策を話してくれている)
※ エミュレート:昔のゲーム機や基板の動きを、今のコンピューターの上でそっくり再現すること。そのためのソフトを「エミュレータ」と呼ぶ。
2. 海外の名無しさん(>>1への返信)
いっそ10億ドットくらいある巨大なインベーダーを出して、今のパソコンでも本当に処理が追いつかないようにすればいいのでは?
3. 海外の名無しさん(>>1への返信)
CPUの速さを頼りに時間を計るやり方は、昔のゲームではよくあったんだ。たしかに一時期は困りもので、80年代前半のパソコン用ゲームを80年代後半の機種で動かすと、とんでもない速さになった。でも、エミュレータで直すのはそう難しくない。再現した側の時計が1つ刻むのを待ってから、命令を1つ進めるようにすればいい。スペースインベーダーの再現が厄介なのは本当だけど、理由はむしろ、変わった作りの独自の基板や、アナログの音のほう。音の回路をまるごと再現する代わりに、録音しておいた効果音を鳴らしているエミュレータも多いよ。
※ ここでいう「時計」はクロックのこと。コンピューターが処理の拍子を取るための、一定の刻みを指す。なお、初代スペースインベーダーの効果音は、アナログ回路と専用の音源チップで鳴らしていた(英語版ウィキペディアによる)。
4. 海外の名無しさん(>>1への返信)
ゲームを一から作り直そうとすると難しい、という話だと思う。タイミングを当て推量で合わせることになるからね。ハードそのものを再現する場合は逆で、プログラムは元のとおりに、欠点もそのまま抱えて動く。大変なのはハードの再現のほうだけど、そこさえできれば全部が正確になる。
5. 海外の名無しさん(>>1への返信)
今の機械で同じ遊びを作り直すだけなら、もっと単純だよ。速度の数値を1つ用意して、インベーダーが1体やられるたびに少しずつ上げればいい。それだけで同じような動きになる。
6. 海外の名無しさん(>>5への返信)
うん。難しいと言われているのは、元のプログラムをそのままエミュレータで動かすという厳密な意味での再現であって、遊びの仕組みを真似ることじゃないんだろうね。
7. 海外の名無しさん
「それはバグじゃなくて仕様です」は言い訳の決まり文句だけど、バグが本当に仕様になることもあるんだな。
8. 海外の名無しさん(>>7への返信)
さては、この一言が言いたくてスレッドを立てたな? うまいこと言ってるのは認めるけど。
9. 海外の名無しさん
つまり、狙って入れたものじゃなくて副作用だった、ということ。終盤ほど難しくなるような命令を、わざわざ書き足したわけじゃない。敵が減って処理に余裕ができたぶん、残りが速く動いただけなんだ。
10. 海外の名無しさん
細かいことを言うと、ゲーム全体が速くなるわけじゃないよ。速くなるのはインベーダーの描き直しだけ。こちらの弾と砲台は、最初から最後まで同じ速さで動く。
11. 海外の名無しさん
見方を変えると、このゲームの難しさはずっと一定だったとも言える。機械にとって楽になるほど、人間には難しくなる。両方の苦労を足せば、いつも同じなんだ。
12. 海外の名無しさん
こう考えてみて。30文字を書くのに15秒かかって、書き終えたら次の行に移るとする。次の行では2文字減って28文字。なくなった2文字のぶん手を動かさなくていいから、少し早く、たぶん14秒で書き終わる。この「手」がハードで、「文字」がインベーダー。インベーダーが一歩動くたびに、1行ぶん書いていると思えばいい。……このたとえ、伝わるかな。寝不足なんだ。
13. 海外の名無しさん(>>12への返信)
言いたいことはちゃんと伝わるよ。ただ、次の一歩までのあいだに2体まとめて撃ち落とすのは、なかなかの腕前だけどね。
14. 海外の名無しさん
ゲームの「だんだん難しくなる」という考え方が、こんなきっかけで生まれたなんて。すごい話だ。
※ これはコメント主の感想。「だんだん難しくなる」という発想そのものがここから生まれた、と裏付ける資料は確認できなかった。上で触れたとおり、西角氏自身は、だんだん難しくなっていくゲームにすることをもともと考えていたと語っている。
15. 海外の名無しさん
これを手抜きと呼ぶのは違うと思う。前のコマからどれだけ時間がたったかを毎回計算して、速さをそろえるやり方もあるけど、その計算だってタダじゃない。昔のハードでは、その負担がばかにならなかったんだ。
16. 海外の名無しさん
そうそう。昔のゲームは、遅いハードでちょうど遊べる速さになるように作って、ぎりぎりまで切り詰めてあった。だからパソコンが速くなると、速すぎて遊べなくなる。そこでメーカーは、CPUをわざと遅くして古い機種の速さに合わせる「ターボ」ボタンを付けたんだ。
17. 海外の名無しさん(>>16への返信)
昔うちにあった386のパソコンにも、前面にターボのスイッチが付いていたな。入れると33MHzだったか40MHzだったか、当時としては猛烈な速さで動く。古いソフトを使うときは、5MHzくらいの鈍足に切り替えられた。
※ ターボボタン:1980年代半ばから90年代半ばのパソコンによく付いていた切り替えスイッチ。CPUの速さを時間の物差しにしていた古いソフトが、新しい機種では意図より速く動いてしまうため、初期のパソコン並みの速さに落とせるようにしてあった(英語版ウィキペディアによる)。「386」は、インテル社のCPU「80386」を積んだパソコンのこと。
18. 海外の名無しさん(>>17への返信)
1989年のロボットゲーム『MechWarrior』を、まさにそのスイッチ付きの386で遊んでいたよ。長い距離を歩くのが面倒でターボを入れたら、小型の敵ロボットが駆け寄ってきて、文字どおり自分のまわりをぐるぐる回りながら撃ってきて、数秒でやられた。同じ死に方を2、3回くり返して、ようやくスイッチを切るのが間に合い、何が起きていたのか分かったんだ。
19. 海外の名無しさん(>>17への返信)
ややこしいのが、機種によっては「ターボ」を入れたほうが遅くなって、切ると全速に戻るものがあったこと。名前と逆なんだよね。
20. 海外の名無しさん
あのゲームには参ったよ。数えきれない時間と、山ほどの25セント硬貨をつぎ込んだのに、何がそんなに良かったのか、いまだにさっぱり分からない。しかも1978年当時の25セントだよ! だから、孫たちが今どんな訳の分からないゲームに夢中になっていても、私はちっとも驚かない(笑)
※ アメリカのゲームセンターでは、25セント硬貨(クォーター)1枚が1回ぶんの料金だった。日本でいう100円玉にあたる。なお、日本でブームのあまり100円玉が足りなくなったという話は有名で、日本語版ウィキペディアにも載っているが、英語版ウィキペディアは当時の硬貨の発行枚数などをもとに都市伝説として扱っており、裏付けははっきりしない。
21. 海外の名無しさん(>>20への返信)
ちなみに、1978年の25セントは、今のお金にすると約1ドル14セントの価値があるらしいよ。
22. 海外の名無しさん(>>21への返信)
それはすごい。あのとき1枚も使わずに全部取っておいたら、今ごろ大金持ちだったのにね。
23. 海外の名無しさん(>>22への返信)
いや、25セント硬貨は今持っていても25セントのままだから。取っておいたら、むしろ目減りしてるよ。
24. 海外の名無しさん
ただ、あのころの子どもは、ほとんどの時間を外で遊んで過ごしていたんだよね。ゲームは主食じゃなくて、食後のデザートだった。
25. 海外の名無しさん(>>24への返信)
外にいる時間が長すぎたからこそ、小銭を払ってでも、外から逃げ込める場所に価値があったんだよ。
まとめ
1978年にタイトーが発売した『スペースインベーダー』で、敵が減るほど速くなるのは、画面を書き換えるたびに1体ずつ動かす作りから、そのまま出てくる結果だった。コメント欄では「バグが本当に仕様になることもある」と面白がる声に、再現の難しさをめぐる訂正のやり取りや、ターボボタンと25セント硬貨の思い出話が続いた。日本生まれのゲームの“制約”は、半世紀近くたった今も語り草になっている。
元ソース: 初代『スペースインベーダー』の敵が、倒すほど速くなったのは、開発者がそうプログラムしたからではなく、当時のハードが非力で、画面の敵が減るとゲーム全体が速く動いたからだった

コメント