[過去ログ] ゲーム制作 雑談スレ【part39】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
2: 名前は開発中のものです。 [sage] 2025/09/05(金) 07:56:39.34 ID:F4WKOx5q(1) AAS
皆で寄生虫berを駆除しようぜ!
3: 名前は開発中のものです。 [sage] 2025/09/05(金) 09:29:33.27 ID:YwyOiKf6(1/2) AAS
景気の良い話題頼むぜ
4: 名前は開発中のものです。 [] 2025/09/05(金) 10:29:22.63 ID:n2QpHKy9(1) AAS
たて乙
5
(6): 名前は開発中のものです。 [sage] 2025/09/05(金) 17:39:49.94 ID:xUKvzI2+(1) AAS
縦100キャラ×横100キャラの広さマップの、11キャラ×11キャラの範囲だけが表示されて
移動に伴いマップがスクロールする、て感じのゲームをpygameで作りたい
ファミコンのドラクエみたいな感じの

マップはその範囲の地形を描画すれば描ける、
スクロールは地形をちょっとずつずらしながら描いていけばできる、
ということは分かった

ただ、表示される範囲だけ・新たに現れる地形を描いていく、というのは、
低スペックなハードではそうする必要があるかもしれないけど
きょうびのPCでそこまでしてやる必要あるのか?という気がしてきた

最初から100キャラ×100キャラの巨大なマップ画像を作成して、
移動にあわせて表示させる位置をずらしていく、という方式をやろうと思ってるのだけど
性能は悪いかもしれないなと

ポピュラーな方法というと、どんなやり方なのだろう
6: 名前は開発中のものです。 [sage] 2025/09/05(金) 17:49:58.94 ID:LnWYjq0I(1/2) AAS
pygame はタイルベースのマップをサポートしてるんじゃろ?
普通にそれを使えばいいじゃない
7: 名前は開発中のものです。 [sage] 2025/09/05(金) 18:29:17.70 ID:79SQncrN(1) AAS
性能じゃなくて頭が悪いんだよ
8: 名前は開発中のものです。 [sage] 2025/09/05(金) 19:07:51.90 ID:y4GvjTlJ(1/2) AAS
必要なのはマップタイルのプーリング
最初から100x100のリソースを読み込んでたら固まるから必要に応じて使い回しと追加
まあ試してぶつかりながら解決していけばいいさ
9: 名前は開発中のものです。 [sage] 2025/09/05(金) 19:11:18.21 ID:1ufGACaE(1) AAS
表示される範囲だけ・新たに現れる地形を描いていく、これがもっとも多くのドラクエ風ゲームで用いられているポピュラーな方法です。
お役に立ちましたか? 今後のご活躍をお祈り申し上げます。
10
(1): 名前は開発中のものです。 [sage] 2025/09/05(金) 20:16:06.73 ID:btFndYsa(1/4) AAS
>>5
認識が間違ってるよ
後者のほうが処理軽い
そして当然のことながら後者がポピュラー
11
(2): 名前は開発中のものです。 [sage] 2025/09/05(金) 21:49:34.25 ID:YwyOiKf6(2/2) AAS
>>10
流石にそれは無い。100×100が11×11になるんだったら、単純計算でも処理が1/81になる
12: 名前は開発中のものです。 [sage] 2025/09/05(金) 22:01:59.73 ID:bNECSadG(1) AAS
いまどき珍しいものを実装したいのにポピュラーさに頼るのってなんか勿体ないな
13: 名前は開発中のものです。 [sage] 2025/09/05(金) 22:17:30.00 ID:LnWYjq0I(2/2) AAS
4K画像一枚絵で、タイルではできないマップを作りたいなら、それも面白そう
絵を描ける人じゃないとできないけど
14
(1): 名前は開発中のものです。 [sage] 2025/09/05(金) 22:17:38.07 ID:btFndYsa(2/4) AAS
>>11
描画処理を知らんのだな
ゲームみたいな動的映像は常に全領域再描画してるんだよ
11x11の領域しか再描画しなくていいなんて状況にはならない
15: 名前は開発中のものです。 [sage] 2025/09/05(金) 22:24:59.27 ID:y4GvjTlJ(2/2) AAS
最近はハードのスペックに頼りすぎて最適化のノウハウが積めないらしいな
UE製のコンシューマゲームとか酷過ぎるとか論争になってる
16: 名前は開発中のものです。 [sage] 2025/09/05(金) 22:48:26.13 ID:XQ1vHSrP(1) AAS
クソスペPCだし考えざるを得ない
まあ業界に入れるやつは金持ちなんだろうな
17: 名前は開発中のものです。 [sage] 2025/09/05(金) 22:50:08.65 ID:btFndYsa(3/4) AAS
>>11
いや違うな
君は話そのものを何か勘違いしてるね
11x11を描画するか100x100を描画するかって話じゃないから
そもそもの>>5君のレスがちょっと意味不明な感じあるけど
18
(1): 名前は開発中のものです。 [sage] 2025/09/05(金) 22:58:34.11 ID:btFndYsa(4/4) AAS
>>5君が言ってるのは
描画領域外のマップを事前に保持してるかどうかの違いでしかないので
描画領域内に入るたびに描画処理する前者より
事前に裏で描画してある領域を表示するだけでいい後者のほうが当然軽い
19: 名前は開発中のものです。 [asげ] 2025/09/05(金) 23:10:03.40 ID:9PC6rZI3(1) AAS
LODは
20
(1): 名前は開発中のものです。 [] 2025/09/06(土) 01:48:37.59 ID:nuZTTbZ9(1/9) AAS
A. 巨大なマップ全体を描画してスクロールする
100×100 キャラ → タイルサイズを 32px としても 3200×3200 ピクセルの画像。現代のPCではこの程度は余裕。
移動に合わせて Surface.blit() の描画位置をずらせば済むのでシンプル。メモリ的にも、数十MB程度なので pygame では問題にならない。

