「ゲームプログラミング」の版間の差分

削除された内容 追加された内容
794 行
ただし、もし自作ゲームの完成度がすでに高くて、開発に余裕があるなら、さらに「ストーリー進行度」に対応する変数を用意しておくと、何かと今後の編集に便利かもしれません。
 
なぜなら、「もしストーリー進行度が○○以上なら、このイベントが発生する」などの方法を使えるようになるからです。そして、このイベント発生方法は、後述しますが、バグを抑えやすいというバグ耐性の長所があります。
 
 
803 行
 
 
;ストーリー進行度システムのバグ耐性
このストーリー進行度システムの利点として、たとえばストーリーの進行に伴ってパラメーターが連動して上昇(または下降など)など連動するゲームシステムの場合に(たとえばストーリー後半になるほど、主人公のある必殺技のダメージ倍率が高くなるとか)、もしバグが混入してしまって連動システムのバグがおきた場合でも、後述の理由(要点: 連動システムの読み取りするパラメータが減るのが理由)により「進行度システム」のおかげで修復しやすくなります。
 
ストーリー進行の具合そのものだけなら、テストプレイで(比較的に)容易に発見できます。しかし、ストーリーの進行具合に応じて、たとえば主人公の「強さ」パラメータが上昇したりとかの連動システムのあるゲームの場合に、もしバグのせいで強さが上昇・連動しない場合があっても、一見するとストーリーが進行してしまっているので、この種の連動イベントをデバッグ系テストプレイでも見落としてしまう場合があります。
 
このバグ発生時のとき、もし進行度システムがあると、(「強さ」などの)連動パラメ-タは定期的に進行度パラメータを読み取りにいけば済むので、作者はそのゲームのイベント進行を管理しやすくなります。(一方、もし進行度システムが無いと、個々のイベントのフラグを読み取るプログラミングをする必要があるので、もしそのゲームのイベント数が多かったりするとバグ発生率が増える。)
 
 
;ストーリー進行度を作る場合の例
なお、一般にストーリー進行度の変数を作る場合、
プログラム内部的には、
811 ⟶ 819行目:
 
なぜ進行度の数値にこう間隔をあけるとラクかというと、もしイベントを追加して、たとえばイベントA(進行度 10番 に対応)とイベントB(進行度 20番 に対応)のあいだに後からイベントCを追加したくなったとき、たとえばイベントCの進行度を「15」とかしておけば、ラクに数値管理できます。
 
 
==== その他 ====