
12月に作成した
3Dポリゴンのサンプルプログラムを応用して、シンプルなゲームを作ってみました。現在、「プチコン大喜利ワールドグランプリ」というスマイルブーム社(プチコン4のメーカー)主催のゲーム制作コンテストが開催されていて、そのお題が「スマイル」であることから、強引に「スマイル」を入れる形で浮かんだのが「スマイルじいさんのポリゴン宇宙旅行」というタイトルです。ゲームの基本アイデアは避けゲームですが、タイトルに合わせてキャラクターや演出を加えていきました。今月頭に完成して公開しています。
タイトル: スマイルじいさんのポリゴン宇宙旅行
公開キー: 4NKANEXPF

ゲームとしての製作開始は1月2日からで、まずはポリゴン単体のサンプルプログラムから、ポリゴンを複数同時に動かすように改良してみました。これは単純に「ポリゴン集合体」の配列変数を用意して、これに合わせて集合体各面の三角形を移動する形になっています。

ポリゴンの描写はグラフィックのGTRI命令を使うのですが、グラフィック面のみを使う形だと表現の幅が限られてしまいます。例えば普通にスプライトを表示する形だと、ポリゴンとポリゴンの間にスプライトを重ね合わせるということができません。そのため、「GTRI命令で描いたポリゴンをスプライト化」する処理を加えることにして、ポリゴンとプリセットキャラ(スプライト)との重ね合わせも実現しました。

ちなみにポリゴンの単位である三角形1つを「1ポリゴン」と言うそうですが、私の今回のゲームでは普通のグラフィックのみの描写で最大毎秒18000ポリゴン(1フレームあたり600ポリゴンx毎秒30フレーム)、グラフィックをスプライト化させた形で最大毎秒12000ポリゴン(1フレームあたり400ポリゴンx毎秒30フレーム)でも処理落ちなく動かせています。ただし、大きなポリゴンをいくつも描写すると、この最大数に関わらず処理落ちしてしまうので、そうならないような工夫もしています(ポリゴンの出現タイミングをバラしたり、立体の見えない背面部分を描画しないなど)。ゲーム上ではグラフィックのみ描写と、グラフィックをスプライト化させた形を、ステージで分けて実装しています。

ポリゴン以外のキャラクターは基本的にプリセットのものを使用していますが、おじいさんの顔を「スマイル」にしたり、タイトルのロゴを作ったり、月を描いたりなど、少しだけ手を加えています。ゲーム中のBGMもほぼプリセットのものですが、エンディングだけ高校時代に作ったゲームの曲を少しアレンジして転用しています。
プログラムは以下の通りです。
今回は普段作っているプログラムよりも計算が色々と複雑で、頭で整理するのが中々難しく、プログラム中のコメントもできるだけ丁寧に描きました(今回はちゃんと漢字を使いました)。今後ポリゴンのプログラムを作ることがあるのか分かりませんが、ベースの考え方だけは忘れずにいたいところです。
プチコン4関連記事
(リンク一覧):
スマイルじいさんのポリゴン宇宙旅行 - プチコン4で3Dポリゴンの避けゲーム /
ぱちぱちフルーツ農場 - プチコン4で羽根モノパチンコ風ゲーム /
落ちるジョニー - プチコン4でレトロPCのBASIC風ゲーム /
プチコン4でポリゴン描写の実験 /
BALLS AND PANELS 3D - プチコン4で三次元の物理演算(ボールの衝突処理) / ...
(記事連続表示)関連カテゴリー:
ニンテンドー関連記事,
プチコン4関連記事