LoginSignup
dala00
@dala00 (だら)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Godotって使ってる人いますか?

DiscussionClosed

Twitterの知り合い以外でGodot使ってる人も日本の記事も全然見かけないので、Godotって日本で使っている人がいるんだろうかと気になってます。誰かいますか?

使っている場合、どういうものを作っているかも気になります。

ちなみに僕はスマホゲームを2つリリースしてます。

3

こんにちは。もしかするとだらさんに布教した張本人かもしれません。

だらさんは既に2つゲームをリリースしているのに、布教した僕は「やるぞっ!」と意気込んでいるのに、Global Game Jamというイベントでゲーム未満のものを一度作ったキリです……orz

もっと手を動かさないとダメだなあ。僕の知り合い(リアル対面)2,3人には布教して好感は得ていると思うのですが。

2

ですね、まんじゅさんが使ってるのは知ってますw

2

一時期 Godot を触ってチュートリアルをやった程度の者です。
特に作品は作れていないです。

Godot は継承モデルが多用されていて、そこが今の自分の好みに合わない、というので熱が冷めてしまいました。

オープンソースなので、アーキテクチャから書き換えてしまうという野望も考えられますが、そこまで気力が至っていない状況です。

3

ありがとうございます~

1

@mozukichi さんの、

Godot は継承モデルが多用されていて、そこが今の自分の好みに合わない、というので熱が冷めてしまいました。

について個人的にはそこまで意識しておりませんでした :bow: (のべ24時間程度しか触っていないからそりゃそうか)

なぜ意識していなかったをちょっと考えてみたのですが、もしかすると僕個人が初めてまともにGUIアプリを作ったのがdotNetFramework辺りで、特にVisualBasicだったからではと憶測を立てました。

dotNetFrameworkだとGUIの機能を叩いたり、あわよくば少し改造しようとするとほぼフレームワークのインターフェイスや継承モデルを利用するので、それに慣れきっていたのかもと。

そんな調子なので僕個人は、
「自分が実現したいことはフレームワークやエンジンで実装されているか近いものを組み合わせて作れないか」
という事に考えが先走ってしまいます。なのでアルゴリズム(解き方)だけを教えてもらった上でそれをコードに起こすのは結構苦手です。
具体的には自力でヒープソートだったり二分木ソートを実装するのに言語を問わず8時間以上はかかるかと。

また、

オープンソースなので、アーキテクチャから書き換えてしまうという野望も考えられますが、そこまで気力が至っていない状況です。

僕個人は今はそこまでアーキテクチャに不自由さを感じておらずむしろ、
「シグナルに値も持たせて他のオブジェクトに送れるとか、Smalltalk感あるな!! 関数・メソッドの引数に型ヒントまで使えるし、だからシグナルで送られてきたデータにも型ヒントを適用できるし」
と思っているくらいなのでそこまでやる必要がないし、やる必要が出てきた時にGDNativeを叩いたりするところから初めて最悪C++とは言わずとも、Nimとかで実装する……か? という妄想をしております。

でも mozukichi さんの様な感想・意見は僕個人の視野が広がるので、とても参考になりました!

3

あ、継承モデルって何のことだろうと思ったら、単純にクラスの継承のことですか? たしかにUnityとかはコンポーネントモデル(?)なので便利ですよね。

僕もcocos2dxとかで継承モデルとかは慣れているので違和感はなかったんですが、たしかにGodotも複数コンポーネント割り当てられるようにはしてほしいですね!

2

@manzyun さん

「シグナルに値も持たせて他のオブジェクトに送れるとか、Smalltalk感あるな!! 関数・メソッドの引数に型ヒントまで使えるし、だからシグナルで送られてきたデータにも型ヒントを適用できるし」

この辺は初耳でした。(もともと深く使っていなかったので、単に私の無学ですが…)

調べてみたら、Godot のドキュメントに

シグナルは、observerパターンのGodotバージョンです。これにより、ノードは、他のノードが聞いて応答できるメッセージを発信できます。例えば、ボタンが押されているかどうかを継続的に確認するのではなく、ボタンが押されたときに信号を発することができます。

とありました。これは、もしかすると、Godot でリアクティブ・プログラミングができちゃったりしますか?!

ただ、シーン上の表示物はシーングラフになっていて、各ノードの状態を破壊的変更していく方法になってしまうので、React のような宣言的プログラミングが出来ないという部分が、まだ萎えポイントです。

本題と逸れてきているので、続きの議論は別の場所でやったほうが良さそうですね。

2

@dala00 さんの、

あ、継承モデルって何のことだろうと思ったら、単純にクラスの継承のことですか?

に反応してしまいまして、私もだらさんと同じものと感じていたのですが、 @mozukichi さんが言ってる「継承モデル」とは何を指しているのか不安になってしまいました…… :sweat:

