Godotエンジンは機能豊富な、クロスプラットフォームのゲームエンジンであり、2D・3Dゲームを単一のインターフェイスで製作することができます。
基本的なツールは一通り用意され、ユーザーはプログラムの再発明をすることなくゲーム製作に集中できます。
製作したゲームは主要なデスクトップ環境(Linux, MacOS, Windows)や、モバイル(Android, iOS)、Webベース(HTML5)環境にワンクリックで書き出せます。
GodotはMITライセンスの下、完全に自由でオープンソースです。
利用に関して特に制限はありませんし、利用料を請求することもありません。
エンジンのコードの最後の一行まで、ゲームは製作したユーザーのものです。
Godotは自主的なコミュニティによって開発されており、エンジンを期待にかなうものにするため、ユーザーの方々も自由に参加できます。
Godotは非営利団体Software Freedom Conservancyによって支援されております。
■公式サイト
https://godotengine.org/
■コミュニティ
https://godotengine.org/community/
■ドキュメント
https://docs.godotengine.org/ja/4.x/
■こんなのが作れるよ
https://www.youtube.com/watch?v=W1_zKxYEP6Q
https://www.youtube.com/watch?v=UAS_pUTFA7o
https://www.youtube.com/watch?v=ao34A0Y2x6c
■前スレ
【軽量】godot engine - part2
https://mevius.5ch.net/test/read.cgi/gamedev/1619755427/
★次スレは>>950がたててください
【軽量】godot engine【無料】 part3
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2024/02/17(土) 09:51:54.18ID:lpQfy7dC271名前は開発中のものです。
2024/04/19(金) 19:31:58.50ID:611er4q0 どうも
どのみち二次元だとfind使えないみたいですね
どのみち二次元だとfind使えないみたいですね
272名前は開発中のものです。
2024/04/20(土) 11:57:25.68ID:gSjSgOMM 一時的にスクリプトを停止出来ますか?
processをdisableしてもprintはされるみたいです
processをdisableしてもprintはされるみたいです
273名前は開発中のものです。
2024/04/21(日) 10:08:48.46ID:YXvcVHHE 定型文登録って合ったっけ?
以下の4方向バージョンを登録しておきたい
if Input.is_action_just_pressed("ui_up"):
move()
以下の4方向バージョンを登録しておきたい
if Input.is_action_just_pressed("ui_up"):
move()
274名前は開発中のものです。
2024/04/23(火) 12:13:26.37ID:/jRBBB4p 特定の関数の中でしか使わない関数ってのはどう定義すればいいの?
入れ子に出来れば関係ない場所から参照されないからいいと思うんだけど
func outer():
func inner():
こんな感じの入れ子は無理っぽいからラムダってやつ使うのかな
しかし、以下だとprint結果が帰ってこない
extends Node2D
func _ready() -> void:
print(lam)
var lam = func outer(num):
var value = "hogehoge"
return value
入れ子に出来れば関係ない場所から参照されないからいいと思うんだけど
func outer():
func inner():
こんな感じの入れ子は無理っぽいからラムダってやつ使うのかな
しかし、以下だとprint結果が帰ってこない
extends Node2D
func _ready() -> void:
print(lam)
var lam = func outer(num):
var value = "hogehoge"
return value
275名前は開発中のものです。
2024/04/23(火) 12:26:20.71ID:/jRBBB4p あっ、callしないと駄目なんですね
276名前は開発中のものです。
2024/04/23(火) 13:00:39.54ID:K58WhwWv 関数のままでは入れ子にできないからCallableとして宣言する
呼び出しは変数名で行うから関数名はなくて良い
func _ready():
var innner = func(x = 1):return x * 2
prints("inner() called:", innner.call())
prints("inner(2) called:", innner.call(2))
呼び出しは変数名で行うから関数名はなくて良い
func _ready():
var innner = func(x = 1):return x * 2
prints("inner() called:", innner.call())
prints("inner(2) called:", innner.call(2))
277名前は開発中のものです。
2024/04/23(火) 14:27:19.77ID:/jRBBB4p どうも
入れ子で書けないのなら、普通の関数とあまり変わらない感じですね
視覚的にこう1箇所にまとめたかったんですが
入れ子で書けないのなら、普通の関数とあまり変わらない感じですね
視覚的にこう1箇所にまとめたかったんですが
278名前は開発中のものです。
2024/04/23(火) 15:16:36.49ID:K58WhwWv279名前は開発中のものです。
2024/04/23(火) 15:27:32.29ID:K58WhwWv >>272
完全停止は出来ないがprocess_modeにdisableを指定した上で
動かれて困るメソッドの先頭に以下の一文でも足せば良いんじゃないかな?
if process_mode == Node.PROCESS_MODE_DISABLED: return
完全停止は出来ないがprocess_modeにdisableを指定した上で
動かれて困るメソッドの先頭に以下の一文でも足せば良いんじゃないかな?
if process_mode == Node.PROCESS_MODE_DISABLED: return
280名前は開発中のものです。
2024/04/23(火) 19:08:20.21ID:/jRBBB4p281名前は開発中のものです。
2024/04/23(火) 19:38:02.85ID:K58WhwWv ローカルで宣言した変数のスコープはローカルという普通の話
別にCallableでの特別処理とかではない
グローバルで宣言すればグローバルから扱える
_readyの様な初期化処理まで動かしたくないというなら自分は設計の見直しをする
必要なときにadd_childとqueue_freeすればprocess管理する必要がないのではないか?
別にCallableでの特別処理とかではない
グローバルで宣言すればグローバルから扱える
_readyの様な初期化処理まで動かしたくないというなら自分は設計の見直しをする
必要なときにadd_childとqueue_freeすればprocess管理する必要がないのではないか?
282名前は開発中のものです。
2024/04/23(火) 19:44:45.31ID:nRUQyvbL 15歳のGodot教本クラファン、あれ支援してみようかなー
283名前は開発中のものです。
2024/04/23(火) 20:12:37.57ID:SVQG4/08 確か達成してた気するけどああいうの上乗せ倍プッシュで支援てできるんだっけ?いいんじゃね
284名前は開発中のものです。
2024/04/23(火) 20:42:58.34ID:nRUQyvbL ぶっちゃけGodot全然わからんちんなんで
支援して、本貰って自分にシバキを入れたいって思いもある
おっちゃんが15歳に負けたくない><
支援して、本貰って自分にシバキを入れたいって思いもある
おっちゃんが15歳に負けたくない><
285名前は開発中のものです。
2024/04/23(火) 20:49:38.67ID:K58WhwWv 始めるなら早い方が良いから完成待たずに既にあるのでやってみたら?
https://progsha.org/
https://progsha.org/
286名前は開発中のものです。
2024/04/23(火) 23:25:40.86ID:5HqoYOxs 3000円で紙の本と電子本両方もらえるならむしろ安いよね
良心的なクラファンだ
良心的なクラファンだ
287名前は開発中のものです。
2024/04/24(水) 04:23:26.66ID:oxZnmf8P >>281
なるほど 中で宣言するというだけですね
なるほど 中で宣言するというだけですね
288名前は開発中のものです。
2024/04/24(水) 20:15:21.72ID:oxZnmf8P 倉庫番のロジックで分からないところがあるのでこっちで質問させてもらいます
マップは二次元配列で作成します
ただ、キャラクターの移動はvector2で行います
1マスの大きさが32であった場合、vector2の座標が32,0だとしたら、配列上ではarray[y0][x1]となりますよね。
こういった変換に便利な関数とかないでしょうか?
やりたいことを箇条書きにすると以下です
1:vector2の座標から配列上の座標を割り出す
2:キャラクターが移動したとき、配列上のキャラクター座標を移動させる(配列上の要素2がキャラとしてます)
マップは二次元配列で作成します
ただ、キャラクターの移動はvector2で行います
1マスの大きさが32であった場合、vector2の座標が32,0だとしたら、配列上ではarray[y0][x1]となりますよね。
こういった変換に便利な関数とかないでしょうか?
やりたいことを箇条書きにすると以下です
1:vector2の座標から配列上の座標を割り出す
2:キャラクターが移動したとき、配列上のキャラクター座標を移動させる(配列上の要素2がキャラとしてます)
289名前は開発中のものです。
2024/04/24(水) 20:27:18.43ID:PzjnMMaW 普通に割り算して切り捨てるだけでは
ものを1マス単位で動かさない前提なら1マス辺りの座標を1にして逆に見た目の方の座標を掛け算なりする方が楽
ものを1マス単位で動かさない前提なら1マス辺りの座標を1にして逆に見た目の方の座標を掛け算なりする方が楽
290名前は開発中のものです。
2024/04/24(水) 22:41:11.22ID:YL8z0NQ2 自分が便利なように関数かけばいいじゃないの
291名前は開発中のものです。
2024/04/25(木) 00:19:55.34ID:5JWtrSqN 昔の2Dゲーム機は基本的に背景をマップタイル(キャラクタージェネレータなどとも呼ばれる)単位で管理してたものだから、同じように仮想的なタイルを敷き詰めた画面があるものとして構造体組んで、その上でモブがタイルに沿って動く管理を考えるのがとりあえずは昔のノウハウを適用できて簡単だと思う
倉庫番はまさにそういう動き
倉庫番はまさにそういう動き
292名前は開発中のものです。
2024/04/25(木) 00:27:21.13ID:8kKIrJCJ AIに聞けばええやん
293名前は開発中のものです。
2024/04/25(木) 00:30:55.75ID:5JWtrSqN なのでモブが動くときはpix単位の座標移動が発生するけどそれはサブルーチンとして、ゲームアルゴリズムとしてはマップ全体の座標を整数の配列で(例えば100×100とか)表して制御し、画面に表示する座標は既に言われてるように適切に係数掛け算する関数を作るのが良いと思います
倉庫番の場合、マップが広いレベルを縮小してモニタに表示したりするので、その拡大縮小表示の変換が自由にできるほうがUXが良くなるし、なんなら回転表示もしたくなるかもしれないので。
倉庫番の場合、マップが広いレベルを縮小してモニタに表示したりするので、その拡大縮小表示の変換が自由にできるほうがUXが良くなるし、なんなら回転表示もしたくなるかもしれないので。
294名前は開発中のものです。
2024/04/25(木) 00:33:10.60ID:5JWtrSqN295名前は開発中のものです。
2024/04/25(木) 00:42:09.44ID:7TwSlN/Q ちがうアプローチとしてはTileMapを使用するかな
使えるようになるまでのコストが大きいからお勧めとは言い難いが
高機能で複雑な分、理解できたら便利なクラス
使えるようになるまでのコストが大きいからお勧めとは言い難いが
高機能で複雑な分、理解できたら便利なクラス
296名前は開発中のものです。
2024/04/25(木) 01:06:24.88ID:/gUanyy1 理解できないから半年以上苦しんでるんでしょう。
もっと園児でもわかるような単純なやり方を教えてあげて
もっと園児でもわかるような単純なやり方を教えてあげて
297名前は開発中のものです。
2024/04/25(木) 01:08:58.36ID:5JWtrSqN まんまTilemapなクラスがあったのね
これなら簡単だわ勉強になりました
これなら簡単だわ勉強になりました
298名前は開発中のものです。
2024/04/25(木) 06:12:26.81ID:Esvk0j05299名前は開発中のものです。
2024/04/25(木) 06:27:04.46ID:Esvk0j05300名前は開発中のものです。
2024/04/25(木) 12:30:15.39ID:Esvk0j05 関数から、2つの値を返すには何使うんですか?
カンマ区切りではダメだったので[1,2]こういう形にしたらいけました
カンマ区切りではダメだったので[1,2]こういう形にしたらいけました
301名前は開発中のものです。
2024/04/25(木) 12:50:05.12ID:Esvk0j05 ↑2つの値を返して、二次元配列として使いたい感じです
array[0][0]
こんな感じです
array[0][0]
こんな感じです
302名前は開発中のものです。
2024/04/25(木) 13:25:04.08ID:7TwSlN/Q 2つの値を返す方法が[1,2]でいけたならそれで解決じゃね?
var return_value = [1, 2]
array[return_value[0]][return_value[1]]
var return_value = [1, 2]
array[return_value[0]][return_value[1]]
303名前は開発中のものです。
2024/04/25(木) 14:29:31.06ID:ddMre8ET GDScriptでいいのか?
Pythonっぽい言語仕様だけど実際はC++をスクリプトにしただけっぽいので
Pythonで複数の値を返す時に使うTupleは使えないんだとよ
方法としては2つ、Arrayで返すかDictionaryで返す
以下はサンプルコードな ※RUNボタンで実行結果も確認できるぞ
https://gd.tumeo.space/?KYDwLsB2AmDOAEA5A9tYAodBidAzArpAMbwDmwYA+gIYBOt1AnpQG7UA2+wAFAJQBc6eMPi0K+WpHgBtAIwAaeAHJAVgyA-BkASDEsUBmAHSyALAF1MOAsTIVK0AJZEwt5JDrM2nHgKEixYCVIBvJQBrYEZZJX4FZVDgACZI1U1tGNtbHUj9IwBfTAsSSjFqaEY+QW9hNlp4OmqAXisqWqZWDi4+CvgAB1pbSDBYblreTp6+sCH6aQAGY154LHhZUd7+ydo5OYX4dQ0V8fXpOK3FrMNOzqr4OxIG8iobx2dXVo8OkW7Vge4bkY+xtY3aQhMIRE5LfaA+zA2IJcG7SETIEhNIZcFndBAA
Pythonっぽい言語仕様だけど実際はC++をスクリプトにしただけっぽいので
Pythonで複数の値を返す時に使うTupleは使えないんだとよ
方法としては2つ、Arrayで返すかDictionaryで返す
以下はサンプルコードな ※RUNボタンで実行結果も確認できるぞ
https://gd.tumeo.space/?KYDwLsB2AmDOAEA5A9tYAodBidAzArpAMbwDmwYA+gIYBOt1AnpQG7UA2+wAFAJQBc6eMPi0K+WpHgBtAIwAaeAHJAVgyA-BkASDEsUBmAHSyALAF1MOAsTIVK0AJZEwt5JDrM2nHgKEixYCVIBvJQBrYEZZJX4FZVDgACZI1U1tGNtbHUj9IwBfTAsSSjFqaEY+QW9hNlp4OmqAXisqWqZWDi4+CvgAB1pbSDBYblreTp6+sCH6aQAGY154LHhZUd7+ydo5OYX4dQ0V8fXpOK3FrMNOzqr4OxIG8iobx2dXVo8OkW7Vge4bkY+xtY3aQhMIRE5LfaA+zA2IJcG7SETIEhNIZcFndBAA
304名前は開発中のものです。
2024/04/25(木) 15:44:33.49ID:Esvk0j05 ありがとう配列で値を返して、インデックス番号でとればいいんですね
これがタプルってやつですか
https://www.reddit.com/r/godot/comments/1cckdwt/how_to_return_two_value_from_function/
あと、人いねーと思っていつもの癖でマルチポストしちゃった
ごめんなさい改善します
これがタプルってやつですか
https://www.reddit.com/r/godot/comments/1cckdwt/how_to_return_two_value_from_function/
あと、人いねーと思っていつもの癖でマルチポストしちゃった
ごめんなさい改善します
305名前は開発中のものです。
2024/04/25(木) 16:12:28.75ID:ddMre8ET マルチでもなんでも問題解決できりゃなんでもいいんだぞ
あとTupleの話は出すべきじゃなかったな、忘れてくれ
あとTupleの話は出すべきじゃなかったな、忘れてくれ
306名前は開発中のものです。
2024/04/25(木) 16:35:23.02ID:lNMYdYSi 流石になんでも良くはねえよ…
それぞれの場所で時間使って答えてくれてんだから
それぞれの場所で時間使って答えてくれてんだから
307名前は開発中のものです。
2024/04/25(木) 17:07:59.94ID:7TwSlN/Q 同じ質問は数日待っても解答が得られなかったらとか制限は掛けた方がいいな
redittの方の解答にあるが戻り値がx,yの座標を扱うものであるならVector2を使うと読みやすくなる
redittの方の解答にあるが戻り値がx,yの座標を扱うものであるならVector2を使うと読みやすくなる
308名前は開発中のものです。
2024/04/25(木) 17:42:32.62ID:ddMre8ET309名前は開発中のものです。
2024/04/25(木) 18:26:51.75ID:Esvk0j05 すまん、どちらか一方にするよ
redditはそれにしても人多いねぇ
redditはそれにしても人多いねぇ
310名前は開発中のものです。
2024/04/25(木) 18:43:10.78ID:/XEpAv2m つーかマルチポストで聞く暇あるなら少しは勉強しろよ
初歩的な問題で詰んでるなら尚更
初歩的な問題で詰んでるなら尚更
311名前は開発中のものです。
2024/04/25(木) 20:20:30.32ID:7TwSlN/Q >>308
質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる
func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i:
return cpos / size
質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる
func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i:
return cpos / size
312名前は開発中のものです。
2024/04/25(木) 21:13:31.21ID:ddMre8ET おー、なるほどね!
Vector2iって勝手にTrancateしてくれるんだな、勉強になったわ
Vector2iって勝手にTrancateしてくれるんだな、勉強になったわ
313名前は開発中のものです。
2024/04/26(金) 06:09:14.77ID:1Ez+K35D314名前は開発中のものです。
2024/04/26(金) 13:14:53.40ID:yaANzBxw 上の人も書いてるけど倉庫番と言うことはグリッドの途中で立ち止まる事はないだろうから、それであれば32で割った盤面上の座標だけ保持して画面表示の時に32倍するなりアニメ補間すればよいのでは
その方がセーブやアンドゥも楽になる
その方がセーブやアンドゥも楽になる
315名前は開発中のものです。
2024/04/26(金) 13:46:32.39ID:1Ez+K35D >>314
配列使わないということですか?
配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか
二次元配列を使った場合、以下のようにマップを表現すると思います
1=壁,2=キャラ、3=動かせる箱、0=動ける範囲
[
[1,2,3,0,1],
[1,0,0,0,1],
[1,1,1,1,1],
]
グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。
1pxずつ動かしたいわけじゃないので、それはその通りです。
配列使わないということですか?
配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか
二次元配列を使った場合、以下のようにマップを表現すると思います
1=壁,2=キャラ、3=動かせる箱、0=動ける範囲
[
[1,2,3,0,1],
[1,0,0,0,1],
[1,1,1,1,1],
]
グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。
1pxずつ動かしたいわけじゃないので、それはその通りです。
316名前は開発中のものです。
2024/04/26(金) 13:52:06.26ID:XXsncJVJ もしかしてモブはスプライト管理じゃない?
317名前は開発中のものです。
2024/04/26(金) 14:35:25.85ID:/ZFKx6UF318名前は開発中のものです。
2024/04/26(金) 14:55:56.89ID:/ZFKx6UF >>313
昔はコンソール上で動かす前提で表示もキャラクター単位だったので
配列の要素番号と表示座標の変換は不要だった
今はウインドウアプリになって表示に座標変換は必須
ウインドウアプリの作法も覚えなきゃで同じ倉庫番の初心者講習でも
昔よりは複雑になり難易度上がってはいる
昔はコンソール上で動かす前提で表示もキャラクター単位だったので
配列の要素番号と表示座標の変換は不要だった
今はウインドウアプリになって表示に座標変換は必須
ウインドウアプリの作法も覚えなきゃで同じ倉庫番の初心者講習でも
昔よりは複雑になり難易度上がってはいる
319名前は開発中のものです。
2024/04/26(金) 15:42:16.89ID:86tvu5TE 絵文字使ってるので表示が上手くいかなかったらごめん
ゲームとしては全然足りないし完成させる所までが課題ではあるが
学習項目を配列のみに集約するとこの配列操作が理解できれば十分
func _ready():
var map = "🧱👷📦🚩🧱\n"
print(map)
map[3] = map[2]
map[2] = map[1]
map[1] = "◾"
print(map)
ゲームとしては全然足りないし完成させる所までが課題ではあるが
学習項目を配列のみに集約するとこの配列操作が理解できれば十分
func _ready():
var map = "🧱👷📦🚩🧱\n"
print(map)
map[3] = map[2]
map[2] = map[1]
map[1] = "◾"
print(map)
320名前は開発中のものです。
2024/04/26(金) 15:45:16.29ID:86tvu5TE 二次元配列まで理解できたら上出来
func _ready():
var map = ["🧱🧱🧱", "🧱👷🧱", "🧱📦🧱", "🧱🚩🧱", "🧱🧱🧱", "\n"]
for c in map: print(c)
map[3][1] = map[2][1]
map[2][1] = map[1][1]
map[1][1] = "◾"
for c in map: print(c)
func _ready():
var map = ["🧱🧱🧱", "🧱👷🧱", "🧱📦🧱", "🧱🚩🧱", "🧱🧱🧱", "\n"]
for c in map: print(c)
map[3][1] = map[2][1]
map[2][1] = map[1][1]
map[1][1] = "◾"
for c in map: print(c)
321我のうんちは小粒(^^ ◆OyJP7qHDVvEI
2024/04/26(金) 17:21:02.02ID:jKYfR5nN 二次元配列って配列に配列入れるやつでふよね(^^
そこで詰まってるなら人に聞くよりブッコフに走ってプログラムの基礎が書いてある本買って読んだほうがいいのでは?(^^
煽りとかいじめでいってるんじゃなくて真剣に(^^
ボッキング!(^^
そこで詰まってるなら人に聞くよりブッコフに走ってプログラムの基礎が書いてある本買って読んだほうがいいのでは?(^^
煽りとかいじめでいってるんじゃなくて真剣に(^^
ボッキング!(^^
322名前は開発中のものです。
2024/04/26(金) 18:10:17.22ID:1Ez+K35D323名前は開発中のものです。
2024/04/26(金) 18:28:59.68ID:Tn7ydmJN324名前は開発中のものです。
2024/04/27(土) 14:28:13.76ID:RX6jyHGA フローチャートよりシンプルな図示方法ってないかな?
やっぱりロジックを整理しておいてからコード書かないと脳みそがパンクする
可といってフローチャートは難しい
やっぱりロジックを整理しておいてからコード書かないと脳みそがパンクする
可といってフローチャートは難しい
325名前は開発中のものです。
2024/04/27(土) 14:39:46.99ID:RX6jyHGA 擬似コードってのやってみますゆえ
326名前は開発中のものです。
2024/04/27(土) 16:13:48.17ID:b+RnbsA6 フローチャートが難しいってどういう事
327名前は開発中のものです。
2024/04/27(土) 17:08:49.43ID:RX6jyHGA むずいというか、他人に説明するためのものではないので、自分だけ分かる方法でいいかなと
より簡易的であればいいです
フロチャは図形の使いこなしが苦手です
より簡易的であればいいです
フロチャは図形の使いこなしが苦手です
328名前は開発中のものです。
2024/04/27(土) 22:14:59.66ID:toVZIEFB329名前は開発中のものです。
2024/04/28(日) 02:33:44.79ID:XkoBpqzr Godotの2Dのコンセプトは3Dを2Dに見せるやり方ではないってのだけはすぐ分かるのだけど、仮想ゲームマシン的な意味での最大スペックはどこ見ればいいのだ
実行マシンさえ強ければ、昔ながらのBG面もテキスト面もスプライト面もそれらの拡縮回転移動もカラーパレットも無制限で表示させて良い感じなのかな?
他にも昔の疑似3Dもやろうと思えば作れるのだろうけど、それには本物の3D使うよね普通の人は。
実行マシンさえ強ければ、昔ながらのBG面もテキスト面もスプライト面もそれらの拡縮回転移動もカラーパレットも無制限で表示させて良い感じなのかな?
他にも昔の疑似3Dもやろうと思えば作れるのだろうけど、それには本物の3D使うよね普通の人は。
330名前は開発中のものです。
2024/04/28(日) 06:15:05.24ID:6Dc8VXuN 1つのスクリプトに書いてるんですが、コードが増えてきた場合、領域を分ける方法は関数以外にありますか?
ただ、視覚的に分けるだけでもいいです
レギオンは使えるみたいですね
>>328
どうも
擬似コード的なものを視覚化するというイメージですかね
ただ、視覚的に分けるだけでもいいです
レギオンは使えるみたいですね
>>328
どうも
擬似コード的なものを視覚化するというイメージですかね
331名前は開発中のものです。
2024/04/28(日) 06:42:32.33ID:6Dc8VXuN コアな機能だけモジュール化なりクラス化なりしたほうがいいのかな
332名前は開発中のものです。
2024/04/28(日) 09:40:08.77ID:6Dc8VXuN インデントが深くなりすぎる場合、対策はあるでしょうか。
pythonで関数をカッコで表現出来るでしょうか。
pythonで関数をカッコで表現出来るでしょうか。
333名前は開発中のものです。
2024/04/28(日) 11:30:45.87ID:KYDjUHts >>330-332
最初から最後までしっかり読みなさい。
大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON
https://automaton-media.com/articles/newsjp/20240424-290961/
最初から最後までしっかり読みなさい。
大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON
https://automaton-media.com/articles/newsjp/20240424-290961/
334名前は開発中のものです。
2024/04/28(日) 12:06:25.45ID:qOnW5aMf >>330-332
コードの書き方は多種多様な流派があり自分にあった書き方を模索するしかない
チームで開発する時はチームでルールを定める
基本的には公式に従う
安易にファイル分割すると管理が大変になる
単にソースが長いだけならregionで閉じる
全体で共通して使う機能ならグローバルなクラスに纏める
特定のクラスのみの機能なら基底クラスを作って継承する
インデントが深いと思ったらそもそもの処理方式を考え直す
ループの内側を関数化する
ifをand,orで纏める
ソースを短くする為にソースが読み難くなるのは本末転倒なので下手な対策はしない
コードの書き方は多種多様な流派があり自分にあった書き方を模索するしかない
チームで開発する時はチームでルールを定める
基本的には公式に従う
安易にファイル分割すると管理が大変になる
単にソースが長いだけならregionで閉じる
全体で共通して使う機能ならグローバルなクラスに纏める
特定のクラスのみの機能なら基底クラスを作って継承する
インデントが深いと思ったらそもそもの処理方式を考え直す
ループの内側を関数化する
ifをand,orで纏める
ソースを短くする為にソースが読み難くなるのは本末転倒なので下手な対策はしない
335名前は開発中のものです。
2024/04/28(日) 13:46:45.79ID:GkEu3rtv 力業ねえ
そうは言っても作り方のセオリーはあるんじゃないかな
ユニティだけど物理ワールドでオブジェクト移動するときにポジションに1加算みたいなことしたらバグるし重いよね
ベロシティにアドフォースするのがセオリーじゃん?
そんな感じで、頭の悪いぐちゃぐちゃなセオリーもへったくれもないコードだと見づらいバグる重いでいいことないし
ゴドーで「こういう仕組み作るときはこうやるのがベター」みたいなノウハウを集めたサイトが欲しいわ
そうは言っても作り方のセオリーはあるんじゃないかな
ユニティだけど物理ワールドでオブジェクト移動するときにポジションに1加算みたいなことしたらバグるし重いよね
ベロシティにアドフォースするのがセオリーじゃん?
そんな感じで、頭の悪いぐちゃぐちゃなセオリーもへったくれもないコードだと見づらいバグる重いでいいことないし
ゴドーで「こういう仕組み作るときはこうやるのがベター」みたいなノウハウを集めたサイトが欲しいわ
336名前は開発中のものです。
2024/04/28(日) 14:04:21.58ID:KYDjUHts337名前は開発中のものです。
2024/04/28(日) 15:15:52.67ID:6Dc8VXuN338名前は開発中のものです。
2024/04/29(月) 06:16:45.87ID:W8KMTghQ シンタックスのテーマはストアにないんですかね?
githubから持ってくる感じでしょうか
githubから持ってくる感じでしょうか
339名前は開発中のものです。
2024/04/29(月) 14:25:37.21ID:W8KMTghQ arrayをforで展開するときに、size関数は要素数ですので、例えば要素数5であった場合インデックス0から開始されますので、4までです
この差が誤解を産むことがあるのですが、なにか対策はあるんでしょうか?
>>338
解決 自作します
この差が誤解を産むことがあるのですが、なにか対策はあるんでしょうか?
>>338
解決 自作します
340名前は開発中のものです。
2024/04/29(月) 14:53:30.83ID:2FsCulaT 殆どの言語で要素番号は0から始まるから数こなして慣れるのが一番
順次処理なら要素番号を使わない操作を心がける
どうしても気になるなら要素番号が1から始まる配列クラスを自前で作る
順次処理なら要素番号を使わない操作を心がける
どうしても気になるなら要素番号が1から始まる配列クラスを自前で作る
341名前は開発中のものです。
2024/04/29(月) 16:52:13.85ID:W8KMTghQ ありがとう
練習あるのみか
イメージ力みたいなのが足りないと思う
図で考えたほうがいいのかな
練習あるのみか
イメージ力みたいなのが足りないと思う
図で考えたほうがいいのかな
342名前は開発中のものです。
2024/04/29(月) 21:18:04.62ID:n5TYyf+c 仕様書はちゃんと書いた方が良い
343名前は開発中のものです。
2024/04/30(火) 05:44:38.46ID:HJbDE4xz 仕様書はフロチャですか
344名前は開発中のものです。
2024/04/30(火) 13:00:30.92ID:qkeOAzaS レスがつくのは嬉しいだろうけど、Godotから話題が離れてるので自分のゲーム開発だけ話すのなら別のスレで書いて欲しい
345名前は開発中のものです。
2024/04/30(火) 13:09:32.02ID:HJbDE4xz そうか、了解
346名前は開発中のものです。
2024/04/30(火) 14:13:24.81ID:uAstRO41 一人が言ってるだけだから気にしなくていいよ
他で出せる話題でもないならここでやればいい
他で出せる話題でもないならここでやればいい
347名前は開発中のものです。
2024/04/30(火) 14:21:24.39ID:t9d+Ii5w まーた揉めるようなことを・・・学習しねえな
348名前は開発中のものです。
2024/04/30(火) 14:26:04.37ID:hVvdsoIz スレの運用は適切に
例外を許容しすぎると該当スレの存在意義がなくなる
例外を許容しすぎると該当スレの存在意義がなくなる
349名前は開発中のものです。
2024/05/01(水) 10:08:19.10ID:ePZpzJCq 質問です
godotで子ノードにアタッチしたスクリプトの変数にはアクセス出来るんですが、スクリプトを直接ロードして、そこからアクセスしようとするとエラーになるのはなぜでしょうか。この2つの違いが良くわかりません。
目的は長いスクリプトを複数に分けることです。
godotで子ノードにアタッチしたスクリプトの変数にはアクセス出来るんですが、スクリプトを直接ロードして、そこからアクセスしようとするとエラーになるのはなぜでしょうか。この2つの違いが良くわかりません。
目的は長いスクリプトを複数に分けることです。
350名前は開発中のものです。
2024/05/01(水) 10:27:48.27ID:ePZpzJCq ↑ああそうか
一度シーンにぶら下げないとダメなんですよね godotの場合は
子ノードを作成するか autoloadにするか
一度シーンにぶら下げないとダメなんですよね godotの場合は
子ノードを作成するか autoloadにするか
351名前は開発中のものです。
2024/05/01(水) 12:45:52.75ID:ZXYQy06U AddChildやAutoLoadはシーンツリーに接続されていてそこ経由でのアクセスが可能
ロードしたスクリプトはシーンツリーから独立したインスタンスになるので
そこから他のノードへアクセスしたいのならば他のノードへの参照を渡せばアクセス可能にはなる
個人プロジェクトだろうから好きにすれば良いが
長くなったスクリプトを短くする為に理解出来てない機能を使うのは得策では無いと自分は思う
それでもどうしてもregionを使わずスクリプトを短くしたいのならば継承を使うと良い
そうすれば継承元のスクリプトは継承先では見た目上隠蔽される
ロードしたスクリプトはシーンツリーから独立したインスタンスになるので
そこから他のノードへアクセスしたいのならば他のノードへの参照を渡せばアクセス可能にはなる
個人プロジェクトだろうから好きにすれば良いが
長くなったスクリプトを短くする為に理解出来てない機能を使うのは得策では無いと自分は思う
それでもどうしてもregionを使わずスクリプトを短くしたいのならば継承を使うと良い
そうすれば継承元のスクリプトは継承先では見た目上隠蔽される
352名前は開発中のものです。
2024/05/01(水) 14:24:41.42ID:ePZpzJCq ありがとうございます
シーンに適当なノードぶら下げてそこにスクリプトつけて分割することにします
シーンに適当なノードぶら下げてそこにスクリプトつけて分割することにします
353名前は開発中のものです。
2024/05/02(木) 19:02:27.61ID:UVx4JLwS https://www.crazygames.com/game/goober-dash
goober dashおもろいよね
goober dashおもろいよね
354名前は開発中のものです。
2024/05/03(金) 01:51:43.60ID:KMJa0hAC 直接loadしたスクリプトはnew()すると使えるはず
355名前は開発中のものです。
2024/05/03(金) 13:51:37.10ID:C+l8v586 >>353
gooberはgodotだから貼った
gooberはgodotだから貼った
356名前は開発中のものです。
2024/05/03(金) 18:50:34.76ID:C+l8v586 関数内関数を書く時に以下のような形式になるじゃないですか
名前はどんなふうにつけますか?
一般的に変数名を省略系にするのかなと考えますが
var mB = func moveBlock():
print("ブロック動かす処理")
名前はどんなふうにつけますか?
一般的に変数名を省略系にするのかなと考えますが
var mB = func moveBlock():
print("ブロック動かす処理")
357名前は開発中のものです。
2024/05/03(金) 19:12:54.15ID:C+l8v586 godotのテキストエディタって機能的に十分なのかな?
vscode使えるならもちろんそうしたいけどね
公式のエクステンションでもあれば
vscode使えるならもちろんそうしたいけどね
公式のエクステンションでもあれば
358名前は開発中のものです。
2024/05/03(金) 20:14:54.48ID:QnOXIZPi プログラム初心者で、Gamemakerを触っていたのですが
godotはGamemaker触ってたら理解は出来そうですか?
godotはGamemaker触ってたら理解は出来そうですか?
359名前は開発中のものです。
2024/05/03(金) 21:48:22.15ID:SB6QCt+i >>358
インストール不要で気軽に始められるから、公式チュートリアル30分位さわってみて判断したらいいよ
インストール不要で気軽に始められるから、公式チュートリアル30分位さわってみて判断したらいいよ
360名前は開発中のものです。
2024/05/03(金) 23:12:06.81ID:klkiRmCj %や/とか+=の意味が分からないくらいなら
ゲーム開発入門みたいな本を買うなり借りるなりして一度目を通すと少しは助かるかもしれない
ゲーム開発入門みたいな本を買うなり借りるなりして一度目を通すと少しは助かるかもしれない
361名前は開発中のものです。
2024/05/03(金) 23:13:59.18ID:/rh2liyL GameMaker使ったことないから比較するのにチュートリアルやってみようとしたら開けなかった
ブランクプロジェクト開いても何して良いか全然判らなかった
これ使えてたならGodotを新しく覚えるのも余裕じゃない?
ブランクプロジェクト開いても何して良いか全然判らなかった
これ使えてたならGodotを新しく覚えるのも余裕じゃない?
362名前は開発中のものです。
2024/05/04(土) 00:40:51.69ID:1eZ/ckRt みなさんどうもです
触ってみろは仰る通り
事前に調べて日本語情報が異様に少ないとか
あったのでパイソン?
とかの言語知ってるのが前提なのかな?みたいな疑問もあって
聞いてみた次第です
GMで苦労したのにまたゼロから習得していくのはしんどいなあw
触ってみろは仰る通り
事前に調べて日本語情報が異様に少ないとか
あったのでパイソン?
とかの言語知ってるのが前提なのかな?みたいな疑問もあって
聞いてみた次第です
GMで苦労したのにまたゼロから習得していくのはしんどいなあw
363名前は開発中のものです。
2024/05/04(土) 00:49:24.03ID:sLFn1foN 基本的な情報は有志の日本語ブログと公式ドキュメントをツールで翻訳すれば足りる
Pythonに言語仕様が似ているので知っていると楽ができる
今後ビジュアルスクリプティングが流行らないとは言えないがGDScriptでなくても何かの言語は覚えるべき
GodotEngineとGDScriptはかなり使いやすいし判りやすいけど
日本語の初心者向け情報を頼りたいならUnityでC#になるんでないの?
Pythonに言語仕様が似ているので知っていると楽ができる
今後ビジュアルスクリプティングが流行らないとは言えないがGDScriptでなくても何かの言語は覚えるべき
GodotEngineとGDScriptはかなり使いやすいし判りやすいけど
日本語の初心者向け情報を頼りたいならUnityでC#になるんでないの?
364名前は開発中のものです。
2024/05/04(土) 01:10:12.79ID:sLFn1foN >>356
関数名は省略できるっしょ
自分が以前書いた例文もCallableクラスの例文も書いてないと思うけどどこで覚えてきたの?
var move_block = func(): print("~")
move_block.call()
関数名は省略できるっしょ
自分が以前書いた例文もCallableクラスの例文も書いてないと思うけどどこで覚えてきたの?
var move_block = func(): print("~")
move_block.call()
365名前は開発中のものです。
2024/05/04(土) 01:18:05.31ID:sLFn1foN すまん確認してみたら自分が最初に教えた時に明示的にするために関数名書いてたわ
デバッグなんかで関数名の表示できると判りやすいとか付けるメリットもあるが
インラインで使う関数に名前は付けなくていいよ
デバッグなんかで関数名の表示できると判りやすいとか付けるメリットもあるが
インラインで使う関数に名前は付けなくていいよ
366名前は開発中のものです。
2024/05/04(土) 05:51:48.79ID:Q/GMBOls367名前は開発中のものです。
2024/05/04(土) 17:37:03.86ID:YlgyzU/N 初心者どころか無知張りの質問ばっか
流石に聞く前に少し勉強しようよ…
流石に聞く前に少し勉強しようよ…
368名前は開発中のものです。
2024/05/05(日) 19:19:42.62ID:i1XkVcGH https://store.steampowered.com/app/1748390/Rocket_Bot_Royale/?curator_clanid=44704789
goober dashってこのゲームの会社だったのね
goober dashってこのゲームの会社だったのね
369名前は開発中のものです。
2024/05/06(月) 08:38:46.50ID:tVmDFPsn 去年リリースのゲームだけどなんかあったん?
今年の無料枠だと20small mazesとvoid whisperが良かったな
今年の無料枠だと20small mazesとvoid whisperが良かったな
370名前は開発中のものです。
2024/05/07(火) 18:08:44.68ID:2LczD5CB■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★9 [BFU★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- ( ・᷄ὢ・᷅ )最近おはぎを出すのがしんどくなってきた
- 【ガチ正論】一般人「中国に規制制裁されて、『中国ムカつく』じゃなくて矛先が『許さんぞ高市』になってる奴、頭おかしいの?」 ★2 [153490809]
- やばいずっとスマホいじってても寂しいわ話そうよ
- お前らチンポ出せよ!!
- 【ぺこ専🐰】なんG 兎田ぺこら突発配信実況スレ🏡【ホロライブ▶】
- NHKニュースウオッチ9「日本側は対話にオープンな姿勢で安定した日中関係を築きたい考えなのに中国が意固地で糸口が見いだせない」 [904151406]
