読者です 読者をやめる 読者になる 読者になる

bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

YampaとOpenGL(GLUT)で簡単なシューティングゲームを作成する―概略

1.Yampaでのゲーム作成

Yampaでのゲームの作成の概略はMeisinger作成の下図のとおりである。
f:id:bitterharvest:20141102101832p:plain
この図をフローチャートで示したのがMeisinger作成の下図である。
f:id:bitterharvest:20141102101909p:plain

ゲームのプログラムは、Yampaが用意しているreactimateという関数を利用する。これは4つの部分から成り立っている。一つ目は、初期化である。フローチャートではinitとなっている。初期化のところではグラフィックス関係の初期化を通常は行う。二つ目は、入力である。フローチャートではinputとなっている。これはキーボードやマウスからの入力を検知して伝える。三つめは出力でゲームの状況を出力する。フローチャートではoutputとなっている。刻々と変わるゲームの画面はこれにより作り出されている。四つ目はいわゆる処理である。フローチャートではprocessとなっている。processでは信号関数を利用してゲームの登場者たちの振舞いを規定する。

さて、これから作成するゲームはシューティング・ゲームである。これは「シューティングゲーム手習い」のところで、二つの石を投げて鳥を撃ちところまで学んできた。その時は、石にあたった鳥が落ちていくところまでは説明できなかった。撃ち落とせるようにするため、「ゲームの中で信号関数を自在に扱う」と「Yampaでゲームを定式化する」のところで、信号関数について学んできた。

processを書くための準備が済んだので、ここでは、石にあたった鳥が落ちていく様を記述することにする。最初に完成したプログラムの動作を見せたほうが早いので、まず動画を示すこととする。

この動画で、緑色の多面体が鳥で、赤い球が石である。鳥に石が当たると、石はそのままだが鳥は消える。

では、次回以降にプログラムを詳しく説明する。