投稿記事

2023年 10月の記事 (2)

えび工船 2023/10/15 00:51

Godot Engine面白いよ、という話

Godot Engineが面白い


触っていて気持ちがいいぜーっ!!

いやあ良いですねGodot Engine。触れば触るほど好きになっていきます。
エンジンが非常に軽いので起動に時間がかからない!
動作も軽い!
UI要素とそれ以外の区別をいちいち意識しなくても結構気楽に作れる!

何よりも動作が非常に軽快なのが良い。
小規模な2Dゲー、という用途であればやはりUnityより遥かに作りやすいと思います。

ゲーム制作の練習

そんなわけでGodotの勉強がてらこんなゲームを作っております。

はい。見ての通りドンジャラですね。
当然脱衣ドンジャラです。
今年はずっとじゃんたまで遊んでいて多少は麻雀の楽しみ方がわかったので、
そういった経験を還元していこうかなと思います。

で、「麻雀ゲーなのになんでこんな画面構成になってるの?」
という話なんですが、2人打ちのドンジャラで楽しむなら
キャラのリアクションが大きく見えることがいいのかなあと思いまして。

リーチしたら真剣な顔になったり、和了したら満面の笑顔になったり、
逆に振り込んだらびっくりして悲しくなったり……。
そういうリアクションがリアルタイムで見られたら
このゲームの個性にできると思うんですよ。
(もちろん牌の見やすさと快適な操作性が一番大事、という前提で)

なのでLive2DとかSpineとか使ってキャラが動くようにしたいんですよね。

よく「こういう立ち絵を動かすならSpineよりLive2Dのほうがいいよ」
と言われるのは見るのですが、Spineも決してできないということはないみたいですね。
GF(仮)の動く立ち絵のメイキングなどを見ると、
今回のような目的ではボーンを利用して大きな動きをさせたほうがいいんじゃないか?
とも思いますし。

……ということもありSpineも考えているのですが、
買い切りとはいえ4万円はちょっと二の足を踏んじゃうぜ!

やはりLive2Dを学んでいくか……。
Godotにもそのうち公式で対応してくれるだろ……。
多分……。

デバッガーにアタッチできねえ!!

ちょっとプログラム話。
私はGodot4開発でVSCodeを利用しています。そしてメインの言語はC#。
Godot使ってるならGDScript使えよ!!とも思うんですが、
私は動的な片付け言語には色々とトラウマがあって……。

