[過去ログ] ゲーム制作 雑談スレ【part39】 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
39: 名前は開発中のものです。 [sage] 2025/09/06(土) 13:59:07.38 ID:gwr+bGfK(4/10) AAS
 >>3737(2): 名前は開発中のものです。 [sage] 2025/09/06(土) 13:49:14.31 ID:bbhijobr(1/3) AAS
 >>35 
 いやその人の例えならBのほうが重いよ 
 GPU負荷はどっちも同じで気にするほどの誤差は出ない 
 大量のドローコールによるCPU負荷が段違い 
 描画以外にもCPU処理は必要だから間違いなくBは次第にフレームレートが稼げなくなる 
 アホなこと考えてないで両方実装して試してみなよ  
アホアホうるせえんだよ、このアホが。お前が試せ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内では間引かれるかも)、て意味じゃないの?知らんけど 
55(2): 名前は開発中のものです。 [] 2025/09/06(土) 19:34:47.53 ID:w/QEgYfo(3/4) AAS
 >>54 
 画像リンク
 
 
 だそうです 
 ChatGPTの答えはノー 
56(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 19:43:37.64 ID:7Km6Wgc5(2/2) AAS
 そんなにChatGPT が得意なら、pygame のタイルマップのシステムをサクッと作ったら? 
 たぶん、どこかからコピペしてくるよ 
57: 名前は開発中のものです。 [] 2025/09/06(土) 19:50:02.52 ID:w/QEgYfo(4/4) AAS
 >>56 
 俺は野球ボーイで上の者ではない 
 上の者は上の者で自力で頑張ってください 
58: 名前は開発中のものです。 [sage] 2025/09/06(土) 20:30:43.00 ID:gwr+bGfK(10/10) AAS
 >>55 
 平行線だな。低レベルの描画エンジンが視野外カリング・テストを行わないのは考えられない 
 だから俺は、そのLLMの回答はPythonスクリプトレイヤの話だ、と言っている 
59: 名前は開発中のものです。 [] 2025/09/06(土) 20:58:21.23 ID:/kpwELhX(1) AAS
 今週もよく進んだ 
 着実にBlenderに近づいてる 
 画像リンク
 
 
 画像リンク
 
 
 画像リンク
 
 
 画像リンク
 
 
60: 名前は開発中のものです。 [sage] 2025/09/06(土) 21:17:35.71 ID:EXmAikSr(3/3) AAS
 これからは質問されたらChatGPTに投げたほうがいいかもな 
 どうせ荒らしだろうし 
61(1): 名前は開発中のものです。 [sage] 2025/09/06(土) 22:37:01.34 ID:zOtGPqEd(1) AAS
 >>55 
 チャッピーに騙された可哀想な人がいる…… 
 もう一度これで質問してみ? 
  
 Q: 以下の問いについて事実に基づいた解説をせよ。 
 1. pygameのSurface.blit() は、ソースのピクセルをdest Surfaceに転写する処理である。 
 2. この転写時にソースが出力先の範囲を超える場合、その領域は自動的にクリッピングされ、省略される。 
 3. ソースと出力先が完全に重ならない場合、描画処理は行われず内部的に早期リターンされる。 
62: 名前は開発中のものです。 [sage] 2025/09/07(日) 00:45:01.10 ID:qucJSDY/(1/8) AAS
 野球マンは、Unity使いなんだし朝から同じ話題に辟易してChatGptで調べただけだから、別にPygameがNinateやLumen使えてもどうでもいいだろう。 
63: 名前は開発中のものです。 [] 2025/09/07(日) 00:54:55.61 ID:qucJSDY/(2/8) AAS
 GoogleGeminiで聞いてみたよ 
  
 カリングとblit()の最適化 
 「カリング」という用語は、一般的にゲーム開発において、描画パイプライン全体で不要なオブジェクトを描画リストから除外する手法を指します。これには、フラスタムカリング(カメラの視錐台の外にあるオブジェクトを無視する)、オクルージョンカリング(他のオブジェクトに隠れて見えないオブジェクトを無視する)などが含まれます。 
 PygameのSurface.blit()は、このような広義のカリング機能自体は提供していません。つまり、開発者が自分でオブジェクトの座標を確認し、画面外にある場合は描画関数を呼ばないように制御する必要があります。 
 しかし、以前の回答で述べた「早期リターン」の機能は、blit()関数内部で行われる描画処理の最適化です。これは、特定の描画命令(この場合はblit())の引数(ソースとデスティネーション)が描画対象として無効である場合に、GPUやCPUへの負荷をかけずに処理を終了させるためのものです。 
 まとめ 
 Pygame自体が、シーン全体の不要なオブジェクトを自動的に描画リストから除外するような、高度なカリング機能は提供していない 
 blit()の内部最適化:blit()関数は、引数で渡されたソースとデスティネーションの矩形が重ならない場合、内部的にピクセル転送処理をスキップするという最適化を行っています。 
 これは、Pygameの描画関数の効率を高めるための実装レベルの工夫であり、広義の「カリング」機能とは異なります。 
上下前次1-新書関写板覧索設栞歴
あと 939 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s