シューティングゲーム製作技術総合 4機目
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/08/09 19:53ID:oKoFsB2nそれは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
■前スレ
シューティングゲーム製作技術総合 3機目
http://pc5.2ch.net/test/read.cgi/gamedev/1087339516/l50
0205名前は開発中のものです。
04/08/28 01:07ID:3c0hiz+o固定小数点とか独自のパックファイルとかプログラムに結構力を注いだんだけど
見た目のためか評価が低いことをからの感想
atan2の64*48テーブル ってのは
イカベーダの画面の解像度が640*480だから
配列のサイズを考えて(1/10)^2の64*48にって事でこうなる
たとえば弾の発射元座標が(0,0)でプレイヤーの座標が(640,480)だとしたら
atanTbl[64][48]を参照すればatan2のテーブルから45度とか帰ってくるわけ
それで方向弾を撃つと アルゴリズムマニアックス読みますた
0206名前は開発中のものです。
04/08/28 01:12ID:3c0hiz+o180度足したりして返すと
sqrtはとにかく使わない 角度が得られないとn-wayで狙うとかできないし
0207名前は開発中のものです。
04/08/28 01:37ID:nKUXznWKテーブルなどいらぬはずだ!
豪華に atan2 そのままつかっちゃおうぜ
0208名前は開発中のものです。
04/08/28 01:37ID:oqoVAKqOサインテーブルを使ってる部分を
普通のsinに置き換えてみたら分かる。
処理スピードなんざ全然変わらん。
0209名前は開発中のものです。
04/08/28 01:52ID:02FFley8>205
そら、見えない部分を評価することは出来ないし、ゲームとはそういうものだ。
あと、そのatanテーブルだと誤差が大きすぎる気がするが。
実用に問題がないなら、それはそれでいいけど。
でも、DirectXGraphicsでやる場合、特に理由がないなら、素直に浮動小数点を使っとけ。
0210名前は開発中のものです。
04/08/28 02:29ID:RtjyAj0Qプログラムと爆発エフェクト作成ツールだけで派手な爆発とかは作れるし
0211名前は開発中のものです。
04/08/28 03:46ID:SvxFK2IBジョイパッドが刺さってるとキーボードが使えないので使えるようにして欲しい。
マニュアルにジョイパッドの操作説明がなかった。
最小化して元に戻すと背景の星が横一列に並んでしまう。
Xでコンティニューだけどタイトルに戻りたい場合はどうすれば?
0212名前は開発中のものです。
04/08/28 08:14ID:uycPsnKNそうしないと突っ込みやすいところばかり突っ込まれるだけ。
0213名前は開発中のものです。
04/08/28 10:43ID:Qvjx0eXJ技術もatan2使おうぜ、という点以外は問題なさそう
たぶん、まだゲーム内容に凝る予定じゃないんだよな
だから、今のところは良くできてるよ、と言っとく
0214名前は開発中のものです。
04/08/28 11:27ID:uMxB3nIY#今のCPUじゃ言うほどの利得は無いのは承知
>イカベーダの画面の解像度が640*480だから
>配列のサイズを考えて(1/10)^2の64*48にって事でこうなる
非常に些細な事なんだが”もうひと工夫”欲しかった
固定少数を使うという事は根底に高速化したいという思想があるはず
であれば俺なら「1/10」にはしない
さて、何でだと思う?>205
本当に些細な事なんだけどな(w
0215名前は開発中のものです。
04/08/28 12:12ID:3c0hiz+oやっぱ1/10 にする割り算がかえって
高速化が目的のテーブル処理を遅くしてるってことなんかな
やっぱテーブルって大きいものとか
最初にアルゴリズムマニアックスを読んだときは円形の方向弾が四角くしか飛ばなくて困った
タイトル画面で弾を撃ち続けるとエキストラモード入れるよ
0216名前は開発中のものです。
04/08/28 12:59ID:Ah1rFXTm良いものを置いといてやろう
|)つ [ シフト演算 ]
0217名前は開発中のものです。
04/08/28 13:23ID:VP551XAu0218名前は開発中のものです。
04/08/28 13:48ID:O4PrxWZn実際に発生した例があるとわかりやすいんだが
0219名前は開発中のものです。
04/08/28 15:26ID:51GnK4hLシフト多用すると遅くなるんだよな
0220名前は開発中のものです。
04/08/28 16:42ID:6yv19I3A0221名前は開発中のものです。
04/08/28 16:54ID:YTH8UYqt0222名前は開発中のものです。
04/08/28 17:01ID:CbJi6nQO256x224の座標でatanだと16x14持ってれば良い?
0223名前は開発中のものです。
04/08/28 17:12ID:o/Ue0GcL自機止まってるのに普通の狙い弾が当たりもしないよ…なんて事態にならなければ、
適度に粗くしていいのかもな
0224名前は開発中のものです。
04/08/28 18:37ID:02FFley8多少CPUを使えば、角度数/4のサイズでかなり正確な、
/8でも割と正確なatan2ができるけど。
0225名前は開発中のものです。
04/08/28 20:40ID:/fDrRRq20226名前は開発中のものです。
04/08/28 21:25ID:jcHl+d+n速度以外になんの利点があるの?
0227名前は開発中のものです。
04/08/28 21:28ID:KrOJOCaBああおそろしや。
0228名前は開発中のものです。
04/08/28 21:53ID:jcHl+d+n変わったら何があかんの?
0229名前は開発中のものです。
04/08/28 21:56ID:KrOJOCaB0230名前は開発中のものです。
04/08/28 22:03ID:02FFley8小数点以下の精度を固定できる。
任意の進数で小数点以下を表現できる。
0231名前は開発中のものです。
04/08/28 22:33ID:J4Yqp6XO制度は固定できるけどな。
0232名前は開発中のものです。
04/08/28 22:37ID:WE2yckIhたとえば80%だったらのこり20%は狂ってきて再現性がなくなるってか
0233名前は開発中のものです。
04/08/28 23:01ID:OUtnzTtn普通IntelでもAMDでも浮動小数の演算結果はIEEE準拠で実装してれば同じになるはず。
バグとかはともかく、いわゆる普通のIntel系CPUで結果がずれることってそんなにあるの?
0234名前は開発中のものです。
04/08/28 23:09ID:jcHl+d+n世の中のリプレイ機能付きはみんな固定少数点数でやってるの?
浮動小数点数使わずに?
>>230
なるほど。ってゲームでそんなこと気にする?
>>231
よかった。オレのリプレイ付きゲーム内で使われている浮動小数点数すべてを
固定少数点数に置き換えなきゃいけないのかと思った。
>>232
別に固定小数点数でも誤差は出ると思うけど
>>233
オレも疑問です。
0235名前は開発中のものです。
04/08/28 23:20ID:uMxB3nIY0236名前は開発中のものです。
04/08/28 23:28ID:CqUKbU2y0237名前は開発中のものです。
04/08/28 23:43ID:6yv19I3A0238名前は開発中のものです。
04/08/28 23:52ID:jcHl+d+n上手い人のプレイは見てて面白いですよ。
あとデモとして流すとかにも使えますよね。
>>237
うーん、例えばカーレースでしょうか。
大抵リプレイ機能、ゴースト機能ついてますよね。
0239名前は開発中のものです。
04/08/29 00:05ID:kzy7yBjWそうじゃなくて、((π + 10) - 10) != πとなってしまう事を言いたかったのだが。
「浮動」である以上、桁が大きくなると少数に割り当てられる精度が落ちてしまう。
まあ普通のシューティングでは、まさに誤差の範囲内で済む事だけど。
もちろんリプレイに影響が出るとか言うものでもないし。
0240名前は開発中のものです。
04/08/29 00:08ID:vX3tTwgZああ、たしかにレースゲーのリプレイはアリだな。
0241231
04/08/29 00:32ID:dvcQQr7Qん?>>230氏と同一人物かな?>>239の内容はその通り。
オレが気にしてたのは、>>227>>229>>232あたりは間違いなんで、
変なことが常識として広まらないで欲しいなぁ、ってこと。
浮動小数を使用した場合確かに((π + 10) - 10) != πだが、
その誤差や演算結果は毎回同じ。
なので、リプレイがずれたりすることはありえない。
0242名前は開発中のものです。
04/08/29 00:54ID:al7btGsh某メーカーが昔出したPCでは演算結果がほかと異なるということがあった
だからPCゲームではそのへんを気を使わなきゃならんと。
BBXでも何回かでたぞこの話題。
0243名前は開発中のものです。
04/08/29 00:56ID:al7btGsh演算結果が変わるだったかな?これはどの機種でも関係ありそうだ
0244名前は開発中のものです。
04/08/29 01:16ID:dvcQQr7Q昔、初代Pentiumで浮動小数計算にバグがあって
演算結果がずれるとかいうのがあったのは知ってましたが。
他にはx86系(Pentium以降かな?)には
IEEE754互換モードと、もっと精度の高い(80bit)モードがあって、
違うモードだと当然結果が異なるとかいうのもあるけど。
>>243氏が言ってるのは
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=36&vew=261
このあたり?
# 裏で動いている他のアプリがレジスタのモードを変えちゃって
# 計算結果がずれる、とかかなぁ。
いや、煽りとかじゃなくて、自分が知ってる原因以外で誤差が出ても困るんで
ポインタあったら教えてくださいってことで。
0245名前は開発中のものです。
04/08/29 01:23ID:al7btGsh0246名前は開発中のものです。
04/08/29 01:25ID:s4vMunTR0247名前は開発中のものです。
04/08/29 01:43ID:/4OvzwFc>>236
じゃあアーケードシューは全て軽く遊んで終わりの消費型シューティングだな
0248名前は開発中のものです。
04/08/29 01:46ID:al7btGshどれだけアーケードシューのリプレイをみんな待ち望んでるかわかるだろ。
ついてないのはアーケードだからと考えるほうが自然なのに。
アホだ
0249名前は開発中のものです。
04/08/29 01:48ID:dvcQQr7Qありがとう。けど見付けられなかった...orz
0250名前は開発中のものです。
04/08/29 02:24ID:ZMBQab5s無知じゃないあなたはどう解決してるの?
まったく浮動小数点数を使わず固定小数点数オンリー?
そもそもリプレイなんて実装しないの?
というか、某メーカーとか言わずに、はっきりとメーカ名、機種名等書いていただけませんか?
じゃないとあなたの脳内メーカーか本当の話か判断がつきません。
>>246
大した問題じゃないでしょう。一度こんな関数を用意したら終わりな話です。
inline bool NearEqual(float a,float b,float eps){ return absf(a-b)<eps; }
0251名前は開発中のものです。
04/08/29 02:45ID:vX3tTwgZ0252名前は開発中のものです。
04/08/29 02:51ID:koAj9KyF0253名前は開発中のものです。
04/08/29 02:55ID:vX3tTwgZああごめん、HSPだからさw
0254名前は開発中のものです。
04/08/29 03:20ID:/4OvzwFc>ネットにうpされてるアケシュームービーの数をみたら
>どれだけアーケードシューのリプレイをみんな待ち望んでるかわかるだろ。
ほんとバカだな
そんなに需要があるならなぜアーケードにリプレイが無いと思う?
自分が見てる狭い狭い世界が全てか、アホ
0255名前は開発中のものです。
04/08/29 03:26ID:al7btGshアホだ
0256名前は開発中のものです。
04/08/29 03:26ID:vX3tTwgZ0257名前は開発中のものです。
04/08/29 03:40ID:c12+WA0G>なんか呆れる展開になりつつある悪寒
とか言ってる人が呆れる展開にしてどうすんですか。
予言は自分が実行すれば確実に当たるのは確かですが
2chでそんなことをしても虚しいだけでしょう。
0258名前は開発中のものです。
04/08/29 04:12ID:MgI5rjAsそろそろ自己矛盾に気づけヲタ
0259名前は開発中のものです。
04/08/29 04:37ID:al7btGsh0260名前は開発中のものです。
04/08/29 04:52ID:vX3tTwgZ0261名前は開発中のものです。
04/08/29 11:49ID:vYtptVTI誤差で当たらないはずの弾に当たったりなんてないよな
固定小数点は内部計算用で表示には四捨五入した整数値を使ってるよw
Dx8になったら回転とか浮動小数点使わざる終えないね
そういえば話題が変わるけど NowLoadingみたいな 読み込みながらも処理するのって
1フレームで読み込むデータのバイト数とか決めてやってるのかな
そうなるとテクスチャとかD3D3DXGetImageInfoFromFileInMemoryとかでメモリに読み込むのか
それとも1フレーム1ファイル?
0262名前は開発中のものです。
04/08/29 12:02ID:KC6m10Seマルチスレッドという方法もありんす
0263名前は開発中のものです。
04/08/29 12:11ID:N+PeZJ3Sなぜアーケードではリプレイ無しが多いのか、考えたことも無かったので、
今考えてみました。
「完クリのリプレイ流された日にはインカムに影響が出るので付けない」
と言う答は何点ですか?>>260
0264名前は開発中のものです。
04/08/29 12:24ID:KC6m10Se60点かなぁ。
完クリでなくても、ゲームが終わった人にはさっさと席をどいてほしいので、
リプレイに限らず過度な(「派手な」という意味ではなく「長い」という意味ね)演出はアーケードでは禁物。
(エンディングでも、あまり長いのはオペレータに嫌われる)
そういや、アーケードのガンダムもリプレイあったよね。
あれって内部浮動小数じゃないんかなぁ?と思ったり。
0265名前は開発中のものです。
04/08/29 12:42ID:EKl7P6RP入力キーのみ記憶しておく方法でしょ。
あとは、同じ状態で動かすだけ。
0266名前は開発中のものです。
04/08/29 12:44ID:dvcQQr7QPC以外の環境ではCPUその他のハードが完全に固定なんで、
そもそも上のほうで議論されてたような問題
(マシンによってはリプレイがずれるかも?)ってのは起こりようが無い気が。
# 一応、TYPE-Xとかで将来CPUのアップグレードがあったら
# アップグレード前に保存しておいたリプレイが…なんてのはあるのかもしれんが。
0267名前は開発中のものです。
04/08/29 12:46ID:dvcQQr7Qランダムは自前で疑似乱数を用意して、
種を保存しておくだけで問題無い。
0268名前は開発中のものです。
04/08/29 12:48ID:foGbTpJJ適当なこと書いてるな
0269名前は開発中のものです。
04/08/29 13:02ID:EKl7P6RPそれをランダム要素と呼ぶかどうかは、微妙だな。
0270名前は開発中のものです。
04/08/29 13:06ID:c12+WA0G0271名前は開発中のものです。
04/08/29 13:08ID:EKl7P6RPソースに直書きしてる人も多いのかな?
漏れは自前スクリプトで定義してるが。
0272名前は開発中のものです。
04/08/29 13:32ID:eO1IBHBN同じようなゲームをいつまでも作りたくないし。
0273名前は開発中のものです。
04/08/29 13:42ID:c12+WA0G試行錯誤しやすいからスクリプト等、コードの外に出すのだと思うよ
自分はlua使ってますね。
実行中に書き変えることも出来るようになってます。
0274名前は開発中のものです。
04/08/29 15:56ID:mg2gFQ/y0275名前は開発中のものです。
04/08/29 16:24ID:foGbTpJJ単発でしか使わないような処理を伴うものは直書き。
どっちがベストってことはない。
0276名前は開発中のものです。
04/08/29 20:24ID:s4vMunTRこの答えが出てくるあんたみたいな人ならいいんだけどねぇ
何も考えずにやる人はこの程度ですら苦しんでそうだ
0277名前は開発中のものです。
04/08/29 20:44ID:fqvRlFaMデモプレイで前回のプレイ内容の一部を再生するものも。
0278名前は開発中のものです。
04/08/30 00:04ID:p3/ti58Iそういうことはluaのリファレンスマニュアルやチュートリアルを
ちょっと読めば分かるはずなんですが…。(当然、出来ます)
それと、何か誤解なさってる模様なので補足させてもらうと
luaはあくまでもコンパクト・シンプルな汎用スクリプト言語ですよ。
アプリへの組み込み用途に比較的使いやすいというだけですから
だから、別にluaじゃなければ出来ないことはありません。
0279名前は開発中のものです。
04/08/30 00:30ID:YMHiZgZjなんとなく思った程度でリファレンスまでは読まないのでは。
0280名前は開発中のものです。
04/08/30 02:59ID:1w1sCYjXさいばりありびじょん(あーけーどばん)のこと
わすれてるんですか!
0281名前は開発中のものです。
04/08/30 03:25ID:dhOAVse5で、それがどうしたというのかな。
0282名前は開発中のものです。
04/08/30 08:23ID:M3Zo3R3e漏れもそう思ったんだけど、デモで最後までリプレイされるか疑問だったので書き込むのをやめた。
リビジョン見たことないんで教えて。
0283名前は開発中のものです。
04/08/30 11:48ID:wT444pOYごめん。知ってて当然だと思ってた。ぶっちゃけそこまでの流れってネタで、
マジレスする価値も無いかと。
0284名前は開発中のものです。
04/08/30 13:57ID:aZyFKq70PS2版買ったけどすぐ売っちゃった。
0285名前は開発中のものです。
04/08/30 16:33ID:OfQ4LeOj0286名前は開発中のものです。
04/08/30 16:49ID:X+IV24AK0287名前は開発中のものです。
04/08/30 19:31ID:tBQ5DYx9その後どこも真似しなかったし、2でも搭載されなかったから
結局のところ、いらんものだったということだろう。
0288名前は開発中のものです。
04/08/30 19:50ID:aZyFKq700289名前は開発中のものです。
04/08/30 21:08ID:Ifu3lJ2R考えてる? 考えてるなら文句言わんが。
0290名前は開発中のものです。
04/08/30 21:22ID:pyISTor9どれほどの物ですか。
0291名前は開発中のものです。
04/08/30 21:49ID:yUJ2SqwA0292名前は開発中のものです。
04/08/30 22:31ID:RcSNTd6Mキャッシュどうこう言っていたヤツがベーマガサイトにいたな。
割り算使ってたけどX68kでは割り算使った時点でアウトだと思った。
まったくの余談でスマソ。
0293名前は開発中のものです。
04/08/30 22:47ID:mJPPvXlu0294名前は開発中のものです。
04/08/30 22:55ID:B6MBhFi/別にいいんでね?一フレームで増える弾数なんて多くて100も行かないっしょ。
遅くてもとりあえず動くもの作れた奴の勝ち、最適化はその後。
C++ならnew演算子、DelphiならInitInstance(だっけ?)を書き換えれば全く問題ないし。
0295名前は開発中のものです。
04/08/30 23:23ID:Har10E7Gスペックどうこうじゃなくて、>>289は、普通に三角関数呼ぶより
テーブル引く(変なメモリアクセスする)ほうが遅いんちゃうのかって話だと思われ。
どの道どうでもいいような差だろうけど。
つーか、今時のPC、出力も特性も10年前、20年前と比べてデタラメなまでに違うから
あの頃の感覚で「最適化」してると無駄骨折るぜ?
このスレはスレ的にオヤジが多いからアレだが、
一度富豪的プログラミングを試してみたらどうかと。
CPUベンダやコンパイラベンダの中の人も、「普通」に書かれたプログラムを
より高速に動かすよう、不断の努力を続けてるワケだし。
0296名前は開発中のものです。
04/08/30 23:45ID:pyISTor9> スペックどうこうじゃなくて、>>289は、普通に三角関数呼ぶより
> テーブル引く(変なメモリアクセスする)ほうが遅いんちゃうのかって話だと思われ。
> どの道どうでもいいような差だろうけど。
それもふまえて。
テーブルだろうと関数使おうと全然速度には影響でない。
今更な議論じゃないすか。
3Dで斑鳩とかのの2倍3倍物が出てジオメトリでキツキツならまだしも、
2Dなんて計算量は微々たる物だし。
やりやすいようにやればいいでしょ。
ゲーム部分に注力した方が有益。
0297名前は開発中のものです。
04/08/30 23:45ID:PjpoKayf0298名前は開発中のものです。
04/08/31 00:02ID:aq4reUmP>割り算使ってたけどX68kでは割り算使った時点でアウトだと思った。
PS2とかでも怒られるよ。
浮動小数点の割り算は。
0299名前は開発中のものです。
04/08/31 00:04ID:moY/F2pW0300名前は開発中のものです。
04/08/31 00:09ID:RR6d4h7Nオレ余裕で使ってるよ。
>>299
別に浮動小数点数でもテーブル使えるだろう。
つうか、固定小数点数の時だったら何?
0301名前は開発中のものです。
04/08/31 01:13ID:moY/F2pW浮動小数点コプロセッサに頼れない。
0302名前は開発中のものです。
04/08/31 01:14ID:qbMtkx5b恐くて使えないオールドタイプが吠えてるだけです。
気にしないように。
0303名前は開発中のものです。
04/08/31 01:18ID:NJY6L2MQ0304名前は開発中のものです。
04/08/31 01:30ID:Y0FE2K+Cnewが必ず成功するとは限らない
■ このスレッドは過去ログ倉庫に格納されています