“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

思い出のゲーム達:11.グラディウス(コナミ)

今回の思い出のゲームは、ファミコン版の「グラディウス
www.youtube.com

コナミの名作シューティングがファミコンに移植された。
↑↑↓↓←→←→BAのコナミコマンドも、このゲームから。

当時は小学生。最新のゲームがある町のゲーセンには行けなかったので、アーケード版は知らず、ファミコンで先に遊んだ。
のちにアーケード版を遊んで、ずいぶんと違いがあるのに驚いた。
特にオプションを4つ付けて放つ長いレーザー。レーザー発射中に上下に動くとレーザーも併せて上下するレーザーワインダーの美しいこと。
ファミコン版は、オプションが2個まで、レーザーは短く連射されるタイプだった。

編隊を全滅するか、赤い敵を倒すと出てくるカプセルを取り、ゲージに合わせてパワーアップボタンを押してパワーアップするのが楽しかった。
ステージも多彩。モアイステージや逆火山は秀逸。BGMも名曲ぞろい。
ステージの最後にはボスキャラのビックコアが登場するのだが、ファミコン版はキャラの制限があったのか、ミニコアだったw

ファミコン版は人の家で遊ぶか、10分100円で遊べる貸ファミコン屋でしか遊べなかったので、結局一周はできなかったなぁ。

<余談>
今じゃ考えられないけど、ファミコンを並べて、10分100円でカセットを選んで遊べる貸ファミコン屋が結構あった。
民家の軒先だったり駄菓子屋の隣だったり。任天堂に訴えられたのだろうか、中学に入る前には無くなってた。
人気のソフトはあまり遊べず、いつも難易度が高い「魔界村」が残っていたのが思い出。
スターフォーススターソルジャーグラディウスは競争率が高かった。

30.PC-9801UV11(電算室のパソコン)

高専には電算室、いわゆるコンピューター室があり、そこに置いてあったのが、PC-9801
3.5インチFDDを二基搭載した、PC-9801UV11(だったと思う)。
f:id:CORO3:20200307002020j:plain

ゲームをする以外で、初めて触った98がこれだった。
この頃は、DISK-BASICをフロッピーディスクにコピーして、システムディスクとして使っていた。
入学した当初は、自宅のMSX2にはFDDドライブがなく、データレコーダでカセットテープにプログラムを記録していたので、フロッピーディスクの便利さに感動し、FDDドライブ付きのMSX2+を買うための原動力になった。

しかし、FM音源も搭載されてないし、ゲームで遊べるわけでもない。さらにモニタはモノクロ…
BASICでちょこちょことプログラムを書いて楽しむ程度にとどまった。
この後5年間、新しい98に更新されることもなく、授業でも部活でも付き合うことになるパソコンだった。

29.高専に進学

小中と、プログラムに楽しさを覚え、おぼろげながらもゲームプログラマーになりたいと思っていた。
普通高校に進学しても、プログラムの知識は得られないと思っていた。
そこに父親が、高専ならどうかと薦めてきた。
高専ならC言語をはじめとして、コンピュータの専門的な知識が得られ、将来プログラマになれると思って進学した。
というか、成績が若干足りなかったが、運よく進学できた。

進学した高専には、できたばかりのコンピュータの専門学科があったが、機械科が単純に半分に分かれただけで、カリキュラムもほとんど機械科と同じで、ちょっと違うなと思い、一応カリキュラムにプログラムの授業があった電子制御を勉強する学科を選択した。

そこで初めに行われた授業が、なんとタイピング…
そして、いよいよプログラムと思ったら、C言語ではなく、Pascalというこれまた別の言語。
最終的にC言語の授業もあったのだが、そのころには独学でC言語でもプログラムできるようになっており、自分の知識が授業の内容を軽く超えていたので、授業中はもっぱら遊んでばかりだった。
でも、高専に進学したことで結果コンピュータを使う仕事にたどり着けた。

28.C言語 その1

ディスク付きのMSXを持っていなかったので、アセンブラを使うこともできず、ハンドアセンブルはかなり厳しかった。
中学を卒業するころになってくると、C言語なるBASICとは違う言語があることを知った。

C言語は、BASICと違いプログラムをコンパイルするという、マシン語に変換する作業を行う必要があった。
実行するのは変換されたマシン語なので、インタプリター方式のBASICに比べて数倍速い実行速度が出ていた。

C言語には行番号がない。(今やBASICにも行番号は無くなったが)
そして、大文字で書くことに慣れていた命令は、小文字表記。
カッコでくくったところがブロックになる。
そして、命令の末尾には、;(セミコロン)を付ける。

#include <stdio.h>

void main() {
 int i;
 for ( i=1 ; i<=9 ; i++ ) {
  printf("%d\n",i);
 }
}

BASICと比べて、なんだかいっぱいカッコを書かなくてはならないなぁという、見た目の感想はあったものの、アセンブラに比べて圧倒的に人間がわかりやすい言語で書け、BASICより早く動作するプログラムが作れるのならと憧れが膨らんだが、進学するまでは、想像するだけだった。
結局MSXでは、C言語でプログラムを作ることはなかった。