トップページgamedev
984コメント270KB

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

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。2007/07/11(水) 08:32:54ID:ym4V9IDi?2BP(0)
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

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

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

過去スレ,関連スレは >>2-3で。
0847名前は開発中のものです。2008/01/27(日) 00:12:36ID:2Vbrh+cm
プロファイルしろ
0848名前は開発中のものです。2008/01/27(日) 00:15:44ID:ICIFIctN
21世紀のデスクトップPCなら2000発くらいは余裕だから削るような箇所はないと思う。
弾の描画メソッドだけをコメントアウトして、それで処理落ちが解消したら描画クラスの見直しってところじゃね。
0849名前は開発中のものです。2008/01/27(日) 00:18:38ID:QitqCSRQ
新しいパソコンを買え。
それでもだめなら手術して頭を良くするしかない
0850名前は開発中のものです。2008/01/27(日) 01:34:04ID:0NB2Xagd
何の手術したら頭良くなるんだ?
0851名前は開発中のものです。2008/01/27(日) 01:47:36ID:SY+4yNkH
>>845
グラIIIの判定関係は参考にしちゃダメだなw
0852名前は開発中のものです。2008/01/27(日) 16:09:21ID:hWH81eyx
シルバーガンのHIT DISPと大して変わらん
0853名前は開発中のものです。2008/01/28(月) 04:39:14ID:VSNFO78y
シルバーガンのは逆に小さすぎて驚くな
ここ通れるのかよ!みたいな
0854名前は開発中のものです。2008/01/28(月) 23:39:00ID:CQBh6dXB
>>846
どこを削るかを考えるよりも、
どこが重いのかを調べるのが先だ。
やるべき事を見失うな。
08558462008/01/30(水) 22:49:02ID:ePSjOqqI
なんとか解決しました。
弾数2000弾を一個一個それぞれDrawPrimitiveで描き、
1フレームあたり合計2000回のDrawPrimitiveで描いていたのを、

描画する弾の座標リストをつくって
1フレームあたり1回のDrawPrimitiveで描くようにしたら
全く問題ないレベルになりますた。
0856名前は開発中のものです。2008/01/31(木) 04:28:19ID:XVZtUxPK
2DならDrawIndexedPrimitiveの方がいいかもね
まぁ大して変わらないかもしれないけど
0857名前は開発中のものです。2008/02/01(金) 01:26:36ID:t8mc7IM8
DrawPrimitiveUP はどうか?
08588462008/02/01(金) 01:30:55ID:OwpLIaQ7
ごめんなさい、そもそも使っていた命令が
DrawIndexedPrimitiveUPでした。
最後の2文字を見落としてますた。 すんまそん。
08598462008/02/01(金) 01:38:43ID:OwpLIaQ7
×DrawIndexedPrimitiveUP
○DrawPrimitiveUP

三度訂正しますすんまそん
0860名前は開発中のものです。2008/02/01(金) 05:08:12ID:bbcbUzTl
流石にに2000個も弾描画するんなら頂点バッファ使ったほうがいいんじゃない?
0861名前は開発中のものです。2008/02/01(金) 19:43:47ID:0llztBNc
で、その頂点バッファを毎フレーム書き換えるのか?
是非その比較データを採取しレポートしてください賢者さま!
0862名前は開発中のものです。2008/02/01(金) 19:59:38ID:sxp4gyaZ
>で、その頂点バッファを毎フレーム書き換えるのか?
適切に動的頂点バッファ使えば、そっちの方が実際パフォーマンス出る場合が多いぞ。
0863名前は開発中のものです。2008/02/01(金) 22:04:08ID:WtUR5EG3
>賢者さま!
こういうのつける奴って大抵自分は人より賢いと思ってる奴だよな。
0864名前は開発中のものです。2008/02/01(金) 23:13:04ID:0llztBNc
ほほぅ、ちょっと勉強になった。
ただ、イマイチ違いが想像できないんで、さっさと比較データのレポートあげろ賢者さま!
あと古いバッファで表示した場合位置ズレする可能性について所感を述べろ賢者さま!
0865名前は開発中のものです。2008/02/01(金) 23:19:09ID:PGeh7u70
自分でやろうな
0866名前は開発中のものです。2008/02/01(金) 23:24:42ID:sxp4gyaZ
>あと古いバッファで表示した場合位置ズレする可能性
何故位置ずれすと思うのかしら?
0867名前は開発中のものです。2008/02/02(土) 02:10:27ID:fngi75UY
>>853
小さすぎるわけじゃないが、斑鳩も絶妙。
自機弾を打たないでクリアする、ドットイーター用かしらないが、
隣り合った巨大ブロックとブロックの隙間が抜けられたり、プレイする側としては面白い
0868名前は開発中のものです。2008/02/02(土) 04:47:06ID:WA3/3FGE
自分は人より賢いと思ってる割には無知すぎるなw
0869名前は開発中のものです。2008/02/02(土) 13:28:44ID:j42UvLY8
無知だから自分は人より賢いと思うんだろ。
そんな事すら解らんのかこの無知野郎!
0870名前は開発中のものです。2008/02/02(土) 21:20:36ID:5sbmIxHa
扇形の当たり判定を設定するには
やっぱり当たり判定用の画像を作るのが楽なんだろうか
0871名前は開発中のものです。2008/02/02(土) 21:23:19ID:fngi75UY
当たり判定用の画像(笑)
0872名前は開発中のものです。2008/02/02(土) 22:16:57ID:l3DwCg+S
色で当たり判定するんじゃね
0873名前は開発中のものです。2008/02/02(土) 22:32:17ID:Xap/d35y
だれか弾幕の難易度を定義する方法考えてくれ
0874名前は開発中のものです。2008/02/02(土) 22:37:31ID:ppei42u9
自分で考えろ

