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

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

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

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

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

■前スレ
シューティングゲーム製作技術総合 2機目
http://pc5.2ch.net/test/read.cgi/gamedev/1073736474/
0002名前は開発中のものです。04/06/16 07:45ID:u0+hin61
■過去スレ
シューティングゲーム製作技術総合
http://bbs.gamdev.org/test/read.cgi/gamedev/1056635103/

■関連スレ
PCで出来る2Dシューティング(STG)総合スレ12
http://game6.2ch.net/test/read.cgi/game/1083576811/
★シューティングゲームは終わらない-STAGE28-
http://game6.2ch.net/test/read.cgi/famicom/1084795165/
G-わんげ鳩大往生XII〜絆ダウン〜 4stage
http://game6.2ch.net/test/read.cgi/arc/1069685469/

■関連スレ
FPS(フレームレート) VSYNC(垂直同期 リフレッシュレート)
http://bbs.gamdev.org/test/read.cgi/gamedev/1063274576/
リフレッシュレートに関する論争
http://piza.2ch.net/tech/kako/972/972165437.html
0003名前は開発中のものです。04/06/16 07:46ID:u0+hin61
■参考リンク
フリーソフトで面白いゲーム まとめページ シューティングカテゴリ
http://www.frgm.org/cgi-bin/s.php?g=stg&b=n
BulletML
http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/
白い弾幕くん(BulletML+Lua)
http://user.ecc.u-tokyo.ac.jp/~s31552/wp/sdmkun/

■エフェクト作成ツール
aBOM
http://www1.odn.ne.jp/ceb94660/
BombMaker(explosion maker)
http://www.pluto.dti.ne.jp/~nkf/
Detonation
http://www.vector.co.jp/soft/win95/art/se173882.html
GraphicsGale
http://www.tempest-j.com/
発色弾
http://diry.net/mia/
0004名前は開発中のものです。04/06/16 08:04ID:OUlSC7/A
3機目か……これで最後だな。
0005名前は開発中のものです。04/06/16 08:07ID:QUEElok0
エクステンドするかもしれないだろ
0006名前は開発中のものです。04/06/16 09:15ID:xv1+oWoW
>>1
乙。
0007名前は開発中のものです。04/06/16 16:00ID:dHciVOoi
シューティングマニアックスはいまいちですた
…読まないと得られない知識ってあるかね。。
0008名前は開発中のものです。04/06/16 18:38ID:KTvNF9aV
いまいちでもよんどくか…
0009名前は開発中のものです。04/06/16 18:41ID:Zcc4AjKX
ステージの組み方とかありました?
前にスクリプト組めって言われたけどいまいちわからないので
そのあたりの解説があれば買ってみようかと
0010名前は開発中のものです。04/06/16 20:23ID:cW2KlvaD
>>9
お手軽路線で lua を活用してみてはどうだろう。↓ム板のスレ
http://pc5.2ch.net/test/read.cgi/tech/1063711237/l50
俺スクリプト言語でイクならboost::spiritでもいいし。
0011名前は開発中のものです。04/06/16 20:53ID:dps5ZX6q
シューティングマニアックスに書いてる内容は、
プログラミング初心者の自分でもちょっと考えれば分かる事ばかりだった。
弾の動きなんてせいぜい高校数学レベルの内容だし。
そんなんじゃなくて、DirectXの基礎を理解してることを前提に、
簡単なシューティング丸々一本作り上げるような本があると嬉しいんだけどね
自分独習なので、クラス設計とかその辺の、他人のやり方が見てみたい
0012名前は開発中のものです。04/06/16 21:07ID:MQ3eZ9iG
正直、シューティング作ってて困るのは技術的なことよりも
センスとデザインなんだよな。そもそも俺全然シューターじゃないし・・orz

あれこれ意見出してくれるシューターがスーパーバイザとして
ついてくれるのが理想なんだろうけど。
0013名前は開発中のものです。04/06/16 21:11ID:cW2KlvaD
>>11
そこでやねうらお本ですよ。
0014名前は開発中のものです。04/06/16 21:47ID:zk5P+Zz/
>>12
シューターじゃないってのはシューティングが上手くないって意味?
それとおもシューティングをよく知らないって意味?
後者なら、なんでわざわざシューティング作ってるのか聞きたい。

