【軽量】godot engine - part2at GAMEDEV
【軽量】godot engine - part2 - 暇つぶし2ch737:名前は開発中のものです。
24/01/16 23:13:05.77 GIK7zFk3.net
俺はオープンソース中毒拗らせてる
SNSはMisskey、メールはProtonMail、検索はSearX



738:ックテック滅びろ😡 💢😠🤜💥🔲💦💥💥 ☝俺 ☝unity



739:名前は開発中のものです。
24/01/17 05:52:20.62 U3uveKkI.net
ただ軽いから使ってる
unityはリフレッシュとかでいちいち中断されるじゃん?

740:名前は開発中のものです。
24/01/17 08:07:56.93 2iGWj2EV.net
浮動小数点数についてはgodotドキュメントにfloatの項目があるよ
ごく一般的な内容だけど
コンピューターである以上は浮動小数点数に誤差は付きものなので許容誤差を見積もりながらコードを書くしかないのでは

741:名前は開発中のものです。
24/01/17 09:15:44.53 U3uveKkI.net
godotで3dゲームという困難な道を行くのもなんか興奮する、、、

unityはね良いエンジンなんだろうけど、シンプルと程遠くて疲れる

742:名前は開発中のものです。
24/01/17 09:16:00.36 U3uveKkI.net
制限は悪いものではないと思う

743:名前は開発中のものです。
24/01/17 10:27:31.51 VQHBh6mI.net
>>729
それは拗らせてるよ
ツールの軽さだけに固執してる
unityだとちょっと調べたらすぐ出てくるけどgodotだと時間かかるとか
もっとトータルに見ないといけないことなのに

744:名前は開発中のものです。
24/01/17 10:44:36.39 U3uveKkI.net
学習リソースが多いのはもちろんunityだけど、自分にとってはその部分が重要だったかな 今のとこ
少し前のcore i5にgtxだし、pcのスペックも悪くはないけどね

745:名前は開発中のものです。
24/01/17 10:52:56.70 kKwz9ITx.net
学習リソースもアセットも多いunityを大人しく使ってた方がいいのは分かってるけど新しいものに手出すのが大好きで…

746:名前は開発中のものです。
24/01/17 10:55:49.38 U3uveKkI.net
あ、あと英語に慣れるいい機会というのも理由としてある

747:名前は開発中のものです。
24/01/17 11:12:18.75 SE4jTcLm.net
前にも書いたけどevalでdslはスクリプト言語最大のメリットだよ

748:名前は開発中のものです。
24/01/17 13:14:23.66 6mpppKMB.net
>>710
ChractorBody2D+CollisionShape2D(Capsulesh)でやってみた
地面はStaticBody2D+Rectangle
Readyでコンソールに座標出しても誤差ないぞ
コリジョンのサイズ設定とかどうよ?

749:名前は開発中のものです。
24/01/17 17:49:33.72 xbw/rsD5.net
モーション変えるコードをmove_and_slide()の後に書けばいいんじゃないの?
is_on_floor()の値はスライド後に設定される筈

750:名前は開発中のものです。
24/01/17 19:00:01.02 U3uveKkI.net
characterbody2dに摩擦はないのかな?
壁ひっつきを作りたい

リジッドボディをキャラクターに使うといろいろ問題がでそうで

751:名前は開発中のものです。
24/01/17 19:50:07.38 U3uveKkI.net
あー、でもスクリプトでコントロールすることを考えると、レイで壁を検知して落下を止めるってのがいいのかも

752:名前は開発中のものです。
24/01/17 19:51:31.19 vQdUcmEM.net
is_on_wall()とかじゃダメなん?

753:名前は開発中のものです。
24/01/18 00:15:47.35 Ix7LokGe.net
つまらないことに色々と続けてアドバイスを頂けたようで、なんかすみません・・・
色々やってみたところ、physics_processの1行目にmove_and_slide()を書き、
StaticBodyの上にキャラを乗せておくと普通に立ちポーズのまま開始できました。
しかし背景はタイルマップで作りたいのですが、タイルの上だとどうやっても着地が出ておかしくなります。
タイルのコリジョンは1ピクセルでスナップして設定して、ツール上でもピクセルスナップで置いてズレは無いはずで、

プレイヤー位置:(87, 122) false ← if not is_on_floor():でtrueになる空中判定変数をonreadyでfaiseにしておいても
(12) プレイヤー位置:(87, 122) true ←結局着地しちゃう
(94) プレイヤー位置:(87, 122) false
--- Debugging process stopped

Yが一致しててもおかしいのでさすがに諦めます・・・
しかし、スタート位置のタイルマップにStaticBodyを重ねて置いて透明にすれば問題無しです。解決しました!

754:名前は開発中のものです。
24/01/18 06:11:26.54 SbvIdHMq.net
>>742
レイ使わなくてもこれならいけそうですね
内部的に横方向にレイ飛ばしてるのかもしれませんですが
ありがとう

755:名前は開発中のものです。
24/01/18 06:28:12.65 SbvIdHMq.net
関係ないけどパイソンってこう構造が見づらくない?
かっこが無いからかも

756:名前は開発中のものです。
24/01/18 11:45:13.37 YK7HjF9M.net
スクリプトで追加したノードと、シーンウインドウ上で追加したノードの、検索に反応する挙動が違ってしまい困っています
スクリプトで追加したノードをfind_childで取得したいのですが、それが検索に引っかかってくれません
デバッガーでは子ノードの配列に当該ノードの存在を確認し、検索名も合致しており、find_child関数が他のノードを取得出来ることも確認いたしました
しかしスクリプトで追加したノードのみ取得してくれません
get_childrenで配列を取得し引数に数字を与えると目当てのノードは取得できるのですが、正直この方法は使いたくありません
じょれはバグなのでしょうか?
解決方法がわかる方いらっしゃいますでしょうか?
どうかお願いいたします
簡単な図を載せておきます
Main Node◇←スクリプト
+Stage Node(動的に追加する)
+Player Node
+Enemy Node(動的に追加する)
+Timer Node
メインノードにアタッチしたスクリプトからステージノードやエネミーノードを動的に追加削除して使用します
タイマープレーヤー等は名前を合致させれば取得できるのですが、ステージエネミーは名前を合致させても取得できません

757:名前は開発中のものです。
24/01/18 12:18:26.09 5n3HuKgw.net
>>745
気がつかれましたか・・・
はっきりいって大規模プログラムにはまったく向かない仕様なのがパイソン
ちょっとネストの段が深くなってくると、どこがブロックなのかよく見えなくなってくる

758:名前は開発中のものです。
24/01/18 12:45:55.83 SbvIdHMq.net
godotで3dゲー作りたいけど、定番のアセットとかありますか?
ユニティちゃん的なやつで

>>747
ま、頑張ります!

759:名前は開発中のものです。
24/01/18 12:54:05.47 YYGEML0W.net
>>745
すごい目が疲れる
行末の;がないのも地味に辛い
仕様考えた奴視力バチクソ良さそう

760:名前は開発中のものです。
24/01/18 13:01:29.31 ubQ1hWTO.net
>>746
第3引数をfalseにする

761:名前は開発中のものです。
24/01/18 13:03:10.31 SbvIdHMq.net
連投すまそ
godotにもgmクラスみたいな概念はあるんですかね?
uiやゲームの進行を管理するクラス
これは開発環境にかかわらず、プログラミングにおけるパターンなんだろうけど

762:名前は開発中のものです。
24/01/18 13:13:02.88 YYGEML0W.net
あるよ。AutoLoad。

763:名前は開発中のものです。
24/01/18 13:26:40.93 SbvIdHMq.net
>>749
んじゃああコード量が増えないようにスクリプトを分けるという考え方なの?
モジュール志向的な

764:名前は開発中のものです。
24/01/18 14:16:39.55 2l1Jd13n.net
同じスクリプト言語ならjavascript系を採用して欲しかったよなあ
ツクールやgamemakerはその方向なのに

765:名前は開発中のものです。
24/01/18 17:16:05.62 SbvIdHMq.net
完成させるなら見た目とか妥協しないと駄目だね
ui周りとかこだわりだすときりがない

766:名前は開発中のものです。
24/01/18 17:58:33.78 SbvIdHMq.net
godotって他のノードはget_node使わないと駄目な感じかな?
unityみたいにpublicして、インスペクタに指定することとか出来ない?
逆にget_nodeのメリットとかあるのかな?慣れるしかないか

767:名前は開発中のものです。
24/01/18 20:04:09.66 2cc4Q+qM.net
>>756
まず公式サイトのドキュメント見た方がいいよ
それできない奴はgodot触っても幸せになれない

768:名前は開発中のものです。
24/01/19 06:01:30.08 gidHXOpm.net
クレクレなってた
悪いね

769:名前は開発中のものです。
24/01/19 12:50:49.89 gidHXOpm.net
検索してもなかなか見つからないことはgptに聞くといいね
答えが見つかりやすい

770:名前は開発中のものです。
24/01/19 13:29:25.74 gidHXOpm.net
ノードの取得方法なんですが、get_treeはシーンツリー全体を取得ということですか?
つまり、そのプロジェクトに含まれるルートのシーンを最上位とした、シーン全体の取得

get_tree().get_root()

とすればget_rootは1つのシーンの最上位という意味合いになるんでしょうか
ここは調べてもわからなかった

771:名前は開発中のものです。
24/01/19 20:30:52.73 RNi0IsDv.net
Godot Japan User Community
URLリンク(twitter.com)
ここでDiscordサーバーあるから分からん事聞きたいなら入ってみたらいいんじゃない?
(deleted an unsolicited ad)