幕が厚いと難しいんだよ
0875名前は開発中のものです。2008/02/02(土) 22:47:28ID:lwoVc8A7
多角形判定のルーチン作れ。
凸型前提なら簡単に作れるから。
0876名前は開発中のものです。2008/02/02(土) 23:18:50ID:Xap/d35y
このスレに統計学詳しい人いないのか
0877名前は開発中のものです。2008/02/03(日) 00:00:04ID:fUTjRsrs
弾幕の難易度は統計学と直接関係あるのか?
0878名前は開発中のものです。2008/02/03(日) 01:08:22ID:mKmsfanI
自機をランダムに動かしたときに一つ一つの弾に当たる確率を出すとしたら
正規分布とか使って出せそうな気がしたから統計学と思った

もちろん弾が固まったパターン弾幕では
難易度50%でも右によけたら100%、左によけたら0%
みたいにばらつきが多くなるはずだから
主観的な難易度はエントロピー?とか考えてもっと複雑になるだろうけど
0879名前は開発中のものです。2008/02/03(日) 02:50:55ID:xj50jJId
白い弾幕くんがそういうのやってたな
人間ぽく避ける という目的で
0880名前は開発中のものです。2008/02/05(火) 17:04:48ID:b/5aLYls
ABA氏はどうやってるの?
0881名前は開発中のものです。2008/02/05(火) 17:32:45ID:LLY+Tasd
>自機をランダムに動かしたときに一つ一つの弾に当たる確率を出すとしたら
弾幕の難度ってそういうものじゃないだろう・・・
0882名前は開発中のものです。2008/02/05(火) 17:55:17ID:vqMaBeU9
>>878
弾が速かろうが遅かろうが
上下左右から来ようが一方向から来ようが
難易度は同じってことか?

>>880
難易度から弾幕を決めるのと
弾幕から難易度を決めるのは違うだろ
0883名前は開発中のものです。2008/02/05(火) 18:15:16ID:F2ezv1rn
リフレッシュレートってどうやったらいいんだ?
0884名前は開発中のものです。2008/02/05(火) 18:17:36ID:rd57wec0
どうやったらとは?
0885名前は開発中のものです。2008/02/06(水) 13:29:09ID:dA90bTjL
>>882
Wikipediaによると正規分布の式は定数の平均μと分散σでできてる
正規分布ってのはσ=1なら、X=μから無限に+1か-1したときの最終的な位置の確率をグラフにしたもの
弾と当たる確率出すときは単位時間でこの式を弾の初期座標から終点座標まで積分する。

μは自機の座標で、σは自機が早かったり単位時間が長いほど大きくする

弾の位置と角度のばらつき具合は求まると思うがよく分からん。今勉強してる


あとこの方法だと自機狙い5way弾と自機と少しずれた方向に撃った5way弾は判別できないけど、
弾を認識しているかが違うだけで上級者になれば難易度の差はなくなってくると思う
0886名前は開発中のものです。2008/02/06(水) 19:16:31ID:z7Ie75d/
シューティングって弾の速度や密度だけで難度が決まるようなもんじゃないぞ
むしろ弾の発生源の数と位置のほうが重要
レーザー等による壁や誘導弾が加わったら
とても計算で出せるようなもんじゃない