とはいえ、もしかしたら公式ドキュメントが参考になる?
Godot's design philosophy
ごめんなさい、(自分はこの部分は担当していないけど)完訳できてませんorz

注目して欲しいところはこの辺でしょうか。

Godotは、柔軟なシーンシステムとノード階層を備えたオブジェクト指向設計をコアに採用しています。ゲームを直感的に構築する方法を提供するために、厳密なプログラミング・パターンを避けています。

一例として、Godotはあなたがシーンを 構成または集約すること を可能にします。これは入れ子になったプレハブのようなものです。BlinkingLight(ちらつく光) シーンと、そのBlinkingLightを使用するBrokenLantern(壊れたランタン) シーンを作成できます。その次に、BrokenLanternでいっぱいの街を作成します。それからBlinkingLightの色を変更して保存すると、街にあるすべてのBrokenLanternが即座に更新されます。

それに加えて、あらゆるシーンから 継承すること ができます。

上記引用、2020-07-09T13:45:00+0900現在のもの

この文章の自分なりの解釈なのですが、Godotのオブジェクト指向はどれかというとC++やCSharpなどの「クラスベース」というよりは、JavaScript(やSelf)の様な「プロトタイプベース」の様にも思いました。

しかし、ごく個人的にはGodotの「シグナル」はSmalltalkでの「メッセージ」の様にも思えたので、Smalltalkの様な「メッセージング」に近いものを感じております(この認知バイアスは「Smalltalk開発・実行環境Pharoを実際に触ったせいもあります)。

なので、合わない人は確かに合わないと思います :sweat_smile:
僕個人、Godotの肝は「シグナル」と「継承ベースオブジェクトとクリエイターによるそれらの集約」だとも思っております。

余談

自分は既に 勝手にそう思っていた のですが、改めてこの様に述べられると困惑してしまったのは以下です。

Godotエディタ自身がGodotのゲーム

「あれ? つまりGodotの中でゲーム開発支援プログラムを作るということもできるのか……」
と僕個人困惑しております。やれる・やりたいと思っていることが本当にできるって言われちゃうと、すごく嬉しいですけど戸惑いを隠せてないです。

2

@mozukichi さんが食いついてくれるとはチョット思っていなかったっす :raised_hands:

これは、もしかすると、Godot でリアクティブ・プログラミングができちゃったりしますか?!

できるのだろうなーとは思っているのですが、ReactiveXなアドオンはなかった記憶。

しかし希望を捨てちゃいかん!!

RedditのGodot板に興味深い投稿とスレッドが。
[GDScript] What is the "Godot Way" for creating a reactive UI
もしかしたら既にお試しかもしれませんが……。

またGitHubのIssueでも議論は行われていたので、僕たちが気づいていないだけで実はできる?
https://github.com/godotengine/godot/issues/6491

P.S.

本題と逸れてきているので、続きの議論は別の場所でやったほうが良さそうですね。

@dala00 さんがこの質問投稿には「意見交換」とタグ付けしているので、大丈夫じゃないかと :thumbsup:

P.S. 2

せっかくなので個人的なGodotEngineビッグニュースも入れておきます。

Announcing the 2020 showreel!

上記は毎年の恒例行事みたいなものですが、一番嬉しいけど困惑しているニュースはこちらです。

Congrats to @monolithofminds
for the release of Resolutiion, the first #GodotEngine game on the #NintendoSwitch, and a highly polished one at that! via @godotengine

……はい、Nintendo Switchで動くGodot Engine製ゲームがリリースされたらしいです。

Resolutiion - Nintendo Game Store

2

はい、Nintendo Switchで動くGodot Engine製ゲームがリリースされたらしいです。

らしいですね。結構RedditのGodotを見てるとみんな色々面白そうなことやってますし、Godotで出来ない部分があって困るとかじゃなければ全然使っていけると思いますけどね~(日本みたいにiOSがめちゃくちゃ普及しているお国柄ではないのでそのあたりで色々足りない部分があったりするので)

2

今日で3回以上投稿しててごめんなさい 🙇🏻‍♂️

「GodotEngineの雰囲気とか設計思想が割とわかったかもしれない……しかし雰囲気でやっている!!」
位で、英語がちょっとできてGodotEngineで作るにしてもなかなかキッカケがという方は是非GodotコミュニティのDiscordやMatrixなどで自己紹介だけでも書いておくとキッカケが生まれるかもしれません。

GodotEngine Comunity

自分に関してはDiscordの自己紹介チャンネルに2ヶ月前に気軽に書いたら、今週で不思議なことに2チームからオファーがありました。

最初に受けたオファーに参加してしまったので先程頂いたオファーは丁重にお断りしてしまいましたが、需要は結構あるのかもしれません。

2

Your answer might help someone💌