772:名前は開発中のものです。
24/01/19 21:38:27.19 uj7WVGXu.net
>>750
遅ればせながら、本当にありがとう上手くいきました!
恥ずかしながらリファレンスをよく読んでいなかったのと、オーナーという概念がある事、そしてスクリプトはオーナーを持たない事を初めて知った(◇selfでadd childする目的は…?)
こんなスパゲティ質問をサラッと答えられるイケメンになりたい

773:名前は開発中のものです。
24/01/19 21:48:07.01 38trQaVj.net
>>760
NodePathクラスのページに書いてある
^"/root" # Equivalent to get_tree().get_root().
^"/root/Main" # If your main scene's root node were named "Main".
rootはGUIに表示されているシーンのノードの1段上の階層にあってゲームのウィンドウに相当する

774:名前は開発中のものです。
24/01/20 11:23:55.84 xSS/e+g+.net
tree→root→シーンの一番上のノード、
といった構造ですよねおそらく
treeはシーンツリーのことで、シーン同士の関係図みたいなものだと理解しています
各々のシーンが持つウインドウがルートですね
この辺の図とかどこかにありますかね?

775:名前は開発中のものです。
24/01/22 11:28:10.04 +KGs8YKc.net
4のドキュメントがそろうまで1年くらいスクリプトだけでゲーム作ってたけど、
戻って感じたがGodotこんなに快適だったのか
視覚的にスプライトシートから1セル切り出したり、
簡単にカメラや衝突判定が実装できるだけで天国だよ
1ドットの点やテキスト表示するだけでやたら手間がかかる短所など今考えれば些細な問題だわ

776:名前は開発中のものです。
24/01/22 17:05:16.43 E8G3DP92.net
シンプルでいいよねunityは操作覚えるだけで大変だった

777:名前は開発中のものです。
24/01/22 19:06:35.79 iEOSPRUj.net
そうなんだシンプルなんだよ
今まで商業作品作るわけでもないのに要りもしない膨大な機能を駆使しなきゃ損だと思ってややこしく考えすぎてた
ファンタジーコンソール+αぐらいの気持ちで使う方がうまく行く気がする
個人的にはコリジョン系ノードと同じくらいTimerノードが手放せないので
諸々のゲームエンジンに搭載して欲しい

778:名前は開発中のものです。
24/01/23 09:50:02.10 Fo55SsA5.net
ある程度制限あるけどフリーでswitch向け出力できるようになるって

779:名前は開発中のものです。
24/01/23 10:18:00.93 GewL3mCg.net
しかし、ゲーム完成しない、、、
完成させる力が足りない

780:名前は開発中のものです。
24/01/23 11:02:00.53 cjSyBROw.net
ゲームって何だかんだプログラム組むより素材集めがダルいよね
イメージと違ったり欲しい物がなかったりすると自作する必要出てくるし

781:名前は開発中のものです。
24/01/23 11:31:15.38 qDAbGc4B.net
>>770
ほんとそれ
プログラミングは楽しすぎる

782:名前は開発中のものです。
24/01/23 11:35:16.29 GewL3mCg.net
形とか色とか制限してる
ブロックだけ、色は黒だけとか

あとから差し替えられるし

783:名前は開発中のものです。
24/01/23 14:24:46.63 nuTPDLfr.net
エンジニア寄りの人がゲーム作ろうとするとアセットで詰まるんよな
プログラム興味ないけど絵描くの好きみたいな人のほうがツクールやノベルツールでどんどんゲーム完成させるっていうね

784:名前は開発中のものです。
24/01/23 14:39:07.82 GewL3mCg.net
そうなんか

785:名前は開発中のものです。
24/01/23 14:57:51.55 TUdhp1iX.net
ノベルゲーとかツクールのシステムまんまのゲームならUI用意されてるからこだわりなければそのまま使えるけど自分でUI作ろうとするとほぼお手上げ状態
ゲームに合う素材探しもめんどくさいし見やすいUIの組み方もわからない

786:名前は開発中のものです。
24/01/23 15:06:36.98 GewL3mCg.net
まあデザイナーの才能ないからすべてオリジナルにする必要ないし、オリキャラだけオリジナルとかね?

787:名前は開発中のものです。
24/01/23 15:49:20.27 nuTPDLfr.net
素材間の絵柄やクオリティに統一感が必要だし
自キャラ、敵キャラ、背景、UI、エフェクト、タイトルロゴetc
それらすべてが調和してる必要があるので、既存の素材を使うと調整が大変だよ

788:名前は開発中のものです。
24/01/24 06:06:16.67 ePb8v5e+.net
気分転換としてバックルームのモデリングしてる

789:名前は開発中のものです。
24/01/24 06:06:55.19 ePb8v5e+.net
>>777
そうだね
ただ完成しないよりはいいと思う

790:名前は開発中のものです。
24/01/24 13:06:50.19 ePb8v5e+.net
ゲーム開発っって当初の構想を脱線しないほうがいいよね
あれもいい、これもいい となりがち
より良いと思えても後回しかな

791:名前は開発中のものです。
24/01/24 15:09:37.21 9CQ/w45K.net
ボタンをクリックしたらラベルの文字を変えるって処理はできたのですが
同時に画像を変更する(ノベルゲーのキャラの立ち絵の表情を変える)って
処理はどの辺のチュートリアル読めばできるようになるんでしょうか?
シーンを作って呼び出すのがいいのか、スクリプト(今はこっち)でやればいいのかもわかりません

792:名前は開発中のものです。
24/01/24 15:25:53.66 ePb8v5e+.net
>>781
シグナルじゃないですか?

793:名前は開発中のものです。
24/01/24 18:21:11.04 9CQ/w45K.net
>>782
レスありがとうございます!
シグナルっぽいので勉強してみます。

794:名前は開発中のものです。
24/01/25 15:23:37.32 77Oz3RL7.net
中学生頑張ってるな
URLリンク(booth.pm)

795:名前は開発中のものです。
24/01/25 21:16:25.06 kXZori1n.net
Resourceクラスを継承したオリジナルのstatus.tresを作成し、それをベースキャラクターノードの派生ノードに保持させる事で擬似的なコンポーネントパターンのようなものを実現したと思っていました
しかしこれらは設計として非常に便利なのですが、保持している変数が同じ値を参照してしまいspankbangます
そのせいで別々に実体化した敵キャラが同時に死んだり、同じタイミングでqueue_free()
されてしまい困ります
これを防ぐにはどうしたら良いのでしょうか……?
Resourceを個別に実体化する等はは可能なのでしょうか?
どうか教えていただきたいです
簡単な設計としては以下のようなものです
stats.tres
∟var hit-point
∟func Damage()→もしhit-pointがゼロになったらHP-is-ZEROをemit
∟signal HP-is-ZERO
Enemy.tscn
∟@export var stats:Resource→インスペクタ上でstats.tresをドラッグドロップ
∟func _ready()→ HP-is-ZEROをPopにコネクト
∟func Pop()→自身をqueue_free()
変数のヒットポイントは全てのEnemyインスタンスで共通してしまい、シングルトンを参照したみたいになってしまいます……orz
おそらくシグナルも同時に飛ばされている筈……

796:名前は開発中のものです。
24/01/25 22:52:46.31 axJhZZr6.net
え?リソースを直接書き換えてるってこと?
定数データとして扱うか、
敵の数分リソース作るかじゃないの

797:名前は開発中のものです。
24/01/26 00:59:46.32 d6qv4EnY.net
インスペクターでstatus.tresクリックしてResourceのresource_local_to_sceneにチェックいれてみるとか?

798:名前は開発中のものです。
24/01/26 09:31:17.61 pEZdi1Q8.net
>>787
この方法でズバっと解決しました!
助かりますありがとうございます😭
色々な方法を考えていただいた方々にもお礼申し上げます🙇

799:名前は開発中のものです。
24/01/26 13:05:50.93 xQgIMHCZ.net
逆に見た目から作るのもありなのかな?
ホワイトボックスだと面白くないものな

800:名前は開発中のものです。
24/01/26 17:31:23.00 V6GPPkOR.net
>>784
中学生がこんなの書いてるのか、すごいな・・・
ペーペーだから買ってみようかな

801:名前は開発中のものです。
24/01/26 19:17:55.73 4q31+VlN.net
ゲームのルールが思いつかない

802:名前は開発中のものです。
24/01/27 03:19:51.12 iAyWuXN8.net
一般書にない様なニッチな本とか技術書展では結構出てるからBOOTHはマイナー技術関連の漁り場にしてる

803:名前は開発中のものです。
24/01/27 06:26:37.52 23WZBn1j.net
確かに凄いが初心者向けの本でSwitchでゲームが動くってのは誇張表現じゃないかなと思うな
こないだ本屋でGodotの解説書が売っているの見たし流れ来てるな

804:名前は開発中のものです。
24/01/27 06:39:03.77 JYsp1BmQ.net
clamp関数とかprint関数とか、どの言語にでもあるような基礎的な関数?ってのは、リファレンスにはないのが普通なんですかね?

805:名前は開発中のものです。
24/01/27 07:13:19.05 23WZBn1j.net
リファレンスとはどこの何を指して言ってる?ここに書いてあるぞ
URLリンク(docs.godotengine.org)
ゲームエンジンだから何でも揃っている訳でもないな

806:名前は開発中のものです。
24/01/27 09:21:44.25 JYsp1BmQ.net
低スペには最高のエンジンだね
 ありがたい

>>795
そうです 公式のリファレンスにないかなと

807:名前は開発中のものです。
24/01/27 09:37:24.12 JTv+Mbby.net
>>796
URLリンク(docs.godotengine.org)
URLリンク(docs.godotengine.org)

