こんにちは。しゅみぶろぐです。
「最近、夢中になれるゲームがない…。」
最近の悩みです。贅沢な悩みですが、ハマるゲームに出会えなくなってしまいました。
そんなことを考えていたところ、ふとひらめきました。
開発側にまわれば理想のゲームを遊べると!!
(そんな甘いものではないかもしれないが)
そこで無料で利用できるゲームエンジン「godot」を1週間使って感じたこと、どのような人に向いているのかを書いていきたいと思います。
1週間とはいっても、実際には3,4日くらいしかやっていないかもしれないです^^;
godotとは?
godotとは2014年に開発された完全無料のゲームエンジンです。

「ゴードット」と読むように見えますが、実際の読み方は「ゴドー」。少し違和感ですね笑。
特徴は以下のようになります。
・完全無料
・学習の簡単なGDScript言語
・軽量、動作が速い
・2D、3Dゲーム開発にも対応(特に2Dに強い)
・活発なコミュニティ
ゲームエンジンに触れてみたい、コーディングを学んでみたい方にはぴったりのアプリだと思います。
godotを使ってみようと思った理由
比較的学習しやすい言語であったため
GDScriptはPythonの特徴を引き継いでおり、他言語に比べてコーディング初心者に対して易しい言語になっています。
また学校でPythonに軽く触れていて、基礎を知っていた状態であったというのも理由の一つです。言語学習という大きな壁は、楽に乗り越えられました。
豊富なチュートリアル
GDScriptは独自言語であるものの、学習のチュートリアルや解説は充実しています。
下のようなgodotが公式に公開しているチュートリアルサイト(日本語!)だけでなく、個人による解説動画もあるため今後の学習も安心です。
動作が軽い
ほかのゲームエンジンのUnityやUnrealEngineと比べると、圧倒的に動作が軽く起動も早いです。
シンプルなゲームエンジンゆえの利点ですね。
まずは言語学習から
GDScriptという独自のプログラミング言語
Unityのようなゲームエンジンとは違い、Godot専用に作られたGDScriptという独自の言語を使用してプログラムを組むことができます。(C#なども使えます)
ほぼPython?!
独自言語と聞くと手を出しづらいように感じますが、構文の特徴はPythonと酷似しています。
関数の定義の方法が def ではなく func になるなど一部違う場所はありますが、構造や考え方はPython(こちらも基礎しか知らないが)とおおかた同じように感じます。
var hp = 100
func damage(amount):
hp -= amount
damage(30)
if hp > 0:
print("HP: %d" % hp)
else:
print("Game Over")
hp = 100
def damage(amount):
global hp
hp -= amount
damage(30)
if hp > 0:
print(f"HP: {hp}")
else:
print("Game Over")めっちゃ似てる!!一例ですが。
完全初心者でも安心の学習サイト
多くの人が初めてこの言語を学ぶことになることと思いますが、コーディングの基礎をを完全無料で学べる「Learn GDScript From Zero」というサイトが存在しており、ゲーム感覚で演習を行えます。
僕自身も実際に活用してGDScriptを学びました。詳しくは以下記事を参考にしてください。

チュートリアルに沿って実際にゲームを作ってみる
コーディングを学んだ後、実戦練習!!ということで、敵をよけ続けてスコアを競うというシンプルなゲームに挑戦してみました。
godot公式から出ているサイトですので、従っていけば誰でも確実にゲームを作ることが出ると思います。
調べてみると、youtubeで分かりやすく解説しながらこのチュートリアルを進めてくれているものもありました。活用してみてください。
ゲームを作る基本的な流れを理解するのが少し難しいかもしれないですが、大きく詰まることはなく初心者にも作りやすいという印象でした。


上の画像のように、敵やプレーヤーごとにコーディングをしたり2D画面で直感的に位置や動きを操作することでゲームを作成していきます。コーディングはまだよくわからん…。

実際に作ったゲームはこんな感じのゲームです。敵がなんかゴキ..かわいらしいですね。
感想
最初の壁、「言語学習」を乗り越えやすい
godotは、おそらくゲーム開発最初の壁であろう言語学習の壁が低いというのは一番といっていいほどの強みだと思います。
実際、自分自身も基礎だけであれば半日程度でコーディングを学ぶことができました。
Pythonに触れていたり、Scratchなどでプログラミングの考え方を学んでいる方はもっとそのハードルは低くなると思います。
シンプルで、覚えることも少ない
おそらくゲームエンジンにしてはシンプルな部類だと思います。
UIはまとまっており、初心者の僕にとっても見やすいデザインでした。
大まかな機能はチュートリアルで触れたように感じられますし、その触れた機能も直感的に簡単に理解することができました。
しかし、その機能をさらに細分化していくと覚えきれないほどのツールがあり、今後のカスタマイズ性も十分ありそうです。
簡単なゲームならばすぐ作れる
今回僕が実践したゲーム作りは、集中すれば1日もかからないような内容でした。
すぐに作れてしまいましたが、自分で1からゲームを作れたことに対する達成感は大きかったです^^
初心ゲーム開発者にとって、すぐ作れるというのはモチベーション維持にありがたいですね。
まだオリジナルゲームを作れる段階には程遠いですが、自分でもゲームを作れるという希望が見えてきましたね。
まとめ
1週間ゆっくりgodotを使って感じたことはひとことで
初心者に超絶易しいゲーム開発エンジン!!
です。
だからといって上級者もこだわりのゲームを作れるレベルのカスタマイズ性を持っていて、十分将来性もあります。
godotが向いている人の特徴はこんな感じです。
・プログラミング自体超初心者!!
・Python学習しているけど、ゲーム開発をしてみたい人
・ひとり、少人数でゲーム開発をしてみたい人
・PCのスペックがギリギリな人
・思い立ったらすぐゲームを作りたくなる人
初めてゲーム開発をする人は全員これ試してみてほしいです。すぐダウンロードして試せるし。
これからもgodotを利用してゲーム開発は趣味としてやってみたいと考えていますので、それらも記事にしていきたいと思います!
最後まで見ていただきありがとうございました。

コメント