2016年3月21日月曜日

戦闘中のポーション使用とバグフィックス

今回はコーディング周りの細かい作業を紹介します。

前の記事では、テストプレイをしましたが、プレイしていて、かなり事故死が多いように感じました。
前のめりな戦闘バランスもさることながら、戦闘中の回復手段が無いことが原因でした。

元々、回復手段を限定しショートカットを用意することで、回復の時間を短縮することは今作の大きなコンセプトの一つです。
そのため回復技や回復アイテムは作らない想定だったのでした。
しかし戦闘中の回復は戦略的な選択なので制限することは合理的ではありません。そこでショートカットによる回復と同じスペックの回復手段をスキルとして用意することにしました。


ユーザーデータベースに技能というデータ型があります。こちらに新規登録します。
「効果対象」にイベント呼び出し(バトルのみ)を選択し、イベント番号指定に「500229」を指定しました。この番号はコモンイベントの229番を表します。

既に実装していた、ショートカットキー入力受付部分から、回復処理部分を切り出します。
これが先述のコモンイベント229です。
(最初から切り出しておけば良かったですね)

コモンイベント229の実装はこうなっています。
戦闘中と、それ以外で処理を分けているのは、戦闘中はキャラのHPなどのステータスが戦闘用の一次領域に格納されていることが主な理由です。


さて、実装ができました。
事故率が減っただけではなく、戦闘で追いつめられるとポーションの使用により後々の尿意がきつくなるというジレンマが生まれました。これはゲームを面白くする要素になると思います。


さて、バグフィックスについても書こうと思いましたが眠くなったので、概要だけにしときます。
だいたい以下のような内容でした。

  • メニューを開いている間は尿量の更新処理がストップする仕様とした
  • この仕様を実装したつもりで忘れていたので実装することにした
  • メニューを開いていることを表すシステムデータべースのフラグ値が何故か常に0になる。この事象について言及したブログ記事が見つかる
  • システム側のメニュー関連のコモンイベントを修正して、この値を更新する処理を追加した
  • 実装できたがセーブデータをロードしてから最初にメニューを開くまで尿量が増加しないバグが発生した
  • システム側のセーブ関連のコモンイベントを修正して、セーブする瞬間だけフラグを落とすという対症療法により正常に動作するようになる

そんじゃ、今日はこんくらいでもう寝ます。
次回は、もうちょうバランス整えてから後半の敵も実装ってあたりになると思います。

0 件のコメント:

コメントを投稿