[過去ログ] ゲーム制作 雑談スレ【part39】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
30: 名前は開発中のものです。 [] 2025/09/06(土) 11:14:37.90 ID:ntBmkgul(1) AAS
 Unityででっかいマップを作った時って描画はカメラに応じて最小限になってんのかな 
31: 名前は開発中のものです。 [sage] 2025/09/06(土) 12:05:45.30 ID:hIKwuN7F(1) AAS
 レンダリングパイプラインってのを調べるといい 
 そもそも上でもめてる内部処理と画面に表示されてるもの(たぶんお前が描画といってるのがここでごっちゃになってる)は別だから、その辺も含めて勉強するといい、隙間時間でも2週間くらいやれば理解できるだろ 
 基礎中の基礎だから、ここが自習できない理解できないわかんないならゲ製は無理マジでアキラメロン 
32: 名前は開発中のものです。 [sage] 2025/09/06(土) 12:51:08.18 ID:EXmAikSr(1/3) AAS
 まあこの程度のことを聞いてるって事は1枚絵だけじゃなくてキャラとかも全部100x100に乗せそうだから 
 画像1枚をスクロール描画するとかという前提での議論は無意味だよ 
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
 絡んでこられてもスルーが吉。息抜きの雑談スレで無駄な体力使うことない 