808:名前は開発中のものです。
24/01/27 09:51:29.91 23WZBn1j.net
ここに書いてある
URLリンク(docs.godotengine.org)
「はじめに」にはこう書かれている
URLリンク(docs.godotengine.org)
>クラスリファレンスのドキュメントがエンジンのスクリプトエディター内から直接閲覧できるようになりました。
>すべてのクラス、関数、シグナル等の情報をここで見つけることができます。
[ヘルプを検索]を選べば検索ウインドウが開く
ショートカットはF1またはキーワード上でCtrl+Middle

809:名前は開発中のものです。
24/01/27 09:53:08.51 23WZBn1j.net
間違えたMiddleでなくてLeftだ

810:名前は開発中のものです。
24/01/27 10:02:27.75 JYsp1BmQ.net
>>797
ありがとう
こういうのはエンジン特有の関数でもないって扱いなんですかね

811:名前は開発中のものです。
24/01/27 13:26:22.03 wV1JVaXK.net
この手の数学関数とかはどこでも必須なのであるよ

812:名前は開発中のものです。
24/01/27 13:51:11.15 JYsp1BmQ.net
ありがとう 頑張って完成させるど クソゲーを

813:名前は開発中のものです。
24/01/27 16:39:57.30 JYsp1BmQ.net
godotに戻ってきて良かった
軽いのは正義
開発へのハードルが低くなる

814:名前は開発中のものです。
24/01/27 18:57:58.89 iAyWuXN8.net
エディターの構成とかスクリプトとの連携とか全体的にGodotの方が洗練されてるんだよな
Unityはデファクトスタンダードでアセット類が多いってだけで作り的には大分とっ散らかってる

815:名前は開発中のものです。
24/01/28 00:05:29.05 ikqtEjYO.net
キャラクターボディとスタティックボディの衝突シグナルはどうやれば取れますか?
ドキュメントを探してみましたがそれらしいものがリジッドボディしか見つからず困っています

816:名前は開発中のものです。
24/01/28 00:31:53.80 gcvmSnRI.net
>>805
シグナルじゃなくてmove_and_なんとかの返り値や関連メソッドで判別する

817:名前は開発中のものです。
24/01/28 00:51:02.57 ikqtEjYO.net
>>806
ありがとう 無事見つかりました

818:名前は開発中のものです。
24/01/28 02:59:52.94 JWmTbwcH.net
他ツールでも結局最終的に頼りにしてるのは公式ドキュメントのサンプルコードな自分
個人サイトとかだと参考にはなれど権利とかライセンスがとかめんどくさくてさあ

819:名前は開発中のものです。
24/01/28 05:59:32.89 pEcrIiHG.net
get_tree().paused = trueでポーズ画面作ってるんですが、get_tree().paused = falseで戻せないです
入力受付なくなるのでプロセスが止まっているらしいです
入力も受け付けなくなる感じ?

820:名前は開発中のものです。
24/01/28 06:15:45.02 TmRS1aaH.net
_process()は止まるけど_input()側で入力受付出来なかったっけ

func _input(event):
 if event.is_action_pressed(入力キー):
  get_tree().paused = !get_tree().paused

821:名前は開発中のものです。
24/01/28 06:22:43.03 pEcrIiHG.net
ありがとうございます
ポーズ画面作る場合はpausedを使うのでいいんですかね?

extends Node2D


# Called when the node enters the scene tree for the first time.
func _ready():
get_tree().paused = true

# Called every frame. 'delta' is the elapsed time since the previous frame.
func _input(event):
if Input.is_key_pressed(KEY_A):
get_tree().paused = !get_tree().paused
print("release")

今試したんですが、インプットでも受け付けないみたいです

822:名前は開発中のものです。
24/01/28 06:56:49.98 TmRS1aaH.net
>>811
すまねえこういう事だった
ノードのProcessModeがWhenPausedかAlwaysじゃなきゃ_processも_inputも止まると
URLリンク(docs.godotengine.org)
ちゃんと一時停止の例まで載ってた

823:名前は開発中のものです。
24/01/28 09:59:31.41 pEcrIiHG.net
>>812
ポーズモードという仕組みあるんすね
ありがとうございました
リファレンス避けてた自分が悪かたです

824:名前は開発中のものです。
24/01/28 12:20:57.94 pEcrIiHG.net
gptくんグーグルより的確すぎる

825:名前は開発中のものです。
24/01/28 13:07:14.42 pEcrIiHG.net
func _on_body_entered(body):
fail_text.visible = true

get_tree().paused = true
await(get_tree().create_timer(2).timeout)



get_tree().reload_current_scene()
get_tree().paused = false

衝突したときにリトライ処理をさせたいのですが、こういうコードの書き方だとシーンがリロードされたあとにbodyenterdが呼ばれるので、エラーになりますよね。
シーンがリロードされる前にポーズモードを戻したら解決ですが、シーンりろーどで単純にbodyenterd関数が破棄されると考えればいいんでしょうか?
シーン周りが難しい、、、

826:名前は開発中のものです。
24/01/28 17:01:51.13 pEcrIiHG.net
4.21になってからノード追加するときとか数秒もたつくな

827:名前は開発中のものです。
24/01/28 17:51:17.28 pEcrIiHG.net
スクリプトのついていないノードを複数取得して、同じ回転を適用するみたいなことは出来ないかな?
これは別シーンで作って呼び出す形でやるのかな?プレファブ的な

828:名前は開発中のものです。
24/01/28 22:35:32.81 YtecBqKa.net
Object.get_script でnullが返るノードを処理すればいいけど
グループに入れておい一括処理すればいいんでね

829:名前は開発中のものです。
24/01/29 05:49:50.26 Egx9C970.net
>>818
ありがとう
多分一般的なやり方じゃないですよね
同じものを使いまわしたいならプレハブ化(シーン)するのが一番ですよね

830:名前は開発中のものです。
24/01/29 05:57:27.51 Egx9C970.net
動きは共通で、大きさだけ変えたいなんて場合は、スクリプトだけ共通にすればいい感じだね
理解

831:名前は開発中のものです。
24/01/29 11:11:13.53 rbb+bJBP.net
スクリプトからインスタンス化すると2つ目以降のノード名がへんてこになるからどうやって取得したもんかと思ってたけど
グループで行けたわ、なるほどありがとう

832:名前は開発中のものです。
24/01/29 16:55:20.19 Egx9C970.net
ゲームエンジンってどれも似たようなもんかな
将来、ユニティに戻るかもしれんし

