トップページgamedev
1001コメント335KB

シューティングゲーム製作技術総合 3機目

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/06/16 07:45ID:u0+hin61
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

■前スレ
シューティングゲーム製作技術総合 2機目
http://pc5.2ch.net/test/read.cgi/gamedev/1073736474/
047147004/07/09 10:14ID:l91s44YH
よく読んだら、プレイヤー座標と自座標を入力すると
加速度を出力するような関数(orロジック)を用意する
って話か。
 
参照テーブルを一切使わないってことは
敵キャラ1種につき関数1個といった粒度を想定しているのかな。
容量の肥大化はまず避けられないだろうが非現実的ではないな。
 
俺なら、ロジックの粒度を小さくして呼び出しのシーケンスを
テーブル化するような形に持って行くけどね。
0472名前は開発中のものです。04/07/09 10:32ID:nlM8j7wC
>>469
透明オブジェクトとして線データをマップの上に置いといて、
それに沿って移動するような形はどうだ?
…この方法だとゼビウスみたいに分岐があった場合の処理がめんどうだな。
0473名前は開発中のものです。04/07/09 13:33ID:7OghelOa
>>471
中身のありそうでなさそうなレスだね。
0474名前は開発中のものです。04/07/09 14:19ID:QlzJ/HhZ
>>472
ああーなるほど。
透明オブジェクトに触れたら方向転換、でもいいかもね…。
やってみよ。
0475名前は開発中のものです。04/07/09 14:36ID:febHPtbj
>>471
うん。たしかにテーブルの類を一切使わないという条件があると辛いですね。
敵キャラ加速度データのグラフは直線(矩形やノコギリや三角)を組み合わせた
不連続関数だったりするので、アルゴリズムでやるといっても中で条件分岐が
入りますね。連続関数に分解してテーブル化ってのは至極まっとうな選択だと思います。
 
加速度の制御だと円弧を表現しにくいので、動きパターンに応じた条件分岐も
出てくるでしょう。ここでもハードコーディングを避けるならテーブル使いますね。
0476名前は開発中のものです。04/07/09 15:48ID:l91s44YH
>>472
マップチップでやるならラクができるよ。
自分のいるマップチップ番号を見て、三叉路や
交差点のマップチップ{┤,├, ┴, ┬, >- , -< , Y ,人,┼,×}
ならば経路決定用の関数を呼び出す。

        始点
         |__
___    /
     \./
       │
   ──┼
       |
   ──┴─終点

上図の戦車の分岐シーケンスは
{右折、左折、直進、左折}
この2bitデータの配列を各戦車に
持たせるだけで済む。
0477名前は開発中のものです。04/07/09 16:03ID:YxAitO+W
パックマンと一緒か
0478名前は開発中のものです。04/07/09 17:53ID:gLhVSd5Q
>>476
あーそっか。マップが格子状に区切られてるから、自分のいる地形の
属性情報をBGテーブル経由で参照できたんだね。たしかに
マップチップだと色々と簡略化できるね。 
 
道路上の戦車の移動は逐次処理だけで済むってのは納得。
けっこう複雑だと思ってたんだけど、ちょっと考えすぎだった。
0479名前は開発中のものです。04/07/09 20:19ID:l91s44YH
>>475
円弧や正弦曲線は、ゲームデータ用に
エクスポートする際には近似曲線に
変換するといいよ。特例扱いしなくて済む。
0480名前は開発中のものです。04/07/09 21:18ID:MWhIjUoX
>>476
それだと戦車に与えるパターンが少なくなる代わりに、戦車が存在しうる背景パターンは
10倍の数になるのでわ?
背景がベタな砂漠とかコンクリだけならなんとかなりそうだけど、自然な背景にしたいなら
マップエディットで力つきそうな気がする。
0481名前は開発中のものです。04/07/09 21:36ID:ZL4f7MqP
戦車が参照するマップと、表示用のマップが同じである
必要は無い。

マップ編集はちょっと面倒かも知れんけど。
0482名前は開発中のものです。04/07/09 22:02ID:l91s44YH
>>480
話の発端はゼビウスとかマップエディタ流用の話なので
そういう無茶な突っ込みしないように。

 ・マップチップ毎にアトリビュートを付加できない
 ・マップチップをマルチテクスチャ化できない
 ・マップを多層化(複数レイヤー化)できない

