TERARIN GAMES

情報セキュリティ、組織論、ゲームなど

地形の配置と敵の出現タイミング

横スクロールシューティングゲームにおいて、地形の配置と敵の出現をタイミング良く合わせた実装をするのは、結構手間のかかる作業ではないかと思います。

 

前回作成した縦スクロールシューティング「GALAXY EXTREAM」では、Timelineという機能を利用し、ステップ毎に出現させる敵Object、地上Objectを指定していました。

f:id:genesis16bit:20151108125239p:plain

ステージ毎のTimelineを用意し、ステップ毎に生成する敵オブジェクトを指定します。

縦スクロールシューティングであれば、この方法で問題ないのですが、横スクロールシューティングの場合は、地上物が複雑に構成され、さらに地上物にピッタリ合った形で敵の配置がされる必要がありますので、視覚的に配置ができないと、思い通りのゲーム画面を作るのが難しいかと思います。地上物が無ければ簡単なのですが、やっぱり横スクロールシューティングに地上物は必要不可欠ですよね。

 

Gamemaker StudioにはRoomにGUIが用意されていて、視覚的にObjectを配置をすることができますので、この機能を活用した実装を考えてみました。

 

f:id:genesis16bit:20151108130608p:plain

①ステージ全体を横長にRoomとして設置する。
②表示する画面サイズをViewとして左端固定で設置する。
③ステージ全体に地形Objectを配置する。
④敵編隊を管理するObjectを用意し、ステージ全体に配置する。
⑤地形Objectと敵編隊Objectを左方向へ同一速度で移動させる。Objectが左端まで行ったらObject自体を破棄する。
⑥自機はViewの中のみ移動可とする。

f:id:genesis16bit:20151108124607p:plain

 

赤色で×印になってるのが敵編隊Objectです。これは、たとえば5体の敵を横一列に並べて移動させるといったものを管理するObjectのことです。敵編隊Objectは、左方向へ一定速度で移動し、Viewの横幅手前まで移動したら、敵Objectを生成し、任意の行動をさせます(自機に近づき弾を吐くなど)。

 

ボスの場合も一緒で、ボス管理Objectをステージの右側に配置し、左方向へ一定速度で移動。Viewの横幅手前まで移動したら、ボスのObjectを生成し、任意の行動をさせます。

 

今回試しに実装したボスは、複数のブロックパーツから生成されるボスです。以下はボス管理Objectです。Viewの横幅手前まで移動したらブロックパーツを生成しボスの形態となり、動き出します。

f:id:genesis16bit:20151108133056p:plain

f:id:genesis16bit:20151108133437p:plain

 

 

<動画>

https://www.youtube.com/watch?v=zjiNMXzaytM

 

この実装の利点は、視覚的に地上物と敵を配置ができることです。欠点は、あらかじめオブジェクトを配置しておくので、無駄なオブジェクトが多くなってしまうというところでしょうか。

この実装方法以外にも色々な方法があると思いますが、いまだ試行錯誤の状態です。