今は軽さ、手軽さ重視
pcもちょい古いしな(*´ω`*)

833:名前は開発中のものです。
24/01/29 19:48:28.24 Egx9C970.net
godotってノードの一時的な無効化って出来ないのかな?
目玉マーク押すと非表示にはなるけど、コリジョンとか残ってるし

834:名前は開発中のものです。
24/01/30 02:03:18.66 qihJ4G8z.net
基本的には似たようなもん
覚えた要素がアップデートで変わるだけで混乱する人も居るので人による

835:名前は開発中のものです。
24/01/30 10:12:53.04 94z45r+P.net
>>823
目玉マークは視覚的に消すだけなんだね
コリジョンなんかの機能を消すには、プロセスのdisableか

>>824
どうも

836:名前は開発中のものです。
24/01/30 12:17:23.37 94z45r+P.net
動く床と壁粘着ってけっこうめんどいな
動く方向が同じだとひっついてトレなくなる

837:名前は開発中のものです。
24/02/01 10:46:34.11 d1tWUBD1.net
エラーしたコード書くとウインドウがフリーズするけども、いちいち閉じるのが面倒なんですが、unityのようにエラーがあったらプレイ出来ないような設定にできますかね?

838:名前は開発中のものです。
24/02/01 13:03:53.68 RbvII5uE.net
状況が判らないなエラーコード書いたらハイライト表示されてフリーズはしないが

839:名前は開発中のものです。
24/02/01 15:11:31.28 d1tWUBD1.net
親ノードのスクリプトから子ノードを取得して、子ノード(rigidbody2d)のメソッドを使いたいのですが、この場合はオートコンプリートは出ないものですか?(apply_impulse)
子ノードにスクリプトつけて、そこからなら効くんですが

>>828
プレイ画面のことでした
エディターのエラーを見て実行しなければいいだけなんですけどもね

840:名前は開発中のものです。
24/02/01 15:57:12.68 RbvII5uE.net
ノードをget_nodeで取得していると仮定するとこうかな
var node = get_node(path) as RigidBody2D

エラーがあっても可能な限り止まらないで動作させるポリシーらしいので
動かす動かさないは利用者に委ねられるのでしょう

841:名前は開発中のものです。
24/02/01 19:13:23.54 wFSVR3t/.net
みんなgodotでシコシコどんなゲーム作ってるん?
ちなみに俺は何も作ってない

842:名前は開発中のものです。
24/02/01 19:51:19.77 d1tWUBD1.net
>>830
その書き方でいけました
しかし、readyの中だと出るのにprocessの中だとでません
これって正常な仕様なんでしょうか?

843:名前は開発中のものです。
24/02/01 20:58:13.75 2YEqIkXl.net
var a : RigidBody2D
こうじゃないの
ダックタイピングしないときは型は書いた方がいい、可読性が全然違う

844:名前は開発中のものです。
24/02/01 21:13:34.80 Fw0MlK/N.net
短くしたかったので一行に纏めたのが良くなかった
宣言と初期設定と使用が分かれるならこんな感じ
_readyの中で型指定しても_processからは見えないから上位で型指定する
var node:RigidBody2D
func _ready()
node = get_node(path)
func _process(_delta):
node.apply_impulse(impuls)

845:名前は開発中のものです。
24/02/01 22:23:33.00 9xF8Tfdc.net
>>831
寒いからやってない
ローグライクゲームのダッシュって実装がめんどくさいな

846:名前は開発中のものです。
24/02/02 00:02:58.39 csXE6Gch.net
自分はreadyの中でよそのシーンをインスタンス化しても何故かシーンツリーに登録されないから
だんだんready使わなくなったなあ
readyは全ノード読み込み済みの最初のアップデートと云うけれど、なんか挙動が掴み切れないというか

847:名前は開発中のものです。
24/02/02 01:00:55.38 1cSrS8bV.net
多分ノードツリーを変更する場合はcall_deferredを挟むのと良いのではないかな?知らんけど

848:名前は開発中のものです。
24/02/02 01:57:44.07 csXE6Gch.net
>>837
こんな感じに書き換えたら行けましたぞ
ありがとう!
func _ready():
node = node_scene.instaniate()
get_tree().root.call_deferred("add_child, node)
ちなみにルートにぶら下げないで、単に
func _ready():
node = node_scene.instaniate()
add_child(node)
って書いても無事にインスタンス化された
ルートの準備okなタイミングがスクリプトより遅いとかそんな感じなのかな

849:名前は開発中のものです。
24/02/02 02:19:14.30 1cSrS8bV.net
root配下の全ノードを処理している最中にノードの変更があった場合にどうするのが正しいのか?
ノード変更のタイミングによってノードがあったりなかったりすると不安定な挙動になる
なので確実に_readyや_process等のノード処理の完了後に動作させる為にcall_deferredを使う
add_child(node)で動くのはたまたまな可能性があるのでcall_deferredお勧め

850:名前は開発中のものです。
24/02/02 02:27:59.11 1cSrS8bV.net
ソースを見てないので推測だが一般的にツリーノードは再帰処理で回しているはず
root直下のノード群は最初に取得済となって後から追加しても無視されると思われる

851:名前は開発中のものです。
24/02/02 05:57:16.86 KtCPrk0G.net
>>834
ありがとう
自動型つけってこういうデメリット?があるんですね。自動で取得したノードの型まで取ってくれるわけではないのはなぜなんでしょうか。
あと、型つけ忘れたりありますが、gdscriptで型付け強制出来ますかね

852:名前は開発中のものです。
24/02/02 11:21:24.43 HJWQqSOJ.net
>>835
ダッシュって次の曲がり角までスキップ(早回し?)するアレ?
ローグライクって周りのマス参照したりターン制御したりダンジョン自動生成したり複雑だよな
俺も作ってみるか

853:名前は開発中のものです。
24/02/02 13:26:01.70 1cSrS8bV.net
>>841
ノードの型は実行時に取得するまで判らないので編集時はコードから判断される
型指定は宣言時に自分で行う
宣言時に初期設定も終わらせるなら
var rigidbody := get_node(path) as RigidBody2D
で宣言時の型指定を省略できる
付け忘れ対策はlintの様な外部ツールを使うしかないと思う
便利機能安全機構が増えるほどプログラムサイズは大きくなり処理は重くなる
GodotEngineは軽量な点が魅力なので標準でなくて構わないと自分は思う

854:名前は開発中のものです。
24/02/02 13:56:07.61 SAYqJfSZ.net
>>843
調べたらプロジェクト設定 debug/gdscript/warnings/untyped_declaration を errorに設定するとエラーになるっぽい
使うならエディタ設定の型ヒントをオンにしたほうが良さそう
他にも使えそうな警告がいっぱいあった

855:名前は開発中のものです。
24/02/02 14:04:57.68 1cSrS8bV.net
エディタの設定だと思ってプロジェクトの方見てなかったありがとう

856:Oは開発中のものです。
24/02/02 14:30:28.27 KtCPrk0G.net
>>843
明治してやらないと駄目なんですね そう受け入れます
untyped decralationを設定したらそうなりました
ありがとう(*´ω`*)
unityと併用すること考えたら型付けしといたほうがいいですね

857:名前は開発中のものです。
24/02/02 14:41:20.81 KtCPrk0G.net
スクリプトのデフォルトコードって型付けされたものになるもんですか?
自分の環境ではならないです

858:名前は開発中のものです。
24/02/02 14:51:05.77 bD7U8OGn.net
ローグライクみたいなコテコテの2DRPGならjs使えるツクールの方が向いてるんじゃないの
作るなとは言わんけどシステム的に要求が多すぎて挫折しがち

859:名前は開発中のものです。
24/02/02 15:21:56.69 1cSrS8bV.net
試しに今触ってるプロジェクト設定のuntyped_declarationを変更してみたが後から変更だと修正キツイ
他のIgnoreになってる設定を有効にすると更にキツイ
自分が使うなら開発開始時にuntyped_declarationを有効にするまでかな
>>847
デフォルトコードの意味が解らんのでエスパーするが変数宣言は以下の様な書き方ができる
var a #Variant型になる
var a = 0 #Variant型になる
var a:int = 0 #int型になる
var a: = 0 #設定値の型が適用されるつまりint型になる

860:名前は開発中のものです。
24/02/02 15:29:23.51 bD7U8OGn.net
型付けもライフサイクルもドキュメント見りゃ大体丁寧に書いてあるけど皆そんなドキュメント見ないのかな

861:名前は開発中のものです。
24/02/02 15:36:21.15 zgD08SYH.net
他の言語触った事ない(GDが初めて)ならドキュメントの見方読み方もよくわかんないんじゃない

862:名前は開発中のものです。
24/02/02 15:42:57.64 1cSrS8bV.net
自分で調べられる人は質問しないから質問が多く見えるのだと思う

863:名前は開発中のものです。
24/02/02 16:00:24.46 Qx6M1fJu.net
あくまで主観だけどGodotのドキュメントは他の言語に比べて大分分かりやすい方だと思う
質問多いのは構わないけど書いてあるのに読まない知らないはドキュメントが勿体ないなと

864:名前は開発中のものです。
24/02/02 16:06:24.58 1cSrS8bV.net
Godotのドキュメントは読みやすいし使いやすいと思うが
使いたい関数がリファレンスに無いのかって質問にリファレンスに書いてるって答えても調べてくれないからな
調べ方を書いても反応なかったのでどうしていいか判らんな

865:名前は開発中のものです。
24/02/02 16:17:53.99 SAYqJfSZ.net
デフォルトコードうんぬんはエディター設定の型ヒントを追加のやつじゃないかな
スクリプトテンプレートにも型が付くようになる

866:名前は開発中のものです。
24/02/02 16:28:33.73 1cSrS8bV.net
あーそういうことね完全に理解した

867:名前は開発中のものです。
24/02/02 17:38:12.48 KtCPrk0G.net
>>849
スクリプトを新規作成したときに、readyとprocessに自動的に型を指定してほしいなと できれば
しかし、gdscriptでも型付けというのはしたほうがいいんでしょうか?
そのほうがトラブルは少なそうですが

868:名前は開発中のものです。
24/02/02 18:18:56.37 1cSrS8bV.net
>>857
>>844
>使うならエディタ設定の型ヒントをオンにしたほうが良さそう
が答えで[エディタ設定][テキストエディタ][自動補完][型ヒントを追加]でわかるかな?
構文チェックはあればあるほどバグが入り込みにくくはなるけど不便になっていくので
個人や組織で必要に合わせて調整するもの
自分の感覚だとuntyped_declarationと型ヒントを追加を有効にするが実用範囲だけど
これだけでもタイプ量と言語知識の要求が増えるのでコーディング難度はあがる

869:名前は開発中のものです。
24/02/02 18:40:18.28 KtCPrk0G.net
>>858
どうも、英語情報調べてるだけじゃ分からん情報でありがたい
このスレも賑わって嬉しい
1週間程度のそんな大きくないプロジェクトなので、untyped declarationなしで、部分的に型付けを使う方式にしたいと思います
混合しないほうがいいのかもですが

870:名前は開発中のものです。
24/02/02 21:32:41.15 KtCPrk0G.net
godoもなんかたまに重いことがあるな
本体とプロジェクトのサイズが小さいだけで、動作の軽快さってのはそんな変わらん?

871:名前は開発中のものです。
24/02/02 22:23:34.27 1cSrS8bV.net
GDScriptは他のコンパイル言語と比べて処理速度は遅い
速度が必要な処理はC#やGDExtensionで多言語に処理を投げる
がしかし個人製作の場合はこれが問題になる事は少ないだろうと思う

プログラムは適当に書いても動くが性能を求めるなら効率の良いコードを書かなければならない
プロファイラーを使うか自前コードで計測して遅い部分を把握する
URLリンク(docs.godotengine.org)

適当エスパーしとくと
_processの様な頻繁に呼ばれる個所では可能な限りループ処理はしない
リソースは動的に呼び出さない参照は最短で最低限にする
高性能なGPUを持ってなく機能も使う必要がないならレンダリング-レンダラーを下位の物に下げると良いかもしれない

872:名前は開発中のものです。
24/02/02 22:29:30.47 zgD08SYH.net
多分エディタの動作の話だと思う

873:名前は開発中のものです。
24/02/02 22:38:56.98 1cSrS8bV.net
エディタだと大本の環境依存すぎて難しいな不便だけど自動補完を切るとかかな?

874:名前は開発中のものです。
24/02/02 23:26:26.89 1cSrS8bV.net
環境の話題ついでだけどAndroidでもRaspberryPiでも動くから
重くて不便な環境で嫌気差す可能性もあるが
安上りな教育環境として利用できるかもしれないと思いましたまる

