🎮

Godotでプログラミングの勉強

2024/08/18に公開

こんにちは、皆さん!

この記事では、ゲーム開発ツール「Godot」を使って、親子で楽しんでゲーム作成できればと思い投稿しました。
Godotは、ゲーム開発を通じてオブジェクト指向の概念を学ぶのに最適なツールだと思っています。
今後プログラミングを学ぶ入門としてGodotでゲーム開発を楽しみながら取り組む第一歩になれれば幸いです。

はじめに

この記事では主におやこでペアプロTVのコンテンツと合わせて活用できる内容なので、親子で一緒に楽しみながら学べる記事になっています。

https://youtu.be/Y9YAtcdOSN4

親子と記載していますが、プログラミングやゲーム開発に挫折した人にも勧められるようになるべくわかりやすく、ステップを踏めるようにしています。
Godotを使ってゲーム開発に挑戦したい方は、ぜひ読んでみてください。

この記事にお勧めのひと

  • 親子でプログラミングを始めたい人
  • 学校でプログラミングを学んでゲーム作りに興味を持った人
  • 過去にプログラミングに挫折した人
  • 趣味でゲーム開発をやってみたい人

この記事で学べること

  • Godotのインストール方法
  • キャラクターの単純な操作

親子で一緒に取り組むメリット

親子で一緒にプログラミングに取り組むことのメリットについてお話しします。以下のようなメリットがあります。

  • コミュニケーションの向上:一緒にゲームを作ることで、親子の会話が増え、より良いコミュニケーションが図れます。
  • 創造力と問題解決能力の向上:ゲーム開発は想像力を刺激し、問題解決能力を鍛える絶好の機会です。
  • 楽しい思い出作り:一緒に作ったゲームは親子にとって素敵な思い出となります。

まずは簡単に動くものを作る

どんなゲームを作るか考えた時に、まずは自分たちの身の回りにあるゲームをイメージすると思いますが、今世の中に出ているゲームは大人数でそれなりの期間をかけて作成されているため、最初から同じようなクオリティーのゲームを考えると挫折することが大半です。

そのため、まずは簡単なものかつチュートリアルなどを写経することをお勧めします。
一度写経で作ってから、少しずつ内容を変えて動かしてみてください。そうすることで学んだプログラミングがどのように作用しているのかがわかってくると思います。写経だけだとあまり身につかないと考えています。

ダウンロード & インストール

Godotの公式サイトにアクセスし、最新版をインストールします。

プロジェクトの作成

Godotを起動したら、左上の新規ボタンを押して、プロジェクト名と保存場所を設定し、レンダラーを互換性にして「作成して編集」ボタンを押せばプロジェクトが作成されます。

GodotのUIの簡単な説明

Godotの画面をざっくり紹介します。

  • メインメニュー:ファイル操作、シーン管理、ツールの設定などの基本的な操作を行います
  • シーンパネル:現在のシーンに含まれるノードの階層を表示します
  • インスペクターパネル:選択したノードのプロパティを表示し、編集することが出来ます

必要な画像ファイルをプロジェクトに登録

画像の入ったフォルダーをファイルパネルにドラッグ&ドロップするとプロジェクトにディレクトリごと登録することができます。 サンプル画像はこちら

キャラクターの作成

シーンパネルにあるその他のノードから、CharacterBody2Dノードを追加して子ノードに対して、Sprint2DとCollisionShape2Dノードを追加し、Sprint2DのTextureにキャラクターの画像を設定します。
キャラクターの画像はサンプルの画像やフリー素材でも構いませんが、ペイントソフトなどで子供が作成したキャラクターを設定するとより感動があるのでおすすめです。
CollisionShape2で当たり判定の範囲を指定しますが、画像=当たり判定ではなく、画像とは別に設定してあげる必要があります。なのでピッタリ画像に合っているものではないところがポイントとなります。
当たり判定の形は丸型だったり、四角形だったり幾つかの点を繋げて複雑な形を縁取ることもできます。
複雑なものは数が多くなると処理動作に影響するので、必要なければシンプルな形を選択することをお勧めします。

作成できたらシーンの保存をします。シーン名はわかりやすい名前をつけるように心がけてください。
シーンが増えてきた時にあとで名前からどんなシーンかわからなくならないためです。

地面の作成

新しくシーンを作成し、今度はStaticBody2Dノードを作成します。キャラクターの時に利用したCharacterBody2Dは物理演算に利用する機能がたくさん含まれているため、地面のような特に動きのないオブジェクトはStaticBody2Dが適しています。
こちらもキャラクターと同じようにSprint2DとCollisionShape2Dノードを追加し、Sprint2DのTextureに地面の画像を設定してください。当たり判定も同様に画像と重なるように設定してください。
画像と当たり判定の設定ができたらシーンを保存してください。

ステージの作成

キャラクターと地面が作成できたので、新しくステージのシーンを作成します。
シーンを新しく作成したらその他のノードからNodeを選んで、
シーンパネルのチェーンのアイコンから先ほど登録したキャラクターのシーンと地面のシーンを登録します。

登録が終わると画面上にキャラクターと地面が表示されていると思いますが、このままだとまだキャラクターを動かすことができません。
次にキャラクターに対して重力だったり、ジャンプ機能や横移動ができるようにプログラムを設定していきます。
一旦シーンを保存しましょう。

キャラクターの制御

一度キャラクターのシーンに戻っていただき、キャラクターを制御するためにプログラムを設定していきます。
全てプログラムを書いても良いのですが、Godotのテンプレートがあるのでそれを利用しましょう。
CharacterBody2Dを選択し、スクリプトのアタッチを行いましょう。

テンプレートでCharacterBody2D:BasicMovementを選択した状態で作成ボタンを押します。

そうするとキャラクターに重力の処理とジャンプ処理、横移動の機能が追加されます。
ゲームのプレイを行うとキャラクターが地面に向かって落下し、地面の上でスペースキーを押すとジャンプを行い、左と右の矢印キーでキャラクターを横に動かすことができます。
テンプレートを利用すると簡単なキャラクター操作がプログラムを書かずに行えます。

最後に

今回はプログラムを書かずにキャラクターを動かすことまで出来ました。
次のステップとしては、テンプレートの値を変更してジャンプのスピードや横移動のスピードがどのように変わるのか試してみるのも良いと思います。
初めてのゲーム作成ということもあり、インストールからざっくりとした解説で記事を作成しましたが、今後もYoutubeの動画と合わせて、もう少しプログラムをメインにした記事も書けたらいいなと思っています。

Discussion