【はじめてのプチコン】メインルーチンの設計 | りょうのゲーム塾

りょうのゲーム塾

再開、準備中。

チェックポイント
APADを使ったプロセスの分析は、大まかなプロセスの構成を少しずつ詳細なプロセスへと置き換えていきます。


■APAD

┏┳━━━━━━━━┓ ┏┳━━━━━━━━━━┳┓
┃┃        ┃ ┃┃          ┃┃
┃┃メインルーチン ┃ ┃┃システムの初期化  ┃┃
┃┃        ┃ ┃┃          ┃┃
┣┻━━━━━━━━┛ ┣┻━━━━━━━━━━┻┛
┣━━━━━━━━━┓ ┣┳━━━━━━━━━━┳┓
┣━━━━━━━━┓┃ ┃┃          ┃┃
┃ ゲームの初期化┃┣━┫┃ゲームタスクの初期化┃┃
┣━━━━━━━━┛┃ ┃┃          ┃┃
┣━━━━━━━━━┛ ┗┻━━━━━━━━━━┻┛
┣━━━━━━━━━┓ ┏┳━━━━━━━━━━┳┓
┃         ┃ ┃┃          ┃┃
┃ ゲームループ  ┣━┫┃システムメイン   ┃┃
┣━━━━━━━━━┫ ┃┃          ┃┃
┗━━━━━━━━━┛ ┣┻━━━━━━━━━━┻┛
            ┣━━━━━━━━━━━━┓
            ┣━━━━━━━━━━━━┫
            ┃ ゲームタスク     ┃
            ┣━━━━━━━━━━━━┫
            ┗━━━━━━━━━━━━┛


メインルーチンの大まかな構成は初期化とゲームループでした。
しかしゲームの初期化もいくつかの初期化ルーチンが集まったものであることが多いのです。
またゲームループも当然ゲームループの中でどんな処理をしているかを考える必要があります。
例えば今回のサンプルの場合、ゲームの初期化はシステム全体の初期化とゲームの流れを制御するゲームタスクの初期化が必要です。
また、ゲームループではゲームループを実行したり、ゲームループの中で実行しなければならないシステムの処理を呼び出す必要もありますし、
ゲーム中で実行されるタスクを呼び出す必要があります。
ここまでAPADで表した時、実際のメインルーチンのプログラムと比べていただければ分かりやすくなると思います。


■新しく使用された図式の意味は次の通りです。

■APAD書式
プロセスタグ
┏┳━━━━━━━┳┓
┃┃       ┃┃
┃┃ プロセス名 ┃┃
┃┃       ┃┃
┗┻━━━━━━━┻┛

プロセスタグはプロセスの一部を表します。
同じようなものでブロックタグがありますが、
ブロックタグは一部をまとめてひとつのブロックとして扱うのに対して、
このプロセスタグはまとめた部分を分割して扱う。


■APAD書式
タスクタグ
┏━━━━━━━━━┓
┣━━━━━━━━━┫
┃  タスク名   ┃
┣━━━━━━━━━┫
┗━━━━━━━━━┛

タスクタグはプロセスタグとほぼ同じものであるが、
タスクと呼ばれるプログラムであることを意識するものである。