875:名前は開発中のものです。
24/02/03 06:30:44.33 AdVKjLlX.net
バージョン4になってから微妙にもたつく様になったと思う
unityとエディタの重さ自体は変わらん感じ
プロジェクトの小ささはいいけどね

876:名前は開発中のものです。
24/02/03 10:56:58.90 AdVKjLlX.net
gptがコードの間違い探してくれるのは助かる
無能だからコードのエラーが解決出来ない

877:名前は開発中のものです。
24/02/03 12:41:18.07 nzYZB8x1.net
エディタはUIを詰めれる感じはするね
Unityからくると余白の大きさにびっくりする
あとアニメ画面が操作メニューと設定同じ位置に表示されてたり(Ver3のがマシ)
日本語表示でFPS隠れてたり

878:名前は開発中のものです。
24/02/03 14:51:55.13 xJ6rlQCu.net
3万円で買った6年前のThinkPadでも余裕で動く
何ならブラウザで30個タブ開いてチュートリアル動画流しながらでもギリ動く

879:名前は開発中のものです。
24/02/03 15:24:11.77 AdVKjLlX.net
しかし、軽くてありがてぇ
シンプルでありがてぇ
unityはメニュー多すぎてパンクする

880:名前は開発中のものです。
24/02/03 18:17:19.42 AdVKjLlX.net
staticobdyって当たり判定にはあまり使わない?
area2dのほうがそれ用のシグナル多いし
すり抜けじゃなくて、衝突はさせたい

881:名前は開発中のものです。
24/02/04 12:38:01.58 SE6INxAw.net
self自体に型付けってありますか
self.apply_central_force()
こうselfをつけると補完が出ないですので、selfに対して型付けが必要なのかも
>>870

882:名前は開発中のものです。
24/02/04 16:48:41.77 SE6INxAw.net
コリジョンマスクって衝突させるものと、衝突されるものを、双方向に指定しないと挙動がおかしくなるもの?
片方からのみ指定すると挙動がおかしい
ただ、単にすり抜けるなら分かるけど、衝突はするという
ただ、衝突の結果がおかしい

883:名前は開発中のものです。
24/02/05 10:42:11.01 SIExHF/s.net
衝突判定で使うオブジェクトの違いはここら辺読めば良いんじゃない?
URLリンク(www.reddit.com)
URLリンク(code.luasoftware.com)
PhysicsBodyが衝突したとき片方はMaskオンで片方はMaskオフの場合
Maskオンは接触の影響を受けMaskオフは影響を受けない(ほぼStaticBodyと同じ)

884:名前は開発中のものです。
24/02/05 11:15:04.43 SIExHF/s.net
selfで補完されるものはconstやstatic指定された静的な物でメンバーが出ないのは理由があるのだろう
ピリオド押せばメンバーは表示される
そうでなければvar _self: = selfと変数宣言して_selfでアクセスすればそれっぽい結果は得られる

885:名前は開発中のものです。
24/02/05 13:14:04.42 Xd01vtLL.net
>>854
そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう

886:名前は開発中のものです。
24/02/05 13:14:53.16 Xd01vtLL.net
>>854
そういう人はサンプルコードまで提示しないとダメな教えて君タイプでしょう

887:名前は開発中のものです。
24/02/05 13:18:19.63 Xd01vtLL.net
GDScriptは
ほとんどPython
でも
defではなくfunc
変数も宣言しないと使えない
この辺りはゲームエンジンに必要な
処理速度に合わせている

888:名前は開発中のものです。
24/02/05 13:22:19.50 Xd01vtLL.net
Godot 2.0の頃から
ダウンロードしていたけど
Unity炎上の敵失とはいえ
5ch.netで
Godotを
議論する
時代が来るとは
驚きです。

889:名前は開発中のものです。
24/02/05 14:12:42.41 qsxLl75u.net
>>874
そうしないと出ない理由ってなんでしょうか?
selfって付けなくていいものでしょうか、お決まりとして付けていましたが

890:名前は開発中のものです。
24/02/05 14:27:58.42 Xd01vtLL.net
>>857
型付けした方が
トラブルが少なくなりそうなのと
処理速度の向上が期待できそうだけど
実際のところ
どうなんだろう?

891:名前は開発中のものです。
24/02/05 14:32:09.55 qsxLl75u.net
個人制作レベルで速度を気にしなくてもいいかなと、今のところ考えてます
まず完成目指さないと自分は

892:名前は開発中のものです。
24/02/05 14:39:16.98 SIExHF/s.net
何故お決まりと思ったのかが疑問だがselfを使う必要はまず無い
メンバ変数のsetgetを呼び出すのに使う例と古いconnect関数を使う例くらいしか見かけない
ローカルとメンバでやむなく同名使った時くらいしか必要ないと思うしそんな事はしない方が良い

893:名前は開発中のものです。
24/02/05 14:42:50.90 Xd01vtLL.net
>>881
完成品を作れないのに
いきなり
オープンワールドを作りたい、みたいな
初心者が多いよね

894:名前は開発中のものです。
24/02/05 14:43:39.91 SIExHF/s.net
いろんな説があると思うが自分はとりあえず動くものを完成させる派だな
最初から完璧目指すと計画変更が発生する事に耐えられなくなる

895:名前は開発中のものです。
24/02/05 14:49:50.07 Xd01vtLL.net
>>871
GDScriptのベースの
Pythonのselfを
確認してみるといいよ
URLリンク(www.sejuku.net)

896:名前は開発中のものです。
24/02/05 15:03:53.69 Xd01vtLL.net
>>884
自分も
完璧主義者の
エヴァンゲリオンの、碇ゲンドウは
ゲーム開発に向かないと思います。
碇ゲンドウはゲーム開発で
ストレスを溜めそう
け、計画と違うっ!

897:名前は開発中のものです。
24/02/05 16:07:52.38 Xd01vtLL.net
>>885
selfは
Javaのthisのような
自分自身を参照する感じかな

898:名前は開発中のものです。
24/02/05 16:31:24.84 Zfn+o/iC.net
アプリによって「マスク」の意味が
真逆だったりするのが落とし穴というか
マスク=見えるよ派
マスク=隠れるよ派

899:名前は開発中のものです。
24/02/05 16:39:32.70 qsxLl75u.net
>>885
機能的に意味があるというより、明示的に書いておくといいみたいな話を聞いたことがあります

900:名前は開発中のものです。
24/02/05 17:12:14.42 SIExHF/s.net
Pythonにおいてはクラス変数とインスタンス変数の使い分けで使う
GDScriptは変数宣言が必要なのでPythonの例は完全には適合しない
selfを付けると明示的にメンバ変数と判るくらいのメリット
気になってスタイルガイドを読んでみたがself句の説明はないな
URLリンク(docs.godotengine.org)
今まできちんと読んでなかったから自分が守ってない事が沢山あるのに気が付けたのは良かった

901:名前は開発中のものです。
24/02/05 17:14:13.08 SIExHF/s.net
不完全だけど日本語のページ
URLリンク(docs.godotengine.org)

902:名前は開発中のものです。
24/02/05 17:35:34.23 qsxLl75u.net
godotでテンプレート化って出来ますか?
スタート画面、ゴール画面といった使い回せる部分というのはあると思うんです
エクステンション化するとなるとC言語必要かもしれないし、だいたいそこまでやらずにテンプレ化する方法あるんでしょうか?
>>890
ありがとう
あまり気にしないことにする

903:名前は開発中のものです。
24/02/05 17:45:30.19 SIExHF/s.net
シーンとスクリプト、他に使っているファイルがあるならそれもコピーすれば動くんじゃない?
AssetLibでaddonsにインストールされてるのがそんな感じだから
addonsに置かないで自前テンプレート用フォルダ作った方が管理はし易いと思う
ついでに言っておくと自前スクリプトでも継承できるから理解できるなら効果的に使える

904:名前は開発中のものです。
24/02/05 17:47:21.83 qsxLl75u.net
あー、単純にシーンを使いまわせばいいのか
ありがとう

905:名前は開発中のものです。
24/02/05 20:49:48.86 NnXojcWk.net
「新しい継承シーン」という機能もあるにはあるが、あまり素人にはお勧めできないか

906:名前は開発中のものです。
24/02/05 21:55:26.36 Zfn+o/iC.net
ユニーク化を忘れてドツボに嵌る未来

907:名前は開発中のものです。
24/02/06 05:10:59.93 JvE5m64r.net
ユニーク化?

908:名前は開発中のものです。
24/02/06 06:26:02.94 JvE5m64r.net
area2dみたいに衝突シグナルを発生させたいけど、衝突もほしい場合って何を使うんですかね
staticbodyだと衝突シグナルがない
重力ゼロにしたrigid使ってみます

909:名前は開発中のものです。
24/02/06 09:34:51.74 /IuTkcBn.net
>>898
KinematicBodyダメ?

910:名前は開発中のものです。
24/02/06 10:23:39.64 JvE5m64r.net
ありがとう
調べてみたんですがmouse_entered系しかなかったです
rigidが衝突したときにシグナル出してほしいなと

911:名前は開発中のものです。
24/02/06 11:20:05.65 /IuTkcBn.net
>>900
目的の情報か分からんけど
URLリンク(2dgames.jp)

912:名前は開発中のものです。
24/02/06 11:42:29.02 oRasG0kH.net
【Godot4.x】RigidBody2Dで衝突の検知をする方法
URLリンク(2dgames.jp)
要点の検索キーワードでヒットするのならこれじゃね?

913:名前は開発中のものです。
24/02/06 12:17:36.10 ANH4dfBB.net
スクリプトのコメントで日本語入力すると、漢字が中国語になってるのが気持ち悪いんですけど
エディター用の日本語フォントの設定ってどこにありますか?