B. 毎フレーム「必要な範囲だけ」タイルを描画する
画面に見えているのは 11×11=121 タイルだけ。
毎フレームこの121枚を描画すればOK。効率的なやり方だけど、現代でも「マップが数千×数千タイル級」になるなら有利。

C. ハイブリッド
マップはデータ(2次元配列など)として持ち、画面更新のたびに「視界に入る部分だけタイル画像を描画」。
ほとんどのタイルベースのゲームエンジンがこの方式。タイル数が大きくても、画面に描画するタイル数は固定なので、性能は安定する。

AでもいけるがBCをつかう。
21
(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 03:22:27.01 ID:gwr+bGfK(1/10) AAS
>>14
行ってることイミフ。毎フレーム全描画してるのはその通りだが、エンジンが内部で視野外カリングしてくれなかったら、全タイル描画は尚更重くなる
最近の低レベル描画エンジンは視野外をカリングしてくれるとはいえ、それでも100×100の内の11×11に限定すれば付随処理は1/81になる

>>18
裏で描画とかイミフ。上でも言ったが内部では毎フレーム、画面バッファをクリアして視野内を全部レンダリングし直している
マップ用テクスチャをあらかじめ描画しておいてゲームシーンで使い回すにしても、テクスチャサイズには限界がある。最近の高解像タイルには不向き
22: 名前は開発中のものです。 [sage] 2025/09/06(土) 05:27:59.38 ID:nuZTTbZ9(2/9) AAS
>5 固定のドラクエ固定マップ、テラリアのプロシージャルなマップ、リアルタイムステラテジーのマップ、自由に地形を変えれるマップを作りたいとかで作り方かわるから回答者が困らないようにもう少し情報くれた方がいい。
23: 名前は開発中のものです。 [sage] 2025/09/06(土) 07:55:45.65 ID:wNaD85zc(1) AAS
ピープホール型RPGという用語すら知らん奴らおるんか
24: 名前は開発中のものです。 [] 2025/09/06(土) 09:12:16.26 ID:sL2TO1kg(1) AAS
才能の無いゴミがピーピー泣いてて草w
25: 名前は開発中のものです。 [sage] 2025/09/06(土) 09:30:33.97 ID:gj8crVsc(1/4) AAS
>>21
部分描画も事前描画も知らないのはゲーム製作者として致命的では?
サイズがでかすぎるなら分割してメモリに保持してればいいだけ
26: 名前は開発中のものです。 [sage] 2025/09/06(土) 09:45:37.47 ID:gj8crVsc(2/4) AAS
100x100←マップサイズ
11x11←描画サイズ

この場合事前に描画した100x100のマップの必要な11x11領域をくり抜いて毎フレーム描画するんだから
余計な処理はしてないからカリングなんか必要ないし
1/81とか言われても何言ってるんだかって感じ

静的マップを事前に保持しないで毎フレームいちいち描画してたら描画回数が1回から121回(11x11)に爆増するだろ
ドット絵のくせに何でこんなに重いんだよ!って最適化不足ゲームの出来上がり
1-
あと 976 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.018s