本記事まとめについて
初心者がGodotゲームエンジン4.0を操作してAndroidスマホ3Dゲームをつくるための記事を書いています。実際作業した手順をそのまま記事にしているので、記事と同じように実際に手を動かして実装することで、Godotの開発の仕方の一例を体験することができます。
その1からその5までGodotの勉強をして、その6からはよくスマホ広告で見るゲームの実装をしていきます。最初は小さなプログラムに機能追加をしていき、その32まで手を動かすとこんな感じになります。まだ機能追加中です。
3Dと言っていますがゲーム内容は2Dでも実現できるものです。見映えをよくしたいので、キャラクターやステージを3Dでつくっています。
github
記事ごと(その5以降)に完成したプロジェクトをgithubにアップしています。あまりきれいなプログラムではありませんが参考になれば幸いです。
https://github.com/footinglow/Godot4/tree/main/02_study
Godotについて
Godotはオープンソースかつ無料の2D/3D用ゲームエンジンです。Youtubeの発音を聞くと「ごどー(⤵)」と言っているような気がします。
エディターが優秀でとても便利です。実行しなくてもキャラクター/ステージ構成をエディター上でリアルタイムにビジュアルで確認できるのは開発効率という面で大きなメリットです。25年前にゲームを開発したときはコードに書いてビルドして実行するまで思った通りに画面に表示されず何度も微調整を繰り返していました。便利な時代です。
Godot4.0を使う理由(3.5.2ではなく)
GodotはLTS安定版の3.5.2と2023/3/1にリリースされたばかりの4.0があります。3.5.2のほうが環境は安定しているし情報も多いのですが、今後は徐々に4.0が主流になっていくと思います。4.0系ではクラス名の変更など破壊的変更がありましたので、これから勉強するなら4.0だと個人的には思います。あとは個人的には簡単に日本語が使える点が4.0の一番のおすすめポイントです。
Godot4.0でもAndroidアプリとしてエクスポートする場合は、日本語フォントを追加する必要があるのがわかりましたので、3.5.2でも手間は同じです。
Godotをお勧めする理由
私がGodotを勧め理由は下記になります。
(1)環境構築の敷居が低い
ダウンロードしたzipファイルを解凍して実行するだけです。
2D/3Dエディター、スクリプトエディター、実行環境もすべてはいっています。
動作も軽くて私のWindowsPCはRyzen5でRAM8Gですが快適に開発しています。
参考:開発環境
- Windows11
- CPU:AMD Ryzen 5 3450U with Radeon Vega Mobile Gfx 2.10 GHz
- RAM:8G
(2)エディターが便利
スクリプトエディターは補完機能やリアルタイムエラー検出もあり実装しやすいです。
2D/3Dエディターは実行しなくてもキャラクターやステージ構成をビジュアルで確認しながら作成できるので効率が良いです。
(3)3D、物理エンジンがすぐ使える
3D物体を簡単に配置して動かすことができます。また物理エンジンも搭載しているので、衝突、落下なども簡単に利用できます。
(4)GDScriptがPythonに似たも構文を採用している
Godotの機能を利用しやすくするため、GDScriptという独自言語が組み込まれていますが、Pythonに似た構文を採用しているためPython経験者は入りやすいと思います。
また逆にGDScriptでプログラムの勉強をすると、後々Pythonにも入りやすいと思います。
個人的に学生向けのプログラミング教育にもいいんじゃないかと思っています。ゲームは興味を引く題材だし、自分のスマホでも動くと嬉しいと思います。
(5)商用利用可能
Godotで作ったものは自分のものです。
Godotをお勧めしにくい理由
比較対象はUnityになることが多いと思いますが、目的によってはGodotが適切な選択肢ではないこともあると思います。
(1)Godot4.0は不具合が多い(3.5.2の安定板を使うことで回避できます)
本記事は2023/3/1にリリースされたGodot4.0 Stable版を利用していますが、OpenSourceということもあり不具合がまだ残っています。もし4.xが安定するまで待てない場合はLTS版の3.5.2を使用する選択肢もあります。
(2)ドキュメントが少ない
Unityに比べると、書籍もWeb上の情報も少ないです。
(3)たぶんUnityのほうが仕事につながる(と思う)
将来にゲーム開発を仕事にしたい人の場合は最初からUnityを使ったほうが良いかも。
(4)Godotが不得意なものがある
Godotのマニュアルやサンプルにないことをしようとすると、はまる可能性が高くなります。
(Godotには限らない話です)
記事概要
ゲーム開発はその6から開始しています。
(1)Androidアプリケーションのエクスポート方法
Androidスマホにインストールするapkファイルをエクスポートする方法です
ちょっとややこしいところがあるので、後回しでもよいと思います。
(2)Godotの勉強
Godotのノードやシーン、3D、物理エンジンについて紹介しています。
(3)ゲームの基本部分を実装していきます。
Playerと敵が攻撃し合うように実装します。お互いの攻撃は相殺することができます。
上の方の大きな円柱が敵で、下の方の球がPlayerです。こめつぶみたいのがPlayerと敵の攻撃です。ビジュアル面は後で変更します。
(4)キャラクターのデザインをします。
3Dの基本型を組み合わせて色をつけてキャラクターをデザインします。
アニメーションもつけていきます。
3Dで作ったものを縮小して表示すると、雑に作ったものでも意外と見れるものになると思っています。
(5)ゲームシステムを実装します
タイトルシーンとゲームシーンの切り替えや、ゲームシーン中のステージクリア、失敗判定、ステージの入れ替えなどゲームのシステムを実装します。
設定画面と設定の保存も実装します。
(6)Androidスマホで動作するようにします
いつのまにかAndroidスマホアプリにエクスポートできない、実行できないプロジェクトになっていたのでいくつか問題を対処しました。
(7)ステージギミックやアニメーションを追加します。
ステージ上のギミックを追加します。またテクスチャやパーティクルを使って見映えもよくしていきます。
以上です。