80〜90年代前半のゲームプログラマーは天才なのだ
マジシャンのKiLaです。
今回の記事は多くの人にとって興味の薄い話しだと思います。あくまで僕個人の趣味の延長と言いますか範疇と言いますか。ゲームの話です。それもゲームプログラマーの話です。それも1980〜90年代前半のです。今回は当時のプログラマーのスゴさを少しでも知ってもらいたい!そして彼らに対するリスペクトと感謝の気持ちをただダラダラと書き綴っている。ただそれだけです。ですからマジック一切関係ないのでそれを求めてる人はスルーしてください(笑)
でも、あの頃のゲームが好きな人なら、それらを世に送り出すのには欠かせない当時のプログラマーの偉大さを少しでも知ってもらえるのではと思います。
まず僕がどんな人間なのか。
高校生1年くらいまで将来の夢はゲームプログラマーでした。なので工業高校の情報処理科に入学し主にプログラムの勉強をしました。高校卒業後は高専に編入しました。
中学からゲームを作りたかったのでMSX2+を買ってもらいBASICに手を出しました。高校から高専にかけては授業でFORTRAN、COBOL、C、CASL、Pascal、Lispとそれなりに手を出し、高3の時点で第二種情報処理技術者試験(現在の基本情報処理技術者試験)に合格しました。
要するに自分はその道のプロフェッショナルではないけど、まぁその程度にはプログラムと言うモノは理解しているしプログラマーの気持ちもそれなりに分かる人間だということです。
で、ゲームプログラマーの話です。
先に書いたようにプログラマーになりたいと思うきっかけは当然ゲームです。昭和50年生まれの完全なるファミコン世代。ゲームは1日1時間。高橋名人は神です。16連射が出来たらスイカが割れます。分かる人だけ喜んでください。
3Dという概念はまだなく2Dで表現されるファミコンのゲームたち。音はたった最大4音(3和音+1ノイズ)なのに未だに心に残る数々のメロディたち。DQ3のED曲は国歌です。
数々の名作が生まれた事、そのゲームを作ったデザイナーや作家、作曲家の皆さんは今ではレジェンドと呼ばれる方々もいらっしゃいます。
ただそのゲームを直接カタチにしたプログラマーの方々にスポットライトが当たる事はほとんどないのです!ボンバーマンやスターソルジャー位は聞いたことがありますよね?だけどそれを作った今はなきハドソンの中本さんや野沢さんを知ってる人はどれだけいるのか!なので言いたい!当時のプログラマーのレジェンドさを今日は少しでもお伝えしたくペンを取ったのです(笑)
当時はプログラマーにもスポットライトが当たっていた
(3/22追加)
80年代後半は今よりプログラマーにもスポットライトは当たっていました。ボンバーマンの隠れキャラには中本さん、スターソルジャーの16面には野沢さんが隠れキャラで登場し最大ボーナスの200万点です。スターソルジャー発売時のコロコロコミックには写真入りでプログラマーである野沢さんのインタビューが載っていたのを覚えています。ドラクエ製作陣にはチュンソフトの中村光一さんの名前が堀井雄二さん・すぎやまこういちさん・鳥山明さんと同列で並んでいました。ただそれ以降プログラマーにスポットが当たる事がなくなっていったのもよく覚えています。
時代が進みゲームもハード自体も複雑化し、データとプログラムも膨大になりました。そしてプログラム言語が進化しプログラミングが分業化できたことがプログラマーにスポットが当たらなくなっていった理由でもあるのでしょう。逆に言うと当時のゲームはほぼ1人でプログラミングをやっていたという事です。
当時のプログラマーは鬼
現在ゲームやアプリを作るのにも当然プログラミングをしています。C++、Java、Pythonなどという言語を使ってプログラミングをします。これらは高水準言語と言われています。高水準言語は大雑把に言うなら英語などの人間の言葉に近い表現で記されています。例えば文字を画面に表示するならprint何々とかそんな感じです。なので書き込みもしやすいし、他の人がプログラムを見ても分かりやすいのです。
ただしコンピュータはそう言った言葉は分かりません。コンピュータは0か1。電気が流れるか流れないかしか分かりません。なので人間が高水準言語で書いたプログラムをコンパイラと言われるプログラムでコンピュータが直接分かるマシン語に変換(コンパイル)する必要があるんです。
ですが、当時のプログラマーはマシン語で直接プログラムしていたんです。
マシン語というのは16進数表記です。16進数とは0〜9,A〜F(10〜15)の組合せで表現されています。ただこの辺の詳細、アセンブラやオペランド、ニーモニックなど細かいことは僕は忘れています。ご指摘歓迎ですが、まぁ大目に見てください(笑)もう四半世紀以上プログラムから遠ざかってる人間です。
とにかく0〜Fの暗号コードの羅列だと思ってください。そんな暗号だけでドラクエやスーパーマリオを作る事をご想像下さい。鬼の所業です。そしてこれをやり遂げた彼らはもう国民栄誉賞です。
(3/22追加)もし制作途中でそのプログラマーが亡くなってしまったらデバッグどうするんだ!?もう暗号解読から始まる鬼畜の様な罰ゲームに身を投じることになるでしょう。それを任された人間は発狂モノです(笑)
僕の友人に今でも現役でプロとしてゲームを作ってるのがいるんですが、彼らに言わせても当時のゲームは謎な事が多いそうです。
なんでファミコンが動いているかが謎
実は令和版世界最大7不思議の一つがコレです。現代プログラマーに言わせると「ファミコンとかスーファミのハード制限を考えると何故これが再現できてるのかがわからん事多すぎw」そんな感じです。ファミコンは奇跡。当時のプログラマーは奇跡を起こし続け、僕らは奇跡を日常的に享受していたのである!
正直、当時のゲームを今のハードで制限を考えずに再現しろと言われれば学生でも出来るとは思うのですが。
1986年発売のスターソルジャーは32kバイト。
「32kでスターソルジャー作ってください」
不可能です(笑)現代のコンピュータで32kじゃ初期化命令すら呼べず終了。それこそ無理ゲー。マリオメーカーならアップロード不可です。(スターソルジャーを知らない方はYouTubeでその神ゲームっぷりを是非ご覧ください)
もちろん当時と今ではハードの条件が違います。今はハード自体が複雑化してるから32kじゃ何も出来ませんし同列で考えられない事くらい理解しておりまする。
それでも当時のゲームは分からん事が多いそう。現代のプログラマーはスプライトも知りませんし(スッキリ爽やかな飲み物ではございません)それらを駆使した当時の工夫を考える必要もないですが(興味ある方は「BGとかスプライトとか色分けしてみた」で検索ください)制約が多いのでより工夫が必要になる→すなわちプログラムは増えちゃうよね→重くなる→動かない、とふつうなるのですが、動いてる(笑)謎です(笑)当時のプログラマーの皆さん何をどうしてたの?という訳です。
もちろん現代のプログラマーの皆さんを僕は尊敬してやみませんし、色々な創意工夫をされている事は想像に難くないです。
ただ、当時の条件であのクオリティのゲームをマシン語で作れと言われた時(それも〆切アリで)現代の若いプログラマーで達成できる人がどれだけいるのでしょうか。
それだけ当時のプログラマーは“創意工夫とエネルギーに満ち溢れていた”ことをお伝えしたいのです!
データ量とその価値
最後に今ではMバイト、Gバイトは当然の時代。32kというデータ量は、恐らく今ではプログラムの初期化命令すら呼べず、写真では1cm四方にも満たない僅かなデータ量です。
もちろん時代が違えば貨幣価値と同じくデータ量に対する価値が当時と同じであるはずはありません。しかし当時のプログラマーは、そのごく僅かなデータ量に1本4〜5000円のゲームとしての価値を与える事に成功した人達なんです。
それって改めて考えると何だかとても素敵な話しだと僕は思うんです。
当時のゲームはシンプルだけど今の子供達がやっても面白いと言います。当時のゲームは今でもその価値は普遍なのです。そしてそれらを暗号のようなプログラム言語を駆使して具現化してくれたプログラマーは偉大なのです。
だから僕は、今では¥1にも満たないデータにそれだけの価値を与え、僕らに夢を与え楽しませてくれた当時のプログラマーに改めて今賛辞の言葉を送りたいのです。
今の僕があるのはあなた達のお陰です!おかげで立派な子供がそのまま45になりましたよ(笑)ありがとうございました(笑)
大した内容でもない乱文乱筆すみません。ただの勢いだけで深夜に書いたものです。おやすみなさい。
おわり
いただいたサポートは今後の活動に活かしたいと思います。 よろしくお願いします。