低機能マップエディタを使ってリアルな背景を
追求したいなら、相応の工夫をしましょう。
0483名前は開発中のものです。04/07/09 22:03ID:MWhIjUoX
確かにそうだけど、実際やってるところあるのかな?
ちなみに漏れはオブジェクト出現テーブルに移動パターンとカウンタオフセットを与える方法で
やってたけど。
戦車ってそれほどハードにくねらないから30フレくらいの頻度でパターン構成してもそれなりにみえる
でも結局、停止->前進->停止の奴が一番多かったんだけど(w
0484名前は開発中のものです。04/07/09 22:04ID:MWhIjUoX
おっと被った
483は481へのレスです
0485名前は開発中のものです。04/07/09 22:36ID:CB1SxE8k
>>482
道路パターンを地面に馴染ませるときは道路パターンを
アルファ付きテクスチャにして地面パターンにかぶせると
楽チンでいいな。
 
自然な描写を目指してくとマップエディタ自作にしたほうが
楽だと痛感した。
0486ガルーダ週報04/07/09 23:04ID:gIDSfdVG
敵配置ツールは手付かずです。

その他のガルーダ仕様や基本的な処理(スコア、パワーアップ、アイテム効果等)は
一通り出来たので、後はボムの実装ぐらいです。

低レベル層の描画周りを見直してたら、致命的なミスを発見、
修正したら処理落ちが全くなくなりました。
(出現キャラ数は調べてませんが、アーケード版の後半ぐらいは出してる)

後はバランス調整、敵配置、ボス実装、最後に絵を直せば公開出来るんですが。
ボスの考案、絵を描くのが一番しんどい。
フィルタ掛けるとかじゃ不味いんですかね。細かい修正は色々してますが。
0487名前は開発中のものです。04/07/09 23:30ID:Y0wdFIt0
道路の上を進む戦車って移動はなんとなく分かったんだけど、
建物の中から出てくるときの敵の当たり判定はどうやるんだろう?
まだ建物の中にある部分は弾が当たっちゃいけないんだし・・・。
やっぱりチップで判定するのかな?
0488名前は開発中のものです。04/07/09 23:44ID:ulD412ic
>>482
そうね。
絵的なクオリティを上げていくなら3Dカードの機能を活用しない手はないでしょ。
あとマップエディタ。最近は出来のいい汎用エディタがあるのかもしれんけど
俺が作ってたときはマップに深度値を付加したりマップを複数枚重ねられるような
エディタが見つからなかった。この手の機能が無いとマップ編集作業をやってく
うちに不満が炸裂する。
 
>>485
俺は、森林地帯を戦車が通り抜けるシーンを作るためだけにエディタ
自作しちまった香具師なので、むしろアフォの部類かもしれんけど
独自の拡張がどんどん出来るので、自作したほうが結果的に楽ってのは同感。
0489名前は開発中のものです。04/07/10 00:10ID:N8kE6kmm
>>487
チップで判定してもいいし。チップのZ値で判定してもいいし。
戦車が何かの下にいれば弾に当たらなければいいということで。
0490名前は開発中のものです。04/07/10 00:10ID:tm6dksbf
マップチップの話だけど、
元のマップの画像は、巨大な一枚絵で描いて、
それを16×16とか適当な単位で分割して、チップをあとから作ればいいんじゃない?
0491名前は開発中のものです。04/07/10 00:15ID:DOlTpm6+
>>490
>>338
0492名前は開発中のものです。04/07/10 00:40ID:0VpPjZgq
HSPスレからきますた。

・・・最も速いと思われる当り判定のアルゴリズムを
伝授して欲しいんですが・・・。
CPU500MhzのPCで動かせることを考えると
どうしても処理速度と格闘せにゃならんので・・・。

飛翔鮎が500MhzのPCで軽快に動いてるのが
不思議でたまらないんですが・・・。
0493名前は開発中のものです。04/07/10 00:50ID:IgJ4aB0q
>>492
条件次第で変わるから、もう少し限定した条件を出してもらえると答えやすいかも。

判定する物体の形状とか、数とか。
あと、ハードウェア的な制約もあれば。メモリ量も重要だね。

MSXならスプライト同士の接触で割り込みが、とか。
049449204/07/10 00:50ID:0VpPjZgq
すまそ、質問しといて説明不足だったんで補足

敵弾vs自機の判定は
HSPスレのほうで解決してきたんスけども、
自弾vs敵の判定で凄まじく重くなってしまって。
現在実装中の当り判定は

自弾の数だけループ(1)
  自弾の移動
    敵の数だけループ(2)
      自弾vs敵の当り判定
    ループ(2)終
ループ(1)終

ってなってます。
当り判定の基礎はコレで良いと思うんですが、
うちではコレをやると処理落ちしてしまうんスよ。
(程度の低いSTGしか出来ていないのに・・・・)
0495名前は開発中のものです。04/07/10 00:51ID:SUbK9G3e
本当に当り判定の問題?
敵一個の場合とn個の場合の速度比べてみ
0496名前は開発中のものです。04/07/10 00:58ID:0Y8AoUvE
500MHzもあるならインタプリタでもその程度かなり余裕だろう
それ以外のところがおかしいと思われ
049749204/07/10 01:05ID:0VpPjZgq
>>495-496
うむぅ、一番処理食ってるのが
自弾vs敵のループと
敵弾vs自機の判定
だと思うんだけど、
やっぱ別のところで無駄してるんですかねぇ?
敵1コとnコの場合、明日辺り試して見ますわぁ
0498名前は開発中のものです。04/07/10 01:28ID:p72KWlK1
まぁ、良くある方法としては、
敵や弾の移動時に、y座標単位のテーブルに登録しておいて、
自機と一定以上近い座標にあるものに対してのみ当たり判定を行うとか。

それ以前に、その重さは考えにくいから、
やっぱ当たり判定自体かループがおかしい気はするが。
049949204/07/10 01:29ID:0VpPjZgq
思いっきりHSPのソースで申し訳ないんですが、
当り判定ルーチンにはこういう内容のものが詰まってます。
http://cgi.members.interq.or.jp/hiphop/youhama/up/source/yaguyasu0495.txt
0500名前は開発中のものです。04/07/10 05:42ID:Jg7JgvWa
>>499
この程度で遅くなるかなあ…。
描画じゃないの?回転とか使ってるし。
ビデオカードによってはそれだけで結構遅くなるよ。
0501ガルーダ04/07/10 06:53ID:pcMLfY2g
>>499
コードよくわからんけど、
貫通弾じゃない限り、ヒットしたら敵のループから抜ける
というのがなさげだけど?
あったほうがいいと思う。俺も全然やってないけど。
それ以前に、タスクのリスト総舐めしてる。
0502名前は開発中のものです。04/07/10 10:52ID:zRZI11ms
>>501
それは後のチューンナップの話しだね
初めは処理が最大の場合でも余裕があるくらいにしておかないと先が厳しい
0503名前は開発中のものです。04/07/10 12:24ID:hRw1iM5+
俺の場合、まず全ての敵オブジェクトに対してBounding Circleによる簡易判定を行って、
ヒットしたもののみ引き続き厳密な判定をするようにしてる。

といっても、当たり判定ごときでそうは重くならないはず。
0504名前は開発中のものです。04/07/10 18:13ID:gWqZuWIh
空間を格子状に割って格子内の物同士で判定を取る、とか低クロックのハードで
ゲームを作った際にやりました。
効果はかなりの物でしたが、500Mhzもあればそんな処理いれなくても楽勝かと。

それなりの処理、ってのは重くないはですか?
050549204/07/10 18:29ID:0VpPjZgq
それなりの処理と書いたものの内容は
当たった瞬間だけの処理だから
重いのに影響はないと思うけど、
弾フラグ消し、
敵耐久減らし、
等の処理をします。

>>500が言ったように描画かもしれない・・・
633MhzのPCでは少し無理させても平気だった。

一番気になるのが、
俺の糞ゲーが500Mhzでガタガタになるのに、
飛翔鮎で軽快に動く、というのが・・・。
0506名前は開発中のものです。04/07/10 18:47ID:pnyWB4my
とりあえず重くなりそうな回転とか拡大縮小(使ってないかもしれないが)を減らしてみるとか
回転使うより回転パターンの絵を用意しておいて角度に対応した絵を表示した方がいいんじゃないか
0507名前は開発中のものです。04/07/10 19:11ID:aDiDwqXV
そもそも描画にDirect3Dを使っていないとか。
0508名前は開発中のものです。04/07/10 19:12ID:meNHfUrF
HSPの限界じゃないのか?

その飛翔鮎とかいうのは、あたり判定ループの部分だけCで書いてるとか
HSPはそんなことがホイホイできるものなのかはよくしらんけど
0509名前は開発中のものです。04/07/10 19:24ID:pnyWB4my
efx_rotateってことはhspdxa使ってるんだよね?
ちょうど今マニュアル見てて気付いたんだけど
>>互換命令でのキャラクタ表示には、ビデオカードの2D機能を、efx命令でのefxパターン表示には3D機能を利用しています。
>>ビデオカードハードウェアがそれらをサポートしていない場合、劇的に描画速度が遅くなる事があります。
ってあるからビデオカードが原因かもしれないな
0510名前は開発中のものです。04/07/10 19:32ID:0RqLE5jR
とりあえず当たり判定ルーチンをいったん外してから試したら?
それともそれまで平気だったのが、当たり判定を組み込んだら一気に処理落ちしたってことかな?
0511名前は開発中のものです。04/07/10 19:46ID:Jg7JgvWa
そうね。
まず何処で遅くなってるのかしっかり特定しる!
0512名前は開発中のものです。04/07/10 19:51ID:EhOOyhww
グラフィックス性能低いノートPCで
回転拡縮を使ってるとか。
051349204/07/10 20:01ID:0VpPjZgq
なんかefx命令が原因の可能性が濃厚に思えてきた・・・。

当り判定を外す、外さないとかじゃなくて、
当り判定に使うパワーが大きいからっていう理由だけなんですわ
どこで遅くなってるかと言えば当り判定以外考えられず・・・。

とりあえず、当り判定の中に重い処理を書き過ぎた
可能性が高いので、その辺改良してからそれでも
ダメだったらまたヘルプしまつ
ご迷惑おかけしてます(='ω`)トホー
0514名前は開発中のものです。04/07/10 20:14ID:0Y8AoUvE
重いかどうかはあたり判定部分ごっそりコメント化してみればいいだけじゃないの?
ちゃんと問題の切り分けしたほうがいいぞ
0515名前は開発中のものです。04/07/10 20:14ID:Jg7JgvWa
とりあずいろいろ外してって原因を特定させるほうが先だと思うんだが…。
0516名前は開発中のものです。04/07/10 20:15ID:Jg7JgvWa
ぐぉ、かぶったw
0517名前は開発中のものです。04/07/10 21:30ID:0bX2+szH
まあそんなことも思いつかない奴だから
0518名無しさん@そうだ選挙に行こう04/07/11 07:51ID:DYVAGQVK
「やっぱHSPerだよな」と言われてしまうわけだ。
0519名無しさん@そうだ選挙に行こう04/07/11 08:16ID:Rk2V9Rp9
で、結果はどうたったんだろ…。
ほんとに原因究明しないまま改良とやらを始めてしまったのだろうか。
0520名無しさん@そうだ選挙に行こう04/07/11 10:33ID:RbJjvQJv
好きなように
やれば
いいんだよ
夏休みなんだし
0521名無しさん@そうだ選挙に行こう04/07/11 10:38ID:Rk2V9Rp9
みつお
0522名無しさん@そうだ選挙に行こう04/07/11 11:53ID:MAWzlEoq
もう夏休みなのか。
制服女子高生が見られない・・・
0523名無しさん@そうだ選挙に行こう04/07/11 13:37ID:Rk2V9Rp9
会社行くとき電車が空いてて嬉しい
0524名無しさん@そうだ選挙に行こう04/07/11 15:26ID:PQPza/og
だめだこいつ。
思い込みはハマりの第一歩だってのにな。
0525名無しさん@そうだ選挙に行こう04/07/11 16:56ID:t99I5flY
まだやん
052649204/07/11 17:08ID:sdoT5MYW
>>514-515
外したって。
0527名無しさん@そうだ選挙に行こう04/07/11 17:50ID:wJ1lsSz9
外したの?
0528名前は開発中のものです。04/07/11 21:38ID:m2AoBS5O
一度も外したと書いてなかったが、外したのか。で、外しても重たいままだったの?
0529名前は開発中のものです。04/07/11 22:14ID:DYVAGQVK
描画する画面サイズがでかいだけだったとかいうオチだったりすて。
とりあえずゲームシステム的な観点で条件を書いてくれ526よ

1ループの同期時間 or v-sync
画面サイズ
ウィンドウ or フルスクリーン
転送元画像カラーbit数 and 転送先画像カラーbit数

などなど。






でもさーこれで「描画ルーチン外したら早くなった」とかだったらかなり顰蹙ものだなw
053052604/07/11 22:31ID:sdoT5MYW
1フレーム 16ms
V-syncは待っても待たなくても特に変わらず
フルスクリーン640*480 16Bitカラー
と、とりあえず言われた通り晒したけど、
描画で遅くなってる可能性が濃厚、と感づいたレス入れたはず・・・
それを試行錯誤してるトコですわ

>>528
HSPer(?)じゃない人にはわからないと思うけど、
描画もさることながら2重ループとか
入れると重くなることなんてしょっちゅうある
2重ループの中に一部の描画命令入れてるんで
当り判定ルーチンを外す=一部描画ルーチンを外す
で、必然的に軽くなるってワケ
(この部分が悪いと指摘してくれる方が居たら
是非、と)
0531604/07/11 22:53ID:8pataM2S
1フレーム 16msて
60FPS超えてるよね?十分なのでは・・・
なんか俺勘違いしてる?

16FPSの間違いなら携帯アプリ並だけど。
053252604/07/11 22:59ID:sdoT5MYW
16msそのままで計算すると62.5FPSになるんだけど、
HSPの性質なのかハードウェアの性質なのか
その辺はよくわからないけど、ちょうど59.xxFPSになるのが16msなんス。
PCによっては14msでやっと60FPSに近くなるものもあるらしい
053353104/07/11 23:07ID:8pataM2S
そっかそっか〜・・・って
59ってかなり高速と思うが
その状態でガタガタに見えるの!?
安定してないとか??
0534名前は開発中のものです。04/07/11 23:08ID:Rk2V9Rp9
HSPの話題ですまんが、HSPDXAはウェイトだとFPS安定しないのでチューイせよ。
0535名前は開発中のものです。04/07/11 23:23ID:PQPza/og
ん?
タイマウエイト掛けてさらに垂直同期待ってるってこと?
053653104/07/11 23:39ID:8pataM2S
HSPDXAてなんだろとおもてちと調べてたんだけど
HSPって結構すごいことが
できちゃうんですねとかおもいますた(´Д`;)ハァハァ
0537ゆうき ◆MU2000.LWc 04/07/11 23:50ID:/PUzFwLV
迷い込んできました。

HSP&HSPDXAでSTGつくってます。
まだ途中ですが、ネットランキングとかにも仮対応させたので
暇な人やってみてください ○| ̄|_
http://ww22.tiki.ne.jp/~y-shirakawa/

HSPDXAは、垂直同期しないとFPS安定しないんです。
何か対策ないかなぁ・・・。
0538ゆうき ◆MU2000.LWc 04/07/12 00:02ID:NFDVoz0M
ログみてたらとんでもなく空気読めてないレスだと分かりました。
ほんとゴメンナサイ。
053952604/07/12 00:07ID:BZTWJ1i5
>>533
ウェイト16とって、それを越えたら
当然FPS40とかになるよん
そうすると、とうとうガタガタになって、
スレのみんなに質問しちゃうってことです。

うちのPCの場合は同期とっても取らなくてもあまり変わりなかった
から気づかんかったけど、みんなの話だと同期なしだと安定しないっぽいね
今のうちからコンフィグで同期の設定できるように
しておいた方がよさそうかな?

>>535
同期待ちだけだとリフレシュレート60以上のPCで困ることになるから、
16msの最低ウェイトを取る方法を採用してまつ。
何度も言うようにうちだと同期待っても待たなくても
一緒だから、テストのしようがない・・・
(最近は友人何人かに頼んでやってもらってるけど)

というかFPSとかの論争がある模様?
ほとんどのPCで同じFPSを出すのってやっぱり難しい?
0540名前は開発中のものです。04/07/12 00:10ID:kMdISlBW
いや、あんたの方法がダメダメすぎるだけ・・・
FPSをどのパソコンでも安定させる方法については
非常にすばらしい方法がありもう議論され尽くされてるから書かないが
0541名前は開発中のものです。04/07/12 00:11ID:xqa60v0D
>>539
いいじゃん、んなもんユーザに選ばせりゃ。
0542名前は開発中のものです。04/07/12 00:13ID:m2Go/Kix
レスをみての推測だけど毎フレーム同じ時間だけウェイトを入れてない?
描画や当たり判定などの処理をしてあまった時間分だけウェイト入れないといけないんだけど
0543名前は開発中のものです。04/07/12 00:18ID:wXVm5haw
>>537
技術的な話をするなら別に良いんじゃないの。
完成品として感想聞きたいなら↓ここで晒すとか。
http://game6.2ch.net/test/read.cgi/game/1087558504/l50
ところでヤマハ音源使い?w

>>539
>ほとんどのPCで同じFPSを出すのってやっぱり難しい?
HSPではどっちにしろあまり融通は効かないと思う。
HSPDXAはウェイトがどうも信用ならないようだが。
何か他のタイマ使うとかで解決できないのかな。
054453104/07/12 01:08ID:qRwhS0h2
俺はまた実測アベレージで59FPSかとおもたよ・・
多分、HSP(HSPDXA?)には更新時間を指定する命令があるんだろう。

一般的なシューティングでCPUやらカードやらで負担かかるっつったら
衝突判定と描画くらいなもんだし。
オブジェクト指向だと生成ってのもあるだろうけど。

で、衝突判定でないと言い張るからには
HSPの仕様上、CPUに負荷のかかる画像形式とか
不要な画像処理してますとかそんなとこかね。
もしくは弾幕が異常に多い→1000発超えてますなんつてな。ヨケラレ(゚Д゚)マセン
054552604/07/12 01:11ID:BZTWJ1i5
>>542
設定したウェイトから
処理にかかる時間を引いてるので毎回同じ
ウェイトになる(はず)

>>540
本当に論争になっていたみたいだなw
054652604/07/12 01:16ID:BZTWJ1i5
連レスすまんネ

弾幕にするつもりはないんで
150〜200発程度でやってま。

とりあえず不要かどうかはおいといて
描画で遅くなってる可能性が90%くらいになってきた。
同じ500MhzのPC2台に協力してもらったところ、
一台ではガタガタ、もう一台では軽快に動作した
とのことで、ビデオカードのせい、
つまり、変なエフェクトかけ杉のせいっぽい。
だいたい分かってきた
0547名前は開発中のものです。04/07/12 01:53ID:wXVm5haw
なんでいまだに原因が推測なんだ?。
描画部分外して試せって言ってるのにやってないの?
ES_SET等の描画命令をコメント化すればすぐ出来るだろ?
何やってんのかぜんぜん判らんぞ。
0548名前は開発中のものです。04/07/12 02:41ID:6L4+ZMpz
>546
なんかドツボにハマってるような気がする。

もともと飛翔鮎が動くのに自プログラムだと・・・って話からの流れなのに、
他のPCで動いたから、んじゃービデオカードのせいだ・・・って事では、全然
問題が解決してないでは(汗
054952604/07/12 03:00ID:BZTWJ1i5

>>548
痛いトコつかれた気がするけど思い当たる節はある
飛翔鮎ではあまりエフェクト使ってないから動くんだと思う
こっちのは回転・加算合成など使ってるから
せめて回転だけはどうにかするつもり
ビデオカードのせいというのは確定だと思ってる。
(じゃあもうこのスレ来んなと言われそうだがw)
0550名前は開発中のものです。04/07/12 03:39ID:LwigiUS8
来るなとは言わないが、質問しておいて指摘された問題点の検証を
しないならここに来る意味は無いだろう。
0551名前は開発中のものです。04/07/12 03:50ID:wXVm5haw
余裕でスルーですか(;´Д`)
人の話を聞く気が無いなら質問しないでくれ。
0552ガルーダ04/07/12 05:28ID:Z/Q7ygeU
>>544
現バージョンのガルーダ、計測してみたら最大1426キャラ出ててた;
ほぼ60FPSだけど、ハイエンドなビデオカード使ってるから参考にはならんけどね。
0553名前は開発中のものです。04/07/12 05:56ID:bU4EsX4M
この前SSのシルバーガンで当たり判定表示オプションつけてみたら、
物凄い数の長方形がぐるんぐるん回っててすげぇワロタ。
ソードなら3つの正方形、アカマルやミカエルは20個ぐらいの正方形がぐるぐる
動いてて、レーザーも正方形並べただけw
幾何学的に正しい当たり判定処理をうんうん唸って考えてた俺を思い出して
さらにワロタ。
0554名前は開発中のものです。04/07/12 10:02ID:4aXKEpAM
単純な判定を組み合わせるというのは高速化もあわせて8bit時代からのtipsだぞ

たとえば丸いキャラの判定をどうするか
これは縦長と横長の2つの四角をくみあわせるだけでそれっぽい判定になる
さらにちいさめの正方形をあわせて3つになればほとんどの場合問題になることはない
0555名前は開発中のものです。04/07/12 12:42ID:NqLdlnVo
丸?
X方向の差の二乗とY方向の差の二乗を足した数が
半径の二乗よりも小さかったら当たり。
でよくない?
0556名前は開発中のものです。04/07/12 12:43ID:NqLdlnVo
すまん。これ、相手が点の場合のみ有効な方法だった。
0557名前は開発中のものです。04/07/12 13:24ID:wXVm5haw
丸っこいキャラでも正方形一つか二つで大概事足りるね。
0558名前は開発中のものです。04/07/12 14:11ID:wXVm5haw
>>552
あれでもそんなに出てるんだ。
ガルーダは大往生と同じ基板でスペック的には
大したこと無い筈(怒首領蜂より下)なんだけどな。

所々でソフトによるウェイトでなくマジ処理落ちするけど。
0559名前は開発中のものです。04/07/12 14:50ID:RCX/3AE6
552が自前で作っている「ガルーダを参考にしたSTG」の話だと思われ

アーケードガルーダのオブジェクトは558の言うとおりで、300もない程度だろう
アレンジガルーダなら1000行くかも知れないが
0560名前は開発中のものです。04/07/12 14:56ID:RCX/3AE6
PS2版を知らない人のために一応フォロー。アレンジガルーダってのはPS2版のアレンジモードのこと
0561名前は開発中のものです。04/07/12 16:46ID:154XwmhW
さすがHSPerだな…
0562名前は開発中のものです。04/07/12 17:49ID:6L4+ZMpz
>549
とりあえずガンガレ。

HSPは良くわからんけど、Timerが使える環境ならデバッグ用に
ゲーム開始からのフレーム数と時間の差分なんかをダンプする
簡単な関数を用意しておくと何かと便利よ。本当はちゃんとした
プロファイラを用意するのが良いんだろうけど。
056355804/07/12 18:28ID:wXVm5haw
>>559
ああ、そゆことか。
失礼した。
056452904/07/12 18:32ID:oVg9IA8S
なんだか予想通りの展開になってるし・・・orz

晒したソースの「それなりの処理」とか個別に外して
それでも当たり判定が遅いと言っているのか思ってた。

レスされた内容を吟味してないんなら漏れも550-551と同じ意見だ。






これでエフェクト外しても遅いって言ってきたら更に顰蹙もんだぞ。
056552604/07/12 21:20ID:BZTWJ1i5
レスは大変参考になってるし
それにしたがってテストもしてる・・・と主張したいのだが
説明も下手だし状況報告も不十分だったから無理ぽいな。

でも今さら聞いてもらえるかワカランが
問題点の検証はレスに沿ってやってる。
最初当り判定だと思い込んでいただけだし、
描画かもしれないよ、と言われたら描画関連はいじったよ。
修正・検証に時間が掛かるのはソースが汚いからだと(特に描画専門のルーチンを作っていないあたり)、
俺のレスの程度の低さから察して欲しかった。

>>551は素で完全に見えてなかった、ゴメンナサイ!w
今さらレスするとes_setは使ってない。(そういうことじゃないか)
描画は外した。もちろん速くなった。単純に弾の量は倍いける。

すまそ、つまり、
原因検証はしていたけど報告せずに
一人でソースいじって試行錯誤してた、と・・・。
叩かれて当然かもしれないけど、努力してたのは
少しくらい認めてください・・・。虫がいい話かもしれないけど。
0566名前は開発中のものです。04/07/12 22:16ID:fHEf/1bF
アウトプットを出さないと何もしてないのと同じなので、同情はできないな
0567名前は開発中のものです。04/07/12 22:58ID:dVCPV83t
結局何をどうやって結果はどうなったの?
順番にやったのならどれがどうだったのかでも
報告してくれれば他の人も参考になるかもしれないのでよろしく
056852604/07/12 23:31ID:BZTWJ1i5
@当り判定が悪いと判断しこのスレへ来る
(この時は既に当り判定を外し処理落ちしないことを確認)
A敵1のときと敵nの時の
 処理速度を大まかに計測。大体比例する。
B500がここで描画とビデオカードの
 ことについて述べるので
 友人のPC5台ほど(古いメーカーものでビデオカードの情報は無かったな・・・
 差はあれど軽快に動いたのは3台)
 でテストさせてもらう。結果はまちまち。
C514-515の指摘でとりあえず色々外す
 (色々すぎて何を外したかよく覚えてないが描画は外してみたはず)
 処理速度が向上したことを確認。
 描画、当り判定それぞれ外して処理が軽くなったので
 この時点では原因は分かってない(分かってなかったと思う)
DやっぱHSPerだよなと言われてしまう。
EFPSの話題になるが問題解決につながるような
 ことは無し
F友人のPCにて飛翔鮎が軽快に動き、俺のがガタガタであることから
 命令処理速度ではなく描画処理速度の問題であることに気づく。
 飛翔鮎ではエフェクトの使用を抑えているように見えることから。
GさすがHSPerだなと言われてしまう
Hんで現在はあらかじめ回転させた画像を作ったり
 無駄な処理を削ったりしているところ。

とまぁ振り返ってみたけど
やっぱ俺のレスは内容薄かったね。。
すんません(='ω`)
0569名前は開発中のものです。04/07/12 23:53ID:wXVm5haw
まあいいけどさ…

なんか試し方がおかしい気がするんだが。
ウェイト無し、sync待ち無しにして
・デフォルト
・当たり判定ルーチンだけ外す
・描画ルーチンだけ外す
・描画ルーチンの回転拡縮、半透明処理だけ外す
それぞれでFPS計測して表示させれば、どこで大幅に処理落ちてるか判るだろ。
0570偽ガルーダ04/07/13 00:38ID:ctvqrKwO
>>563
紛らわしかったですね。スンマセン

>>559
アレンジモードでは、1000以上出てるように見えます。
自分のは、アーケードの弾幕を参考にしてますんで。
(アレンジ再現するなら、GF3以上は必須になるかと思うので)
ただ、頻度や配置の調整が全然で、初心者考慮して弾速を遅くしたので、
画面上に溜まってるキャラが多いと。
弾の封印等を入れたら、900台まで減りましたが。

再現しようか迷ってるのが、倍率表示。
敵弾 X X100(<(0〜100)4文字)で、
今の4倍近く表示数増やさないといけなくなる。
テクスチャLOCKして書き換えるにも、数が多く、全部独立してるし。
それ以前に、点数計算方法がわからない。w
まあ、これはいらないかな?と。w派手で良い演出なんだけど。
0571名前は開発中のものです。04/07/13 01:42ID:gt7lDpgV
ん?テクスチャロックって毎回テクスチャ生成するの?
「×」と「0−9」を先に作っといてくみ合わせればOKでは?
さらにインチキとしては明らかに使用頻度が多い「x100」だけは事前に
できあがった画像を準備しといたりしてもいいかも。
■ このスレッドは過去ログ倉庫に格納されています