914:名前は開発中のものです。
24/02/06 12:38:24.71 oRasG0kH.net
それが探せないなら開発ツール使えなくない?

915:名前は開発中のものです。
24/02/06 12:48:24.96 ANH4dfBB.net
>>904
「コードのフォント」以外のどこにあるのでしょうか?

916:名前は開発中のものです。
24/02/06 13:04:19.49 oRasG0kH.net
そこで使いたい日本語フォント指定すれば変わるでしょ

917:名前は開発中のものです。
24/02/06 13:26:42.61 wPsMdP87.net
has_method・has_signalって処理重いかな
ダックタイピング慣れなくて書きたくなるんだが

918:名前は開発中のものです。
24/02/06 19:49:17.06 ANH4dfBB.net
>>906
日本語フォントにするとインデントが狭くなって逆に見づらいし~・・・
と思ったのですが、ふとインデントの調整については調べてなかったと気づいてちょっとググったらすぐ出てきました・・・。
ビヘイビアという馴染みのない単語の項目はうっかり見落としておりました。
メイリオフォントにしてインデント幅とか微調整したらすごく良い感じです。
結局解決できましたので、どうもありがとうございます。
でもほんとにこんなんでエディタ使ってるのはダメだなって反省します・・・

919:名前は開発中のものです。
24/02/06 20:08:48.96 oRasG0kH.net
言っている意味がやっと解ったわ
等幅フォントとかコーディング向けフォントとかでフォント探すと良いよ

920:名前は開発中のものです。
24/02/08 01:13:49.66 j9jLRCB1.net
聞く前に調べる力は付けよう

921:名前は開発中のものです。
24/02/08 05:34:54.60 Vhb0pCFt.net
ここで聞くのは調べる内に入らないのかな?

922:名前は開発中のものです。
24/02/08 07:15:25.98 /YSSiyRj.net
ricty deminishedとかsource code proとかだね

923:名前は開発中のものです。
24/02/08 07:36:58.26 SzEhrq/+.net
source code proは中華フォントで表示されるのでSource Han Code JPの方が良いと思う
パックされているから分解する必要はあるけど

924:名前は開発中のものです。
24/02/08 12:51:57.41 nTVw6wG1.net
フォントどうしてたっけな~と思って設定見たが
サイズ以外初期のままだったわ
皆わざわざ変えてんのか

925:名前は開発中のものです。
24/02/08 13:00:38.24 DA4sH8rT.net
1週間で作成してるゲーム完成しなかったら仕切り直す?
いやまあ完成したけど、クソつまらない物体になる

926:名前は開発中のものです。
24/02/08 16:16:49.25 ko5ildpW.net
>>914
反対や直接と書いた時の文字形状が気にならないならデフォで良いんじゃない?
自分は気が付いてなかったからデフォで使ってたが知ってしまうと気になるな

927:名前は開発中のものです。
24/02/09 16:46:14.63 uv6SGhPR.net
立ち絵の表情差分をsprite2Dで用意して素体・目・眉・口・装飾画像を子ノードで作って
変数で合成して呼び出すみたいな事ってこのソフトでできますか?
NaninovelのLayered Actorsイメージ

928:名前は開発中のものです。
24/02/09 19:58:09.99 v7ISzv0e.net
godotでマグネットは簡単に作れる?
吸着と反発を作りたい

929:名前は開発中のものです。
24/02/09 22:05:37.61 WHJ0Y9oI.net
マグネットのような物でよければ簡単
ball.apply_central_force(magnet.position - ball.position)
これだと磁力=距離なので適宜修正は必要

930:名前は開発中のものです。
24/02/10 10:46:06.88 DpmQLMLS.net
ありがとう
単純にforce系でいいのね
パチッという感触を表現するのは難しそうだけど、加速度かなそのへんは

931:名前は開発中のものです。
24/02/10 11:37:18.28 EKmsttfr.net
瞬間的に張り付く速度だとすり抜けを考慮する必要がでてくる
磁性体一つで引き寄せ不要で張り付くだけならRaycastで接触点に移動すればいい
なんだったら単純にpositionのコピーでもいい
やりたい演出で必要な処理が変わる

932:名前は開発中のものです。
24/02/11 23:31:48.45 I7qROjnC.net
URLリンク(i.imgur.com)
3.5で作りかけてた見下ろし型ゲームをこりゃダメだと思って、使えるキャラ素材は使い回して
敬遠してた4.0に切り替えて2Dアクション作ろうと2か月がかりでようやく基礎がほぼできた……
崖とか壁にはみ出す影をどうにかしたかったけどクソ面倒で無理なので影は諦めたり、
見下ろし型と全然違うvelocityの制御とかに苦労しまくった
4.0から機能も全然変わってていろいろ困った

でもgodotはゲーム制作なんて初めての俺でもかなり分かりやすくてありがたい
22年前に専門学校でC++でテトリス作らされて以来だけど、こんなガンプラ感覚でちゃんとゲーム作れるのすげえ時代だわ

933:名前は開発中のものです。
24/02/12 01:28:04.61 0HZpI5l+.net
凄いね自分なんか頭でっかちで手動かさないからプログラムも動かないw
便利オブジェクト並べたら動くのは確かに楽だけどC++の知識は役に立ちました?
GDScriptやクラス概念の理解には役に立ったのではと思うのですけど

934:名前は開発中のものです。
24/02/12 02:23:49.78 xmqspZY4.net
専攻外の授業だったのでC++の知識は全く覚えてなくて、
しいて言えば工業高校でやったフォートランやアセンブラで
四則演算程度の超基礎プログラミングを勉強してた記憶の方が役に立ってる気がするw
integer、real(float)、go to~ みたいな

当然オブジェクト指向云々もクラスも具体的には全然わかってないです
結局bool変数でなんとかしてるパーツ


935:ばっかりですし 検索でヒントを探し出す根気とグーグル翻訳がありゃなんとかなります!



936:名前は開発中のものです。
24/02/12 02:39:44.13 0HZpI5l+.net
言語違っても既に言語の基礎は習得してたって事ですね納得しました
クラスの理解なんてプロパティに値を設定できてメソッドが呼べれば十分かと
何よりもここまでやると思った所まで作る熱意が続く事が大事だと思います
元気貰えた気がしますありがとう
よし明日から頑張ろう

937:名前は開発中のものです。
24/02/12 08:28:51.15 7WGC4HdE.net
モデリングの手間が少なくすむ3dゲームのアイデアとかある?
なんちゃら通路みたいなループ系はなるほどなと思った

938:名前は開発中のものです。
24/02/13 10:03:42.08 j1du3Ri/.net
godotってプリミティブな図形は入ってないんですかね?

939:名前は開発中のものです。
24/02/13 10:04:27.34 j1du3Ri/.net
普通にメッシュインスタンスに入っていた

940:名前は開発中のものです。
24/02/13 14:27:00.35 j1du3Ri/.net
ちわす
ボール同士が合体する仕組みを作りたいです
例えば、1と2が衝突したら、加算されて3のボールになるという感じです
1と2は消滅します
スイカゲーム的な合体を作りたい感じですね
このとき、1か2にシグナルを仕込むのですが、両方にシグナル付けずに、片側から判断するんでしょうか?

941:名前は開発中のものです。
24/02/13 15:21:43.43 UdYgXfq3.net
同じもの同士が合体しないのであれば片方からだけでもいいと思う
接触判定やシグナル送り自体は全部やって番号で合体させるかどうか判別させる方が応用は効くかも

942:名前は開発中のものです。
24/02/13 19:44:15.20 buz/jqFh.net
ワイも>>930に同意
とりあえず全部にシグナル仕込んどけば考えなくて済むうえ
仕様変更に強い

943:名前は開発中のものです。
24/02/14 05:04:22.29 NM7yugQr.net
どうもです
共通の球体を用意しておいて、そこに共通のスクリプトをつけて、そのベースを元にして1,2,3という球体を作る感じですね
書き方はgptに聞いてみます

944:名前は開発中のものです。
24/02/14 06:11:28.55 NM7yugQr.net
ゲームサクサク作れるようになったら楽しいんだろうな

945:名前は開発中のものです。
24/02/14 06:21:19.08 NM7yugQr.net
数字を加算するような仕組みを作る場合は、例えば1から1000まで すべての画像用意するのは大変だから、テキスト系を使うのかな

946:名前は開発中のものです。
24/02/14 09:49:47.14 mw6Y9l6K.net
デザイン重視なら数字画像を用意しておいてテキストのように組み合わせる方法もあるから

947:名前は開発中のものです。
24/02/14 09:56:56.13 NM7yugQr.net
ありがとう
数字画像はどっかから拾えばいいか
内蔵テキストを背景に組み合わせてもいいやもね

948:名前は開発中のものです。
24/02/14 12:15:44.01 NM7yugQr.net
contact monitorの設定めんどいな
設定しないとbody_enteredが効かない
うっかり

949:名前は開発中のものです。
24/02/14 14:51:33.21 ghvh5+Kq.net
Area2Dの衝突を即座に検知する方法ってないですか?
攻撃判定が食らい判定に重なったらダメージモーションに移行っていう当たり前のやつをやりたいんだが
ノードの移動変形が反映されて見た目では完全にパンチ食らってる状態なのに
衝突判定が更新されてなくて棒立ちのまま……っていう瞬間が1フレームだけ生まれてしまう

950:名前は開発中のものです。
24/02/14 16:49:25.91 NM7yugQr.net
URLリンク(www.gdquest.com)
ここに書いてることでどうにかなる?