とりあえず一度自分で作ってみればわかる
0887名前は開発中のものです。2008/02/06(水) 20:54:52ID:Klim4It5
いやそんなことが経験的にわからんレベルでは作り始めるのはまだ早い
0888名前は開発中のものです。2008/02/06(水) 21:22:16ID:5Aq8H5h3
”弾幕の難易度”っていうくらいだから
他のオブジェクトによる難易度は別計算なんだと解釈してたが
0889名前は開発中のものです。2008/02/06(水) 23:08:42ID:c+jx2I+z
レーザーは時期の反対側を全部弾と仮定すれば無問題

誘導弾は判定の単位時間が短ければ普通に計算しておk
勝手に時期に近づいてきて難易度上がるし誘導がうまければそんなに上がらない
0890名前は開発中のものです。2008/02/07(木) 00:13:34ID:NyD58QC0
遅い誘導弾はいろんな方向からきたら詰むし
普通の弾と同じってことはない
0891名前は開発中のものです。2008/02/07(木) 00:40:07ID:k2BQYnGI
ASOの赤弾のことか
0892名前は開発中のものです。2008/02/07(木) 23:41:07ID:+A0+J5Zd
弾幕STGとか見たりプレイしたりすると、とても俺なんかじゃクリアできない難度だったりするわけだが
あーゆーのって作る人はクリアできるわけなんかね?

それだとSTG上手い人しかSTG作れない事になっちゃうから、
ちゃんとクリアできるかどうか確認するだけの腕前を持った人に協力してもらうのかね?
それとも理論的にクリア可能かどうかを机上で計算してるのかね?

俺の場合、動作テストプレイをやると同時にちゃんとクリアできるか、
あるいは簡単すぎないか、を測って調整してるわけだが、
これだと俺レベルの腕前が前提になってしまうから、ヌルくなってしまってないか心配である。
0893名前は開発中のものです。2008/02/07(木) 23:44:25ID:E5DEabLC
作る人は無敵にしてクリアしちゃうんだよ〜ん
0894名前は開発中のものです。2008/02/08(金) 00:12:08ID:XXQ6aHzR
どこぞのメーカーさんは、同じとこを何度も挑戦できるようにして1回でもクリアできればOKみたいな感じらしいよ
あとは素直に上手い人にテストプレイしてもらうのがいいかと
バグ発見にも有利だしね

まぁ、同人やフリーなら自分が一番面白い難易度でいいとはおもうけど
0895名前は開発中のものです。2008/02/08(金) 00:33:23ID:b9RZ/GOo
>>894
テストプレイを繰り返してると腕が上達するのが問題
全ての攻撃パターンや判定等システム理解してるしね

クリアそのものは難しくてもいいとは思うし、
みんなクリアできるゲームなんて昔からそうそうないし
後半の難易度上昇はいいとは思ってる

理不尽だとか序盤からとんでもないとかだとつらいかな
でも、怒首領蜂だって1面の難易度は低くはないよね

1面から面白いと思わせればがんばって練習して上達するんじゃないかな
超連射とかグラIIとかサラマンダとかがそんな感じ

面白そうな面を後半にもってくるんじゃだめだよと
0896名前は開発中のものです。2008/02/08(金) 00:37:54ID:XXQ6aHzR
>>895
いやそのとおりなんだけど、892の質問読んだ?
0897名前は開発中のものです。2008/02/08(金) 00:52:02ID:Pt1nE4Vj
難易度の構成要素として…
開発者だけが知っていて、プレイヤーが見破れない情報があるのはマズイ。
そういう情報に気がつかないとマトモに攻略できないのはハッキリ言って糞ゲー。
そのような事が無い様に…頑張るべきw

開発者とプレイヤーがほぼイコールコンディションならいいんじゃないかな…
特定のプレイヤーしか楽しめない難易度でも、
開発者が味わってる面白さをプレイヤーと共有できればそれでいい。
それが俺のジャスティス。
0898名前は開発中のものです。2008/02/08(金) 01:01:07ID:H7TbDN3T
ドルアーガも全部攻略本見てやるタイプ?
ノベルゲーとかやってたほうがいいよ
0899名前は開発中のものです。2008/02/08(金) 01:04:25ID:Pt1nE4Vj
STGスレで何を言ってるんだお前w
0900名前は開発中のものです。2008/02/08(金) 02:07:51ID:BLW2w+RL
そもそもドルアーガは紛う事無きクソゲだ
時代が時代だったから妙にチヤホヤされただけ
あんなもん引き合いに出すな
0901名前は開発中のものです。2008/02/08(金) 04:46:38ID:hOLibk+l
ナチュラルにドルアーガ出て来るのが年を感じさせてワラタ
いや俺もだが…
0902名前は開発中のものです。2008/02/08(金) 08:37:10ID:6iejQEFs
>開発者とプレイヤーがほぼイコールコンディション

