1 名前: [2025/03/14(金) 17:12:23.30 ID:RPLIC41h.net] 女剣闘士を育成して戦うシミュレーションを作ってます 今はフリーゲーム夢現にてプロトタイプを公開中 作者が進捗報告する場所ですが、自由に意見や感想などなんでもご自由にどうぞ 可能な限りプレイヤーの要望を聞きながら作り進めたいところです ※グラディエーターガールは、 参加 OK MOD制作 OK 再配布 OK 実況 OK(全年齢配信サイトではエロシーンはカットしてくださいね) ジャンル R18フリーゲーム 開発エンジン Godot Engine このスレはなんでも書いてOK アンチに叩かれた程度では制作をやめたりしないので作者に気を使う必要ナシ 前スレ ゲーム制作の日記、備忘録、メモなど好きに呟くスレ https://mevius.5ch.net/test/read.cgi/gamedev/1711686911/ ーここから伝説が始まるー
296 名前:ワナビー2024 [2025/04/12(土) 13:58:48.28 ID:ayaarUxS.net] 小さいゲームをブラッシュアップしていっくのが近道な気がするな
297 名前: mailto:sage [2025/04/12(土) 15:39:29.97 ID:/LY8M4vT.net] >>296 うん、小さいのでいいから手を動かしていこう
298 名前: mailto:sage [2025/04/12(土) 15:46:13.74 ID:/LY8M4vT.net] DB Browser for SQLiteってのでデータベース作成することにしたよ SQLiteのこういうのでいいんだよ感は異常w 一つのファイルで管理出来るから超便利じゃん 作成したデータベースをグローバル変数にポンと読み込んで、その変数(配列や辞書)にアクセスしてゲームを動かすことにしたよ セーブもその変数を保存すればいいだけだし とりあえず、dbファイル作ってそれを変数に格納し、キャラ名をキーにしてHPを読み出すとかはできるようになったよ というか便利すぎてもうディクショナリとかカスタムリソースには戻れないw
299 名前: mailto:sage [2025/04/12(土) 15:55:51.51 ID:/LY8M4vT.net] たったこれだけのコードでキャラ名をもとにHPの値を取得したり、HPの値をもとに名前を取得したり 色々とdbファイルの情報を扱えるからめっちゃ便利すぎる https://i.imgur.com/0Rs8cJX.png
300 名前: mailto:sage [2025/04/12(土) 15:58:25.73 ID:/LY8M4vT.net] なんといってもデータを入力していくのが格段に楽! テキストベースのゲームだし膨大なデータがあるからね 辞書変数を手入力で入れていくのと比べ物にならない
301 名前:名前は開発中のものです。 mailto:sage [2025/04/12(土) 16:06:54.43 ID:cxFGC8+Y.net] ぐいぐい行くね。ワナビも見習った方が良さそうだよ。ところでJAMは誰か作ってるのだろうか
302 名前: mailto:sage [2025/04/12(土) 17:30:51.71 ID:/LY8M4vT.net] 試行錯誤した結果さっきのややこしい関数無しでたった一行で値にアクセスできる方法がわかったよ https://i.imgur.com/TuJcO00.png こう記述することでNPCというテーブルにあるピニャという名前のデータのHPの値にアクセスできるようになった すごくシンプルにデータベース扱える! というかdbの中身を読み込むと配列の中に辞書型で格納されてるだけだから、名前じゃなく配列のインデックス数字でいいならさらに取得は楽だと思う NPCの0番のHPとかなら書き方はもっとシンプルになるよ いやー、今まで複数の変数をアクロバティックに組み合わせてデータ作ってたけど、めっちゃシンプルに管理できるのありがたいw
303 名前: mailto:sage [2025/04/12(土) 17:32:32.27 ID:/LY8M4vT.net] >>301 どうなんだろうね 前回から期間あまり経ってないし、今回はやってる人は居ないかもしれない
304 名前:名前は開発中のものです。 mailto:sage [2025/04/12(土) 17:57:57.83 ID:cxFGC8+Y.net] Godot調べてみた。小回りのGDscriptとパフォーマンスはC#ってあるけどGodot使うならどっちがいいんだろう。 https://goodlucknetlife.com/godot-development-csharp-gdscript/
305 名前:ワナビー2024 [2025/04/12(土) 17:58:55.00 ID:ayaarUxS.net] c#だと情報ほぼないしな、、
306 名前:◆X1HifnAYpUXb mailto:sage [2025/04/12(土) 18:35:01.21 ID:/LY8M4vT.net] C#はwebエクスポートできないと公式に書いてあった気がする それに難しい…unityで挫折したんだよね
307 名前:ワナビー2024 [2025/04/12(土) 20:33:13.97 ID:ayaarUxS.net] タイルセットってkritaとaspriteみたいなツールどっちがええの? 後者はアニメーションするキャラ絵とかに向いてるイメージ タイルセット作るのなら表現力の部分で aspriteで背景作ろうとすると、ドット打ち大変だな
308 名前: mailto:sage [2025/04/12(土) 20:41:52.54 ID:xY0zVlS+.net] オートタイルを簡単にやるならaspriteで描いてtilesetterてツールでやるのがすごく便利だよ 一方向描くだけで全方向の壁や地面タイルを自動で作ってくれる あとゲーム作るならasprite買っといて損はないよ
309 名前:ワナビー2024 [2025/04/13(日) 06:17:53.03 ID:851KVRzG.net] >>308 ブラシの少なさとか気になるけど、全部ドット打ちして作るもんなの? 例えばkritaなら広い範囲にジッターブラシで描くとか出来るけど aspriteじゃないが、pixeloramaってソフト使ってる(godot制)
310 名前: mailto:sage [2025/04/13(日) 07:00:27.46 ID:90X/Bo2b.net] >>309 全部ドット打ちするのもすぐ慣れるよ キャラは16p×16px~32pxで背景も100pxとか小さいサイズで描いてそれを拡大して使うと早いし見栄えもいいよ pixeloramaはシェーダーブラシが使いやすくて背景描くの楽 とにかくドットは最終的に300パーセントくらいに拡大してゲームに使うイメージで、小さいサイズで描くこと
311 名前:◆X1HifnAYpUXb mailto:sage [2025/04/13(日) 07:11:56.15 ID:90X/Bo2b.net] SQliteのようなRDBは階層構造に弱いってことが分かって 自分の場合、 大陸 王国A 村A 店A 商品 アイテムA NPCA という風に深い階層構造で膨大なデータ作ってて、調べた感じオブジェクト指向データベースとかが向いてるらしく 結果的に階層構造が作れるという意味でJSONでやったら読み書きがめちゃくちゃ楽だった database[大陸][王国][村]って感じでキーでアクセスできるし、key()を使うことで王国一覧とかアイテム一覧の配列を取り出すことも可能 結局JSONで落ち着きそう…ただし便利なソフトがほぼ無いので手作業でデータ書いていくのは大変だけど
312 名前:ワナビー2024 [2025/04/13(日) 09:26:52.04 ID:851KVRzG.net] >>310 まあジッターなんかに頼ったら表現力つかない気もするからね、、、
313 名前:名前は開発中のものです。 mailto:sage [2025/04/13(日) 09:44:43.61 ID:a/9cxutn.net] >>311 1周回ってGDScriptに直書きに戻りそうな予感
314 名前: mailto:sage [2025/04/13(日) 09:55:38.67 ID:90X/Bo2b.net] >>313 直書きで入れ子の辞書型作るのと同じことだけど、ちまちま書くのはやっぱり大変 ミスも起きやすいし JSONならまだノード表示にして操作&管理しつつ書いていけるエディタもあったからこれでやろうと思う
315 名前: mailto:sage [2025/04/13(日) 09:58:48.21 ID:90X/Bo2b.net] >>312 タイトル画面作りに時間かけてるみたいだけど とりあえず仮画像をサクッと描いて進めてみるのもありだよ それで、進捗のtube動画はまだー?
316 名前:名前は開発中のものです。 mailto:sage [2025/04/13(日) 11:56:49.77 ID:gOx9sQf0.net] そろそろワナビは質問だけで作ってないって気づいた頃合いか
317 名前:ワナビー2024 [2025/04/13(日) 12:02:24.29 ID:851KVRzG.net] >>315 あい
318 名前:ワナビー2024 [2025/04/14(月) 07:42:20.43 ID:1DpxKqpo.net] つくてるけど牛歩 競輪も同時にやってるからな(´・ω・`)
319 名前:ワナビー2024 [2025/04/14(月) 19:35:23.24 ID:1DpxKqpo.net] プログラミングなんぞいつ得意になるんだおか
320 名前:名前は開発中のものです。 [2025/04/14(月) 20:05:26.31 ID:j3nOf/05.net] インテリセンス(コード補完)があるようなって 得意なった なんか適当に書いてもエラーが出なくなったから
321 名前:名前は開発中のものです。 [2025/04/14(月) 20:18:05.34 ID:j3nOf/05.net] ✕得意なった 〇得意になった AIとかの進化でもっと雑に書いても動くようになれば 得意な人が増える気がする
322 名前:ワナビー2024 [2025/04/14(月) 20:46:49.56 ID:1DpxKqpo.net] 俺は駄目だな(´・ω・`)得意にはならんだろうが、使いこなしたい
323 名前: mailto:sage [2025/04/15(火) 07:29:50.93 ID:NT2ZRSD9.net] 忙しくて趣味ゲーにまで手が回らない 時間ないからテキストベースのやつ本当にテキストだけにしようかなw NPCも膨大だし、立ち絵やエッチCG描く暇もないかもしれん
324 名前: mailto:sage [2025/04/15(火) 07:36:22.05 ID:NT2ZRSD9.net] コード補間、それと実行するまでもなくエラーがあると箇所を教えてくれるからやりやすくなったよね 俺も得意ってほどではないけど慣れてきたよ そういえば、AGMはSQLとか使わなくてもデーターベース実装されるみたい これでヌルヌル動くなら神ツール確定だね 次のゲームはAGMで作るつもり
325 名前: mailto:sage [2025/04/15(火) 08:08:52.56 ID:NT2ZRSD9.net] 3Dホラゲもう900DLか、1日100のペースだ 黒歴史が広まっていく複雑な心境w もっとちゃんと作っとくんだった
326 名前: mailto:sage [2025/04/15(火) 09:14:59.87 ID:NT2ZRSD9.net] ワナビーは倉庫番にキャラ絵とストーリーつけたらどうだろう? 魔王の罠にかかった美少女を助けに行くみたいな話とかね
327 名前:ワナビー2024 [2025/04/15(火) 11:25:46.15 ID:M4PKlJaM.net] https://store.steampowered.com/app/2462810/Ligo/ こんな感じのステージにしたいのだが、ステージの構造と、見た目のレイヤーは分けるんか?配列だろうけど、例えば配列番号が1だと壁にする。 1に自動的にタイルを当てる事もできるけど、オートタイルとの相性悪そうやな。 >>325 ホラゲてどれや?
328 名前:◆X1HifnAYpUXb mailto:sage [2025/04/15(火) 11:48:15.07 ID:NT2ZRSD9.net] >>327 ステージ構造はタイルマップノード、背景はパララックスノードでいいよ ステージ構造を配列でやるならタイルマップはレイヤー分けなくていいと思う というか、配列でこれやるのめっちゃ難かしそう キャラにくっついたものを壁にあてて剥がすとかの仕組みもやるの? 壁オブジェクトとキャラにコリジョン付けて、キャラを1マスずつ動くようにすれば普通に実装きでると思うが… その作り方じゃワナビーは嫌なんだよね?
329 名前:◆X1HifnAYpUXb mailto:sage [2025/04/15(火) 11:49:15.41 ID:NT2ZRSD9.net] ホラゲは別ネームだからタイトル言うのはやめとくw まあここ念入りに見てる人なら別ネームも分かると思うんだけどね
330 名前:名前は開発中のものです。 mailto:sage [2025/04/15(火) 11:54:45.49 ID:Q37NUoPs.net] TileSetにCustomDataLayerを追加すればそれが配列相当になるので配列で管理する必要はないよ
331 名前:◆X1HifnAYpUXb mailto:sage [2025/04/15(火) 11:56:51.15 ID:NT2ZRSD9.net] 配列で1指定したとこもちゃんとオートタイルで自然な壁になると思うよ コードで動的に変更してもオートタイルは機能するはず
332 名前:◆X1HifnAYpUXb mailto:sage [2025/04/15(火) 11:59:58.61 ID:NT2ZRSD9.net] そういえばCustomDataLayerもあったね そもそもゲームエンジン使わずにプログラミング言語だけでやるとかじゃない限り無理に配列使う必要ないよね ワナビーはこだわりがあるみたいだけどw
333 名前:◆X1HifnAYpUXb mailto:sage [2025/04/15(火) 12:07:39.79 ID:NT2ZRSD9.net] 本当はタイルマップノードでマップ描くのが速いんだけどワナビーは 1,1,1,1, 1,0,0,1, 1,2,0,1, 1,1,1,1 みたなテキストのデータ書いて、それをもとにタイルを設置して その数字データをコードで制御することで倉庫番作りたいんだよね? めっちゃむずいじゃん、無理にそれでやる必要ないんじゃない? 方法にはこだわらずに完成させることを優先してみるのもありだよ
334 名前: mailto:sage [2025/04/15(火) 12:41:04.77 ID:NT2ZRSD9.net] 今作ってるやつ風呂敷広げすぎて挫折しそう 村もNPCも膨大なの前提のゲームで、ほとんどの作業はひたすらデータベース入力と絵を描く作業になりそうだよ NPCも沢山なのにNPC一体でこれだけのデータ記入する必要がある でもテキストベースで小さくすると面白くならないし…こういうのってワールドを自動生成して広くて細かい世界を実装するものなんだろうね 手入力では無謀すぎる https://i.imgur.com/tFiUsSA.png https://i.imgur.com/x0PeMMU.png
335 名前: mailto:sage [2025/04/15(火) 12:49:36.51 ID:NT2ZRSD9.net] ようするにdatabaseの中身を自動で作って変数に格納すればいいだけだよね やろうと思えばできるかもしれない ワールド自動生成に挑戦してみるか これが出来れば開発者の自分も常に新鮮な気持ちで楽しめるゲームになりそう
336 名前:ワナビー2024 [2025/04/15(火) 13:42:57.58 ID:M4PKlJaM.net] >>328 キャラの体を壁とマージして、体が長くなるとか、そんなのをやりたいけど、これも配列だと面倒だったりするかな? 何が適切な選択か分からんのよね
337 名前:ワナビー2024 [2025/04/15(火) 13:44:52.59 ID:M4PKlJaM.net] というか作りたいものの仕様もかっちり決まってるわけでもない
338 名前:名前は開発中のものです。 mailto:sage [2025/04/15(火) 13:52:01.32 ID:k6P9Da/b.net] ワールドのプロシージャルマップってPerlinNoiseでフィールドを大まかにつくって街や川などを配置するタイプを思い浮かべるけど、 村の酒場、城の道具やとか森などのテキストボタンを配置してルートを選択する感じ? とにかく期待してます。
339 名前:名前は開発中のものです。 mailto:sage [2025/04/15(火) 14:52:20.93 ID:Q37NUoPs.net] >>336 >>327 のゲームの様なマス目単位で操作する内容なら配列管理が向いてる タイルマップなら移動物と固定物の2つのレイヤーで処理すると良さげ
340 名前: mailto:sage [2025/04/15(火) 14:54:26.36 ID:NT2ZRSD9.net] まだ簡素なものだけどNPCの自動生成は出来たw 生成の要領は理解できたから 大陸、王国、都市や村、ダンジョン、アイテム、武器の性能のデータ類も全て自動生成できそう これならもっと広くて細かいワールド作れそうだし、武具の性能もランダムなのでハクスラっぽい要素も入れられるね なんといっても開発者の自分も楽しめるのは大きい TXTファイルにNPC名をリストにしておけばそこから自動で作れるからプレイヤーが自由に好きな名前とかも登録できるし夢が広がるw いやー、楽しくなってきたぞ
341 名前: mailto:sage [2025/04/15(火) 14:57:40.31 ID:NT2ZRSD9.net] >>338 そう、行先のボタンを押して移動する感じ でも村A→草原→森→村Bみたいな移動だと世界が広いので移動大変だし迷うので、都市には直接トラベルできるようにしてるよ 基本は領主として成り上がるゲームだけど、オープンワールドでなんでも出来る感じのゲームにするつもり
342 名前: mailto:sage [2025/04/15(火) 16:31:36.69 ID:NT2ZRSD9.net] TXTファイルに名前といくつか項目書くだけでJSONで作ってたのと同じ構造の辞書型を自動生成するようにしたよ これでめっちゃ楽になる https://i.imgur.com/eJqC636.png
343 名前: mailto:sage [2025/04/15(火) 16:33:05.61 ID:NT2ZRSD9.net] ただ、今の状態だと数値がただのランダムなのでかなりカオスな世界になってしまってゲーム性を保てないのが課題 改良していい感じに生成できるようにしたい
344 名前: mailto:sage [2025/04/15(火) 20:39:47.64 ID:wCHIvD9V.net] 色々やってみたけど入れ子の辞書を自動で作るのは今の自分には難しいや 大陸>王国>都市までのツリーは手作業でもできるから自動でやらなくてもいいかな 都市の末端データ、NPCや商店やモンスターやアイテムとかは詳細なデータ持ってるし自動を組むのも楽だからそこだけ自動でやろうと思う
345 名前:ワナビー2024 [2025/04/16(水) 06:54:01.57 ID:USGAi99p.net] >>339 倉庫番ベースだから配列で考えてた マス目移動ではあるけども、グリッド移動のほうが良いパターンって何?
346 名前: mailto:sage [2025/04/16(水) 08:15:13.44 ID:OSOsCgWJ.net] ワナビー、動画まだー? 面白い倉庫番ができるの楽しみにしてるよ
347 名前: mailto:sage [2025/04/16(水) 08:18:32.91 ID:OSOsCgWJ.net] やっぱ全てを自動生成するよりは固定の部分と自動生成とをうまくハイブリットしたほうがよさそう でないと人口20万人の王都を18歳の村娘が治めてるっていう変な状況も生まれるしなあ ある程度コントロールはした方が面白くなりそうではある
348 名前: mailto:sage [2025/04/16(水) 08:23:56.39 ID:OSOsCgWJ.net] NPCに領主とか民間人とか商人とかランクを付けて、それをもとに自動配属していけば自動でもできなくはないけど 太郎の鍛冶屋にはやっぱり店主として太郎がいて欲しいから固定の方がいいよね
349 名前:ワナビー2024 [2025/04/16(水) 09:21:00.55 ID:USGAi99p.net] >>346 競輪もやってるからちょっとまって
350 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 09:41:54.96 ID:ucxm2sMg.net] ワナビくんオモロイ それでこそ5chねらーだ
351 名前:ワナビー2024 [2025/04/16(水) 09:54:42.81 ID:USGAi99p.net] あーまータイルマップレイヤーの配列使ってやってみるかぁ やってから判断すりゃいいかぁ(´・ω・`)
352 名前:ワナビー2024 [2025/04/16(水) 10:01:58.84 ID:USGAi99p.net] あっタイルマップはやっぱ違うな
353 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 10:49:13.23 ID:xzzQw+qg.net] スケジュールや締切作ったほうがいいんでね
354 名前: mailto:sage [2025/04/16(水) 10:56:47.51 ID:OSOsCgWJ.net] 牛歩っていってるけどまだ一歩も進んでないからなあ ワナビーは締め切りを宣言して自分を追い込んだ方がいいかも とりあえず進捗動画は一週間以内に出せるように進めてみようね
355 名前:ワナビー2024 [2025/04/16(水) 11:35:28.18 ID:USGAi99p.net] 追い込んだところで能力不足は改善しないんでね 俺の場合 とりあえずじっくり1本ってかんじだな game a weekやってて感性しねーんだから(´・ω・`)
356 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 11:42:36.36 ID:HPnurk8H.net] >>345 マス目移動をマス単位での移動、グリッド移動をグリッド上での滑らかな移動とすると 滑らかな移動は目視で状況把握がしやすいってのがメリットかな 瞬間的に位置が変わると移動を見落としやすくなる 移動中に判断する余地ができるので途中で取り消す事もできる 完了後に移動を取り消しても良いのでマス単位の移動で取り消しできないわけではない
357 名前:ワナビー2024 [2025/04/16(水) 12:22:11.25 ID:USGAi99p.net] よぉ分からんのだけど、倉庫番ってイカのようなっ感じでステージ作るじゃない? var map = [ [0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0] ] でもステージがある程度デカくなると、分かりづらくなりがちだし、作ってて楽しくない だったらタイルマップで描いて、そこから二次元配列に変換したほうがいいのかね?そのほうが直感的に楽しく作れるからなぁ >>356 baba is youだけど、滑らか移動だからvector2移動なのかなと思う。 そこからロジック用の2次元配列に変換でもしてんだろうけどね(´・ω・`) ロジック用の2次元配列は何にしても必要になるなと思う
358 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 12:41:22.72 ID:HPnurk8H.net] >>357 タイルマップとはセル情報(≒2次元配列)をTileSetで設定されたスプライトで表示する仕組みだから 自分がわかり易いなり管理しやすいなり好きな方を選べば良い ステージのデータはタイルマップで直感的に作る方が楽だと思う タイルマップのセル情報と配列は変換コードを自前で用意すれば相互変換できるので どちらで作っても同じ結果に導ける
359 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 12:49:14.16 ID:HPnurk8H.net] >>357 タイルマップにタイルを滑らかに移動する仕組みはないので実現するなら 移動したいタイルをスプライトに変換し移動完了後にタイルに戻す動作になると思う ロジックの管理はタイルマップでやって良い
360 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 13:01:25.04 ID:RZzqwf5R.net] とりあえず、全部スプライトで描画したらよくね? まずは得意の2次元配列で、1ステージだけ作るんだ
361 名前:ワナビー2024 [2025/04/16(水) 14:05:55.45 ID:USGAi99p.net] >>358 タイルマップレイヤーから配列取り出せるか調べてみる
362 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 14:19:06.33 ID:HPnurk8H.net] >>361 自分で調べるのは大事だがタイルセットは複雑なのでほぼ回答しとく Godotの使い方で他なにかあれば続きはGodotスレで var coords:Vector2i = Vector2i(x, y) # 取り出したい座標 var atlas_coords:Vector2i = tilemap.get_cell_atlas_coords(coords) # アトラス座標が返る var tiledata:TileData = tilemap.get_cell_tile_data(coords) # タイルデータが返る
363 名前: mailto:sage [2025/04/16(水) 14:37:52.33 ID:OSOsCgWJ.net] ワナビーがGodotスレに麹sくとあっちがャ純iビーの専スャ撃ンたいな状態bノなるからここ試gってもらって荘蜿苺vだよ (また追い出されるしな) このスレはゲ制作者に自由に使ってもらって構わない 各々が情報交換できれば有意義だよね
364 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 15:02:16.32 ID:HPnurk8H.net] >>363 正しくGodotの話題をするなら別にワナビー専スレ状態になっても構わないと思ってる 放置するとゲーム仕様の方向性やら開発モチベーション維持やらGodotと関係ない話題になるから邪魔扱いされる 技術情報としてはGodotの話題はGodotスレに集約されるべきと考えるが 既にGodotスレも他のスレも初心者は居なくなった雰囲気ではあるし意味は無いのかもね
365 名前: mailto:sage [2025/04/16(水) 15:24:13.31 ID:OSOsCgWJ.net] まあ、あっちに情報を残す方がいいという考えなら止めはしないよ とにかく、このスレは遠慮せず使ってもらえればそれでいい ワナビーはGodotの専門的な話はGodotスレでして、それ以外の呟きはここですればいいかもしれないね あっちの方が答えてくれる人も多いだろうし
366 名前: mailto:sage [2025/04/16(水) 15:58:48.35 ID:OSOsCgWJ.net] 今作ってるテキストベースのやつボタンで町を移動する方式だけど、自分に技術がないからそうしてるだけで 本当は見降ろしマップでやりたいんだよね 自動生成やるならいっそ生成マップありのローグライクにしようかとも思う パーリンノイズで地形生成はやったことあるけど、町とかNPC、アイテムの配置とか経路探索とか高度な技術がいりそうで避けてた でもここまできたら挑戦してみようかな rouge basinていうローグ関係の情報が集積された海外サイトがあるからそこで勉強しつつやってみるか 能力もスキルもない一人の一般人として、ファンタジー世界でコツコツ生きていくリアル指向かつ自由度の高いゲーム作りたい
367 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 16:12:28.21 ID:HPnurk8H.net] やりたい事が増えるのは良いけど膨らませすぎると収集が付かなくなるので目処が立つ規模まで絞った方が良いのでは? 自動生成はまず非自動生成のデータを処理ができる上で追加のデータを生成する機能だと思う コツコツ生活も世界の前に国や街の規模でできるべきだしその前提としてNPC間の関係が処理できるべき 見下ろしマップはタイルマップの使い方覚えたらかなり簡単よ ローグライクのマップで良いなら生成アルゴリズムも入手しやすいのではないかな?
368 名前:ワナビー2024 [2025/04/16(水) 16:29:49.65 ID:USGAi99p.net] >>362 thanks 調べる
369 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 16:32:07.93 ID:ucxm2sMg.net] こういうシンプルなのから始めたらいいんでない? https://github.com/foopod/godot-bsp-trees-dungeon
370 名前: mailto:sage [2025/04/16(水) 17:08:04.64 ID:OSOsCgWJ.net] >>367 そうだね、風呂敷広げすぎるのはよくないかも 悩んだけど、そもそも世界の全部を自動生成ってのは無理な方法かもしれない ワールドや村の構造やNPCは固定で作って、ダンジョンは自動生成するのが正しいやり方な気がするよ 町やNPCの設置は手作業で作り、間の草原とかは自動生成とかならいけそうだね
371 名前: mailto:sage [2025/04/16(水) 17:08:36.13 ID:OSOsCgWJ.net] >>369 ありがとう そこ見てダンジョンの作り方勉強してみるよ
372 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 17:34:45.49 ID:HPnurk8H.net] >>369 面白そうだったから試してみた 説明に書いてあるコードでほぼ動いたよ TileMapで書かれているのでTileMapLayerで使うにはset_cellの第一引数を消す必要があった あと説明でも書かれているけどset_cellのsource_idが適切であること
373 名前: mailto:sage [2025/04/16(水) 19:14:50.52 ID:Ju/4aa/m.net] 後半までは上手くいったけどpush_backのところでエラーが出るなー 色々試したけど解決せず というか、そもそも複雑で理解が追いつかなくてこれを応用して作っていくのは自分には難しいかも マップの自動生成はまだ自分には早いということは理解できたw
374 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 19:53:24.71 ID:HPnurk8H.net] 自分は説明読みながら書き足して行ったけどgithubにプロジェクト一式上がってるから zipでダウンロードしてインポートしたら動くよ 自分が使ったGodotのバージョンは4.5.dev2 内容的には大きい部屋を小さい部屋に分割して行って分割した部屋同士の連絡通路を作るって仕組みだね 生成処理を_drawで行っているのでこのままでは使いにくいので理解した上で作り直しは必要に思う
375 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 20:00:15.90 ID:HPnurk8H.net] インポートはgitが使えるならzipで落とさずgit cloneすれば少し楽
376 名前:◆X1HifnAYpUXb mailto:sage [2025/04/16(水) 20:27:43.30 ID:Ju/4aa/m.net] 原理はシンプルで分かりやすいね でもコードの理解力が自分には足りてないや 例えばツルハシ持ってると壁を壊せるようにしようと思ったら、これをどう書き換えればいいやら見当もつかないよ とりあえず、今回のゲームではマップは諦めようと思う まあ、色々発見があって勉強にはなったしやってみてよかった 自動生成マップは挑戦するにしても、もうちょっと力が付いてからかな
377 名前:名前は開発中のものです。 mailto:sage [2025/04/16(水) 21:11:20.51 ID:HPnurk8H.net] 技術的には効率良く処理をするために再帰処理で二分木を生成している 再帰処理は慣れないと理解しにくい処理だとは思う 壁とツルハシは>>362 で書いたのが基本でget_cell_atlas_coordsでその座標に何があるか分かる ツルハシを持っていたなら壁タイルを破壊後のタイルに置き換えれば良い 今すぐ理解できなくともそんなものかと知っていれば後で記憶から出てきやすくなる
378 名前: mailto:sage [2025/04/17(木) 00:48:07.40 ID:+dienuvP.net] >>377 なるほど、確かに壁破壊は後からタイル置き換えればいいだけだね 生成するときの処理とは関係ないか…難しく考えすぎてた 先日入れ子の辞書を自動生成するときも、その再帰処理がよく理解できなくて諦めたんだよね 避けては通れなさそうだから再帰処理についてちゃんと勉強してみるよ
379 名前: mailto:sage [2025/04/17(木) 01:43:28.55 ID:+dienuvP.net] 勉強してからやってみたら再帰処理で入れ子の辞書作れたよ 諦めてたけど、場所のツリーも自動生成いけそう
380 名前:名前は開発中のものです。 mailto:sage [2025/04/17(木) 09:35:44.54 ID:pFiYp9rL.net] Godotを使用してるんだよな? str_to_var()を知ってるか? めちゃくっそ強力な変換関数だぞ GDScript埋め込みの文字列とテキストファイルから配列を自動生成するサンプルを作ったから参考にしてくれ GodotバージョンはGodot4.3 https://imgur.com/a/jgrh1wp
381 名前:◆X1HifnAYpUXb mailto:sage [2025/04/17(木) 10:08:49.29 ID:+dienuvP.net] >>380 まじか、変換できる関数あったんだね 先日探したときは見つけられなくて別の方法で実装しちゃったよ まあでもstr_to_varがあるならこの先はそれを使ってみようと思う ありがとう
382 名前:ワナビー2024 [2025/04/17(木) 19:47:15.19 ID:E9vmVRhZ.net] 本日の競輪終了
383 名前:ワナビー2024 [2025/04/18(金) 06:47:24.93 ID:z1MG1Boa.net] プログラミンってどういう瞬間に覚えたと言えるんだろうか 中途半端に覚えて 放置して 忘れての繰り返しで成長がない 何が成長?成果がでてこそ成長
384 名前: mailto:sage [2025/04/18(金) 08:45:10.80 ID:ZGJ3CL30.net] 最初は「まったくわからない」けど 一度調べてやり方わかったら 次回からは忘れてても「だいたいこんな感じだった」になるよね で、毎回調べ直してやってるうちに調べなくてもできるようになる それが成長なんじゃない? 頻繫に使うものは覚えやすいけど、あまり使わないものは忘れるのは自然だしそれでいい 「調べられるものをいちいち覚えておく必要ない」って偉人も言ってたな
385 名前:ワナビー2024 [2025/04/18(金) 17:37:18.73 ID:z1MG1Boa.net] ありがと コツコツ続けるしかないな 毎日続ける 少しずつでも
386 名前:ワナビー2024 [2025/04/18(金) 20:44:47.32 ID:z1MG1Boa.net] 楽しくてやめらんねーとなりたい 適度な負荷じゃないとそうはならんのだろうな
387 名前: mailto:sage [2025/04/19(土) 07:29:36.80 ID:7iVTRAtm.net] ここ2,3日忙しくてこっち全然できてなかったから今日はしっかりやりたい 練習絵描いてシエンの記事作るとこまでやるよ いうても記事にできるほど進んでないんだけどね
388 名前: mailto:sage [2025/04/19(土) 07:32:13.21 ID:7iVTRAtm.net] >>386 自分の場合はコードが上手く動いた時が楽しくてやめらんねーな でも楽しかったり飽きてきたりムラがあるものだし 楽しい気分なんか関係なく習慣としてやれるようになるのが理想だね
389 名前:ワナビー2024 [2025/04/19(土) 07:35:39.31 ID:KBLvhziO.net] フロー体験ってやつだな 適度な難易度じゃないと楽しくないんだろう 頭が低スペすぎて1+1ですらきつい
390 名前:名前は開発中のものです。 mailto:sage [2025/04/19(土) 10:47:23.05 ID:snv9S/57.net] たまにこういうスレが無いとやってられない
391 名前:ワナビー2024 [2025/04/19(土) 11:50:29.77 ID:KBLvhziO.net] 箇条書きで処理を言語化するのって難しいよな 一般人はできちゃうの?
392 名前:ワナビー2024 [2025/04/19(土) 13:45:49.64 ID:KBLvhziO.net] ゲームを作るってより基礎を学ぶスタンスで作る
393 名前:名前は開発中のものです。 mailto:sage [2025/04/19(土) 14:53:17.16 ID:ej7m20Ah.net] >>391 やりたい事をコード化できる規模まで小さく分割していく たとえば画面の真ん中に丸を描きたいと思った場合は まず丸を描く方法に何があるかを調べて 次に画面に描く方法、画面の真ん中を知る方法と進めていく やりたい事が〇〇ゲームを作りたいだと規模が大きいので分割作業も大変になる とはいえ理解できなきゃ作れないのでコツコツ積み上げる
394 名前: mailto:sage [2025/04/19(土) 15:42:46.80 ID:7iVTRAtm.net] UE5触りたくなってきた 目移りしてだめだなー ゲーム作るうえで一番の敵はこれだと思う まあ、今作ってるゲームをやめる必要ないかな とりあえずこれも続けつつUE5触ってみよう
395 名前:ワナビー2024 [2025/04/20(日) 05:43:26.05 ID:UIIFrd6j.net] >>393 たしかに役割をわけないと、テトリス程度でもワケワカメになるからなぁ 設計がめちゃ大事なんだな
396 名前:ワナビー2024 [2025/04/20(日) 10:47:48.50 ID:UIIFrd6j.net] マジ2次元配列嫌い 頭がパンクするのは俺だけ?