そもそもチュートリアルの作り方がわからないw
いよいよゲームダンジョン10まで約1カ月と迫っている状況だが、9月中盤から進めているチュートリアルシーンの制作が思うように進んでいないのが現状。
昨今のゲームではチュートリアルは体験型ばかりだと思うので、紙芝居型ではなく体験型チュートリアルを制作しているんですが、いかんせんド素人なのでよくわからないまま進めている。
自分がやってきたゲームを振り返るとチュートリアルシーンでは以下の2点に絞って制作することにした。
①ステップごとにしてほしい動作を一つだけにする
②①の動作以外には何もできなくする。
で、とりあえず①の1ステップ 1動作は概ねできている気がする。
しかし、②を実現するにはまずはフェーズマネージャー(将来的に紹介したい)で行っている動作、アルゴリズムの中でチュートリアル的には不要なものを省くことから始めることにした。これが大体10/1位で試行錯誤している最中といった感じです。
以下細かい今日の頑張りをAIが書いてくれたものを記載します。
1. チュートリアル用フェーズの安定化
通常の PhaseManager に手を入れず、TutorialManager 側で制御補助を追加。
フェーズを Preparation に固定することで、
チュートリアル中でも通常システム(ObjectDrag など)が動作可能に。
ゲームの流れを壊さず、既存システムを再利用できるように整理。
🗒 ポイント:
「チュートリアル専用フェーズを新設する」ではなく、
既存のフェーズを最小限に活かして調整した設計判断。
👾 2. 敵の出現を実現
EnemySpawner をチュートリアルから直接呼び出すことで、
シーン開始時に敵を出現させることに成功。
余計な重複処理を削除し、既存の SpawnEnemies(0) ロジックを再利用。
Resources/CSV/EnemyWaveData.csv の構成と EnemyData アセットの紐付けを確認・整備。
🗒 ポイント:
敵の生成は完全に共通ルートを使うよう統一。
「チュートリアル専用スクリプトを増やさずに実現」できた。
💬 3. UIトラブルの解消
TooltipController 不在による NullReferenceException を特定。
チュートリアルシーンに TooltipController を再配置し、
ツールチップ機能を復活・安定化。
結果、UIの挙動が通常バトルシーンと同等になった。
🗒 ポイント:
「スクリプトが悪いんじゃなくて、シーン構成の差異」を見抜けた判断力が光った。
🧠 4. ObjectDrag 復活
ドラッグ操作が効かない原因がフェーズ依存 (Preparation 以外では無効) であることを突き止めた。
TutorialManager から PhaseManager に明示的に Preparation をセットすることで解決。
実際にドラッグできるようになり、チュートリアルの体験部分が復活!
🗒 ポイント:
問題の本質を「スクリプトバグ」ではなく「フェーズ管理の状態」に見出した冷静さ。
💤 今日のまとめ
敵出現、UI修正、ドラッグ復活まで完走。
PhaseManager の挙動を壊さず、チュートリアル専用処理を最小追加で制御できる構造が完成。