2008年4月10日 (木)天に星、地に花、人に愛、そして企画にフラグ管理
おはようございます。本日の当番、プランナーのN.F.Hです。
FはフラグのFになりました。
と言ってもユニオンの可変MSではありません。
「オレさ・・・この戦争が終わったら結婚するんだ」
のアレです。
今日はこのフラグに関するお話です。
多くのゲームの中ではプレイヤーの行動によって様々な種類のイベントが
発生します。
メッセージが表示される、アイテムを入手する、デモが再生される、新しい場所に行けるようになる…等。
これらのイベントはゲーム中になんらかの条件を満たした時に発生します。
例えばイベントAをクリアした、アイテムBを入手した、敵Cを倒した、特定エリアに入った、一定時間が経過した、特定オブジェクトが出現した等があります。
こういったイベントの発生条件を満たしていることを一般的に「フラグが立っている」といいます。
多くの場合はその後にフラグが立っているかどうかを判定するイベントが発生し、フラグの状態によって新たなイベントが発生します。
実際のイベントとしては以下のように整理されます。
■イベント1
判定タイミング:最終ステージ開始前
条件:必ず発生する
内容:仲間が「オレさ…この戦争が終わったら結婚するんだ」と言うデモを再生する
結果:イベント2のフラグが立つ
■イベント2
判定タイミング:最終ステージクリア直後
条件:イベント2のフラグが立っている
内容:仲間が死亡するデモを再生する
結果:エンディングに仲間の姿がない
こういったイベントの発生条件や、その終了後の変化などは整理して記述しておくと、後で内容の変更が容易になります。
というか、整理して記述しておかなければ、後々で非常に面倒なことになります!
例えば上記の例で「仲間が死なない場合もあるようにして欲しい」と言われた場合はイベント1の発生条件を
「プレイヤーのスコアが5000点以上ある」「アイテムAを持っている」などに変更すると仲間が死なない場合も発生します。
あるいは、以下のイベントを追加することで仲間の死亡を回避することもできます。
■イベント3
判定タイミング:最終ステージが開始して10分が経過時
条件:仲間のHPが50%以上残っている
内容:内部処理
結果:イベント2のフラグをおろす
この例ではイベント3を内部的な処理としているため、プレイヤーはイベント3が発生したかどうかを知ることはできません。
そのため「最後の戦いが終わった後で仲間が死ぬこともあれば、生きている場合がある」となります。
やりこみ度の高いプレイヤーならば「仲間が生きる条件」を探して何度もプレイすることでしょうが、プレイヤーによっては「何度プレイしても仲間が死ぬ」となります。
ゲームのイベントを作成していく上で、こういったフラグの管理は非常に重要になります。これに不整合があればイベントが発生しなくなり、最悪の場合には「クリアできないゲーム」になってしまいます。
曲がり角でパンをくわえた転校生とぶつかったのに、自分の学校には転入してこなければ一大事です!
またイベント作成時にフラグの管理などを整理して記述しておくと、後でバグチェックを行う時にも役立つためゲーム全体のクオリティの向上にもつながります。
これからゲームを作ろうという方々は、フラグを整理して管理するように心がけてください。そうすることでゲーム全体の完成度をあげていくことができるでしょう。
そう言えば、私は学生時代にクラスの女子に「○○○君が30過ぎても独身やったら、絶対もらってあげる!」と言われたことがありましたが、その後のイベントがまだ発生していません。
フラグをへし折った記憶はないのですが、このフラグはいつどこで回収されるんでしょうか…?
| 固定リンク | コメント (0) | トラックバック (0)
「プランナー」カテゴリの記事
- 最後までやりきろう(2019.02.15)
- 寒さ対策(2018.12.20)
- 断捨離(2018.12.06)
- 推しからの魔法は解けない(2018.11.08)
- アーケードゲームはeスポーツの夢を見るか?(2018.09.27)
この記事へのコメントは終了しました。
コメント