トップページ  >   Mプロジェクト

Mプロジェクト

プログラミングだけでゲーム制作(4)

ちょっと想像してみてください。ゲームの中でキャラクター(宇宙船)が弾を撃ちました。弾はまっすぐに飛んでいき、どこにもぶつからずに画面外に消えてしました。見えなくなったこの弾、このあとどうなると思いますか?

学生「見えなくなっただけで、画面外でも弾は飛び続けるんじゃないですか?」

教師「それだと、見えない所で弾が敵に当っちゃうかもしれないよ。意図せず画面外にいる敵(登場する前の敵)を倒してしまうのはよくない。それに見えもしない弾をいつまでも処理し続けるなんて無駄だ」

学生「では、見えなくなった時点で弾を消してしまえばいいのでは?」

教師「そういうやりかたもあるね。でも今回は別のやり方を解説しよう」

弾を1発生成するだけでも、わずかにリソースを消費します。チリも積もれば山となるで、弾を撃てば撃つほどこの負担は増していきます。そこで「不要になった弾」は控え室に移動してもらうことにしましょう。次に弾が必要になったときには控え室から「出番待ちの弾」を連れてくればのです。この仕組みを「オブジェクトプール」といいます。

「オブジェクトプール」の仕組みはゲーム開発でよく使われるので、ゲームフレームワークの機能として実装しておくのがよいでしょう。IT科では引き続きゼロからゲームフレームワークを制作しています。応援よろしくお願いします!

Pagetop