STATION OOPS開発ログ②:Godot実装、はじめの一歩

初心者向け実践開発

※本記事にはアフィリエイトリンクを含みます。

企画が固まったら、次はいよいよ実際にゲームエンジンで形にしていく番です。今回はGodot(今回採用したゲームエンジン)でプロジェクトを立ち上げ、プレイヤーキャラクターを動かせるようにするまでの最初のステップでつまずいた点をまとめます。エラーが出ないのに動かない、というやっかいなパターンが多く出てきた回でした。

つまずき①:ノード検索欄が反応しない

Godotでは、シーン(画面に表示する要素のまとまり)を作るとき、「ノード」と呼ばれる部品を追加していきます。ノードを追加する際、名前を入力して絞り込む検索欄が用意されているのですが、この検索欄が場所によって反応したりしなかったりする現象に遭遇しました。

対処法は、「その他のノード」というボタン経由でノード追加画面を開くことです。この経路からであれば、検索欄が確実に機能します。同じ「ノードを追加する」という操作でも、入り口によって挙動が変わることがある、と覚えておくと余計な時間を使わずに済みます。

つまずき②:ジャンプキーが「存在しない」と怒られる

移動やジャンプの操作を実装しようとしたところ、InputMap action "jump" doesn't existというエラーが出ました。これは「jumpという名前の操作(アクション)が登録されていません」という意味のエラーです。

原因は、アクションの「名前を追加する」ことと、そのアクションに「実際のキーを割り当てる」ことが、別々の工程だったためです。名前だけ追加して満足してしまい、どのキーを押したら発動するのかという肝心の設定を忘れていました。Godotの入力設定は、この2段階に分かれていることを踏まえて進める必要があります。

つまずき③:エラーは出ないのにキー入力が効かない

アクションとキーの両方を設定し直しても、今度はキーを押しても一切反応しないという状態になりました。しかもエラーメッセージは一切出ません。

原因を探ったところ、ゲームを実行する画面の上部にある「入力/2D/3D」の表示切り替えタブが、「2D」の方に切り替わっていたことが判明しました。実行結果を確認するタブが違っていたため、入力そのものは正しく機能していたのに、見ている画面が入力を受け付けない状態になっていたのです。

ここでの学びは、「エラーが出ない不具合は、コードそのものよりも実行環境側の設定を疑ってみる」という考え方です。コードを何度見直しても原因が見つからないときは、一度画面表示の設定を確認してみる価値があります。

つまずき④⑤:カメラも地面も「動いていないように見える」

カメラを追従させたのに変化を感じない

プレイヤーにカメラが追従するよう設定したのですが、実際に動かしてみても「変わった気がしない」という感覚がありました。

これは実は正常な動作でした。カメラ(Camera2Dというノード)をプレイヤーの子ノードとして配置していたため、プレイヤーは常に画面の中央に固定表示される仕組みになっていたのです。プレイヤーが動くと背景の方が流れていくので、プレイヤー自身の見た目上の位置は変わらない、というのが正しい挙動でした。

地面を追加しても「見た目が変わらない」

同様に、地面のオブジェクトを追加したのに画面上に何も表示されない、という現象もありました。

原因は、当たり判定を作るCollisionShape2Dというノードが、判定の範囲だけを持ち、見た目の描画は担当していなかったことです。Godotでは「当たり判定」と「実際に画面に表示される見た目」が別々のノードとして分かれている設計になっています。地面を表示するには、Sprite2DColorRectといった、見た目を担当する別のノードを追加する必要がありました。

AIと二人三脚で進める上での気づき

これら「見た目上は変わっていないように見えるが、実は正常」というパターンは、原因を切り分けるまでに何度もやり取りが発生しました。この経験から得た運用上のコツは、変化を伴う設定を行う前に「この後どう見えるか」を先に説明してもらう、というものです。「一見変わっていないように見えますが、これは正常な挙動です」と事前に一言添えてもらえれば、無駄な確認のやり取りを減らせたはずでした。

まとめ・次回予告

今回は、Godotでの最初のシーン作りで実際に発生したつまずきをまとめました。エラーが出ないタイプの不具合が多く、原因の切り分けに手間取る回でしたが、いずれも「入力の2段階設定」「表示タブの確認」「当たり判定と見た目は別ノード」というGodot特有の設計思想を理解すれば防げるものでした。次回は、キャラクターデザイン編として、NovelAIでのキャラクター生成の試行錯誤を紹介します。

今回のようなつまずきは、公式ドキュメントを手探りで読むより、体系立てて学べる講座で一度基礎の地図を頭に入れておく方が、結果的に近道になることも多いです。

コメント

タイトルとURLをコピーしました