[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
737: 2024/06/29(土)15:00 ID:q/C94czs(2/3) AAS
昔はアセンブリかBASICかさもなきゃCかC++かみたいなピーキーな選択肢しかなかったんだから、それに比べたら恵まれてるのでサイコロ振って使う言語決めて飛び込んでも死ぬことはない
738: 2024/06/29(土)18:01 ID:8THDbyI2(1) AAS
言語の話とエンジンの話の区別付かずに話してる奴が混ざってるな
APIが何なのか理解してから語れよ
739: 2024/06/29(土)18:13 ID:HjB2I2kB(1/3) AAS
ワイFORTRAN経験者なお忘れた模様
740: 2024/06/29(土)19:26 ID:0j6T3duU(1) AAS
25年前に工業高校でフォートランとアセンブラやらされたわ
ゴミみたいな成績だったけどプログラミングの基礎はだいたい同じだから今になって役に立ってる気がする
741: 2024/06/29(土)19:56 ID:IImyMoRx(3/4) AAS
ちょっとうらやましい
自分はアセンブラ書いた経験がないから今になってどうやって勉強しようか悩んでる
742: 2024/06/29(土)20:18 ID:q/C94czs(3/3) AAS
レトロゲーム機でもなければアセンブリ覚える必要はないと思いますが、CASL学べば四則演算はすぐマスターできますよ
掛け算は足し算シフトを繰り返すだけ、割り算は引き算シフトを繰り返すだけ
とかいうやり方でゲームを作るのは大変ですけど、高度な命令がないCPUは概ね何をするにも似たようなもの
簡単な演算で面倒な処理を頑張るだけです
それに比べたらC#もGDスクリプトもやりたいことがザクザク書ける神です
743: 2024/06/29(土)20:24 ID:HjB2I2kB(2/3) AAS
TASMだったかCのコード書くとアゼンブラに変換してくれるやつ
Z80だけの知識で8086のアゼンブラ見よう見真似で最適化の真似事とかやってた
744: 2024/06/29(土)20:52 ID:HjB2I2kB(3/3) AAS
Switchのプチコン4の並列演算する命令がアセンブラによく似てる
745(1): 2024/06/29(土)21:11 ID:hpvBfwLS(1) AAS
以前godot+C#ではフル性能が出せない問題が
ユーザー側から指摘されていたようなのですが
修正改善されたのでしょうか
746(1): 2024/06/29(土)22:12 ID:IImyMoRx(4/4) AAS
このサブレとかの話かな、果たしてGodot/C#は最適化される予定があるんかな
GDScript performance vs C# performance (2mo ago)
外部リンク:www.reddit.com
1年前のGDQuestの動画とかだと
本当に性能要件が必要な場合はC++/GDExtentionでやるべきとか言ってるし
それが必要な規模のゲーム(GTAのような)作らないでしょってスタンスな気がする
最近のユーザーのコメントも見てると
省5
747: 2024/06/29(土)22:53 ID:FpUYyZva(1) AAS
Godotは開発陣がこうやって積極的にユーザーの意見を拾ってくれるから良い
748: 2024/06/30(日)03:02 ID:8AFFTiMh(1/2) AAS
GLSLさわったことなかったけどUEのマテリアルの感覚で
簡単なトゥーンシェーダとかポストエフェクトの
ビィジュアルシェーダ化でけた
749: 2024/06/30(日)06:23 ID:PBUDvozm(1) AAS
ガチ勢はC++で作るのか
そこまでの作り込みをやるつもりなら他のエンジン選びそうな気もするけど…
750(2): 2024/06/30(日)07:27 ID:sq056Iik(1/6) AAS
画像リンク[jpeg]:i.imgur.com
C# vs GDScript は3.x系で逆転したらしい
全く寄せ付けないのがC++ ぶっちぎり
751: 2024/06/30(日)07:31 ID:sq056Iik(2/6) AAS
場合によっちゃ100倍の差が出るならキツかったら使うんじゃね?
C#で10倍ってのもよく分からないんだが
752: 2024/06/30(日)08:04 ID:8AFFTiMh(2/2) AAS
GDScriptそんなに遅いのかpythonがベースだしなあ
753(1): 2024/06/30(日)09:02 ID:sq056Iik(3/6) AAS
件のスレだとGDScriptはJITだと言う人が多いけどGodotのGithubとか見ても
何か違うという話しか出てこないのでJITコンパイラではないらしい
外部リンク:tech.framesynthesis.co.jp
にはAOT/JITは使ってない&GithubでVMを使ってる事が書いてある事から恐らく昔のJavaのような
インタプリタ型なんじゃないかな〜 と思ってたらマニュアルにインタプリタ言語って書いてあった
ややパフォーマンスが劣るのは仕方ないかも知れないが、60fpsを大きく切るような事があったら
考えればいいかなって感じじゃないかな? 用途的にかなり稀なんじゃないのかな
754: 2024/06/30(日)09:04 ID:6h996GAk(1) AAS
>>750
Godotっていま4.2だけど何で今更2018年の話してるの?
755: 2024/06/30(日)09:17 ID:sq056Iik(4/6) AAS
他にベンチマークしたのがねえんだよ
756: 2024/06/30(日)09:22 ID:sq056Iik(5/6) AAS
調べて出てこなかったからソレにしただけで最新に近いベンチあるならむしろ出してくれるとありがたい
GDとC#とC++の比較で宜しく頼む
757: 2024/06/30(日)11:21 ID:Jl/an7H9(1/2) AAS
>>750
すげー差だね
ただそれ、言語の差かな?
GDScriptは知らんけど、C#とC++でそこまでパフォーマンスの差は無いはず
初期のC#ならまだしも、最近のC#はネイティブとあまり差が無いほど最適化されてるぞ
758(1): 2024/06/30(日)11:57 ID:YZ6aJKk3(1) AAS
>>753
昔のJavaこそJITだぞ
759: 2024/06/30(日)12:20 ID:ZzV3ax6d(1) AAS
ゲームエンジンでコード部分が遅くて問題になる事そんなないよね
遅くなりがちなものはたいてい関数化でカバーしてあるし
760: 2024/06/30(日)13:15 ID:sq056Iik(6/6) AAS
>>758
外部リンク:ja.wikipedia.org
Java初期のインタプリタ式で走行されるJavaプログラムの実行速度は遅かったが、
実行時コンパイラ技術と動的再コンパイル技術 (dynamic recompilation) の
導入によって実行速度問題はほぼ解決した。
だってさ 俺もJITかと思い込んでたよ
761: 2024/06/30(日)14:09 ID:Jl/an7H9(2/2) AAS
ある程度プログラミング経験ある人なら、言語はどれでもいけるでしょ
だけどGotot自体がGDScriptに最適化されているので、それ以外だと面倒なことが多いからな
762: 745 2024/06/30(日)14:12 ID:xlags8mO(1) AAS
>>746氏及びgodotスレの皆様
ありがとうございます
とても勉強になります
763: 2024/07/01(月)00:37 ID:3HKv0EDG(1/9) AAS
GDExtension C++ exampleやってみたけどGitのサンプルと齟齬が生じていて
まるでカルトクイズだったわ 動かすだけで何時間かかったんだか勘弁してくれ
一応メモ
外部リンク:github.com からReleasesのgodot-4.2.2.-stable LatestをDownload
Zip展開してBuilding the C++ bindingsは手順通り
Creating a simple pluginはzip展開したtestフォルダに入ってる中身で代用できるので何もしなくていい
testフォルダにcdしてscons platform=windowsしたらgodot-cpp-godot-4.2.2-stable\test\projectを
省6
764: 2024/07/01(月)00:52 ID:3HKv0EDG(2/9) AAS
8行目は間違い testフォルダでSconsしないとビルド出来ない
765: 2024/07/01(月)00:54 ID:3HKv0EDG(3/9) AAS
あれ書いてあるな混乱してるのか。兎に角疲れた
766: 2024/07/01(月)01:49 ID:bpyOLnVe(1/6) AAS
モルダー、あなた疲れているのよ。
ほあー、makeじゃないんだ、お疲れさん、ゆっくり寝てくれ
767: 2024/07/01(月)07:50 ID:3HKv0EDG(4/9) AAS
乙あり
画像リンク[png]:i.imgur.com
適当なベンチを移植してみた結果GDScriptはdoubleがないので比較ができないと言う事態に。うーん
(勝手にfloatにされてしまうので負荷にすらなってないらしい?)
単純にforループで5億回くらい加算するだけだとC++は早すぎて0ms(測定不能?)でベンチにならないし
かといって複雑だと読めないしなぁ 困った・・・
768: 2024/07/01(月)13:30 ID:bpyOLnVe(2/6) AAS
バブルソートでいいんじゃね、N=10000とかでやれば
あとはGDExtentionと.NET側をfloatにしちゃうとか
物理演算ライブラリとか作ってないんだし精度いらないでしょ
769: 2024/07/01(月)14:10 ID:3HKv0EDG(5/9) AAS
画像リンク[png]:i.imgur.com
floatだと負荷にならないみたい 出来れば5〜10秒くらい掛かって欲しい
ソースコードはコピペなんでこれに何の意味があるのかはよく分からない
770: 2024/07/01(月)15:09 ID:bpyOLnVe(3/6) AAS
円周率の近似式(グレゴリー・ライプニッツ級数)じゃね
コンパイラが最適化しちゃうからこの手の単純計算のループはほぼ意味ない計測になっちゃうと思う
実際のデバッグ画面でFPSの計測ができるレベルのベンチ作った方がいいと思うぞ
例えば、1億個のCharacterBody2Dインスタンスを重力で落下させるとかそういうの
それをGDExtension/.NET/GDScriptで比較してみればいい
771: 2024/07/01(月)15:20 ID:VOEpRWLF(1) AAS
物理は物理で専用のエンジン使ってるとかだから比較する意味ないんじゃない?
772: 2024/07/01(月)15:40 ID:bpyOLnVe(4/6) AAS
うん、だから物理サーバー使わなければいいんじゃないかな
773: 2024/07/01(月)15:49 ID:3HKv0EDG(6/9) AAS
すげーな、ライプニッツの公式って書いてあった
コンパイラが賢くて空ループとか消しちゃうとかは風の噂に聞いた事があるような気がする
C#→GDScriptは出来るが流石にC++は忘れすぎててC++⇔C#が無理で困る
FPSを計るのは何か引っかかるんで手詰まりで諦めたらそれでいくようにしてみるよ
あとは出来る範囲で色々試してみる
そしてGDでbyteコードが使えないのでまた1つ没になった
774: 2024/07/01(月)15:53 ID:bpyOLnVe(5/6) AAS
がんばーれー、よかったら結果もコミュニティで共有してぇー(懇願)
775: 2024/07/01(月)18:14 ID:Mr+4kRr6(1/3) AAS
最適化が効かないやつなら2chからの伝統のトリップキー探索がよいのでは
単なるハッシュ総当りですが
776(1): 2024/07/01(月)18:27 ID:3HKv0EDG(7/9) AAS
何か探してたらコンパイラの最適化を邪魔するらしい謎の変態C++があったのでやってみた
外部リンク:verifiedby.me
結果はご覧の有様だよ
画像リンク[png]:i.imgur.com
1分くらい固まるから何かと思ったよorz どうしてこうなった
777: 2024/07/01(月)18:39 ID:3HKv0EDG(8/9) AAS
GDExtention C++はなんでか知らんけど_readyに入れてもいきなりエディタ起動と同時に動き出すので
Runボタン押さなくても勝手に始まってしまう
なのでエディタ起動の負荷が乗っかってるのでちゃんと測れない点は考慮してね
キー入力で呼び出せるように出来ればいいんだけど全然やり方分かりません
778(1): 2024/07/01(月)18:56 ID:Mr+4kRr6(2/3) AAS
>>776
かなり差がつきますね
やはりガチ勢はスクリプトだけだと限界が来るのか
779: 2024/07/01(月)19:59 ID:3HKv0EDG(9/9) AAS
>>778
逆にいざという時は最速クラスの切り札があると考えればよいのではないかと
前にどなたかが話してたけどね
Unityも以前はUnityScriptというJavaScriptもどきだったものが後からC#が登場して入れ替わったけど
処理が遅い所はC++でプラグイン作ったりするのは一緒みたいだし必要に応じて織り交ぜていったらいいと思うだよ
780: 2024/07/01(月)20:20 ID:Eif3//6J(1) AAS
処理速度が必要な部分のみC++を使うで良いが
最初から必要であると判っているならC++ネイティブなエンジンも良いと思う
自分のやってる事ではそんな状況にはならないがその時は国産のSiv3Dを試したい
781: 2024/07/01(月)20:36 ID:bpyOLnVe(6/6) AAS
いいね! 25億回くらいループ回すときはGDExtensionでやろうっと
782: 2024/07/01(月)20:57 ID:Mr+4kRr6(3/3) AAS
そこそこ簡単な処理だけど膨大な数をこなすのはゲームでは割とありがちなので、ピンポイント最適化すると気分良さそうですね
783: 2024/07/01(月)21:36 ID:Dj6YjZN7(1) AAS
こういう人たちのおかげで自分でもエンジン快適に使えてるんだなあって
いつもありがとね
784: 2024/07/02(火)07:51 ID:KWyZHQ68(1/4) AAS
GDscriptのfloatってgodot4.xでは64bit精度(C++での倍精度double相当)ではなかったですか?
オンラインマニュアル読むと内部的には64bit精度みたいに読めるのですけれど(解釈間違い?)
precisionオプション指定でgodot engineをリビルドする必要があるとか
32ビットARMやWebAssemblyやGPU関係で32ビット精度がデフォルトとか検索するほど新旧情報が錯綜してしまいます
785(1): 2024/07/02(火)09:05 ID:b/scUpaU(1/4) AAS
外部リンク:godot-jp.github.io
それはintだよ つまりintはlong相当(64bit)、でもfloatは32bitでdoubleじゃない
floatは有効桁数が約7桁、doubleは有効桁数が約15〜16桁 桁違うからすぐわかるよ
786(2): 2024/07/02(火)09:18 ID:b/scUpaU(2/4) AAS
いや間違いだった。doubleって書いてあった
外部リンク[html]:docs.godotengine.org
ただしデフォでは32bitでprecision=doubleオプションを有効にしたときdoubleになると書いてある
787: 2024/07/02(火)09:30 ID:KWyZHQ68(2/4) AAS
>>785
ありがとうございます
そうなんですよね
あちらこちらで書かれている内容が交錯していて
外部リンク[html]:docs.godotengine.org
>float
>Stores real numbers, including decimals, using floating-point values. It is stored as a 64-bit value, equivalent to double in C++.
省3
788: 2024/07/02(火)09:44 ID:KWyZHQ68(3/4) AAS
>>786
はい
GDscript(4.x)のfloat自体は内部64bit精度でも
ただVector2/3構造体をはじめ各種内部関数がC++のfloatがデフォルトになっていると
GDscriptのfloatが64bit精度でもgodot engineの各所で暗黙の型変換によって32bit精度に落とされてしまうので
precision=doubleあたりでリビルドしないとまともに使えないかもしれない感じでしょうか
789: 2024/07/02(火)10:09 ID:SYGJ/B8W(1) AAS
型は誤解なく明確に指定するサフィックスを大原則にしてもらえたらな
文字数増やす奴は絶対コロ助は当然いるし、省略時オプションさえあればいいだろとか異論噴出するのは分かってるけど
うっかり間違えた時のバグによる損失を無視できるほど省略記法にメリットあると思えなくてさ
みんなよく管理できてるよね設計上手兄貴しかいないのかな
790(1): 2024/07/02(火)10:25 ID:b/scUpaU(3/4) AAS
>>786
外部リンク:godotengine.org
Note: This change has already been merged into the engine, however it is only available in the “doubles” version of the engine, so to take advantage of it, you will still have to build the engine yourself using the compile flag precision=double (formerly float=64).
ってなってるから自分でオプションを付けてビルドしてくれって事みたいだよ
shaderもdoubleにしないと効果ないみたいなので最初からdoubleがデフォだと無駄が多い気がする
791: 2024/07/02(火)10:53 ID:b/scUpaU(4/4) AAS
外部リンク[xml]:github.com
正しい情報が迷子で分かり辛過ぎるな
floatは64bit倍精度だが、メソッドやプロパティ/Vector2/3ではデフォが32bitで
precision=doubleを使うと全部64bitになるらしい事が書いてある
デフォは計算するとほぼ確実に32bitになるんじゃないのかな?
開発者やマニュアル書いてる人も大混乱してるとかそういうオチのような気がしないでも…
792: 2024/07/02(火)11:21 ID:KWyZHQ68(4/4) AAS
>>790
ありがとうございます
技術文書としてとても興味深いです
現実的には64bit精度非対応GPUが多いので(市場シェア的にもAppleやintel iGPUをサポートしないわけにもいかない)
なかなか難しいですね
64bit精度を32bit精度×2にするアイデアはなかなか目から鱗、言われてみるとなるほど確かに!とても勉強になりました
全てが64bit精度なら至ってシンプルなのですが現実的にはなかなかそうもいかない感じなのですね
793: 2024/07/03(水)02:10 ID:Uf1J5FPU(1/2) AAS
CPUで値の保持だけfp64で演算がfp32なら性能低下は起きないけど(それでもキャスト分の実効性能が落ちるかも)
演算もfp64にすると6割くらいまで性能低下する場合がある(Intel14世代Coreなど)
これは単純にゲームによく使われるfp32と違ってfp64はあまり活用されてないので演算器が削られているからで
単純に演算器が少ないのでピークパフォーマンスが下がる
GPUの場合は更に顕著でクラスタに対してfp64が1〜2個くらいまで削られる事があるので
GTX4080などでは理論性能値がfp32が48.74 TFLOPSなのに対しfp64は0.76 TFLOPSまで落ちる
実装が1:64なので1クラスタにfp32ユニットが64基に対してfp64ユニットが1基しかない
省1
794: 2024/07/03(水)04:20 ID:Kew/Q+EQ(1) AAS
活用されないから演算器が削られてるんじゃなく、
コスパ的に演算器増やす意味が薄いから演算器が少ない
795: 2024/07/03(水)05:06 ID:NKCUhq9D(1) AAS
VisualScript(Orchestrator)入れてみたけどGDExtentionてデリケートなんだな
ちょっとでもバージョンが違うとaddon認識しなかったり
796: 2024/07/03(水)05:44 ID:uYYGzCZu(1) AAS
逆にfp16やfp8をSIMD的に使いたかったらどうなるのかな
まあ規定に定義されてないやつゲームに使おうとするなバカって話ではあるけど
797: 2024/07/03(水)07:35 ID:Uf1J5FPU(2/2) AAS
しらんけど、fp32ユニットでfp16を2つ束ねて出来たらスループット2倍みたいやつ???
コンシューマ向けGTXでは出来ないっぽい
HPC向け一部の製品ではfp16がfp32の二倍になるので不思議な手品が使えるっぽいが詳細が不明
TensorCoreでもfp16演算できるのでそれとは別枠らしいけど詳細がry
コロナ以降カンファレンスに出向いてアーキテクチャの記事書く記者がいなくなっちゃったんだよね
だからここ4年くらいは全くアーキテクチャ解説がない状態が続いてる 何も分からない
798: 2024/07/03(水)13:28 ID:5FKCRCqT(1) AAS
成ればいいじゃない、他に変わりがいないなら
799: 2024/07/05(金)06:17 ID:gXZc61hD(1) AAS
大作作ろうとしちゃだめだよな
ミニゲームですらきつい
800: 2024/07/05(金)07:36 ID:eVqTIbcs(1) AAS
がんばれがんばれ(自分にも言い聞かせつつ)
801: 2024/07/05(金)10:02 ID:Orua8KTx(1) AAS
自分も最初は壮大なRPGを構想していたけど
今は1クリックのバカゲーですら手を焼いてる
何度作っても納得いかずに直しの繰り返し
世間のバカゲーをバカにしてても
いざ自分が作る番になるとこれが難しい
802: 2024/07/05(金)10:34 ID:HKNJJHrc(1) AAS
自分でやる作業は可能な限り削らないとね
それでもモチベが尽きたら終わり
803: 2024/07/05(金)11:11 ID:+riGv8Py(1) AAS
そんなに青汁が不味くて飲めないならゲロ吐きながら飲もうとしなくてよくない?
ドMなの?
804: 2024/07/05(金)11:24 ID:iO0wT5CM(1) AAS
まあ素材はあってもシステムに載せるそのシステムはどうしても自前で調整しなくちゃならんからな
どうぶつタワーみたいな物理演算ゲームひとつとっても納得行くまで作り込むとなれば簡単にはいかない
805: 2024/07/06(土)09:24 ID:Dr+/esfa(1/2) AAS
Androidアプリ版でゲーム作ってる人いますか
てかスマホでゲームをまともに作れるの?
806: 2024/07/06(土)09:41 ID:orNV2coT(1/5) AAS
まともの定義によるができる、Godotの標準機能はPCと変わらず使える
画面周りの設定をAndroid用に調整する必要はある
Androidの環境依存の機能がどれだけ使えるかの話になると変わってくる
自分は外部ストレージのパーミッションが取れなくて投げ出した
807: 2024/07/06(土)10:08 ID:BMbmQWTc(1) AAS
講座見ながら簡単な物なんとか作ったけど色々面倒で正直Godotで作るうまみは感じなかった
808: 2024/07/06(土)10:24 ID:cScvhoH1(1) AAS
WEB系のフロントエンド技術に明るい人にはわかりやすいってコメントはたまに見かけるね
まあこの辺の手になじむ感みたいなものは自分のスキルセット次第だよな
809(1): 2024/07/06(土)10:33 ID:Dr+/esfa(2/2) AAS
そうなんだ
アプリ版はイマイチみたいね
ゲーム開発がスマホの小さい画面で
できるとは思えなかったから質問してみました
810(1): 2024/07/06(土)10:42 ID:orNV2coT(2/5) AAS
UnityとPythonやってたおかげでGodotEngineの習得はかなり楽だった
前知識あるなしも違ってくるのだろうね
自分が最近触った中ではGDScriptとGameMakerは相性が悪かった
811: 2024/07/06(土)10:43 ID:orNV2coT(3/5) AAS
>>810
GDScriptじゃなくてGDevelopの間違い
812: 2024/07/06(土)10:48 ID:NXzP9T8F(1) AAS
Java出身だけどC#特有のエラーがうざくてUnityは馴染まなかったな
813: 2024/07/06(土)10:49 ID:orNV2coT(4/5) AAS
>>809
すこし読み違えていたAndroid上でGodotを使っての開発ね
あれを使うにはマウスは必要だと思う
後画面が小さすぎるからスマホだと苦しいね
テレビに映すか大画面のタブレットにした方が捗ると思う
814: 2024/07/06(土)11:36 ID:x+H5fUyQ(1/2) AAS
機械学習流行ってたからPythonかじってた人は多いんじゃない?自分はシーンとかノードなどGodot特有の用語に戸惑ったよ
815: 2024/07/06(土)11:41 ID:orNV2coT(5/5) AAS
ノードツリーのヒエラルキーは他のエンジンでも基本だから慣れだね
シーンはGodot独特の言い回しだけどUnityにおけるプレファブと理解したら楽になった
816: 2024/07/06(土)13:02 ID:x+H5fUyQ(2/2) AAS
Unityのシーンじゃなくてプレハブなんだよね。そこ混乱した
817: 2024/07/06(土)17:47 ID:MZ5vc2WB(1) AAS
PackedSceneをpreload以外でロードしてからインスタンス化するのに少しハマった
godotといえばsceneとnodeとばかりに注目してたけどResourceも重要だった
上下前次1-新書関写板覧索設栞歴
あと 185 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.020s