でもGDScriptならホットリロードできるし、
クロスランゲージ(GDScriptからC#の処理を呼び出す。逆も可)も対応しているので
ドンジャラのエンジン部分やNPCの思考部分はC#、
微調整の多い画面要素とかはGDScriptで使い分けていこうかと考えています。

で、ここで結構苦労したことがありまして。

ネット上のGodot4のデバッグは、GDScript用の設定は結構多いし、
日本語記事もいくつかあるので非常に助かるのですが、
C#のものが全然ありませんでした。

おかげでデバッガーがアタッチできない!
ブレークポイントが全然有効化しない!!
ていうかこれどこに問題があるの!?エラー出ないんだけど!?
と、四苦八苦しておりました。

最終的に外国の方の動画を見ながら、
「godot-monoじゃなくてcoreclr使うといいよ」となり
なんとか事なきを得ました。疲れたぜ……。

後人のためにその設定方法も書き残しておきたいところですが、
「そういうのはQiitaとかZenで書け」となりそうなのでここでは割愛いたします。
ちょっとした苦労話でした。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

えび工船 2023/10/01 20:51

【プログラム】Godot4に触れてみた話

お久しぶりです。

2ヶ月ぶりくらいか……。

9月中は仕事が忙しくなって体調を崩しておりました。
相変わらず仕事の好転は見えないので体調は悪いままですが、なんとか生きていくぜ!!

あまり描いた絵がないので、以下にTRPGで使った絵を貼っておきます。


この子がエッチな目に遭うホラー風脱出ゲームを作っていくぜ!
Unityで!

Unityがえらいことになってた(過去形)

と、思っていたんですけど。
皆さん御存知の通り、Unityがえらいことになっていました。
私は専門家ではないので細かい事情は触れないでおきますが、
課金形態を大幅に変えてきたことは本当にびっくりしたよ……。

そんなこともあり
「Unityでエロゲー作るぜ!」
と考えていた私も、
「本当にUnityで大丈夫か?」
となりまして。

せっかくだしこの機会に色々他の候補を探してみよう、となったわけです。

Godot Engineに触れてみた話


というわけで、「Godot Engine」に触ってみました。
Twitterで見たので……。

Unityライクで、2Dゲーム向き。3Dも使える。C#も使える!
何よりソースコードが全部GitHubで公開されている!
すげえ!最高じゃん!

私が作りたいのは「ホラー風2D探索脱出ゲーム」
こりゃあGodotに触るしかないぜーっ!!

というわけで、Godotの講座を見ながら2Dゲームを作ったりしていました。
参考にしたページはこちら。
さくさく理解する Godot 入門

1週間ほど触ってみた感想を述べておきます。

Godotはよいエンジンだと思った

Godotは「Unityで言うシーン」がなく、
全て「Unityで言うプレハブ」で行えることがシンプルで良いと感じました。
(Godotでも「シーン」という用語があるため、こういう表現になる。「Unityで言うプレハブ」が「Godotで言うシーン」といった感じ。)

また、エディタの見やすさも良いです。
ノードの種類を色とアイコンで分けることで、
「どのノードがどの機能か」が非常にわかりやすくなっています。
「どれがコントロールでどれがSprite2Dだっけ……」みたいなのが一瞬でわかる!
ありがたい……!

また、タイルマップが非常によい。
ツクールのマップエディタのような機能が標準でついています。
これが非常にありがたい。
2Dゲームを作る上ではおそらくUnityよりも向いていると思います。

でもやっぱりUnityでいいんじゃないか

と、ここまで書いておいてなんですが。
ゲームを作るならやはりUnityでいいんじゃないか、とも思っています。

主な理由は3つ。

  • サンプルコード量はやはりUnityのほうが多い
    Godot Engineは日本語対応もかなり頑張っておりますが、4.xとなるとどうしても英語に触れざるを得ません。
    ネット上にある講座やサンプルコードも3.xが多いので、この辺を読み変えることができない人にはつらいものがあると思います。

  • アセットの充実具合
    やはりUnityの強みは様々なアセットがあることです。
    宴やNaniNovelのようなノベルアセットもそう、様々なエフェクトパーツもそう。
    Godotはこのあたりを全部自作しないといけないので、かなり工数が嵩みそうです。

  • Live2Dを使うのは(まだ)Unityのほうが向いている
    ビジュアル重視のゲームを作る上で一番の問題点です。
    ありがたいことに、有志がGodotでLive2Dを扱うための拡張を作成しておりますが、
    やはり公式の対応がほしいところです……。

Unity Runtime Feeには色々と思うことはありますが、
「今のところアホほど課金されるようなことはないだろう」
という感じなので、そんなに気にしていません。今は、ですけど。

Godotはよいエンジンだと思った(2回目)

Godot自体はよいエンジンだと思います。
何よりオープンソースで透明性が高いのが素晴らしい。
2Dゲームの作りやすさはUnityを上回っているとも思っているので、
私が作りたいと考えている「ホラー風2D探索脱出ゲーム」であれば、
Godot4のほうが向いているのではないか、とも思っています。

また、今後のドキュメントの拡充にも期待ができるとも思いました。
おそらく上記に挙げた問題も時間が経つにつれて解決することでしょう。たぶん。
Live2Dも公式でGodotに対応してくれる……と……信じたい……。

実際、ここ1週間Godotに触ってその使い勝手の良さを気に入りました。
しばらく勉強は続けたいと思います。
選択肢が増えるのはよいことだ。

(余談)ツクールは使わないのか?

いや全部ツクールでいいんですけどね。
たぶん私の作りたいゲームを作るならツクールが一番楽でしょう。

でもゲ制は趣味
自分が好きだと思ったり興味のあるものに触れてみるのが大事なの!
あと本業がソフトウェアエンジニアだからエディタを開いてコードをパチパチ書いていくのが一番性に合ってるの!

というわけでGodotやUnityで遊んでいくぞ!おー!!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事のタグから探す

限定特典から探す

記事を検索