951:名前は開発中のものです。
24/02/14 18:33:23.99 ghvh5+Kq.net
>>939
悪いけどどこに解決の糸口があるのか分からんかった
すまん

952:名前は開発中のものです。
24/02/14 19:19:55.73 Il63QURN.net
>>938
どうやってモーション管理してるかによるのでは
ステートマシンで制御したら?

953:名前は開発中のものです。
24/02/14 19:23:25.99 NM7yugQr.net
すごく初歩的な質問だと思うんですが、シグナルがこれで発火しないのはなぜでしょうか?
以下のコードをrigidbody2dにつけていて、staticbodyに衝突したときに発火するようにしてます
チュート見てるとコードからシグナルを使っているパターンがあるので、勉強中です
func _ready():
self.connect("body_enterd",_on_body_entered)
func _on_body_entered(body: Node) -> void:
print("hit")

954:名前は開発中のものです。
24/02/14 19:46:45.22 vNLstP6c.net
godot4だと
シグナル自身がconnectする形じゃないっけ?
hoge_signal.connect(hoge_method)

955:名前は開発中のものです。
24/02/14 21:22:02.42 unr7G+lU.net
>>938
->Area2Dの衝突を即座に検知する方法ってないですか?
無い、Area2Dは物理サーバーだかの更新時に一斉に判定されるからワープ直後にいきなり判定とかは無理
Area2Dを毎フレーム動かしてるなら_physics_processを使った方がいい
状況がよくわからないがどうしても気になるなら最大FPSとか物理ティックをいじるしかないんじゃない

956:名前は開発中のものです。
24/02/14 23:25:34.65 ghvh5+Kq.net
>>941
一応ステートマシンは使ってるけどステート遷移条件としてのarea_enteredシグナルが発信されるまでのラグに困ってる感じです
>>944
やっぱキツいですかね……
基本的に_physics_processで動かすようにしてるのでそこは間違えてないハズ……AnimationPlayerとかもPhysicsモードにしてるし
ティック弄るのは試してなかったから調べてみます

957:名前は開発中のものです。
24/02/14 23:40:24.44 bOM0D0dU.net
見た目上攻撃受けてるけどダメージモーションは次のフレームからって状況は商業ゲームとかでもわりと普通の挙動な気がする

958:名前は開発中のものです。
24/02/15 00:08:37.04 U+ib019H.net
気にしてるのは制作者だけってパターンもあったりするし
実際どういう挙動なのか見ないと何とも言えないけど

食らい判定をもう1つ追加して実際のダメージ判定より前に置いて、
攻撃がボディに当たる手前でモーションだけ変化させてタイムラグごまかすとかどう?

959:名前は開発中のものです。
24/02/15 06:09:52.29 I2lSz8t6.net
>>943
シグナル自体がコネクトというのはどういうことですか
リファレンスあれば教えて下さい

960:名前は開発中のものです。
24/02/15 09:02:19.52 C6Jtia7P.net
そうなるともう公式をよく読んでとしか

961:名前は開発中のものです。
24/02/15 09:29:38.23 4oQt/aCU.net
エスパーの時間だ!コラァ!!
>>942で発火しないのは>>937じゃなくて?
>>948>>942のconnectの書き方が古くてgodot4では>>943の書式ではとの指摘
リファレンスはGodotEngine起動してF1キー押して検索キーワードにconnectと打ち込めば候補がでるから
ObjectのconnectとSignalのconnectを読むと良い

962:名前は開発中のものです。
24/02/15 11:40:24.02 I2lSz8t6.net
>>950
どうも
contactmonitorの設定は大丈夫なので、コードの書き方だと思うんですよね
ヘルプでコネクトしらべました
connect(signal: StringName, callable: Callable, flags: int = 0)
リファレンスにはないし、どっち見ればいいのかわからないですね
第一引数は名前で、第二は_on_body_enteredというシグナル名、第三はよくわからないので書いていません

963:名前は開発中のものです。
24/02/15 11:48:30.03 I2lSz8t6.net
ごめんなさい
単純に関数の引数と型とか書いてないのが悪かったみたい
これないだけで動かなくなるんだ
func _ready():
connect("body_entered",_on_body_entered)
func _on_body_entered(body:Node)->void:
print("hit")

964:名前は開発中のものです。
24/02/15 12:10:06.93 4oQt/aCU.net
connectはgodot4を使っているならSignalの方が良いObjectの方は互換性維持の為に残っているのだと思う
文字リテラルが無いのでより安全なコードとなる
URLリンク(docs.godotengine.org)

965:名前は開発中のものです。
24/02/15 12:29:22.48 I2lSz8t6.net
>>953
コード内からシグナル呼び出す方法がconnectで、エディタだけでやる場合はシグナルってことじゃないのですか?

966:名前は開発中のものです。
24/02/15 13:02:15.82 4oQt/aCU.net
新しい方が使い勝手が良いだけだから目的通りに動いていて問題ないならそれで良いよ
Objectクラスのconnectメソッドは3.xで使われている古い形式
URLリンク(docs.godotengine.org)
Signalクラスのconnectメソッドは4.xからの新しい形式
URLリンク(docs.godotengine.org)

967:名前は開発中のものです。
24/02/15 14:24:30.75 I2lSz8t6.net
ありがとう
動けばいいね 完成目指す

968:名前は開発中のものです。
24/02/15 17:37:51.88 sVKQXRzU.net
>>938
検証してみたが仕様っぽい
_physics_processが呼ばれるすぐ前に判定が行われるのでどうやっても1フレームのディレイが発生する
RaycastとかShapeCast、DirectSpaceStateとかは影響受けないからそれかな
パフォーマンスは知らん
URLリンク(forum.godotengine.org)

969:名前は開発中のものです。
24/02/17 01:31:22.33 y5Fxv8CK.net
godotスレも伸びたもんだ
次スレのテンプレも考え良い頃では?

970:名前は開発中のものです。
24/02/17 06:08:28.85 lpQfy7dC.net
【軽量】godot engine【無料】 part2
* ダウンロード
URLリンク(godotengine.org)
* フォーラム
URLリンク(www.reddit.com)
URLリンク(forum.godotengine.org)
* リファレンス
URLリンク(docs.godotengine.org)
* こんなのが作れるよ
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
-----------
↑これでいいか?
★次スレは950がたててください

971:名前は開発中のものです。
24/02/17 07:27:52.08 79tXZS3b.net
【軽量】godot engine【無料】 part3
--テンプレートここから--
Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。
基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。
製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。
GodotはMITライセンスの下、完全に自由でオープンソースです。
利用に関して特に制限はありませんし、利用料を請求することもありません。
エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。
Godotは自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。
Godotは非営利団体Software Freedom Conservancyによって支援されております。
■公式サイト
URLリンク(godotengine.org)
■コミュニティ
URLリンク(godotengine.org)
■ドキュメント
URLリンク(docs.godotengine.org)
■こんなのが作れるよ
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
URLリンク(www.youtube.com)
■前スレ
【軽量】godot engine - part2
スレリンク(gamedev板)
★次スレは>>951がたててください
--テンプレートここまで--
少し直してみた、前スレ無くても良いかと思ったが見る事もあるのかなと

972:名前は開発中のものです。
24/02/17 09:52:17.39 lpQfy7dC.net
このスレって2だったのか
3たてた
スレリンク(gamedev板)