誰か訳して
0903名前は開発中のものです。2008/02/08(金) 11:21:41ID:U/B/zibh
いやそこは判るだろ
0904名前は開発中のものです。2008/02/09(土) 02:10:48ID:IjFvOSZa
ボム前提はやめてください><
0905名前は開発中のものです。2008/02/09(土) 02:23:10ID:Hp6i4JGt
やらなきゃいいじゃん
0906名前は開発中のものです。2008/02/09(土) 09:25:12ID:6xzBAtkA
ムチャ言うな。
普通の人間は攻略本無きゃドルアーガなんかクリア出来るか。
ポケモン作った連中だって協力して謎解きしてたんだろ。
0907名前は開発中のものです。2008/02/09(土) 20:31:15ID:OqIavcqZ
そもそもドルアーガは一人で攻略するの前提で作ってないだろ
家で一人でやるのが基本の同人と比べてもなあ
0908名前は開発中のものです。2008/02/09(土) 20:48:52ID:K2pisfh1
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
家で一人でやるのが基本の同人
0909名前は開発中のものです。2008/02/09(土) 22:19:38ID:uzmhsNQF
>>908
907じゃないけど、同人ゲームって皆でワイワイやるもんなのか?
正直そういう友達いないからワカンネ
0910名前は開発中のものです。2008/02/09(土) 23:22:30ID:+4JJGVmh
どっちでも良いじゃん
908のキレっぷりは謎
0911名前は開発中のものです。2008/02/10(日) 01:45:07ID:KnpytGhW
このスレ、叩くの大好きな人が
0912名前は開発中のものです。2008/02/10(日) 02:23:28ID:8dobcs2x
>>908-909
そーだなー、大学とかコミニティに属してた時は、対戦やったりしたな。
リアル友人がいた時は、ネタゲーを接待ゲーにしたり

もはやスレ違いだがw
0913名前は開発中のものです。2008/02/10(日) 23:45:05ID:Z1s0haDh
今思うとやっぱ学生の頃が最高だったな
モルモット、じゃなくて試遊してくれる閑人が
周囲にたくさんいたもんな

なぁ、自分の子供が大きくなったら
オヤジのゲームを遊んでくれんのかな?
0914名前は開発中のものです。2008/02/11(月) 04:58:11ID:0ljy596f
無理じゃね
0915名前は開発中のものです。2008/02/11(月) 20:18:49ID:qkPsZe3H
弾幕シューティングを作ったことがある人に参考までに聞きたいんだけど
画面内の弾数は最大でどれぐらいになった?
1000ぐらいあれば十分なのかな?
0916名前は開発中のものです。2008/02/11(月) 21:18:27ID:k5RCoheB
某大往生は4桁行ってないし
東方某は知らないけどだいぶ多い
キャラクターオーバーしたら増やせばいいんじゃね?
0917名前は開発中のものです。2008/02/11(月) 21:24:14ID:0ljy596f
一口に弾幕といってもいろいろある。
怒首領蜂みたいなのなら512で十分。
0918名前は開発中のものです。2008/02/11(月) 21:28:34ID:G+Qy0YvV
弾の当たり判定の大きさと難易度の兼ね合いでお好みで決めればいいと思うよ
初代蜂245、大往生210、初代虫2000
東方紅妖640、永以降1536だったはず
ただ東方は弾を静的な配列で管理してるようなので見た目を考えてある程度多めに確保してある感じ
俺は1200にしているが時々ギリギリになるがオーバーはしないような状況だな
0919名前は開発中のものです。2008/02/11(月) 21:40:01ID:lUTVmuv6
え?
普通は静的な配列で管理しておくもんなんじゃないの?
0920名前は開発中のものです。2008/02/11(月) 22:16:49ID:THDqtTr2
人それぞれだろ。
0921名前は開発中のものです。2008/02/11(月) 23:15:32ID:qkPsZe3H
レスありがと。
とりあえず2000確保しておけば足りなくなることはなさそうだね。
10000とか出してニヤニヤしてたけど間違いなく無駄だなこれw

>>919
最近はスペックが十分にあることが多いから、よっぽどじゃない限り
動的確保でも余裕、とか聞いたことがある。
0922名前は開発中のものです。2008/02/11(月) 23:44:52ID:0ljy596f
俺は基本1000確保したけど、作ってるのが低速弾幕じゃないから
まるで使い切らないw
0923名前は開発中のものです。2008/02/12(火) 00:19:55ID:xPPqW+SW
>>918
首領蜂って怒首領蜂大往生より多いんだ
しらんかった
0924名前は開発中のものです。2008/02/12(火) 00:21:21ID:Ck/t9Ztf
>921
一万表示できるならそれはそれで別なゲームに使えそうだ。
0925名前は開発中のものです。2008/02/12(火) 00:32:55ID:4bB/2c5c
初代が55で怒首領蜂が245やね
0926名前は開発中のものです。2008/02/12(火) 01:18:08ID:xYDfbBn0
大往生って210なのか・・・
もっと沢山あると思ってた
0927名前は開発中のものです。2008/02/12(火) 01:26:28ID:yevbWk/2
でかい弾は後ろ、小さい弾を手前にしたうえで
新しい弾ほど手前に表示したいんだけど動的な双方向リストじゃないと無理?
0928名前は開発中のものです。2008/02/12(火) 01:44:23ID:xPPqW+SW
2つリスト用意すれば?
0929名前は開発中のものです。2008/02/12(火) 02:01:51ID:yevbWk/2
できれば性的確保したい
0930名前は開発中のものです。2008/02/12(火) 02:08:56ID:HFOtq6ae
エロいなw
0931名前は開発中のものです。2008/02/12(火) 02:21:59ID:/kCN+Oso
staticってエロイなw
0932名前は開発中のものです。2008/02/12(火) 03:54:17ID:EzsSDMJN
タスクシステム厨がよくやるやらかすやつで、
あらゆるデータをひとつのリストに突っ込んだがためにややこしいソートが必要になるというのじゃないの?

0933名前は開発中のものです。2008/02/12(火) 06:53:58ID:t1hSc7to
正しいタスクシステム厨はタスクリストを複数持つのであまりソートはしないんじゃね。
実行部分をタスクで持って描画はタスクから登録されたOTで行ったり。

>>927
キタナイ方法だけど、それぞれの弾の毎フレーム描画プライオリティが低くなるようにすれば
新しいのが手前になる。
0934名前は開発中のものです。2008/02/12(火) 07:32:49ID:NQU15UBB
正射影ならZバッファでなんとかなりそうな気もする
0935名前は開発中のものです。2008/02/12(火) 13:38:43ID:FyMeLiwV
新しい弾を手前に表示するためのvectorを
でかい弾と小さい玉を別けるためのvectorで囲んでやればいいよ。

というのが>>933が言うところの正しいタスクシステム厨である俺の意見。
0936名前は開発中のものです。2008/02/12(火) 15:08:46ID:EKzS69Ma
俺は>>934のやり方
半透明なしの弾同士の重ね合わせは深度バッファまかせ
0937名前は開発中のものです。2008/02/12(火) 23:58:20ID:gbmBWC6F
俺は >>933 だな
弾用のリストの他にに、汎用の(敵機とか自機も含んだ)描画用にOT作ってる
0938名前は開発中のものです。2008/02/13(水) 10:48:40ID:Bwqd+W+c
OTってなんだい?
0939名前は開発中のものです。2008/02/13(水) 10:59:36ID:Tu09O1+X
オーダリングテーブル(OrderingTable)
バケットソートっつーソートアルゴリズムをリストで管理してるもの、かな?
PSのライブラリが用いていて有名になったんだと思う。
過去スレでは何度か話題に出ている。
0940名前は開発中のものです。2008/02/13(水) 11:36:56ID:Bwqd+W+c
なんだリストバケツか。それなら俺もやってるわ。
0941名前は開発中のものです。2008/02/13(水) 12:15:26ID:h36wV+VW
オーバーテクノロジー
かと思った
0942名前は開発中のものです。2008/02/13(水) 13:01:12ID:qfVBRj/f
そもそもオブジェクトごとにプライオリティ決めるのが普通でない?
0943名前は開発中のものです。2008/02/13(水) 14:06:11ID:Tu09O1+X
普通ですけど。
そのプライオリティをどうやって実現するか、って話なんだけど。
0944名前は開発中のものです。2008/02/13(水) 19:47:55ID:qfVBRj/f
いや、普通にそのプライオリティに従えばいいだけでしょ?
0945名前は開発中のものです。2008/02/13(水) 19:52:14ID:h36wV+VW
何言ってんだおまいは
0946名前は開発中のものです。2008/02/13(水) 20:06:10ID:qfVBRj/f
いや、普通オブジェクトの発生シーケンスとプライオリティとで
順序が変わる優先度キューにつっこんで、
描画時にイテレータで取り出すだけとやるのが普通でしょ?
レス数が900を超えています。1000を超えると表示できなくなるよ。