8/30進捗。
メガビット終了後も開発はつづいております。
進捗
今回はプログラムのおはなし。
目に見える形ではないのですが、システム側で「組み込み言語(インタプリタ)でキャラクターの行動パターンを指定できる」機能を組み込んでました。
この機能を組込むとどうなるか?
調整に対する時間が大きく取れることになります。
実際のところ超大雑把に3種類で比較すると下記のようになります。
- ハードコーディング・・・自由度がかなり高い代わりにシステムに関わる部分までデバッグが必要、コンパイルに時間がかかる
- DSL(専用言語、今回ScriptableObjectで作成)・・・ハードコーディングに近い機能が簡単な設定で得られるが、制約がかなり多い。今回は変数が使えない・分岐が使えない等の制約があった
- インタプリタ(特定の言語をゲームに組込む)・・・比較的処理速度が遅くなるが、言語内で変数や繰返し命令が使え、さらに一部ハードコーディングを組み込み関数として利用出来る
今のところバランスを調整するには3番目のインタプリタ組み込みが必要になるものと考え、メガビット終了後に組み込みを行いました。
以下の利点があるものと考えます。
- 本体のソースコードに手を加えなくていいのでバグが増える心配が減る
- 本体のソースコードに手を加えないのでコンパイル時間を待たなくていい
- 言語仕様として変数・繰り返し・分岐命令が利用できる
また、上記に書いていた処理速度の遅さも負荷比較用ツールで確認してみたところ微々たるものという判断をしています。
メガビットでのプレイいただいた感想やプレイ状況等を確認し、今の処全体の構成を以下の予定としてます。
- モードをノーマル/アナザーに変更
- ステージは3面(これは変わらず)
アナザーは現在公開している体験版相当の難易度、ノーマルはもうちょっとラフに楽しめるような形でのバランスを予定します。