まあそれはそれとして、あれこれ意見が聞きたければこのスレで聞けば
良いんじゃない?
0015名前は開発中のものです。04/06/16 22:35ID:Rgan57PD
世界で一番厳しいアドバイザが殺伐と勢ぞろい。
0016名前は開発中のものです。04/06/16 22:59ID:QG4pPmGK
シューティング苦手なら、シューティング苦手な人向けのシューティングを作ればよいと思われ。
下手にシューティング野郎が作ったシューティングより受けるシューティングになるかも知れん。
つーかシューティング多すぎ。
0017名前は開発中のものです。04/06/16 23:01ID:WJ+js66x
式神みたいなのとか?
あれって、俺の周りだとシューター仲間以外にだけ人気ある。
0018名前は開発中のものです。04/06/16 23:06ID:cW2KlvaD
>>12
そこで脱衣シューですよ
0019名前は開発中のものです。04/06/16 23:52ID:QUEElok0
自分でシューティングをやらないと
どういうシューティングが面白いのか分からない
ということかと
0020名前は開発中のものです。04/06/17 00:05ID:vb9IU+Ma
レイストームに感動してこの道に引きずりこまれた口だが
じゃあなにをどうやったらあんな感動が得られるのが創れるか
って言われると、未だにわからんよorz
0021名前は開発中のものです。04/06/17 00:19ID:7ad3p1xT
>>20
多分作品云々より、プレイヤーの精神状態とか今までやってきたゲームとかの
影響のほうが重要と思われ…
0022名前は開発中のものです。04/06/17 10:37ID:yXhfkS1k
昔から言われているものの未だに決定版が出現してない
「互いに向かい合って撃ち合う」タイプの対戦型STGですが、
やはり最大のネックは敵CPUのアルゴリズムなのでしょうか。
0023名前は開発中のものです。04/06/17 13:20ID:7ad3p1xT
アップルのARCHONがそれに近いw
サイドビューだけど…。
0024名前は開発中のものです。04/06/17 13:22ID:TJI/qepq
どうなんだろう。チンブレにしろTSSにしろ、決定版といえるほどの完成度はある気がする。
でも対戦格闘のほうが楽しいし、普通のSTGのほうがさらに楽しいが。

チンブレの高次面CPU相手に初心者が毎回同じ場所でやられて投げ出す問題は、
・大ダメージ攻撃の場所を憶えきれない
・どう駆け引きなのかがわからない (序盤の面は普通のSTGと同じ感覚で勝てるため駆け引きを学べない)
あたりが原因か?
0025名前は開発中のものです。04/06/17 13:35ID:pdvW+yJp
最初の2行に関しては知らないが
3行目の敵キャラプログラムが最大のネックという話は疑問だな。
 
洋物FPSのBOTプログラムについて調べてみてはどうだろう。
キチガイじみた強さと人間臭い行動をする作例は少なくない。
浦島太郎の気分が味わえるかもしれないぞ。
00262504/06/17 13:35ID:pdvW+yJp
ワリ。>>25>>22へのレスね
0027名前は開発中のものです。04/06/17 15:11ID:oW8I/UQn
洋物FPSのBOTがどんなロジックで動いてんのかは知らんが、
学習型にするというのも一つの手。
0028名前は開発中のものです。04/06/17 16:56ID:VHtkJJnp
学習アルゴリズムだけでコードの7割くらいになりそう
0029名前は開発中のものです。04/06/17 18:12ID:TJI/qepq
対戦格闘なら相手にして楽しめる程度のCPU組むのも比較的楽なんだが、
STGの、おそらく大部分が弾避けに属するようなのは、
実用で作れるんだろうか。今のところ議会制弾幕回避機関が先端か?

BOTをユーザーがプログラミングできるTSSクローンがあったとして、
それのCPUをまともに組めるかどうか。
原作の嘘避け連発があまり楽しくない、というところからこの問題はスタートしてるようだが…。

対戦格闘程度のCPUで十分楽しめるような対戦STGの仕様を組んだほうがいいか?
撃ちと避けが入る以上、かなり無理っぽい気がするが。
0030名前は開発中のものです。04/06/17 18:42ID:UsJOGb+R
対戦STGか
一応「ネットやろうぜ」の時にこれはというのがあったけど、
検索してもほとんど出てこん
0031名前は開発中のものです。04/06/18 01:27ID:pfXTMUD5
おたがい一度に1発しか撃てない対戦STG、というシステムなら、
対戦格闘のCPUと似たような作り方ができるかもな
それが面白いかはワカンネ
0032名前は開発中のものです。04/06/18 02:25ID:bbeJa3m8
ペンギンクンウォーズって対戦STG?
0033名前は開発中のものです。04/06/18 02:48ID:uyuJ/Q8r
オフコース
0034名前は開発中のものです。04/06/18 07:29ID:w3CPdfBj
何となく対戦グロブダーっぽい感じで想像してみるが、確かにうそ臭い回避だけなら比較的何とか
なりそうかもしれない。しかし、位置取りでオプション類を配置したりとか敵回避方向への
先読み弾の発射とかいった事になると、ちょっといい方法が思い浮かばない…
00352704/06/18 14:59ID:xHeZzj8T
>>34

何手先までも読むシューターに追従するのは苦手であるが
例えば10秒間生き長らえるための安全領域探索木なら
それほど大きくはならないし、高速だよ。
00362504/06/18 15:00ID:xHeZzj8T
ワリ。私は>>27じゃなくて>>25
0037名前は開発中のものです。04/06/18 15:16ID:+waD84AQ
あまりベタな弾避けアルゴリズム組むと、常時ドット単位・フレーム単位の神避けとかされそう。
00382504/06/18 15:22ID:xHeZzj8T
>>37
濃密な弾幕の中から「回廊」を見つけ出し「すり抜け計画表」を立てるのは
なかなか骨が折れると思うよ。最初の頃は明らかに行き止まりの「死の回廊」を
見つけ出して得意げに突っ込んでいくから(苦笑
探索ステップに上限を設けるので調整によってはヤケッパチ行動になりやすい。
00392504/06/18 15:25ID:xHeZzj8T
ゴメ。補足すると上記の方法論は厳密には弾除けとは別の部分です。
大局的な振る舞いを決定するためのルーチンです。ボードゲーム的で
面白いよ。
0040名前は開発中のものです。04/06/18 16:22ID:GSQH9Ei4
>>34
普通の偏差撃ち(相手が等速直線運動を続けるという前提のやつ)
でない場合の話か。その辺になると予想(博打)撃ちの世界に入っちゃうんだよね。
#相手が回避できるエリア(円)に満遍なく撒く必殺射撃は除くw
俺がやったことあるのは、相手の回避方向(の癖)を記録してフィードバックする
という単純な方法。たぶん、発展させれば相手の回避曲線まで記録するカンジ
になるんだと思われ。まぁ、STGはモデルが単純化されまくってるからサンプリング
できる要素も少ないし。比較的組みやすいのでは。

>>38
>明らかに行き止まりの「死の回廊」を
>見つけ出して得意げに突っ込んでいく

ワロタ
0041名前は開発中のものです。04/06/19 03:15ID:LIZprrue
縦シューつくってるんだけど、パワーアップ削ろうか悩んでる。
パワーアップあってもあんま意味ないんだよな。
死んでもその場復活でパワーアップアイテム拾ってほぼ元通りになるし…。
0042名前は開発中のものです。04/06/19 03:18ID:MK2Z4Ehq
パワーアップが出ると「パパパパワーアップ」が聞ける!



それだけだけど
0043名前は開発中のものです。04/06/19 04:35ID:5+1QYWlO
パパパパウァアッッ(・∀・)ガイジンサーン
0044名前は開発中のものです。04/06/19 09:04ID:fs4N6NKG
最初からフルパワー状態で、やられてもパワーダウンしない方がいい
攻撃が激しい終盤でやられて、最弱な状態からプレイ汁というのは酷だ
フリーや同人、アーケードでパワーアップ制にしている所は猛省して欲しい
0045名前は開発中のものです。04/06/19 09:33ID:BsxkmCMW
グラディウスとかみたいにフルパワーノーミス前提で作られてるならいいけど
最近の一般人にはノーミスクリアが難しい弾幕シューだとあんまり意味ない気がする
死んですぐにパワーアップアイテム出るならそもそもパワーダウンしなきゃいいし
あとパワーアップなしなら敵の体力の調整をしやすいって利点もあるな
0046名前は開発中のものです。04/06/19 09:57ID:VrZX8wM9
ふと思いついた。
空中でうろついてるパワーアップアイテムが弾を防いだら面白そうだ。
何十発か当たると壊れるようにして、すぐ取るかぎりぎりまで盾にするかのジレンマが。
バランス取りは大変そうだけどな。
0047名前は開発中のものです。04/06/19 10:59ID:UDCH0lYH
最近のケイブとかのパワーアップって単に序盤の弱い状態が強くなるという満足感を
得るための演出なんじゃない? やられても2,3個アイテム出るし。

0048名前は開発中のものです。04/06/19 11:59ID:/MxA8wAn
パワーアップの効果が微々たるものでも、自機の攻撃の見た目の変化がちょっとした楽しみになったりはする
弱い装備でやれることが少ない状態でプレイヤーをシステムに慣れさせ、
本来の複雑なシステムへパワーアップで段階的に発展させてゆく、という方向もある

作りたいゲームの方向によってパワーアップの要不要は大きく変わるし、作っている間でも変わるだろう

シルバーガン、斑鳩、ボーダーダウン…
単純パワーアップを廃したシステムがわかりやすいのって他に何があるかな

>>46
ギミック系にならさほどバランス気にせず取り入れられるかもね
0049名前は開発中のものです。04/06/19 12:28ID:MK2Z4Ehq
式神2もパワーアップ無いよ
ケツイも無いに等しい(死んでも即時パパパパウアッだから)
0050名前は開発中のものです。04/06/19 14:15ID:vQYTTem5
システムがわかりやすかどうかは疑問だが、同人ならOOHかな
最初から特殊兵器てんこ盛り
0051名前は開発中のものです。04/06/19 15:50ID:3Ym24Nqp
最近の縦だと、俺が知ってる範囲ではアーケードSTGでもパワーアップに
意味があるなと思えるのって無いんだよなあ…。
0052名前は開発中のものです。04/06/19 18:02ID:aGErBpFp
パワーアップって昔はゲームを易しく(有利に)するフィーチャーだったけど、
それだと上手い人ほど有利になってしまう、というジレンマをなんとかしようと
した結果、事実上パワーアップの意味がなくなったんだろうな。

ちょっと前は、パワーアップすると難易度が上がるので、1段階で止めとけとか。
0053名前は開発中のものです。04/06/19 18:36ID:YWlxQVDJ
チマチマとした攻撃力で雑魚のショボイ攻撃にも恐々としながら
避けてかわして耐えに耐えてやっとこパワーアップし、
アリンコをゾウさんが踏み潰すがごとく、さっきまで必死にかわしてた
雑魚を一掃できたりするところに爽快感がある。気持ちイイのれす。
これパワーアップの醍醐味なり。
破壊力があがることで
ゲーム性は低下する。よってすくなからず難易度はあげる。これ定石。
しかし雷電はこれどうなのかね・・
0054名前は開発中のものです。04/06/19 18:52ID:3Ym24Nqp
>>53
なぜ雷電がここで出てくるのかわからんけど、少なくとも最近のゲームは
最初ヌルいのであまりそういう感じしないんだけどな…。
後半は死んでもパパパパウァアッッだし。だからこそパワーアップシステム導入の
是非を考えてるんだけど。
0055名前は開発中のものです。04/06/19 21:57ID:PPot1Dwu
ダライアスとか延々とパワーアップしていくやつは事実上残機無用
だったと思うけど、続編作る上で問題にはならなかったのかな?
0056名前は開発中のものです。04/06/19 22:19ID:3Ym24Nqp
初代はショットでもまだミサイル>レーザー>ウェーブ等とあって
パワーアップの意味があったけど、IIなんかは中盤で死んだら最後までいっても
フルパワーにならないというシステムだったな。
あんま深く考えてないと思われ。
0057名前は開発中のものです。04/06/19 22:44ID:4pm1S1OR
死んだらパワーが思いっきり奪われるということで、
上級者に刺激を与えているのではないかと。
0058名前は開発中のものです。04/06/19 22:46ID:Z2pn+NBC
いまさらな話題だが聞いてくれ。

俺の方法はB宗一派に入ると思うのだが、
int time_table[] = { 16, 17, 17 }; のようなテーブルを用意して、
タイマーを調べて delta_t >= time_table[count] のときに画面を更新している。

これと同じような方法を使っている例は見たことがないのだが、
2Dゲーを作る場合には、この方法でもいいのか?
0059名前は開発中のものです。04/06/19 23:18ID:KfSZI/tC
なんというかそれは非常にレベルの低い解法だな。
ぴったり60fpsにしたいというならもっと良い方法がある
■ このスレッドは過去ログ倉庫に格納されています