LoginSignup
0
2

【自分の記事まとめ】ゲームエンジンGodot4.0でスマホ3Dゲームを作ってみる

Last updated at Posted at 2023-03-18

本記事まとめについて

 初心者がGodotゲームエンジン4.0を操作してAndroidスマホ3Dゲームをつくるための記事を書いています。実際作業した手順をそのまま記事にしているので、記事と同じように実際に手を動かして実装することで、Godotの開発の仕方の一例を体験することができます。
 その1からその5までGodotの勉強をして、その6からはよくスマホ広告で見るゲームの実装をしていきます。最初は小さなプログラムに機能追加をしていき、その32まで手を動かすとこんな感じになります。まだ機能追加中です。
スクリーンショット (534).png

 3Dと言っていますがゲーム内容は2Dでも実現できるものです。見映えをよくしたいので、キャラクターやステージを3Dでつくっています。

github

 記事ごと(その5以降)に完成したプロジェクトをgithubにアップしています。あまりきれいなプログラムではありませんが参考になれば幸いです。
 https://github.com/footinglow/Godot4/tree/main/02_study

Godotについて

 Godotはオープンソースかつ無料の2D/3D用ゲームエンジンです。Youtubeの発音を聞くと「ごどー(⤵)」と言っているような気がします。
 エディターが優秀でとても便利です。実行しなくてもキャラクター/ステージ構成をエディター上でリアルタイムにビジュアルで確認できるのは開発効率という面で大きなメリットです。25年前にゲームを開発したときはコードに書いてビルドして実行するまで思った通りに画面に表示されず何度も微調整を繰り返していました。便利な時代です。
スクリーンショット (293).png

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と敵の攻撃です。ビジュアル面は後で変更します。
スクリーンショット (286).png

(4)キャラクターのデザインをします。

 3Dの基本型を組み合わせて色をつけてキャラクターをデザインします。
 アニメーションもつけていきます。
 3Dで作ったものを縮小して表示すると、雑に作ったものでも意外と見れるものになると思っています。
スクリーンショット (292).png

(5)ゲームシステムを実装します

 タイトルシーンとゲームシーンの切り替えや、ゲームシーン中のステージクリア、失敗判定、ステージの入れ替えなどゲームのシステムを実装します。
 設定画面と設定の保存も実装します。

(6)Androidスマホで動作するようにします

 いつのまにかAndroidスマホアプリにエクスポートできない、実行できないプロジェクトになっていたのでいくつか問題を対処しました。

(7)ステージギミックやアニメーションを追加します。

 ステージ上のギミックを追加します。またテクスチャやパーティクルを使って見映えもよくしていきます。

 以上です。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2