973:名前は開発中のものです。
24/02/17 10:41:37.67 lpQfy7dC.net
URLリンク(tech.pjin.jp)
godotはグローバル変数がないのね(*´ω`*)、、、
キャラクターから玉を発射するとき、その弾の発射位置を決めないといけない
キャラクターの位置から発射されるとして、キャラクターの位置情報を玉シーンに渡したい場合はグローバル変数でいいのかな?

974:名前は開発中のものです。
24/02/17 11:11:54.26 RX1RYYC1.net
目的が達成できるなら厳密な定義のグローバル変数があるとかないとかは重要には思えない
キャラクターが弾を発射した際に弾シーンをインスタンス化して使用しているなら
グローバルを介さずともインスタンスの設定処理を呼ぶなりプロパティを直接変更するなりできるのでは?

975:名前は開発中のものです。
24/02/17 12:41:35.62 lpQfy7dC.net
ありがとう
単純にpositionを指定すればいいだけでした
ありがとう

常に共有する必要ないならグローバルにすることもないすね

976:名前は開発中のものです。
24/02/17 14:32:38.06 lpQfy7dC.net
ゲームはヘタに長編とか企画しないほうがいいかな?
完成すらままならないし game a week

977:名前は開発中のものです。
24/02/17 14:58:27.01 g0jnqHff.net
これの通りにやってみてるんだけど13:30辺りのbuildまでやるとGodotClassとNode2DVirtualが見つからなくてエラーになるんですがどなたか分かる方いますか?
URLリンク(www.youtube.com)

978:名前は開発中のものです。
24/02/17 15:16:52.03 RX1RYYC1.net
全部に目通せなくて適当なんだけどLaunch.jsonの中のパスは自分の環境に合わせた?

979:名前は開発中のものです。
24/02/17 16:15:14.30 g0jnqHff.net
動画コメントにNode2DVirtualが最新ではINode2Dに変わったってあってそこの次には勧めたけど
今度はBase<Node2D>にget_position()がないって言われた

980:名前は開発中のものです。
24/02/17 20:02:49.87 ALvQDFgf.net
>>968
self.base().get_position()
#501 で変更されたようです

981:名前は開発中のものです。
24/02/17 20:29:20.16 lpQfy7dC.net
質問させてください
1,2,3,4,5という球体があって、その球体を箱の中にバラマキ、衝突した者同士を合体させたいです
1と2が衝突したら、3に加算されて合体する感じです
こういうスクリプトは1つのコードで作れるのでしょうか?
ボールの基礎となるballBaseというシーンを作り、そのシーンを継承したシーン1、2,3,4,5を作っています

982:名前は開発中のものです。
24/02/17 20:50:12.29 CqLT5YDg.net
>>970
まずはこういうの見てみたら?

983:名前は開発中のものです。
24/02/17 20:50:33.37 CqLT5YDg.net
ごめん貼り忘れた
URLリンク(2dgames.jp)

984:名前は開発中のものです。
24/02/17 20:53:30.78 8+3skhOA.net
単純な加算なら
・各ID(1~5)を保持する変数
・接触時のID加算メソッド
・生成用シーンのパスまたはExport
をベーススクリプトに置いて
継承側でID指定しておけばいけるんじゃないかな
ソラで考えたから適当やけど

985:名前は開発中のものです。
24/02/18 10:54:40.58 pPH7PCwn.net
ありがとう
設計考えるのは難しい
創作部分に力を使えない

986:名前は開発中のものです。
24/02/18 11:18:36.23 pPH7PCwn.net
1つのノードに対してスクリプト1つだけのようですが、スクリプトを増やしたいのならノードを増やすのですかね
1つのスクリプトがゴチャつくと嫌なので

987:名前は開発中のものです。
24/02/18 11:35:13.00 Z7eZwvfU.net
>>961


988:名前は開発中のものです。
24/02/18 11:37:09.96 Z7eZwvfU.net
>>960
gj

989:名前は開発中のものです。
24/02/19 01:11:53.28 DtZmL+d4.net
>>938の者ですがShapeCast2DによるArea2Dの検出を使うことで解決しました
大量の衝突を扱うにはパフォーマンス的に向いてなさそうではあるが自分の用途的には問題なさそう
色々アドバイスくれた人に感謝
備忘録的に自分が引っかかった部分を書いておくと
Area2Dの移動後にArea2D.force_update_transform()で物理サーバー上の位置を更新しておかないと
ShapeCast2D.force_shapecast_update()の検出が思ったようにいかないので注意

990:名前は開発中のものです。
24/02/19 19:53:43.75 fNr8o5z2.net
シグナルってゴドット独自の機能ですか?ユニティには同様の機能は無いですか?

991:名前は開発中のものです。
24/02/19 20:54:49.14 2Y8JlU8D.net
ないよ

992:名前は開発中のものです。
24/02/19 21:37:25.61 ySU3/gww.net
onClickみたいなやつがシグナルじゃないの?

993:名前は開発中のものです。
24/02/19 23:28:37.50 P79bWfFH.net
ユニティーで言うところのonClickみたいなかんじでしょうか
まだ使ったこともないのでよくわからないのですが
シグナルって自由に名前定義できてどのスクリプトからも受信できるっていう認識であってますか?
例えばプレイヤーが敵に衝突して死んだ場合
プレイヤースクリプトからplayer_deadっていうシグナルを発信
メインスクリプトでplayer_dead受信したらゲームオーバー処理
みたいなことができるのでは?というイメージなのですが

994:名前は開発中のものです。
24/02/20 05:10:11.44 TYJz4VqA.net
そんな感じです
名前定義は出来ない認識ですが、よくわからない

995:名前は開発中のものです。
24/02/20 10:52:14.20 kdaN1CVT.net
独自シグナル実装できるだろ
URLリンク(docs.godotengine.org)

996:名前は開発中のものです。
24/02/20 12:32:18.39 ajfww+mh.net
シグナルをイベント発火時に外部ルーチンを呼び出す処理と見なすなら
Unityで同等の事を行うにはこの記事が参考になる
URLリンク(ekulabo.com)

シグナルの良い点は発火側が受信側の存在を意識する必要がない事
受信側が必要に応じて接続する
必要がなければ接続しなくても問題がない

シグナルの別な良い点はawaitに対応している事
シグナル発火までawaitで待つ事ができる

997:名前は開発中のものです。
24/02/20 16:11:46.57 953VQrex.net
>>983
やはりそうですか
>>984
ドキュメント長すぎて心折れそうになりましたが下のほうにシグナル説明ありますね
シグナルって引数も発信できるのですね すごい
>>985
UNITYでも同じような処理できるのですね URL参考に勉強してみます
シグナルって引数も送れて必要がなければ別に接続してもしなくてもOK
これってすごい便利ですね シグナルすこしわかってきたような感じがします
みなさま回答ありがとうございます

998:名前は開発中のものです。
24/02/20 18:33:04.94 TYJz4VqA.net
こんにちわ

カーソルの位置をキャラクターをゆつくり移動させるために、move_toward関数使ってみたんですが、以下の減算するだけのコードでもいけました。

extends CharacterBody2D

var SPEED = 300

var cursor_position
var player_position
func _ready() -> void:
pass
func _process(delta: float) -> void:
cursor_position = get_global_mouse_position()
player_position = self.position
player_position = (cursor_position - player_position).normalized()
move_and_collide(player_position * SPEED * delta)

単純にこれでいけたのですが、move_towardというのは見当違いの機能だったでしょうか?

999:名前は開発中のものです。
24/02/20 19:35:11.58 GCCmBP+O.net
move_towardは(target_position - org_position).normalized()*deltaをまとめてやる関数っぽい

1000:名前は開発中のものです。
24/02/20 21:15:18.04 ajfww+mh.net
>>987のコードではcursor_positionに到達した後に微動作し続ける
move_towardを使えばtoの位置で止まるので静動させるならmove_towardを使う

1001:名前は開発中のものです。
24/02/20 22:18:20.67 OUfUeN9r.net
GodotってAPKの中身丸見えでスクリプト構造も丸見えで
オープンソースだから対策もさほどできなくて、ずっーと丸見えなんですって?
やだぁ~エッチ~w

1002:名前は開発中のものです。
24/02/20 22:54:28.74 ajfww+mh.net
自己満開発だから気にした事なかったが調べた分には暗号化の機能はあるようだぞ
URLリンク(docs.godotengine.org)
プロプライエタリなUnreal EngineやUnityであってもガンガンMODが作られている時点で気休めにしかならないとは思うが

1003:名前は開発中のものです。
24/02/21 06:39:44.21 pdI9ZoxT.net
>>988
>>989
ありがとう
パフォーマンス気にしないならこのままでいいみたいですね

1004:名前は開発中のものです。
24/02/21 07:24:04.79 Rl2rZt0e.net
>>989
move_towardは通り過ぎちゃうのを切り捨てる処理も入るって事か

1005:名前は開発中のものです。
24/02/21 09:26:02.86 YmXsU+lh.net
>>991
やだぁ~これって独自の Godot エンジンをコンパイルすることが前提条件らしいじゃないですか~マイッチング
将来もっと簡単になればいいのにぃ~、こうなったらもう丸見えでいくわ、うっふーん
URLリンク(godot.community)

1006:名前は開発中のものです。
24/02/21 10:06:40.02 pdI9ZoxT.net
平凡なしくみを面白く仕上げるのがクリエイティビティなんだろうか
ただのバウンドするボールを面白く仕上げるとかね

1007:名前は開発中のものです。
24/02/21 10:49:01.60 pdI9ZoxT.net
インデントについて、4でもタブとスペースの混在は駄目なんですかね。

1008:名前は開発中のものです。
24/02/21 19:10:13.19 pdI9ZoxT.net
>>987
このコード投稿したものなんですが、これはマウスカーソル位置にキャラクターを徐々に動かすもんです
途中にウンコが落ちていたとして、それを迂回するように回避する方法ってあるでしょうか?
URLリンク(www.youtube.com)
この動画だとパス使ってるみたいですが、コードでできればいいです
ウンコに大きめのコリジョンをつけるか、ウンコの領域に入ったら、キャラクターのコリジョンを広げる方法を今ためしてみます

1009:名前は開発中のものです。
24/02/22 13:17:37.77 99VHeX8k.net
テンプレで次スレ立てを深く考えず安易に950で指定してしまったが
現状や他スレを見るに980辺りで良かったと思う
次スレが立つのはずっと未来の話だが立てるタイミングの調整とテンプレ修正が必要

>>997
単純な回避でも左右どちらに避けるギリギリで避ける早めに避けるだの考慮する点は多い
Navigation2Dは複雑な地形であってもルート算出してくれるのだから使えるならその方が楽だろう

>>996
インデントの問題は議論はしている様だが現状のまま
オプションで選べても良いとも思うが綺麗に書く心がけをしていれば問題ない
スペースを可視化するオプションがあるので有効にすれば打ち間違いは目視できる

>>995
跳ね返るボールを打ち合うPONG
跳ねるボールを壊すキャノンボール
転がるボールを運ぶマーブルマッドネス
ボール一つ取ってもみても歴史があり様々なアイデアがある
アイデアを具現化するのがクリエイティビティなんだと思う
面白い面白くないはアイデアの評価でありクリエイティビティとは関係ない

1010:名前は開発中のものです。
24/02/22 18:12:59.14 AyYlDxOL.net
>>997
ありがとう
何が何でもプログラムで動きを作る必要はないのだろうけど、この辺一度やってみたいから、シューティングでもやろうかな
ゲームは既存のアイディアを改変死たほうがいいと思う
0から作ろうとすると面白くもなんともない物体が出来る
身の程を知るというか

1011:名前は開発中のものです。
24/02/22 19:50:17.46 AyYlDxOL.net
う目

1012:名前は開発中のものです。
24/02/22 19:50:22.89 AyYlDxOL.net


1013:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1028日 6時間 46分 36秒

1014:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch