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

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

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

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

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

過去スレ,関連スレは >>2-3で。
0808名前は開発中のものです。2008/01/07(月) 22:09:06ID:GyFmGIbt
ベーマガ世代ってどの辺なんだろうな
マイコン、マイコンライフ、RAM、 Login、I/O、POPCOM、PiO、ベーマガ、テクノポリス、その他諸々が
ソースコードやマシン語のダンプリストを載せていたマイコン誌絶頂期(80年代初頭〜半ば)に
リア厨〜リア工だった年齢層とすると、若いので30代後半。中核は40代

80年代末期から90年代になると、上記の雑誌は次々と姿を消したり市販ゲームとかエロゲー情報誌
と化して見るも無残な有様。ベーマガは孤軍奮闘してたけど、その時代のリア厨〜リア工が
ベーマガ世代なのかっていうと、どうなんだろうね
0809名前は開発中のものです。2008/01/07(月) 22:55:01ID:6v+ELBlG
プログラマの多いこの板でベーマガ世代と言えばそこらへんだろうな。
ゲーマーやDTM系が絡んでくるともう少し下の世代になるだろう。
スーパーソフトマガジンがコーナー化してる時代とかな。
0810名前は開発中のものです。2008/01/07(月) 23:21:14ID:1D7kSSre
シューティングの話しろよジジイ
0811名前は開発中のものです。2008/01/07(月) 23:23:40ID:GyFmGIbt
ETHER VAPORおもすれー
0812名前は開発中のものです。2008/01/07(月) 23:32:09ID:6v+ELBlG
>>810
んじゃ話題出してくれ
0813名前は開発中のものです。2008/01/10(木) 14:23:42ID:T+hVZ1aa
>>787
忍者君から広まったんじゃなかったっけ?
0814名前は開発中のものです。2008/01/13(日) 22:04:05ID:Ju2SbZuY
"Super Depth Finalty"をグラ5みたいにアレンジしたい。
0815名前は開発中のものです。2008/01/20(日) 22:41:16ID:m2QSa4p1
最終書き込みから一週間になるのか
0816名前は開発中のものです。2008/01/20(日) 22:48:44ID:rIRjb3jg
一週間でアレンジはできたか?
0817名前は開発中のものです。2008/01/20(日) 22:50:21ID:m2QSa4p1
残念ながら俺は814じゃないぜ
0818名前は開発中のものです。2008/01/20(日) 22:54:44ID:rIRjb3jg
じゃあ来週までに作れ!
0819名前は開発中のものです。2008/01/23(水) 17:40:28ID:6BYtxKVL
今シューティングゲームでプログラミング勉強しつつ作っているんだが、
ステージの構成の作り方こんな感じであってる?
変数で常に1ずつ増やして一定の値になったらパターン化させた敵を配置させて。
変数が更に高い数値になったら敵が消えるまで待ってボスを登場させて倒したらそのステージクリア。

まだ経験浅いのでこうしたほうがいいとかあったら指摘くれると助かる
0820名前は開発中のものです。2008/01/23(水) 18:59:00ID:E+ET2l7S
それでいい
0821名前は開発中のものです。2008/01/23(水) 22:06:01ID:L7wK/zgl
うん
0822名前は開発中のものです。2008/01/24(木) 01:32:03ID:OmyDO2MQ
当たり判定をどう作るか迷ってます。

円か、画面に平行な長方形だと簡単なんですが、
これだと、斜め向きのレーザーとか、
グラディウスVの鞭みたいなレーザーができません。

市販のゲームはどんな当たり判定してるんでしょうか?
0823名前は開発中のものです。2008/01/24(木) 01:39:48ID:tY7xmfKo
基本は矩形もしくはその組み合わせ。別に見た目どおりである必要は無い。
(見た目よりデカイとクソゲ呼ばわりされるかもしれんがw)

斜めのレーザーは矩形の回転か直線式。グラVのぐねぐねレーザーみたいなことが
やりたいならポリゴン処理だろうからポリゴンで判定すりゃええ。
0824名前は開発中のものです。2008/01/24(木) 02:05:39ID:6z5ad2b2
線分と線分の判定をする関数一個つくれば、あとはそれを呼ぶだけ。
08258222008/01/24(木) 08:20:31ID:xoEvssMg
ありがとうございます。
矩形も直線も斜めになってると、
どう判定していいのか分からなかったんですが、
考えてみます。
0826名前は開発中のものです。2008/01/24(木) 09:04:06ID:c//2gtD7
斜めの直線は、自機の過去の位置と現在の位置2つの点を結ぶ直線と
交われば当たっている、交わらなければ当たっていないで判断できるな
0827名前は開発中のものです。2008/01/25(金) 16:13:35ID:uWJcmU+R
それはなにか違うぞ
0828名前は開発中のものです。2008/01/25(金) 18:20:24ID:wCWKO3oH
四角形ABCDと点Pの当たり判定
(Px-Ax)*(Py-By)-(Py-Ay)*(Px-Bx) > 0 and
(Px-Bx)*(Py-Cy)-(Py-By)*(Px-Cx) > 0 and
(Px-Cx)*(Py-Dy)-(Py-Cy)*(Px-Dx) > 0 and
(Px-Dx)*(Py-Ay)-(Py-Dy)*(Px-Ax) > 0
の時は当たり

>>826
×直線 ○線分
0829名前は開発中のものです。2008/01/25(金) 18:42:27ID:2YcA1OQF
>>826は自機が動いてなかったらすりぬける気がする。
>>828は外積のフル活用だね。
0830名前は開発中のものです。2008/01/25(金) 21:11:39ID:/ePSsoOd
凸型・点間コリジョンなら外積以外で求めるのは面倒じゃね?
つか、どうやんのよって話さ。
0831名前は開発中のものです。2008/01/25(金) 23:58:11ID:2YcA1OQF
意味も分からずに式だけ使う人いそうだったから余計なお世話だとは思ったけど追加しただけさ。
俺のことだけど。
0832名前は開発中のものです。2008/01/26(土) 06:10:50ID:s2bcE7Kz
自機と敵、敵弾の間の判定はきっちりしとかないといけないけど
自弾と敵の判定は甘くなるぶんにはわりと適当でもなんとかなったりする
0833名前は開発中のものです。2008/01/26(土) 06:13:41ID:3dWYdUoB
プレイヤーが集中して見てるのは自機だしな。
0834名前は開発中のものです。2008/01/26(土) 09:58:50ID:UAXw4hKk
厳密にするなら微積分も駆使してどんどん厳密にできるけど
それやってもあんまり意味無いからなぁ
0835名前は開発中のものです。2008/01/26(土) 13:51:26ID:cBkbz/lE
自機なんて視界の端で見るもんだ
低速弾幕に囲まれたときは見るけど
08368222008/01/26(土) 16:28:02ID:v2XPXtQE
外積便利そうですね。

円、線分、外積で、処理の重さを試して、考えてみることにします。
0837名前は開発中のものです。2008/01/26(土) 16:36:53ID:nFa1pova
グラ5のレーザーみたいなのは方向を持った短いレーザーの連射だから矩形でもいいような気がするけど。
雷電のプラズマレーザーだって曲線や4点コリジョンは持ってないだろうな。
シルバーガンの敵のレーザーとかは矩形を並べているだけだというし、
処理速度を気にしないといけないなら「それっぽく」でいいとおもう。
0838名前は開発中のものです。2008/01/26(土) 20:03:11ID:pIm9icjH
俺も矩形で良いと思う。というか、矩形を使ってる。
レーザーが、綺麗になめらかに曲がって見えるようにするには、
必然的に位置情報の数を増やしてやらないといけない。
だから、そのポイントポイントが矩形の判定を持っていれば
それで事足りる。というか、事足りてる。
0839名前は開発中のものです。2008/01/26(土) 21:31:07ID:UHPinRz5
弾幕系でカスリもつける場合になるとやはり円判定の方がいいのかな?
敵弾と自機の距離を計算しておけばカスリと食らいで使いまわせるし
矩形だとそれができないし
0840名前は開発中のものです。2008/01/26(土) 21:43:57ID:KrotCMgl
好きにすればいいと思うけど、矩形にしたって
自機に二つの領域を設けて弾と二回判定するだけだから
少なくとも速度的には大差ないよ。
0841名前は開発中のものです。2008/01/26(土) 21:52:45ID:cBkbz/lE
矩形でぜんぶ統一したほうがラクじゃね
0842名前は開発中のものです。2008/01/26(土) 21:54:44ID:RHzXqjyK
レーザーとか考えると直線と矩形の判定も欲しいところだが
0843名前は開発中のものです。2008/01/26(土) 22:07:03ID:iK462dl5
矩形判定だけで足りることは足りるけど
矩形は斜め移動時に角が引っかかりやすいので
円判定じゃないと違和感が出やすい
でも円判定だけだと無理がある
結論、両方必要
0844名前は開発中のものです。2008/01/26(土) 22:13:06ID:cBkbz/lE
というかどんなものを想定しているかによるな。
オーソドックスな2DSTGなら矩形の組み合わせのみで問題ないはず。
せいぜいレーザーの線分判定くらいか。
0845名前は開発中のものです。2008/01/26(土) 22:39:53ID:KrotCMgl
ビッグコアMkIIIが撃つ反射レーザーの当たり判定を
HIT-DISP ONで見たときの衝撃といったら。
0846名前は開発中のものです。2008/01/26(土) 23:56:25ID:Xegu4hs9
弾幕STGをつくろうとしているんだが、(Win+VC+DirectX9SDK)
「1画面最大2000弾」くらいを目標に基本プログラムを作ったものの、
弾数1000くらいでタイマー落ちがかかる。

正直どこを削ればいいのか悩んでます。
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
そもそもドルアーガは一人で攻略するの前提で作ってないだろ
家で一人でやるのが基本の同人と比べてもなあ
レス数が900を超えています。1000を超えると表示できなくなるよ。