[過去ログ] ゲーム制作 雑談スレ【part39】 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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をつかう。
22: 名前は開発中のものです。 [sage] 2025/09/06(土) 05:27:59.38 ID:nuZTTbZ9(2/9) AAS
>5
5(6): 名前は開発中のものです。 [sage] 2025/09/05(金) 17:39:49.94 ID:xUKvzI2+(1) AAS
縦100キャラ×横100キャラの広さマップの、11キャラ×11キャラの範囲だけが表示されて
移動に伴いマップがスクロールする、て感じのゲームをpygameで作りたい
ファミコンのドラクエみたいな感じの

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

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

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

ポピュラーな方法というと、どんなやり方なのだろう
 固定のドラクエ固定マップ、テラリアのプロシージャルなマップ、リアルタイムステラテジーのマップ、自由に地形を変えれるマップを作りたいとかで作り方かわるから回答者が困らないようにもう少し情報くれた方がいい。
28: 名前は開発中のものです。 [sage] 2025/09/06(土) 10:17:46.86 ID:nuZTTbZ9(3/9) AAS
質問者のPygameの練習で低ドットの迷路とか作るレベルじゃないのかな。
いつまでも揉めてないで、自作ゲームを自分のポリシーに沿って最適化すればいいんだよ。
33: 名前は開発中のものです。 [sage] 2025/09/06(土) 12:51:36.87 ID:nuZTTbZ9(4/9) AAS
>理解できないわかんないならゲ製は無理マジでアキラメロン

流石に一言余計。忍者といい地罰信者といいマウント取りたいだけの人がいるなぁ
34: 名前は開発中のものです。 [sage] 2025/09/06(土) 12:54:55.86 ID:nuZTTbZ9(5/9) AAS
絡んでこられてもスルーが吉。息抜きの雑談スレで無駄な体力使うことない
42
(2): 名前は開発中のものです。 [] 2025/09/06(土) 14:24:55.35 ID:nuZTTbZ9(6/9) AAS
喧嘩するなよ。俺が判定してやるよ32Pixの場合
〜100×100 タイル(3200×3200 px)Aが有利(blit 1回 vs 400回)
300×300 〜 → B/Cに移行するのがおすすめ。

128PIXの場合 100X100でAは現実的じゃない。
想定するピクセルがわからない時点で喧嘩しても意味ないぜ
45
(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 14:41:29.90 ID:nuZTTbZ9(7/9) AAS
>>43
43(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 14:25:42.99 ID:gwr+bGfK(5/10) AAS
>>40
つ 例:glDrawElements
何も理解してなさすぎワロタ
Pygame単体でタイル描画してるなら → glDrawElements とは無関係だよ。

君は PyOpenGL + pygame(OpenGLモード) で glDrawElements を使えといってるのだろうが、そもそも質問者はそのレベルにいないよ。
48: 名前は開発中のものです。 [sage] 2025/09/06(土) 15:19:07.44 ID:nuZTTbZ9(8/9) AAS
そのとおりだよ。質問に対して「俺ならこうする」だけでいい。
質問者はお礼を言ってその中でいいと思ったやり方で作ればいい
52: 名前は開発中のものです。 [] 2025/09/06(土) 16:54:34.85 ID:nuZTTbZ9(9/9) AAS
>pygameは知らんけど

いままでの論争はなんだったんだ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.036s