24 下からくる障害物をよけるゲーム
24番目のゲーム雑記は、「下からくる障害物をよけるゲーム」です。
特に決められたゲーム名はなかったと思います。
強いて言うなら
「スクロールゲーム」
色んなスポーツに見立てたゲームで
「スキースラローム」
「川下りゲーム」
なぜ、こんなゲームが8ビットCPUのパソコンで
流行っていたかというと、
作るのがわりと簡単だったからです。
当時のパソコンには、
標準で付属されている言語は、BASICくらいでした。
このBASICでは、プログラムを表示するために、
プログラムが画面の最終行まで表示されると、
どんどん今まで表示していたプログラムのソースを
上へとスクロールさせて表示するという機能が
標準で搭載されていました。
はい、ここで勘のいい人なら気づいたかもしれません。
プログラムソースを表示するための機能を
使ってスクロールさせることを
プログラムでの文字や文章を出力し、
ログを画面の上へと流す機能を
ゲームに使っているのです。
BASICでは、処理が遅くてスクロールなんてやったら、
アクションゲームになんてなりません。
下手すると、1行スクロールするのに10秒くらいかかります。
なぜスクロール処理が速いのかというと、
内部でマシン語で処理しているからです。
マシン語ではどういった処理がされているかというと、
画面には、パソコンの記憶領域が割り当てられており、
画面の左上を0番地としましょう。
画面での横の文字列表示数を40とすると、
40番地に書かれている文字を
0番地に書き込みます。
これを画面の縦に表示できる行数分を25とすると、
40×25-1の番地まで
順に上記の処理を1ずつ番地を増やしながら
行うと上へのスクロールの処理になります。
実際は、文字情報だけでなく、その文字の属性(色や反転や点滅)なども
スクロールされます。
これだけ書いてきましたが、
このBASIC特有の機能を使ったゲーム作成は、
最近のゲーム作成にはまったく役にたたなそうなので、
他にも少し。
上からランダムな個所から落ちてくる物を拾うゲーム。
こんなゲームなら、スクロールの機能もいらないので、
最近のゲーム開発用の言語でも作れると思います。
このゲームは当たり判定をスクロールゲームのように
メモリからの文字取得で行うのではなく、
座標で当たり判定を行います。
ランダムで一番上の座標から下へ落ちてくるリンゴを
下の方で横にだけ移動して操作できる自分のキャラを
同じ横の座標で、自分のキャラと同じ縦の座標に来た時に
キャッチできたと判定するわけです。
ゲームオーバーは、自分のキャラを通り過ぎて縦の座標が
下まで行った時でしょうか。
ゲーム作りのための言語ですが、Unityなどが最近は
流行っているらしいのですが、作者(自分)は触った事がないので
わかりません。
将来性などを考えなければ手っ取り早く作れるHSPという言語を
おすすめします。




