- 1 名前:名前は開発中のものです。 [2008/02/18(月) 12:02:20 ID:JNgyhRqZ]
- ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。 このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談 失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。 もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを 晒してみたり、プロジェクトをはじめてみるなどもOK! ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の スレでやってくれ。 過去スレ,関連スレは >>2-3で。
- 742 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:29:39 ID:ul07QMbT]
- シューティングゲームの当たり判定って矩形、円形方式以外にあるんでしょうかね?
- 743 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:41:41 ID:sDshxJUY]
- 1回当たり判定が正確なの作ろうとして、
1ドットずつの当たり判定を画像から配列に読み込んだ。 □□■□□ □■■■□ □■■■□ ■■■■■ ■■■■■ こんな感じに。 それで、まず短形で判定してぶつかってたら、配列で細かい判定をした。 プレイしてみると短形と変わらなかったけどね。
- 744 名前:名前は開発中のものです。 [2008/07/16(水) 21:42:49 ID:HKtDx1Lp]
- abs(自機座標Xー弾座標X)+abs(自機座標Yー弾座標Y)<適当範囲
おれ適当に作ってみたとき、これでやってた。ひし形ですな。
- 745 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:50:22 ID:4EgF3qxQ]
- >>744
すげえ、初めて見た
- 746 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:52:34 ID:ul07QMbT]
- >>743
あーそれと近いことやってます〜 今うちでやってるモードだと1ドットレベルで当たり判定できるんですが 自機の弾の当たり判定の先端と敵の端が丁度のときは思ったようにいかないんですよね・・・
- 747 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 22:33:28 ID:tH6C9Mk9]
- 弾などのオブジェクトを基底クラスへのポインタのリストで管理しているのですが、
メモリプールとかどうしてます? new/deleteは確保・解放速度、メモリ消費量で劣りますが、 boost::poolはサイズ固定なので派生クラスで使いづらかったり boost:object_poolはクラス固定なので向きません
- 748 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 22:54:04 ID:ps1864uM]
- char型配列の形でプール確保
プールで管理したいクラスのnew/delete演算子をオーバーロードしてメモリをプールから確保 これでやってる
- 749 名前:744 [2008/07/16(水) 23:12:47 ID:HKtDx1Lp]
- >>745
矩形の方が処理はやいから実際の使い道は微妙ww 巨大な敵ならいいかもしれません。
- 750 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:25:00 ID:Cl1ru+Nb]
- なんかみんなハイレベルなことやってんなぁ
クラスとかポインタとかよくわからん俺は全部構造体と配列で敵とか弾とか管理してる
- 751 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:30:18 ID:UitUcmmL]
- >>747
boost::fast_pool_allocator
- 752 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:33:13 ID:UitUcmmL]
- >>750
それでいいと思うよ。 抽象化だとか言っても結局は自己満足だ。 自分の作りやすい作り方を模索すれば良し。
- 753 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:37:49 ID:ul07QMbT]
- >>750
まあ管理機能はあるタイミングで画面に何千もオブジェクトがでないのであれば 配列でいいんじゃね? 千越えるとさすがにリストでも使っていったほうがいいだろうけど。 >>752 でもさ、C言語でゲーム組んでてサイズでかくなってきたら クラスみたいな実装形態にいつの間にかしちゃってたぜw 数種類のデータがあったらそのデータ毎にソースが独立してて アクセスする際は専用関数を呼び出す。 効率は悪くなるが安全だしな。
- 754 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:43:34 ID:ul07QMbT]
- それに実は双方向リストもたいしたことないんだよね。
どんなに構造体のサイズが変わろうが、次と前のポインターが入ってて 入り口と最後をさす管理用ポインターさえあればネットに転がってる ソースをちょこっと修正すれば完成。
- 755 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:50:36 ID:Cl1ru+Nb]
- >>752>>753
なるほど…自分のやりたいようにやれば良いのか… 弾とか敵とか合計13000個くらい(敵弾が12500発)当たり判定つきでいっぺんに動かしたらさすがに60FPS維持がキツくなったけどこんなもんなんだろうか CPUはせろりんの1.6Ghzでグラボは8400GS
- 756 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:58:44 ID:wSTAyXoK]
- 一画面にそれ全部描画してるの?
- 757 名前:755 mailto:sage [2008/07/17(木) 00:11:06 ID:6mPYwzZu]
- >>756
全部描画してることになるのかな… 表示領域?キャラが動ける範囲、そこに全部描画してみた 自機はおろか背景も見えない 移動してはみ出た弾は勝手に削除、敵は常に360/1Fの勢いで弾を出させてたから弾切れ起こしてた 携帯でスマヌ
- 758 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:13:24 ID:dzlckui1]
- >>747
富豪厨はfailmallocが大好きです
- 759 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:44:03 ID:O2fFtOBP]
- なんか>>750が俺とよく似ている……w
自分で自己満足ゲーム作ってる分には問題ないんだけど Cを使うプログラマ、という観点から見るとダメダメだなぁと落ち込むんだよなぁ。
- 760 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:49:19 ID:WDu5mPhV]
- >>759
別に勉強すればいい。 それにC++とかでクラスを使いだすとあれこれ面倒だけど Cでリスト程度ならネットで検索すれば解説もごろごろ出てるし 関数化してしまえばぜんぜん問題ない。
- 761 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 03:53:57 ID:3ZWP2jps]
- どうしてもこの処理がしたい!
でもそれをやるにはポインタが必要だ! って状況になったら覚えれるよ。
|

|