35(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 13:28:04.34 ID:gwr+bGfK(2/10) AAS
 >>2020(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をつかう。  
のAが重いか軽いかという話なら、やっぱり>>20のAの方が処理としては重いだろ 
 マップタイルを描画する場合、全体マップのテクスチャを使っても使わなくても、いずれにせよ描画コールは1回だけで済む。デカいテクスチャを使う方が重い 
 そもそも数千px四方に納まる全体マップという条件が特殊過ぎるので、レトロ作風か習作にしか通用しない。横に1画面程度スクロールさせるだけで世界の端かよw 
 反対に全体マップが数千px四方程度なら細かいこと気にせず、全体マップも作成せず、低レベルの視野外カリングに任せて、毎フレーム100×100描画で無問題 
36: 名前は開発中のものです。 [sage] 2025/09/06(土) 13:48:19.38 ID:7Km6Wgc5(1/2) AAS
 今のハードウェアなら、2Dスクロールなんか大した問題じゃない 
 誰か、PC8801SR でパララックススクロールを実装する技術でシメてくれ 
37(2): 名前は開発中のものです。 [sage] 2025/09/06(土) 13:49:14.31 ID:bbhijobr(1/3) AAS
 >>35 
 いやその人の例えならBのほうが重いよ 
 GPU負荷はどっちも同じで気にするほどの誤差は出ない 
 大量のドローコールによるCPU負荷が段違い 
 描画以外にもCPU処理は必要だから間違いなくBは次第にフレームレートが稼げなくなる 
 アホなこと考えてないで両方実装して試してみなよ 
38(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 13:58:12.33 ID:gwr+bGfK(3/10) AAS
 >>37 
 だからドローコールはどちらも1回だと言ってるだろ。テクスチャサイズの方がネックとしてデカい 
39: 名前は開発中のものです。 [sage] 2025/09/06(土) 13:59:07.38 ID:gwr+bGfK(4/10) AAS
 >>37 
 アホアホうるせえんだよ、このアホが。お前が試せw 
40(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 14:10:48.91 ID:bbhijobr(2/3) AAS
 >>38 
 どちらも一回なんてありえないだろ 
 Bは全チップをチップ枚数分描画してるんだよ 
 ドローコールはAが1回でBは121回 
 お前の仮定がおかしい 
  
 つまり話を何にも理解してない 
41: 名前は開発中のものです。 [sage] 2025/09/06(土) 14:24:47.07 ID:EXmAikSr(2/3) AAS
 まだ地罰の話してたほうが平和だったなw 
 質問した奴もほくそ笑んでることだろう 
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は現実的じゃない。 
 想定するピクセルがわからない時点で喧嘩しても意味ないぜ 
43(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 14:25:42.99 ID:gwr+bGfK(5/10) AAS
 >>40 
 つ 例:glDrawElements 
 何も理解してなさすぎワロタ 
44: 名前は開発中のものです。 [sage] 2025/09/06(土) 14:26:56.21 ID:gwr+bGfK(6/10) AAS
 >>42 
 失礼だな!喧嘩腰なのは奴の方だぞ 
45(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 14:41:29.90 ID:nuZTTbZ9(7/9) AAS
 >>43 Pygame単体でタイル描画してるなら → glDrawElements とは無関係だよ。 
  
 君は PyOpenGL + pygame(OpenGLモード) で glDrawElements を使えといってるのだろうが、そもそも質問者はそのレベルにいないよ。 
46: 名前は開発中のものです。 [sage] 2025/09/06(土) 15:00:17.01 ID:bbhijobr(3/3) AAS
 >>42 
 Aをマップ画像をゲームフォルダに入れとくことを言ってるなら 
 そんなの最初から考慮しないでしょ 
 そのうちファイルサイズえらいことなるじゃん 
 最初から>>55(6): 名前は開発中のものです。 [sage] 2025/09/05(金) 17:39:49.94 ID:xUKvzI2+(1) AAS
 縦100キャラ×横100キャラの広さマップの、11キャラ×11キャラの範囲だけが表示されて 
 移動に伴いマップがスクロールする、て感じのゲームをpygameで作りたい 
 ファミコンのドラクエみたいな感じの 
  
 マップはその範囲の地形を描画すれば描ける、 
 スクロールは地形をちょっとずつずらしながら描いていけばできる、 
 ということは分かった 
  
 ただ、表示される範囲だけ・新たに現れる地形を描いていく、というのは、 
 低スペックなハードではそうする必要があるかもしれないけど 
 きょうびのPCでそこまでしてやる必要あるのか?という気がしてきた 
  
 最初から100キャラ×100キャラの巨大なマップ画像を作成して、 
 移動にあわせて表示させる位置をずらしていく、という方式をやろうと思ってるのだけど 
 性能は悪いかもしれないなと 
  
 ポピュラーな方法というと、どんなやり方なのだろう  
の後者がCでしょ 
 視界に入る部分だけってのがどの範囲なのかよく分からないけど 
47: 名前は開発中のものです。 [sage] 2025/09/06(土) 15:03:20.49 ID:i+R/pY0x(1) AAS
 せっかくの週末にレベルの低い話をするなよ 
 こんなのは「好きに作れ」が答えだろ 
48: 名前は開発中のものです。 [sage] 2025/09/06(土) 15:19:07.44 ID:nuZTTbZ9(8/9) AAS
 そのとおりだよ。質問に対して「俺ならこうする」だけでいい。 
 質問者はお礼を言ってその中でいいと思ったやり方で作ればいい 
49(1): 名前は開発中のものです。 [] 2025/09/06(土) 15:36:31.98 ID:w/QEgYfo(1/4) AAS
 画像リンク
 
 
 画像リンク
 
 
 カメラ範囲だけの処理にとどめてくれる機能はpygameにはないらしい 
 unityにはある 
 pygameで作るなら昔ながらのc言語のゲームの作り方で作る必要がある 
 2000年代によくあったゲーム制作本にはそのやり方結構載ってた 
50(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 16:31:10.68 ID:gwr+bGfK(7/10) AAS
 >>49 
 pygameは知らんけど、どんな低レベル描画エンジン使ってるにしろ、低レベル描画エンジンがカリングしてくれるだろ 
51(1): 名前は開発中のものです。 [] 2025/09/06(土) 16:36:35.05 ID:w/QEgYfo(2/4) AAS
 >>50 
 ChatGPTによればpygameはないんだって 
52: 名前は開発中のものです。 [] 2025/09/06(土) 16:54:34.85 ID:nuZTTbZ9(9/9) AAS
 >pygameは知らんけど 
  
 いままでの論争はなんだったんだ。 
53: 名前は開発中のものです。 [sage] 2025/09/06(土) 17:28:02.32 ID:gwr+bGfK(8/10) AAS
 >>45 
 「こんな所にS級が?!」とかあるあるやん 
  
 ・・・アニメでは 
54(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 18:34:45.05 ID:gwr+bGfK(9/10) AAS
 >>51 
 Pythonスクリプト層内での低レベルAPIへの描画コールは間引かれない(APIコールしても低レベルAPI内では間引かれるかも)、て意味じゃないの?知らんけど 
上下前次1-新書関写板覧索設栞歴
あと 948 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.031s