シューティングゲーム製作技術総合 14機目
■ このスレッドは過去ログ倉庫に格納されています
それは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
過去スレ,関連スレは >>2-3で。
0488名前は開発中のものです。
2007/10/28(日) 03:11:20ID:O9Swax3c0489名前は開発中のものです。
2007/10/28(日) 09:53:06ID:+4PkL4b9スプライトハードウェアでも、通常はVSYNC待ちの直後に画面を更新してから、
入力処理・ゲーム処理をして次のVSYNCを待つから、元々1フレームの遅延はある。
だから、ダブルバッファなら遅延は一緒。
>>487
全ての環境で同じだけ遅延があるなら、それは最初からそういうゲームシステム
なので問題ない。環境によってマチマチだと問題だが。
今でもゲームハード板とかPCアクション板あたりでは、遅延の話多いよ。
0490名前は開発中のものです。
2007/10/28(日) 12:06:54ID:JqNTkY8j???
だからVSYNC待ちしたら遅延するって話じゃないの?
ただの解説?
0491名前は開発中のものです。
2007/10/28(日) 14:31:54ID:9b7vBmaA0492名前は開発中のものです。
2007/10/28(日) 16:58:40ID:Cmcp/yc8そういうの作ってた人がタイムスリップしてきたんだよ
0493名前は開発中のものです。
2007/10/28(日) 18:19:23ID:O9Swax3c0494名前は開発中のものです。
2007/10/28(日) 21:07:35ID:Kshpgyv1べつにラスターだろうがおなじだよな?
表示期間中にバックバッファへの描画をするかフロントバッファのスクロール位置ずらすかどうかの差だし
0495名前は開発中のものです。
2007/11/01(木) 06:08:52ID:ep0Z0ILK[ラインバッファ]スプライト位置定義→VSYNC終わり→走査線とともに表示
ダブラ使おうがラスタかけようが変わらん。
[フレームバッファ]スプライト位置定義→VSYNC終わり→裏バッファにスプライト書かれる
→VSYNCはじまり→バッファの表裏フリップ→VSYNC終わり→走査線とともに表バッファ表示
自機の判定が小さくなったのは、フレームバッファ方式化が原因。
ラインバッファより1フレーム遅れるから、時間的に判定が雑になる。
0496名前は開発中のものです。
2007/11/01(木) 06:16:08ID:ep0Z0ILKシングルバッファでも昔よりまともなハードは作れるし
いっそリフレッシュレート上げてしまうという手も
0497名前は開発中のものです。
2007/11/01(木) 08:29:20ID:MQH0umbnVSYNC終わりって言葉として変だろ。それを言うなら、VBLANK終わり。
VSYNCはVBLANKの開始を表すパルス信号、あるいはそれに同期するという意味。
それとラインバッファだろうが、遅延は一緒。
VBLANK始まり→スプライト更新(バッファFlip)→ゲーム処理→(バックバッファ更新)
→次のVBLANK待ち
ティアリングを避けるためにVBLANK中に表示を更新するなら
VSYNC→表示更新→ゲーム処理の流れは変わらない。
VBLANK中の表示更新はレジスタ等に書き込みをするだけで、キャラクタの
実体の移動はゲーム処理で行われるもの。
だから遅延はゲーム処理→それが画面に反映されるまでの時間で、
ダブルバッファとラインバッファでは一緒。
0498名前は開発中のものです。
2007/11/01(木) 09:07:34ID:IW/TqB4o0499名前は開発中のものです。
2007/11/01(木) 09:18:24ID:rkwdI0Frスプライトのアトリビュートメモリに書いてから
実際に画面に反映されるのは数フレ後なのだが(NDSとかな)
0500名前は開発中のものです。
2007/11/01(木) 09:43:31ID:P/Vn3mnW正解 >484 >495
誤り >489 >494 >497
ラインバッファの場合VBlank中に全ての描画レジスタを更新するのが基本
そして直後の表示期間中に画面に反映される。
ダブルバッファの場合VBlank中にバックバッファへの描画が始まるが
これはVBlank中には終了しなくてもよく、表示期間中も描画を続けられる。
そして完成したバックバッファは次のVSyncでフロントバッファに切り替わる。
結果ダブルバッファだとキー入力が画面に反映されるまでにラインバッファに比べ
1フレーム余計にかかる。
※ダブルバッファの場合30fpsで作ったり、移動処理と描画処理の順が
おかしかった場合、遅延は体感できるほどひどくなる場合があります。
0501名前は開発中のものです。
2007/11/01(木) 10:03:06ID:evG/fKiO0502名前は開発中のものです。
2007/11/01(木) 10:12:09ID:evG/fKiO0503名前は開発中のものです。
2007/11/01(木) 10:13:37ID:evG/fKiO0504名前は開発中のものです。
2007/11/01(木) 12:29:04ID:LDl56mN/前半2段落はあってるのになんでダブルバッファがラインバッファに比べて1フレーム遅延するんだ?
同じだろ?
0505名前は開発中のものです。
2007/11/01(木) 14:25:29ID:MQH0umbn18年もやっててそれでは才能がないと言わざるを得ない。
スプライトや背景の更新とダブルバッファのFlipが等価な処理。
ゲーム処理1→バックバッファの更新→VSync→Flip→ゲーム処理2→…
ゲーム処理1→VSync→背景&スプライトの更新→ゲーム処理2→…
どちらもゲーム処理2の最中に1の画面の表示が始まる。
0506名前は開発中のものです。
2007/11/01(木) 14:49:18ID:V8Xu62Wyスルーされてるから突っ込んでおくが嘘はイカンよ。
つか、DSってポリゴンすらラインバッファなのでスプライト機と同じ感覚でポリゴンが出せる。
0507名前は開発中のものです。
2007/11/01(木) 22:52:56ID:fiXOCW2f・Flipでたまった描画パケットをキックしバックバッファに描画開始
どっち?
0508名前は開発中のものです。
2007/11/01(木) 22:58:05ID:rkwdI0Frんん、そうなのか?
VBlank中にVRAMへの転送とアトリビュートメモリの更新を同時にしたら
VRAMのデータは更新されてるのに位置の更新が遅れているってことがあったのだが…
何か俺が根本的に俺が間違ってたのかも。もう大分前の話で詳細は覚えてない
0509名前は開発中のものです。
2007/11/01(木) 23:08:57ID:P/Vn3mnW確かに>>505 のような処理もできますね。
その場合はもちろんラインバッファと同等です。
ただそれだとCPUとGPUを非同期で動かせない
(CPUの余った時間でしか描画できないし、描画中はCPUが動けない)
ので、ハードウェアをフルに活用するためには選択しないのが常識
だと思っていました。
0510名前は開発中のものです。
2007/11/01(木) 23:36:39ID:V8Xu62Wyキャッシュのフラッシュ忘れとかその辺じゃね?
0511名前は開発中のものです。
2007/11/01(木) 23:42:09ID:V8Xu62Wyキーレスポンスを追求するという考えのゲームなら選択されるんじゃないか?
で、厳密に言えばCPU処理とパケット転送をしている裏でレンダリングをしているから
非同期で動いていると思うんだが。
0512名前は開発中のものです。
2007/11/02(金) 00:00:02ID:JpbAKb5V遅延をなくす場合の最優先のプログラムの話でしょ
それに2DSTGならマシンパワーが足りないなんてのは古いのを除いてまずないし・・・
スループット重視したいのならトリプルバッファオススメ
0513名前は開発中のものです。
2007/11/02(金) 00:14:23ID:7VQkn0oC0514名前は開発中のものです。
2007/11/02(金) 00:23:45ID:HPGfbfdaそんな意味不明なこだわり見せてないでさっさと完成させろよ。
0515名前は開発中のものです。
2007/11/02(金) 00:34:32ID:U4BYuAOO俺なんか何を言ってるのかほとんどわかんねーよ。
何をもめてるのか、が、かろうじて解る程度。
0516名前は開発中のものです。
2007/11/02(金) 00:34:45ID:6mHnt1Z+>それに2DSTGならマシンパワーが足りないなんてのは古いのを除いてまずないし・・・
確かにCPUパワーはすごいけど、fx5200程度だと
ピクセルシェーダ使って派手な爆発させただけで描画に16ms消費するよ。
あと遅延に関してだけど、60フレで作った場合、ダブルバッファによって発生した遅延は
そんなに神経質になる必要はないと思う。(極々一部のプレイヤーを除く)
ちゃんと作ってあっても遅延が体感できる場合、ゲームパッドのドライバやハードウェア、ディスプレイ、
Windowsのパッド情報の更新タイミングの方が問題な気がする。<この辺は詳しくないです。
360の無線コントローラーの遅延は体感できる。
0517名前は開発中のものです。
2007/11/02(金) 00:36:27ID:7VQkn0oCみんな判ったって覚えがあるんだがな。だいたい3フレ遅れたら流石にわかるだろ。
意味不明のこだわりってこたないだろ。もしかして技術的な話以外に
シューティングには大して興味ないとか?
0518名前は開発中のものです。
2007/11/02(金) 00:46:34ID:3uXlQkCy解る人が居る以上最善な解にしたいんですが、自分は鈍感なんで気づけないかもしれないし。
0519名前は開発中のものです。
2007/11/02(金) 00:48:15ID:HPGfbfdaでも実際のゲームでは50msなんてわかんないから。
0520名前は開発中のものです。
2007/11/02(金) 00:59:46ID:7VQkn0oC避けるゲームだから。高速弾切り返し系はあまり自機見ないので実は意外と気にならない。
0521名前は開発中のものです。
2007/11/02(金) 01:40:31ID:JpbAKb5V負荷のかからない描画方法を選ぶだけ
もしくは選択できるように
重視するのがグラフィックなのか遅延なのか選択は自由なんだから好きに汁
俺的には915、できれば945で大幅に性能増えたから開発者の負担はかなり下がったと思ってる
やっぱりノートPCがほとんどの現在、統合チップセットは無視できんからね
デスクトップでもかなりの割合でUMAだし
0522名前は開発中のものです。
2007/11/02(金) 01:47:55ID:SG+xTINV古いマシンからの移植でもない限り気にすんな。
セガサターンとプレステが出た頃のネタ、
あるいはTOWNSとX68Kの間の抗争をぶり返してるだけです。
差なんてねえよって自演で言ってるのは、その後から始めた知ったか君。
0523名前は開発中のものです。
2007/11/02(金) 09:11:02ID:HPGfbfda断言するが、2、3フレームなら気にならない。
人間には環境適応能力もある。
50msの世界は気づかないか、または勝手に感覚を適応させる。
50msなんて神経の伝達速度を超えてるんだから。
0524名前は開発中のものです。
2007/11/02(金) 09:52:50ID:O4uUzbBT0525名前は開発中のものです。
2007/11/02(金) 10:59:24ID:CvkFzGg9回避方法あるなら教えてほし。遅延するくらいならティアリングのがましだけど…。
0526名前は開発中のものです。
2007/11/02(金) 13:15:01ID:sL2YnEAaNVIDIAの場合ドライバで最大3フレーム遅延するようになっているから、
それが原因の場合はPresentの前でバックバッファをLock-Unlockする。
0527名前は開発中のものです。
2007/11/02(金) 13:38:16ID:sL2YnEAa0528名前は開発中のものです。
2007/11/02(金) 14:59:30ID:CvkFzGg9まったく判らんね。だからプログラムでは出来る限り減らしておきたいって
ことなんだけど。
0529名前は開発中のものです。
2007/11/02(金) 23:58:34ID:xRYoDgGl以前このスレかな?入力遅延をさせるテストプログラムがあった気がする。
大体3フレぐらいから遅延を感じる人が出た気がするが、
1フレはほとんどわかんなかったぞ。
0530名前は開発中のものです。
2007/11/04(日) 03:47:41ID:L3FVWKsyソフト的に遅延が無いといわれているものでも、実際にはみんな一瞬早めに押してるんだよ
人間ってのはそのぐらいの融通は利くようになってるんだから遅延遅延と騒ぐよりも実際にやってみんとわからんよ
0531名前は開発中のものです。
2007/11/09(金) 18:24:20ID:tueZ5oj/0532名前は開発中のものです。
2007/11/09(金) 18:49:07ID:kB69uhzE0533名前は開発中のものです。
2007/11/09(金) 20:02:29ID:2YM4yos/0534名前は開発中のものです。
2007/11/09(金) 21:40:40ID:bFxv9n6s0535名前は開発中のものです。
2007/11/09(金) 21:54:58ID:1Ok59/8J狙って撃たなきゃいけないようなシステムになるのかな
撃ちまくり爽快感の方が好きだからどうでもいいけど
0536名前は開発中のものです。
2007/11/09(金) 22:09:38ID:I2TXqYPDシューティングの奴らはいつも他人が悪い環境が悪い言ってんだな。
FPS論争のときもリフレッシュレートを60Hz以外に設定している奴が悪いって流れになるし。
0537名前は開発中のものです。
2007/11/09(金) 22:25:03ID:bFxv9n6s60FPS前提で作りたい場合は環境の切捨ては仕方ないな
0538名前は開発中のものです。
2007/11/09(金) 23:02:34ID:1Ok59/8JFPSとは違う要望があるジャンルだから比べてもしょうがないよ
全キャラ3Dならレート可変でもいいんだろうけど、操作感とかどうなんだろ
0539名前は開発中のものです。
2007/11/10(土) 00:45:31ID:A2ziiEa02DSTGはリフレッシュレートがゲームに与える影響がでかすぎるんだよ
FPSというか3Dゲームはリフレッシュレートが可変でもプレイに耐えるが
平面ベクトルや領域のギリギリのやりとりをする2DSTGだと可変になっただけで大惨事だ。
理屈の上では滑らかに補完できてるはずが実際動かしてみたらガタガタだったとかよくあるし。
0540名前は開発中のものです。
2007/11/10(土) 01:15:30ID:wd2U4hoG無理がある
0541名前は開発中のものです。
2007/11/10(土) 01:19:58ID:vPdaTNxWtonyu使ってる俺にとって悩みの種なんだよな
C言語に移りたいけどなかなか理解できない
0542名前は開発中のものです。
2007/11/11(日) 02:07:28ID:1qK3Y74d環境によっていろいろ変わるようなんだが
マルチコアとかその辺の影響だろうか
0543名前は開発中のものです。
2007/11/11(日) 02:47:42ID:nx+GeGy6CnQ使ってたりすると問題があるよ。KB896256で修正される。
0544名前は開発中のものです。
2007/11/11(日) 10:24:52ID:pW6DNk/nアフィニティマスクでクロック取得先のコアを指定すればちゃんと動く。
0545名前は開発中のものです。
2007/11/11(日) 10:45:45ID:LIlfAb5k0546名前は開発中のものです。
2007/11/11(日) 11:00:18ID:pW6DNk/nどこコアから取得するか指定できないほうがまずかろ。
確かにデフォルトで1番目のコアに固定されてないのは問題だが。
0547名前は開発中のものです。
2007/11/11(日) 13:00:55ID:0OZUCMQXCPUクロックはなんだか安定感がなさそうなふいんき(なぜか変換(ry で
0548名前は開発中のものです。
2007/11/11(日) 15:19:34ID:bcKjGmJ3HTでもわりとおかしくなってたけど
・超連射とか
最近出たソフトならまず対応してるだろ
してないのなら作者が悪いだけ
デュアルコアの確認はしていませんとかせめて開発環境を公開するべきだ
0549542
2007/11/11(日) 15:59:09ID:1qK3Y74d俺はメイン絵描きでプログラムはHSPしか出来ないんで
制御はどうにもプラグイン頼みになっちまうのですが、
やっぱ内部的に何やってるかぐらい知らんとダメですな…。
皆さんいろいろありがとう。
ちなみに超連射はうちのクアッド機では平気な感じでした。
会社のHT機ではおかしくなったけどw
0550名前は開発中のものです。
2007/11/11(日) 20:12:18ID:bcKjGmJ3プロセス探してCPU固定割付すると大丈夫
まぁサウンドだけおかしいんだけどね
68soundがまったくマルチスレッドを考慮していない
0551名前は開発中のものです。
2007/11/11(日) 20:15:04ID:1qK3Y74dあーそれ互換モードで直るんじゃないかな
0552名前は開発中のものです。
2007/11/11(日) 20:18:17ID:1qK3Y74d要するにマルチスレッドに対応してないOSの互換モードに
してやればいいって事か。
0553名前は開発中のものです。
2007/11/11(日) 20:24:12ID:bcKjGmJ3全ての互換モード試したけどなおらんかったよ
2000のときはたしか発病しなかった気がする
0554名前は開発中のものです。
2007/11/11(日) 20:27:06ID:1qK3Y74dうちのQ6600だと非互換モードとw2kモード以外は正常に鳴るんだけど…。
0555名前は開発中のものです。
2007/11/12(月) 15:04:19ID:+uC/Jdgb0556名前は開発中のものです。
2007/11/13(火) 00:38:01ID:ulAOI/9+あとAudigyも同じなのも確認済
理由はXSoundDLLの仕組み
実際2世代古い超連射はどのOSでも問題ない
最新版がやばいというのはよくでてくるし常識かと
0557名前は開発中のものです。
2007/11/15(木) 00:45:54ID:QNtqBRT224インチワイドとか使ってる人いる?
ちょっと調べてみたところ
大きいのは応答速度が遅いらしいんだが・・・
0558名前は開発中のものです。
2007/11/15(木) 00:50:22ID:Uk6Z66jM0559名前は開発中のものです。
2007/11/15(木) 01:30:40ID:DTrplGGy韓国製VAパネルが多くてチカチカギラギラして目が疲れやすいけど…。
ただ応答性悪くないといってもCRTに対してはまったく勝負にならない。
個人的にワイドでお勧めはNECのLCD2690WUXiなんだけどゲロ高い。
ttp://www.nec-display.com/products/display/model/lcd2690wuxi/index.htm
0560名前は開発中のものです。
2007/11/15(木) 01:32:28ID:DTrplGGyttp://www.nec-display.com/products/display/model/lcd2690wuxi/index.html
0561名前は開発中のものです。
2007/11/15(木) 21:50:46ID:I2Ah0AAcワコムのでっかい液タブ買っちまいそう
0562名前は開発中のものです。
2007/11/15(木) 22:51:57ID:DTrplGGy0563名前は開発中のものです。
2007/11/15(木) 22:55:54ID:7GJVgX5D弾が1000以上出る弾幕系2DSTG作ってて今は65535分割テーブル使ってるが
標準関数に戻しても殆ど差が無かった
標準関数で統一しようかなぁ
0564名前は開発中のものです。
2007/11/15(木) 22:58:01ID:6yV9ev0Pやり方次第で計算したほうが速い
0565名前は開発中のものです。
2007/11/15(木) 23:29:20ID:DTrplGGyどちらでやっても誤差程度ではないのか?
0566名前は開発中のものです。
2007/11/15(木) 23:35:55ID:Z7gdZfDS今でも携帯機とかで使えない場合には持つこともあるけど。
VCなら組み込み関数にしちゃうと速度的なペナルティはほぼないね。
0567名前は開発中のものです。
2007/11/15(木) 23:36:15ID:GwtChVPQ男の生き様なんだよ。
0568名前は開発中のものです。
2007/11/15(木) 23:42:57ID:AXPRbRxp逆関数はしらん
0569名前は開発中のものです。
2007/11/16(金) 00:50:25ID:L5apN0pRじょじょに項数へらしていくってのはどうよ
0570名前は開発中のものです。
2007/11/16(金) 01:17:21ID:eui19bIt多くの弾は直進なんだから毎フレーム三角関数で求める必要ないし
スプライトの回転はシェーダですりゃいい。
XYZが回転中心。法線のXYが頂点へのオフセットでZが回転のようなフォーマットなら
弾1000個 6000頂点をDrawPrimitive1回でできる。
0571名前は開発中のものです。
2007/11/16(金) 07:25:58ID:FnKxVSr6前にそれやってる人みかけたなー
テーブルより遅いが、Sin関数など呼ぶより速いという
^C氏の記事でもあった気がする・・・
0572名前は開発中のものです。
2007/11/16(金) 15:40:45ID:L5apN0pRどうよと思って調べてみたけどこりゃだめだね
なんというか項を重ねるごとに-∞から∞までの波全体の形が整っていくのかと思ったら
原点から左右に紡いでくみたいに形ができていくのね
近似自体はn=2までで十分な品質になるけど-PI/2からPI/2までの範囲だけ
θをその編み上がってる狭い範囲にもってくるmodにコストがかかっちゃう
0573名前は開発中のものです。
2007/11/16(金) 16:09:24ID:bhChledo0574名前は開発中のものです。
2007/11/16(金) 21:42:13ID:xSHgoCMK0575名前は開発中のものです。
2007/11/16(金) 22:00:03ID:HpZCTOagとか思ってしまうわけで
0576名前は開発中のものです。
2007/11/16(金) 23:19:14ID:eui19bIt0577名前は開発中のものです。
2007/11/16(金) 23:44:37ID:Ns1hNSIo0578名前は開発中のものです。
2007/11/17(土) 14:40:50ID:G0hGaxub0579名前は開発中のものです。
2007/11/17(土) 16:17:02ID:sS5ZsVQm0580名前は開発中のものです。
2007/11/17(土) 17:06:34ID:OBmEGSxg0581名前は開発中のものです。
2007/11/17(土) 17:38:58ID:RRjgB4Ae0582名前は開発中のものです。
2007/11/17(土) 17:50:59ID:K5pYaEDh2DSTGならなおさら
0583名前は開発中のものです。
2007/11/17(土) 18:57:25ID:T6ruSFnz0584名前は開発中のものです。
2007/11/17(土) 19:14:52ID:OBmEGSxg0585名前は開発中のものです。
2007/11/17(土) 20:58:46ID:HTjAVENtグラディウスの敵弾みたいに16方向とか32方向とかの限られた方向しか使わない仕様だと
三角関数テーブル(と言っても行数はごく少ない)が良さげ?
0586名前は開発中のものです。
2007/11/17(土) 21:35:55ID:T6ruSFnz最適化に凝る同僚に面倒な規約を強要されるが、これ無意味なんじゃねーのと
うんざりする経験の有無で、汎用性や分かりやすさを重視するかどうか
分かれるかもしれない。
0587名前は開発中のものです。
2007/11/17(土) 21:59:33ID:7MXgNsR0■ このスレッドは過去ログ倉庫に格納されています