【個人ゲーム開発22日目】戦術SLG制作

スタジオロゴ完成と、評価システムの設計見直し

今回はゲーム開発とは少し毛色の違い作業が多い1日でした。
午前中から夕方まで私用があり作業時間は限られていましたが、
やれることをやれるだけ、という感じで進めています。


■ 本日の開発状況

1. スタジオロゴ完成・起動演出を実装

スタジオのロゴを2種類作成し、ゲーム起動時に表示する演出を実装しました。

AtelierKSG
ヘルメットをかぶった黒猫が「KUSOGE」と書かれた箱から絵筆を振り回しているデザインです。
クソゲーを自称しながら作るスタイル、これが私の流儀です(笑)

スタジオ白猫斎(Studio Hakubyousai)
招き猫×筆×歯車を組み合わせたモノクロのロゴです。
「アート×エンジニアリング」をコンセプトにしています。

ゲーム起動時はこの2つのロゴが黒背景にフェードイン・フェードアウトで
順番に表示されてからタイトル画面へ遷移します。
実装自体はシンプルなコルーチンで、GameInitializer.cs に組み込んでいます。

以下はそのロゴ画像です。
開発元:スタジオ白猫斉、パブリッシャー:くそげ工房という感じで作りましたが、どちらも自分一人なので雰囲気だけ(笑)


2. Web・BOOTH環境の整備

デモ版のリリースに向けて配布環境の整備を進めました。
地味な作業ですが、リリース直前に慌てないよう早めに手を打っています。

atelier-ksg.com のSSL化

開発ブログのSSL証明書を設定し、https化が完了しました。
エックスサーバーの無料独自SSLを使用しています。
途中、WordPressのプラグイン障害で管理画面に入れなくなるトラブルが発生しましたが、
ファイルマネージャーから直接プラグインを無効化して復旧しています。
「保護されていない通信」が消えた時の安堵感はひとしおでした(笑)

BOOTHショップ準備

デモ版の無料配布先となるBOOTHショップを準備中です。
ショップ名は「白猫斎のくそげ工房」、URLは atelier-ksg.booth.pm になります。
商品ページの作成はデモ版完成後に行う予定です。

※尚、ショップURLは現時点でまだ非公開なのでアクセスできません。


3. リザルト評価システムの設計見直し

今日一番の技術的な作業です。

リザルト画面で損耗率が100%になったり0%になったりと
数値が不安定になる問題を抱えていたので、根本から設計を見直しました。

問題の原因

原因は2つありました。

1つ目は開始時データの取得タイミングです。
これまでセッション初期化時(ステージロード時)に開始時戦力を集計していましたが、
この時点ではまだユニットがシーンに配置されていないため、
値が0のまま計算に使われるケースがありました。

2つ目は「ランク」という評価結果をデータとして保持していたことです。
実数値とランクを別々に持つと両者がズレることがあり、
「たまたま正しく出る」「なぜか0%になる」という不安定な挙動の原因になっていました。

改善した設計

変更点内容
開始時データ取得タイミング1ターン目開始直前(TurnManager.Start())に変更
ランクの保持廃止実数値を保持→必要な時に都度計算する方式に変更
ユニット数の追加開始時・終了時の生存ユニット数を新たに記録
セーブデータの変更セーブスロット・システムデータも実数値ベースに統一

「データと表現を分離する」設計原則に立ち返った改修です。
ランクの計算式を後から変えたくなっても、実数値さえ持っていれば再計算できるので拡張性も上がっています。

実装の過程で StageResultstruct から class に変更する作業が発生し、
これに引きずられて複数のスクリプトで連鎖的にエラーが発生しました。
切り貼り修正で対応したところ余計こんがらがるという、よくある展開です(笑)
最終的にはファイルを丸ごと差し替える方針に切り替えて解決しています。


■ 進捗メモと今後の課題

【現在の進捗状況】

  • ロゴ演出: 起動時ロゴフェードイン/アウト実装 ✅
  • Web環境: atelier-ksg.com SSL化完了 ✅
  • リザルト評価: 実数値ベース設計に刷新 ✅
  • 次回予定: リザルトシーンの動作確認、操作性改善の実装

執筆後記
私用の都合で作業時間は実質半日程度でしたが、
懸案だった評価データの設計問題に手をつけられたのは収穫でした。
「たまたま正しく出る」バグが一番厄介で、
原因が静的フィールドの値が前回セッションから残り続けるせいだと
気づいた時は「なるほど」と膝を打ちました。
ゲームロジックの安定性は地味ですが、デモ版の品質を左右する重要な土台です。
引き続き頑張ります。