先日の開発ログで触れた通り、ティラノスクリプトではマクロファイルを書き換えると過去のセーブデータが読み込めなくなる現象が発生しやすく、リリース後の不具合修正時に大きな課題となっていました。
この問題に対し、構造ごと解決するアプローチを思いついて実装しました。
リマスター版では、オリジナル版から好評だったフローチャート機能をより細かい粒度で再構築しています。ティラノスクリプト(WebKitベース)の特性を生かして画面内スクロールを容易にし、全場面フルスチル化に伴って各ポイントをサムネイルで視認できるようにしました。
本作は同一の事件を様々な立場から描くマルチアングル構造のため、タイムラインを自在にジャンプできる仕組みは展開の差異を確認する上で非常に相性が良い仕様です。
『Detroit: Become Human』のようにセーブスロットを排し、フローチャートからのジャンプを基本軸に据える形へ変更することにしました。念のため直近のチェックポイントのみ内部保持し、トップ画面から復帰できるようにすればUIの変更も最小限で済みます。
基本ロジックの実装自体はスムーズでしたが、従来のフローチャートはタイトル画面からの呼び出しのみを想定していました(※実装のためにkag.menu.jsをカスタマイズしています)。
これをセーブ機能の代替としてプレイ中のメニュー画面からも呼び出せるようにしたところ、メニューを開いている間も裏でゲーム本言が進行してしまい、マウススクロールに反応してページ送りが発生する不具合に直面しました。
イベント制御を調整して動作を修正したものの、ここでさらに別の課題を思いついてしまいます。
デバッグ用に設定していた内部チェックポイントはフローチャートよりも粒度が細かく設定されていました。これらもすべて解放すれば、プレイヤーにとってさらに利便性が上がるはずです。
しかし、そうすると1ルートあたり約20分割から40分割へと倍増し、縦8スクロール分という非常に長いリストになってしまいます。そこでWebサイトでよく使われるアコーディオンメニュー(<details>タグ)による折りたたみ構造の導入を決めました。
ただ、画面デザインを美しく保つために絶対座標・相対座標でガチガチに組んでいたレイアウトの存在をすっかり失念しており、メニュー展開時のサイズ変化でレイアウトが崩壊。結果としてルートマップ画面のUIを全面再構築することになり、丸一日を費やす大規模な改修作業となりました。
苦労の甲斐あり、プレイヤーの現在地に該当するアコーディオンを自動展開し、その位置までスクロールした状態で開くという、直感的で扱いやすいシステムを構築できました。 現在配信中の『紅蜘蛛/Red Spider リマスター版』体験版で、ぜひこの挙動を体感してみてください。
※応援ボタンを押していただけると(ログイン不要)見てもらえる確率がちょっぴり上がります。応援よろしくお願いします
紅蜘蛛/Red Spiderリマスター版は、Win/Mac/Android/iOSで広告・課金一切なしの完全非営利無料配信のゲームです。
また、現在その続編にあたる紅蜘蛛2/Red Spider2 リマスター版(もちろん非営利無料配信)の制作進行中です。 興味を持った方は是非ウィッシュリストにご登録ください。
一昨年リリースした紅蜘蛛外伝:暗花もフルスチル化作品ですのでお気軽に遊んでみてください。こちらもWin/Mac/Android/iOSで広告・課金一切なしの完全非営利無料配信のゲームです。
フォローすると、開発ログや新作ゲームの公開が通知されます