1 名前:名前は開発中のものです。 [2024/02/17(土) 09:51:54.18 ID:lpQfy7dC.net] 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 がたててください
288 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 20:42:58.34 ID:nRUQyvbL.net] ぶっちゃけGodot全然わからんちんなんで 支援して、本貰って自分にシバキを入れたいって思いもある おっちゃんが15歳に負けたくない><
289 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 20:49:38.67 ID:K58WhwWv.net] 始めるなら早い方が良いから完成待たずに既にあるのでやってみたら? https://progsha.org/
290 名前:名前は開発中のものです。 mailto:sage [2024/04/23(火) 23:25:40.86 ID:5HqoYOxs.net] 3000円で紙の本と電子本両方もらえるならむしろ安いよね 良心的なクラファンだ
291 名前:名前は開発中のものです。 [2024/04/24(水) 04:23:26.66 ID:oxZnmf8P.net] >>281 なるほど 中で宣言するというだけですね
292 名前:名前は開発中のものです。 [2024/04/24(水) 20:15:21.72 ID:oxZnmf8P.net] 倉庫番のロジックで分からないところがあるのでこっちで質問させてもらいます マップは二次元配列で作成します ただ、キャラクターの移動はvector2で行います 1マスの大きさが32であった場合、vector2の座標が32,0だとしたら、配列上ではarray[y0][x1]となりますよね。 こういった変換に便利な関数とかないでしょうか? やりたいことを箇条書きにすると以下です 1:vector2の座標から配列上の座標を割り出す 2:キャラクターが移動したとき、配列上のキャラクター座標を移動させる(配列上の要素2がキャラとしてます)
293 名前:名前は開発中のものです。 mailto:sage [2024/04/24(水) 20:27:18.43 ID:PzjnMMaW.net] 普通に割り算して切り捨てるだけでは ものを1マス単位で動かさない前提なら1マス辺りの座標を1にして逆に見た目の方の座標を掛け算なりする方が楽
294 名前:名前は開発中のものです。 mailto:sage [2024/04/24(水) 22:41:11.22 ID:YL8z0NQ2.net] 自分が便利なように関数かけばいいじゃないの
295 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:19:55.34 ID:5JWtrSqN.net] 昔の2Dゲーム機は基本的に背景をマップタイル(キャラクタージェネレータなどとも呼ばれる)単位で管理してたものだから、同じように仮想的なタイルを敷き詰めた画面があるものとして構造体組んで、その上でモブがタイルに沿って動く管理を考えるのがとりあえずは昔のノウハウを適用できて簡単だと思う 倉庫番はまさにそういう動き
296 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:27:21.13 ID:8kKIrJCJ.net] AIに聞けばええやん
297 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:30:55.75 ID:5JWtrSqN.net] なのでモブが動くときはpix単位の座標移動が発生するけどそれはサブルーチンとして、ゲームアルゴリズムとしてはマップ全体の座標を整数の配列で(例えば100×100とか)表して制御し、画面に表示する座標は既に言われてるように適切に係数掛け算する関数を作るのが良いと思います 倉庫番の場合、マップが広いレベルを縮小してモニタに表示したりするので、その拡大縮小表示の変換が自由にできるほうがUXが良くなるし、なんなら回転表示もしたくなるかもしれないので。
298 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:33:10.60 ID:5JWtrSqN.net] >>292 まあ倉庫番まんまならAIに頼めばノーコードで完成するでしょうな しかしゲームメカニクスの基礎は自分の頭で考えないと応用が効かなくなるから
299 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 00:42:09.44 ID:7TwSlN/Q.net] ちがうアプローチとしてはTileMapを使用するかな 使えるようになるまでのコストが大きいからお勧めとは言い難いが 高機能で複雑な分、理解できたら便利なクラス
300 名前:名前は開発中のものです。 mailto:SAGE [2024/04/25(木) 01:06:24.88 ID:/gUanyy1.net] 理解できないから半年以上苦しんでるんでしょう。 もっと園児でもわかるような単純なやり方を教えてあげて
301 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 01:08:58.36 ID:5JWtrSqN.net] まんまTilemapなクラスがあったのね これなら簡単だわ勉強になりました
302 名前:名前は開発中のものです。 [2024/04/25(木) 06:12:26.81 ID:Esvk0j05.net] >>291 キャラの動きも配列の書き換えで行って、書き換えられたら再描画というふうにしてもいいんですが これだと滑らかに動くキャラってのが作れなくなるんですよね だからチュートなどではvector2で移動させてるんだろうなと マップ座標とvector2座標の変換は必要になりますね >>289 別に特殊なクラスとか使うことないんですね
303 名前:名前は開発中のものです。 [2024/04/25(木) 06:27:04.46 ID:Esvk0j05.net] >>293 ゲームロジックとしては配列の書き換えだけということですか? 配列の書き換え→その位置に基づいてキャラを描画、ということでしょうか
304 名前:名前は開発中のものです。 [2024/04/25(木) 12:30:15.39 ID:Esvk0j05.net] 関数から、2つの値を返すには何使うんですか? カンマ区切りではダメだったので[1,2]こういう形にしたらいけました
305 名前:名前は開発中のものです。 [2024/04/25(木) 12:50:05.12 ID:Esvk0j05.net] ↑2つの値を返して、二次元配列として使いたい感じです array[0][0] こんな感じです
306 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 13:25:04.08 ID:7TwSlN/Q.net] 2つの値を返す方法が[1,2]でいけたならそれで解決じゃね? var return_value = [1, 2] array[return_value[0]][return_value[1]]
307 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 14:29:31.06 ID:ddMre8ET.net] GDScriptでいいのか? Pythonっぽい言語仕様だけど実際はC++をスクリプトにしただけっぽいので Pythonで複数の値を返す時に使うTupleは使えないんだとよ 方法としては2つ、Arrayで返すかDictionaryで返す 以下はサンプルコードな ※RUNボタンで実行結果も確認できるぞ https://gd.tumeo.space/?KYDwLsB2AmDOAEA5A9tYAodBidAzArpAMbwDmwYA+gIYBOt1AnpQG7UA2+wAFAJQBc6eMPi0K+WpHgBtAIwAaeAHJAVgyA-
308 名前:BkASDEsUBmAHSyALAF1MOAsTIVK0AJZEwt5JDrM2nHgKEixYCVIBvJQBrYEZZJX4FZVDgACZI1U1tGNtbHUj9IwBfTAsSSjFqaEY+QW9hNlp4OmqAXisqWqZWDi4+CvgAB1pbSDBYblreTp6+sCH6aQAGY154LHhZUd7+ydo5OYX4dQ0V8fXpOK3FrMNOzqr4OxIG8iobx2dXVo8OkW7Vge4bkY+xtY3aQhMIRE5LfaA+zA2IJcG7SETIEhNIZcFndBAA [] [ここ壊れてます]
309 名前:名前は開発中のものです。 [2024/04/25(木) 15:44:33.49 ID:Esvk0j05.net] ありがとう配列で値を返して、インデックス番号でとればいいんですね これがタプルってやつですか https://www.reddit.com/r/godot/comments/1cckdwt/how_to_return_two_value_from_function/ あと、人いねーと思っていつもの癖でマルチポストしちゃった ごめんなさい改善します
310 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 16:12:28.75 ID:ddMre8ET.net] マルチでもなんでも問題解決できりゃなんでもいいんだぞ あとTupleの話は出すべきじゃなかったな、忘れてくれ
311 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 16:35:23.02 ID:lNMYdYSi.net] 流石になんでも良くはねえよ… それぞれの場所で時間使って答えてくれてんだから
312 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 17:07:59.94 ID:7TwSlN/Q.net] 同じ質問は数日待っても解答が得られなかったらとか制限は掛けた方がいいな redittの方の解答にあるが戻り値がx,yの座標を扱うものであるならVector2を使うと読みやすくなる
313 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 17:42:32.62 ID:ddMre8ET.net] >>306 一理ある。初心者は気を遣うことを覚えるより完成させることを優先しろ、オレの先輩の言葉 >>307 配列のIndexを返したいって話だから、Vec2はオーバーキルだと思うぞ。ぶっちゃけやってることは同じだしわかりやすい方でいいんだけどさ。This is KISS.
314 名前:名前は開発中のものです。 [2024/04/25(木) 18:26:51.75 ID:Esvk0j05.net] すまん、どちらか一方にするよ redditはそれにしても人多いねぇ
315 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 18:43:10.78 ID:/XEpAv2m.net] つーかマルチポストで聞く暇あるなら少しは勉強しろよ 初歩的な問題で詰んでるなら尚更
316 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 20:20:30.32 ID:7TwSlN/Q.net] >>308 質問のみならそうなのだが話題の元が倉庫番作るのにキャラ座標をマップ配列に変換するなのでそこまで含むと解答はこうなる func cpos_to_mpos(cpos:Vector2i, size:int = 32) -> Vector2i: return cpos / size
317 名前:名前は開発中のものです。 mailto:sage [2024/04/25(木) 21:13:31.21 ID:ddMre8ET.net] おー、なるほどね! Vector2iって勝手にTrancateしてくれるんだな、勉強になったわ
318 名前:名前は開発中のものです。 [2024/04/26(金) 06:09:14.77 ID:1Ez+K35D.net] >>311 すみません なんか自己流で複雑なやり方になってる気がする 普通はキャラ座標とマップ座標の変換はやらずに、座標を1つに統一したりするんでしょうか
319 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 13:14:53.40 ID:yaANzBxw.net] 上の人も書いてるけど倉庫番と言うことはグリッドの途中で立ち止まる事はないだろうから、それであれば32で割った盤面上の座標だけ保持して画面表示の時に32倍するなりアニメ補間すればよいのでは その方がセーブやアンドゥも楽になる
320 名前:名前は開発中のものです。 [2024/04/26(金) 13:46:32.39 ID:1Ez+K35D.net] >>314 配列使わないということですか? 配列使わない場合、障害物の位置などを表現する場合、どうするでしょうか 二次元配列を使った場合、以下のようにマップを表現すると思います 1=壁,2=キャラ、3=動かせる箱、0=動ける範囲 [ [1,2,3,0,1], [1,0,0,0,1], [1,1,1,1,1], ] グリッドの途中で立ち止まらないというのは、32ずつグリッド移動するという意味ですよね。 1pxずつ動かしたいわけじゃないので、それはその通りです。
321 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 13:52:06.26 ID:XXsncJVJ.net] もしかしてモブはスプライト管理じゃない?
322 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 14:35:25.85 ID:/ZFKx6UF.net] >>315 倉庫番である以上オブジェクトは必ず格子状に配置し管理される それを2次元配列とみなす事ができる 配列を使わない場合は遠回りに配列があるのと同等の処理を行うだけ なぜ>>314 の説明で配列使わないという解釈になるのかが判らない 配列を使わない便利な魔法でもあると想像してないか? 配列を使わない方法があっても手間が増えて複雑になるだけだから配列が使われる 配列を使った方法で理解するのが定番
323 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 14:55:56.89 ID:/ZFKx6UF.net] >>313 昔はコンソール上で動かす前提で表示もキャラクター単位だったので 配列の要素番号と表示座標の変換は不要だった 今はウインドウアプリになって表示に座標変換は必須 ウインドウアプリの作法も覚えなきゃで同じ倉庫番の初心者講習でも 昔よりは複雑になり難易度上がってはいる
324 名前:名前は開発中のものです。 [2024/04/26(金) 15:42:16.89 ID:86tvu5TE.net] 絵文字使ってるので表示が上手くいかなかったらごめん ゲームとしては全然足りないし完成させる所までが課題ではあるが 学習項目を配列のみに集約するとこの配列操作が理解できれば十分 func _ready(): var map = "🧱👷📦🚩🧱\n" print(map) map[3] = map[2] map[2] = map[1] map[1] = "◾" print(map)
325 名前:名前は開発中のものです。 [2024/04/26(金) 15:45:16.29 ID:86tvu5TE.net] 二次元配列まで理解できたら上出来 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)
326 名前:我のうんちは小粒(^^ [2024/04/26(金) 17:21:02.02 ID:jKYfR5nN.net] 二次元配列って配列に配列入れるやつでふよね(^^ そこで詰まってるなら人に聞くよりブッコフに走ってプログラムの基礎が書いてある本買って読んだほうがいいのでは?(^^ 煽りとかいじめでいってるんじゃなくて真剣に(^^ ボッキング!(^^
327 名前:名前は開発中のものです。 [2024/04/26(金) 18:10:17.22 ID:1Ez+K35D.net] >>317 配列でやってみます ありがとう 昔のやり方というのは、配列の座標を書き換える→画面表示を更新、といったやり方ですよね 今のように、ぬるっと動かすことが出来ないということですね
328 名前:名前は開発中のものです。 mailto:sage [2024/04/26(金) 18:28:59.68 ID:Tn7ydmJN.net] >>322 今の奴ってどのサンプルの話? 存在しない物を今とか空想してんの?
329 名前:名前は開発中のものです。 [2024/04/27(土) 14:28:13.76 ID:RX6jyHGA.net] フローチャートよりシンプルな図示方法ってないかな? やっぱりロジックを整理しておいてからコード書かないと脳みそがパンクする 可といってフローチャートは難しい
330 名前:名前は開発中のものです。 [2024/04/27(土) 14:39:46.99 ID:RX6jyHGA.net] 擬似コードってのやってみますゆえ
331 名前:名前は開発中のものです。 mailto:sage [2024/04/27(土) 16:13:48.17 ID:b+RnbsA6.net] フローチャートが難しいってどういう事
332 名前:名前は開発中のものです。 [2024/04/27(土) 17:08:49.43 ID:RX6jyHGA.net] むずいというか、他人に説明するためのものではないので、自分だけ分かる方法でいいかなと より簡易的であればいいです フロチャは図形の使いこなしが苦手です
333 名前:名前は開発中のものです。 mailto:sage [2024/04/27(土) 22:14:59.66 ID:toVZIEFB.net] >>324 plantumlが面白いかも plantuml web serverでインストール不要で試せる 検索すればフローチャートの書き方もあるっぽいので コピペして遊んでみては?
334 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 02:33:44.79 ID:XkoBpqzr.net] Godotの2Dのコンセプトは3Dを2Dに見せるやり方ではないってのだけはすぐ分かるのだけど、仮想ゲームマシン的な意味での最大スペックはどこ見ればいいのだ 実行マシンさえ強ければ、昔ながらのBG面もテキスト面もスプライト面もそれらの拡縮回転移動もカラーパレットも無制限で表示させて良い感じなのかな? 他にも昔の疑似3Dもやろうと思えば作れるのだろうけど、それには本物の3D使うよね普通の人は。
335 名前:名前は開発中のものです。 [2024/04/28(日) 06:15:05.24 ID:6Dc8VXuN.net] 1つのスクリプトに書いてるんですが、コードが増えてきた場合、領域を分ける方法は関数以外にありますか? ただ、視覚的に分けるだけでもいいです レギオンは使えるみたいですね >>328 どうも 擬似コード的なものを視覚化するというイメージですかね
336 名前:名前は開発中のものです。 [2024/04/28(日) 06:42:32.33 ID:6Dc8VXuN.net] コアな機能だけモジュール化なりクラス化なりしたほうがいいのかな
337 名前:名前は開発中のものです。 [2024/04/28(日) 09:40:08.77 ID:6Dc8VXuN.net] インデントが深くなりすぎる場合、対策はあるでしょうか。 pythonで関数をカッコで表現出来るでしょうか。
338 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 11:30:45.87 ID:KYDjUHts.net] >>330-332 最初から最後までしっかり読みなさい。 大ヒットゲーム『Balatro』のコードが“力業”だとして共感呼ぶ。コードが汚くても、ゲームが完成してちゃんと動けばそれでいい - AUTOMATON https://automaton-media.com/articles/newsjp/20240424-290961/
339 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 12:06:25.45 ID:qOnW5aMf.net] >>330-332 コードの書き方は多種多様な流派があり自分にあった書き方を模索するしかない チームで開発する時はチームでルールを定める 基本的には公式に従う 安易にファイル分割すると管理が大変になる 単にソースが長いだけならregionで閉じる 全体で共通して使う機能ならグローバルなクラスに纏める 特定のクラスのみの機能なら基底クラスを作って継承する インデントが深いと思ったらそもそもの処理方式を考え直す ループの内側を関数化する ifをand,orで纏める ソースを短くする為にソースが読み難くなるのは本末転倒なので下手な対策はしない
340 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 13:46:45.79 ID:GkEu3rtv.net] 力業ねえ そうは言っても作り方のセオリーはあるんじゃないかな ユニティだけど物理ワールドでオブジェクト移動するときにポジションに1加算みたいなことしたらバグるし重いよね ベロシティにアドフォースするのがセオリーじゃん? そんな感じで、頭の悪いぐちゃぐちゃなセオリーもへったくれもないコードだと見づらいバグる重いでいいことないし ゴドーで「こういう仕組み作るときはこうやるのがベター」みたいなノウハウを集めたサイトが欲しいわ
341 名前:名前は開発中のものです。 mailto:sage [2024/04/28(日) 14:04:21.58 ID:KYDjUHts.net] >>335 逆引き辞典みたいなのあるといいよね(英語のはわりとある) まあセオリーやノウハウが欲しいなら、他人のコードをたくさん読むことが近道じゃないかな
342 名前:名前は開発中のものです。 [2024/04/28(日) 15:15:52.67 ID:6Dc8VXuN.net] >>334 どうも 自分なりに書いてみます とりあえず見た目と機能は分けます
343 名前:名前は開発中のものです。 [2024/04/29(月) 06:16:45.87 ID:W8KMTghQ.net] シンタックスのテーマはストアにないんですかね? githubから持ってくる感じでしょうか
344 名前:名前は開発中のものです。 [2024/04/29(月) 14:25:37.21 ID:W8KMTghQ.net] arrayをforで展開するときに、size関数は要素数ですので、例えば要素数5であった場合インデックス0から開始されますので、4までです この差が誤解を産むことがあるのですが、なにか対策はあるんでしょうか? >>338 解決 自作します
345 名前:名前は開発中のものです。 mailto:sage [2024/04/29(月) 14:53:30.83 ID:2FsCulaT.net] 殆どの言語で要素番号は0から始まるから数こなして慣れるのが一番 順次処理なら要素番号を使わない操作を心がける どうしても気になるなら要素番号が1から始まる配列クラスを自前で作る
346 名前:名前は開発中のものです。 [2024/04/29(月) 16:52:13.85 ID:W8KMTghQ.net] ありがとう 練習あるのみか イメージ力みたいなのが足りないと思う 図で考えたほうがいいのかな
347 名前:名前は開発中のものです。 mailto:sage [2024/04/29(月) 21:18:04.62 ID:n5TYyf+c.net] 仕様書はちゃんと書いた方が良い
348 名前:名前は開発中のものです。 [2024/04/30(火) 05:44:38.46 ID:HJbDE4xz.net] 仕様書はフロチャですか
349 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 13:00:30.92 ID:qkeOAzaS.net] レスがつくのは嬉しいだろうけど、Godotから話題が離れてるので自分のゲーム開発だけ話すのなら別のスレで書いて欲しい
350 名前:名前は開発中のものです。 [2024/04/30(火) 13:09:32.02 ID:HJbDE4xz.net] そうか、了解
351 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 14:13:24.81 ID:uAstRO41.net] 一人が言ってるだけだから気にしなくていいよ 他で出せる話題でもないならここでやればいい
352 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 14:21:24.39 ID:t9d+Ii5w.net] まーた揉めるようなことを・・・学習しねえな
353 名前:名前は開発中のものです。 mailto:sage [2024/04/30(火) 14:26:04.37 ID:hVvdsoIz.net] スレの運用は適切に 例外を許容しすぎると該当スレの存在意義がなくなる
354 名前:名前は開発中のものです。 [2024/05/01(水) 10:08:19.10 ID:ePZpzJCq.net] 質問です godotで子ノードにアタッチしたスクリプトの変数にはアクセス出来るんですが、スクリプトを直接ロードして、そこからアクセスしようとするとエラーになるのはなぜでしょうか。この2つの違いが良くわかりません。 目的は長いスクリプトを複数に分けることです。
355 名前:名前は開発中のものです。 [2024/05/01(水) 10:27:48.27 ID:ePZpzJCq.net] ↑ああそうか 一度シーンにぶら下げないとダメなんですよね godotの場合は 子ノードを作成するか autoloadにするか
356 名前:名前は開発中のものです。 mailto:sage [2024/05/01(水) 12:45:52.75 ID:ZXYQy06U.net] AddChildやAutoLoadはシーンツリーに接続されていてそこ経由でのアクセスが可能 ロードしたスクリプトはシーンツリーから独立したインスタンスになるので そこから他のノードへアクセスしたいのならば他のノードへの参照を渡せばアクセス可能にはなる 個人プロジェクトだろうから好きにすれば良いが 長くなったスクリプトを短くする為に理解出来てない機能を使うのは得策では無いと自分は思う それでもどうしてもregionを使わずスクリプトを短くしたいのならば継承を使うと良い そうすれば継承元のスクリプトは継承先では見た目上隠蔽される
357 名前:名前は開発中のものです。 [2024/05/01(水) 14:24:41.42 ID:ePZpzJCq.net] ありがとうございます シーンに適当なノードぶら下げてそこにスクリプトつけて分割することにします
358 名前:名前は開発中のものです。 [2024/05/02(木) 19:02:27.61 ID:UVx4JLwS.net] https://www.crazygames.com/game/goober-dash goober dashおもろいよね
359 名前:名前は開発中のものです。 [2024/05/03(金) 01:51:43.60 ID:KMJa0hAC.net] 直接loadしたスクリプトはnew()すると使えるはず
360 名前:名前は開発中のものです。 [2024/05/03(金) 13:51:37.10 ID:C+l8v586.net] >>353 gooberはgodotだから貼った
361 名前:名前は開発中のものです。 [2024/05/03(金) 18:50:34.76 ID:C+l8v586.net] 関数内関数を書く時に以下のような形式になるじゃないですか 名前はどんなふうにつけますか? 一般的に変数名を省略系にするのかなと考えますが var mB = func moveBlock(): print("ブロック動かす処理")
362 名前:名前は開発中のものです。 [2024/05/03(金) 19:12:54.15 ID:C+l8v586.net] godotのテキストエディタって機能的に十分なのかな? vscode使えるならもちろんそうしたいけどね 公式のエクステンションでもあれば
363 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 20:14:54.48 ID:QnOXIZPi.net] プログラム初心者で、Gamemakerを触っていたのですが godotはGamemaker触ってたら理解は出来そうですか?
364 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 21:48:22.15 ID:SB6QCt+i.net] >>358 インストール不要で気軽に始められるから、公式チュートリアル30分位さわってみて判断したらいいよ
365 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 23:12:06.81 ID:klkiRmCj.net] %や/とか+=の意味が分からないくらいなら ゲーム開発入門みたいな本を買うなり借りるなりして一度目を通すと少しは助かるかもしれない
366 名前:名前は開発中のものです。 mailto:sage [2024/05/03(金) 23:13:59.18 ID:/rh2liyL.net] GameMaker使ったことないから比較するのにチュートリアルやってみようとしたら開けなかった ブランクプロジェクト開いても何して良いか全然判らなかった これ使えてたならGodotを新しく覚えるのも余裕じゃない?
367 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 00:40:51.69 ID:1eZ/ckRt.net] みなさんどうもです 触ってみろは仰る通り 事前に調べて日本語情報が異様に少ないとか あったのでパイソン? とかの言語知ってるのが前提なのかな?みたいな疑問もあって 聞いてみた次第です GMで苦労したのにまたゼロから習得していくのはしんどいなあw
368 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 00:49:24.03 ID:sLFn1foN.net] 基本的な情報は有志の日本語ブログと公式ドキュメントをツールで翻訳すれば足りる Pythonに言語仕様が似ているので知っていると楽ができる 今後ビジュアルスクリプティングが流行らないとは言えないがGDScriptでなくても何かの言語は覚えるべき GodotEngineとGDScriptはかなり使いやすいし判りやすいけど 日本語の初心者向け情報を頼りたいならUnityでC#になるんでないの?
369 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 01:10:12.79 ID:sLFn1foN.net] >>356 関数名は省略できるっしょ 自分が以前書いた例文もCallableクラスの例文も書いてないと思うけどどこで覚えてきたの? var move_block = func(): print("~") move_block.call()
370 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 01:18:05.31 ID:sLFn1foN.net] すまん確認してみたら自分が最初に教えた時に明示的にするために関数名書いてたわ デバッグなんかで関数名の表示できると判りやすいとか付けるメリットもあるが インラインで使う関数に名前は付けなくていいよ
371 名前:名前は開発中のものです。 [2024/05/04(土) 05:51:48.79 ID:Q/GMBOls.net] >>364 出来るんですね どうも たしかに出来た
372 名前:名前は開発中のものです。 mailto:sage [2024/05/04(土) 17:37:03.86 ID:YlgyzU/N.net] 初心者どころか無知張りの質問ばっか 流石に聞く前に少し勉強しようよ…
373 名前:名前は開発中のものです。 [2024/05/05(日) 19:19:42.62 ID:i1XkVcGH.net] https://store.steampowered.com/app/1748390/Rocket_Bot_Royale/?curator_clanid=44704789 goober dashってこのゲームの会社だったのね
374 名前:名前は開発中のものです。 mailto:sage [2024/05/06(月) 08:38:46.50 ID:tVmDFPsn.net] 去年リリースのゲームだけどなんかあったん? 今年の無料枠だと20small mazesとvoid whisperが良かったな
375 名前:名前は開発中のものです。 [2024/05/07(火) 18:08:44.68 ID:2LczD5CB.net] https://ideone.com/q33YHK このくのif文のネストというのはやり過ぎですか? コードの意味というより、構造としてです
376 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 18:13:54.37 ID:mOg/x0Fw.net] 別にダメではないんじゃね 抑えたいんだったらforの中のifだったら否定continueにできないかとか主な部分の分岐は関数にできないかとか
377 名前:名前は開発中のものです。 [2024/05/07(火) 18:29:18.13 ID:2LczD5CB.net] ありがとう 折りたたみがあれば、自分的に分かりづらくはないので、そこが判断基準でしょうかね。
378 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 19:36:46.79 ID:RdSJWMfw.net] コードの文法にこだわるより動いて完成させるほうが大事ってヒットしたゲーム開発者が言ってた
379 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 19:55:59.80 ID:Wut59JH8.net] >>370 冗長ではあるかも 範囲外チェックは関数化すれば使い回せるし押せるかチェックも同じく関数化で使い回せる
380 名前:名前は開発中のものです。 mailto:sage [2024/05/07(火) 22:49:42.73 ID:4dk4e7hy.net] >>370 本題とはずれるけど関数やブロックは簡易でもコメント書いた方が良いと思う 優先されるのは動く事なんだけど冗長すぎるコードは将来的には管理不能になり易い 正しく動く関数を作ったら中を見なくても使える位のコメントは必要かと 自分が自分用のコードで書くのはこの程度 ## マップ情報からタイル情報を取得 ## 指定したpos座標からdir方向にstep目のタイルを取得する func get_tile(pos, dir = Vector2i.ZERO, step = 0): var x = pos.x + dir.x * step var y = pos.y + dir.y * step if y < 0 or y >= map.size(): return if x < 0 or x >= map[y].length(): return return map[y][x]
381 名前:名前は開発中のものです。 mailto:sage [2024/05/08(水) 06:03:56.80 ID:DXZ4K4HC.net] forの外でなく中で分岐チェックが入るのはなぜだろうと for内部で分岐チェック変数自体が変化するのかなとか一寸思った
382 名前:名前は開発中のものです。 [2024/05/08(水) 06:12:38.24 ID:DI+sRL/w.net] >>373 ほんとそれ(*´ω`*) でも自分でも書いたコードの意味がわからなくなることがある ただ、完成させたら後は触らなけりゃいいものね
383 名前:名前は開発中のものです。 [2024/05/11(土) 10:19:20.20 ID:5tdP2r62.net] https://anogame.net/softbody-shape-sprite-unity/ こういうベーコンみたいな動きはjoint系でやるんかな
384 名前:名前は開発中のものです。 mailto:sage [2024/05/11(土) 12:20:37.88 ID:sm7gTskD.net] これはJointでやってるね ttps://github.com/appsinacup/godot-softbody2d
385 名前:名前は開発中のものです。 [2024/05/11(土) 12:46:54.43 ID:5tdP2r62.net] >>379 どうも むつかしそうなことしないと作れないんですね
386 名前:名前は開発中のものです。 mailto:sage [2024/05/11(土) 13:15:20.66 ID:sm7gTskD.net] addonになってるから手順に従えば使えるんじゃないかね? 3Dでも良いなら公式にSoftBody3Dクラスがあって解説されている ttps://docs.godotengine.org/ja/4.x/tutorials/physics/soft_body.html
387 名前:名前は開発中のものです。 [2024/05/11(土) 14:04:47.85 ID:5tdP2r62.net] どうも 2dなんですが既存のノード
388 名前:セけでやろうとしてました [] [ここ壊れてます]