シューティングゲーム製作技術総合 14機目
■ このスレッドは過去ログ倉庫に格納されています
それは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
過去スレ,関連スレは >>2-3で。
0253名前は開発中のものです。
2007/08/22(水) 17:25:11ID:pb1a3A+0Dさん乙
って言うか完成しなきゃダメじゃんw
0254名前は開発中のものです。
2007/08/23(木) 00:47:35ID:tzWW+ZgQダライアス2の最終ステージなんて特徴的なBGMの使い方をされてるけど、
あれがBGMの使い方の正解なんだと思うよ。
BGMはゲームにあってなくてもトランス状態になれれば良いんだと思う。
変にBGMにあわせてあると、踊らされてる感やオナニーに付き合わされてる感が増すだけだと思うな。
0255名前は開発中のものです。
2007/08/23(木) 00:59:16ID:n6rhbYTm0256名前は開発中のものです。
2007/08/23(木) 01:23:52ID:QlHcIS4a(曲の盛り上がりにあわせて敵の配置するぐらいが一番楽しいと思う)
意味が無いまではちょっと言いすぎかなと思うなあ
もしかするともっと面白い良いやり方があるかもしれんしね
0257名前は開発中のものです。
2007/08/23(木) 01:41:53ID:BBzx6OARあれわかりづらいでしょ。曲は良いけど。
1のラスボスみたいに、判りやすく盛り上がる曲を流すのが
一番効果的だと思うがなあ。
0258名前は開発中のものです。
2007/08/23(木) 02:13:23ID:4uCv1w5cプレイヤー側でタイミングを調整してシンクロさせることができるのが楽しいんだと思う
オーケストラの指揮をとってる的な
0259名前は開発中のものです。
2007/08/23(木) 02:20:50ID:QlHcIS4a>>254が嫌ってるのもその部分だと思う
上手いアイディアあったら動いてるところが見てみたいなぁ
0260名前は開発中のものです。
2007/08/23(木) 04:29:47ID:tzWW+ZgQ一周しちゃったような感じがいいと思ったんだけどね。効果音もすべて消えるし。
スターフォース・スターソルジャータイプの、テンポが連射のリズムぐらいがベストかもね。
小刻みなリズム+明るいメロディな感じ。
ゲートオブサンダーの夜面とか武者アレスタの巨大戦艦面はよかったな。
0261名前は開発中のものです。
2007/08/23(木) 07:47:57ID:n6rhbYTmあとダラ2もいいが外伝のゲームと曲もスゲーよかったと思う。
0262名前は開発中のものです。
2007/08/23(木) 08:11:36ID:NpVz3Zenやっぱり当初RーType・グラディウスに差をつけたかったのか。
グラディウスは、敵の配置とか音楽に加えて面ごとに特徴づけて成功してると思った。
0263名前は開発中のものです。
2007/08/23(木) 09:35:16ID:BBzx6OAR0264名前は開発中のものです。
2007/08/23(木) 19:15:28ID:4OFxg1Qw誰かWUXGAディスプレイ3枚ちょーだい☆
0265名前は開発中のものです。
2007/08/23(木) 20:16:37ID:1OCIIJzw0266名前は開発中のものです。
2007/08/23(木) 23:22:30ID:7fIL+EKq0267名前は開発中のものです。
2007/08/24(金) 00:18:35ID:VFaF9kM5家庭用STGだと繋ぎ目があるから萎えるw
0268名前は開発中のものです。
2007/08/24(金) 00:36:39ID:CW1xLuSk0269名前は開発中のものです。
2007/08/24(金) 00:43:55ID:VFaF9kM50270名前は開発中のものです。
2007/08/24(金) 00:48:49ID:wGpPinXa>>262
あんま覚えてないけどダライアス外伝ってTAMAYOか
レイクラみたいな一曲ずっと流すやつだっけ
ボスシーンとかで曲が変わらないのが逆に新鮮だった。
0271名前は開発中のものです。
2007/08/24(金) 00:56:49ID:CW1xLuSkttp://www.seamlessdisplay.com/products_radius320.htm
0272名前は開発中のものです。
2007/08/24(金) 01:19:52ID:VFaF9kM5確かにもうフツーにそんなの出てんだな
自宅でマルチ画面STG、まぁいいんじゃない(´・ω・`)
0273名前は開発中のものです。
2007/08/24(金) 01:45:39ID:7VAUWuYM0274名前は開発中のものです。
2007/08/24(金) 01:54:55ID:CW1xLuSkプログラム上は、ただ単に横長なだけ。
勿論グラボで横長の解像度に対応しているか要チェック。
あと、継ぎ目気にしない派はこっちでいい。
ttp://www.matrox.com/graphics/en/gxm/products/th2go/
家電量販店で売ってる所もあるし、
1つ1つのディスプレイの解像度は大していらないから、
お手軽なんじゃね?
0275名前は開発中のものです。
2007/08/24(金) 01:59:33ID:WLLE1A8GそのモニタでDEFCONやりてぇ
0276名前は開発中のものです。
2007/08/24(金) 02:09:38ID:ODW+e0Mx0277名前は開発中のものです。
2007/08/24(金) 02:18:59ID:+wEfzYTZ0278名前は開発中のものです。
2007/08/24(金) 05:27:59ID:DmpWma1m流れを楽しむものなんだよ。
あとまたダライアスネタだが、1のボス戦は背景が高速で流れているため
左から右への弾の動きがゆっくりや止まって見えた(背景に張りついているように見えたため)。
スクロールは奥深いよ。
0279名前は開発中のものです。
2007/08/24(金) 12:37:35ID:qXcbaoAF0280名前は開発中のものです。
2007/08/24(金) 13:02:04ID:g+37C2Gj0281名前は開発中のものです。
2007/08/24(金) 14:26:47ID:3E2XeCQY何のためにPS2持ってるんだよw
0282名前は開発中のものです。
2007/08/24(金) 19:03:30ID:HIOkJsqT0283名前は開発中のものです。
2007/08/24(金) 22:29:32ID:t4pv+Hr/テレビを窓から投げ捨てたんだろ
0284名前は開発中のものです。
2007/08/24(金) 22:57:28ID:7VAUWuYM知らね
0285名前は開発中のものです。
2007/08/25(土) 04:54:26ID:C2pIK2v80286名前は開発中のものです。
2007/08/26(日) 09:36:22ID:aVm4BeXRハードコーティングか、スクリプト形式に敵一匹一匹個別で記述しているのか
それともその他の方法でやっているのか
参考程度に教えてもらえないでしょうか?
さすがに全部の敵をハードコーティングするのは苦労が多すぎます
0287名前は開発中のものです。
2007/08/26(日) 10:41:38ID:nOkPADIC> 敵一匹一匹個別で記述しているのか
> さすがに全部の敵をハードコーティングするのは苦労が多すぎます
記述(定義)の仕方を聞いているのか、記述する場所を聞いているのかどっちだ?
定義する場所なら、既に自分で答えだしてるし。
記述の仕方なら、
どういった記述をするかは、好みや作りで変わるでしょ。
動き・タイムコード(出現時間)・出現場所等々、分けて記述するかまとめて記述するかとか。
動き一つ取っても、一匹一匹・一種一種・グループ単位で記述とか。
大抵はオブジェクト指向的な作りにするのが、保守管理が楽だとは思うが。
問題は慣れないと、無駄に細々することかw
もしかして、一匹一匹・一面一面の動きや流れを関数単位で記述するのを
ハードコーティングと言っているのかな?
だとしたら、動きをハードコーティングして、パラメータだけを外部記述とか
リーダー用意して、動きもパラメータも外部記述とか。
これも好み次第か。最近は大抵後述の方かな。
問題は、リーダーを作るのが面倒^^;
一度作れば後が楽だが。
一発読み込みか、リアルタイム読み込みかは好み次第。
何を求めているのかわからないと、答える方も曖昧な答え方しか出来ない。
(俺の読解力不足ならスマン)
0288名前は開発中のものです。
2007/08/26(日) 11:02:02ID:aVm4BeXR記述の仕方を聞いています。文章力足りなくてすいません。
動きを関数化して、細かい部分はパラメータ化するのですね
そして、そのパラメータは外部に記述してあると・・・。
リーダー作ってますが、なかなか、それ「らしい」動きが難しくて
聞いてみました。
リーダーをうまく作成すれば スムーズな動きも実現できるってことですね
返信ありがとうございました。
0289名前は開発中のものです。
2007/08/26(日) 12:31:00ID:ch/9lU330290名前は開発中のものです。
2007/08/26(日) 12:37:49ID:awPfwZnU0291名前は開発中のものです。
2007/08/26(日) 17:02:15ID:PEX9mpV50292名前は開発中のものです。
2007/08/26(日) 17:32:24ID:iWJ7VoFQttp://mono.kmc.gr.jp/~haichi/archives/200510/15-1527.php
のBulletMLのC#版を試した人っています??
どうも direction で sequence と relative を混合したときとかの挙動に
バグがあるんですが自力で直せません。
libBulletMLの為にc++勉強するってのもアレだし、
できればXNAで作ってみたいんだけど。
0293名前は開発中のものです。
2007/09/01(土) 00:09:40ID:6tuPVpKXテストプレイだと形の特徴にしているんだが実際つけるとなると
中二病みたいなのしか浮かばないorz
東方とかよく弾幕にまで名前つけるよな、イイかどうか別にして
0294名前は開発中のものです。
2007/09/01(土) 00:14:21ID:bZyN/pOa雑魚敵はzako1,zako2,・・・ってつけてる
0295名前は開発中のものです。
2007/09/01(土) 00:24:11ID:KxFMJl+Iそれはユーザーに対して公開する設定のこと?
それとも>>294が言うようにプログラム上の名前?
0296名前は開発中のものです。
2007/09/01(土) 00:52:05ID:mZLXMqWZプレイヤーからしたら意外と気にならないもんだ
0297名前は開発中のものです。
2007/09/01(土) 00:56:47ID:Mpm7ev+g中二病みたいな名前を付けるほうが結構難しいんだぜ?
0298名前は開発中のものです。
2007/09/01(土) 01:05:01ID:6tuPVpKX公開用につくったけどこれじゃ作者のオナニー丸出しだなって
プログラム上だと赤戦車とか>>294のような名前にしてる
神話や実在のモノからとってみようかと・・・
0299名前は開発中のものです。
2007/09/01(土) 03:53:27ID:iobOqpTi揃えたいんならどうやってもオナニー丸出しになるんだから
結論からいくと気にしたほうが負けだ
0300名前は開発中のものです。
2007/09/01(土) 13:56:03ID:+CS1vDDVhttp://www.amazon.co.jp/dp/4805828781
これどう?
>>255
pCEBO?
0301名前は開発中のものです。
2007/09/01(土) 19:47:18ID:X2Bn3rtL外向きは兵器っぽい英数と愛称みたいなのが妥当。
PC-6001 パピコン
とかな。これは冗談だけど。
自機だったら厨丸出しでも問題ないでしょ。
そもそも操作する機体の名前を気にするプレイヤーが殆どいないし。
0302名前は開発中のものです。
2007/09/01(土) 23:00:44ID:MWUsdDG30303名前は開発中のものです。
2007/09/02(日) 00:05:36ID:ifD8wDBp0304名前は開発中のものです。
2007/09/02(日) 01:24:59ID:6t0pjRIz0305名前は開発中のものです。
2007/09/02(日) 07:04:00ID:3JK+GoLk敵を出す処理がいまひとつ謎なんですが
ステージ開始時にそのステージで出す敵の種類や出すフレームなどのデータを読み込みこんだ後
for(int i=0;i<敵配列の最大数;i++)
{
if(現在フレーム==enemy[i].出現フレーム)
{
敵生成();
}
}
みたいにして敵を出現させているんですかね?
1フレームに出す出来の数なんてたかが知れているから1つの面の敵の数が1000オーバーとかになってくると
かなりforループが無駄な気がするんですが他に効率が良さそうな方法とかありますか?
アケシューとかかなりの数の敵が出てるけどどうしてるんだろう
0306名前は開発中のものです。
2007/09/02(日) 07:10:32ID:dX8DE3Az動かしてみて重かったら考えれば良いとおもうよ
作ったルーチンぶん回してどれくらい時間がかかるか測定するものいいと思うよ
0307名前は開発中のものです。
2007/09/02(日) 07:55:34ID:oS+Xa6BPそれでも今のPCなら1000や2000くらい何でも無いと思う。
効率を気にするならフレームの方をキーにする。
if(現在フレーム == enemylist[g_index].出現フレーム)
{
for(int i = 0; i < enemylist[g_index].num; i++) 敵生成(enemylist[g_index].enemy[i]);
g_index++;
}
g_indexはグローバル等、非ローカルな変数で。
0308305
2007/09/02(日) 08:26:02ID:3JK+GoLktimeGetTimeを使って調べてみましたが敵の最大数2000にして回してもミリ秒単位で遅れることはないみたいなので分かりやすい現行の方法で行こうと思います
弾幕系の予定なのに当たり判定をfloat型の円判定にしてたり曲がらない弾でも毎フレーム速度ベクトルを三角関数使って計算したりと
かなり無理してるんですが思ったより速度には影響しないみたいですね
0309名前は開発中のものです。
2007/09/02(日) 10:43:23ID:P7xKYpeZとりあえずは気にしないでサクサク作ってしまうのがいいとおもう。
あとで問題になったら最適化すれば済むところだしね。
0310名前は開発中のものです。
2007/09/02(日) 10:50:52ID:UTXWYDUr0311名前は開発中のものです。
2007/09/02(日) 13:55:21ID:OA6cGu0G0312名前は開発中のものです。
2007/09/02(日) 14:15:21ID:HqqRG4ZAナイスすぎ
0313名前は開発中のものです。
2007/09/02(日) 16:27:14ID:UfEehfKc0314名前は開発中のものです。
2007/09/02(日) 17:02:30ID:QfOe1V2Y最近ちらほら出てるのはD3DXのCPU毎のSIMD命令の切り替えの誤差。
SSE、SSE2、SSE3、3DNow、E3DNowの違いによる計算誤差ね。
多少遅くなるの覚悟で行列演算を自前ですればOK。
0315名前は開発中のものです。
2007/09/02(日) 17:18:41ID:UTXWYDUrよくでるのはリプレイ時でゲームと違う初期化ルーチン通ってリプレイ再現されないとか
イコールでif文つかって比較してるとかそういうやつだな
0316名前は開発中のものです。
2007/09/02(日) 17:42:20ID:UfEehfKcfloatとか以前に基本的にダメじゃん。
0317名前は開発中のものです。
2007/09/03(月) 03:21:05ID:6waqp7Pp>イコールでif文つかって比較してるとかそういうやつだな
?
0318名前は開発中のものです。
2007/09/03(月) 04:19:50ID:7pGP4toK日本語としておかしいかもしれんけど、大体わかるだろ。
float f = 1/10.0;
if(0.1==f){
printf("equal %g==%g\n", 0.1, f);
}else{
printf("not equal %g!=%g\n", 0.1, f);
}
これが not equal 0.1!=0.1と表示される件のことだろ
0319名前は開発中のものです。
2007/09/03(月) 07:52:38ID:UcyE560X0320名前は開発中のものです。
2007/09/03(月) 10:59:33ID:BR9raoz20321名前は開発中のものです。
2007/09/03(月) 11:17:41ID:ckJtc0Qf全然関係ない部分で物申したいが我慢しよう。
0322名前は開発中のものです。
2007/09/03(月) 16:15:04ID:cy8kuIrh0323名前は開発中のものです。
2007/09/03(月) 18:39:40ID:FkculudMそういやそういう宗派もあったなあ
0324名前は開発中のものです。
2007/09/03(月) 22:58:01ID:l9Qlmw/p0325名前は開発中のものです。
2007/09/04(火) 00:15:50ID:qVaZc/un0326名前は開発中のものです。
2007/09/04(火) 01:00:58ID:rGJdN4QJあたたた
あたた
0327名前は開発中のものです。
2007/09/04(火) 01:36:24ID:aBG3sZkWあるよ。
f=0.1だと、代入できるから、定数を左に持ってくる
C特有のバッドノウハウ
昔のうんコンパイラだと、警告出さないからだろうな
0328名前は開発中のものです。
2007/09/04(火) 03:35:54ID:cL0l5P3j今現在C++でSeleneを使ったシューティングを作っているんだが
BulletMLで弾幕を定義しようと思い、ある程度整備して
いざ実行、と言う時にエラーが出てしまう。具体的には
BulletMLParserTinyXMLを生成した後にbuild()をしようとすると例外が投げられる。
また、それを無視して進めて終了しようとした時に、
newしたパーサをdeleteしようとすると致命的なエラーが起こる。
ぶっ通しで情報収集→仮説→実験→挫折を
繰り返しているんだが精神的に消耗するばかりで埒が明かない。
解決方法、またそれに準ずる情報を持っている人がいたら教えて欲しい。
0329名前は開発中のものです。
2007/09/04(火) 07:05:25ID:aUfsHWLVエラーが発生する最小限のコードを出してもらおうか
0330名前は開発中のものです。
2007/09/04(火) 21:32:04ID:cL0l5P3jSeleneのファイルマネージャを使って
カレントディレクトリを移動しているんですが
exeのあるフォルダにxmlを移動したら無事通りました。
ただ、終了際のdelete処理のヒープ破壊は未だに分かりません。
一応、最低限のコードを置いておきます。
ttp://www.vipper.org/vip607768.lzh.html
pass:shooting
0331名前は開発中のものです。
2007/09/06(木) 05:08:36ID:Lxvy94f1404
同じかどうかは知らんがこんなメモが残ってた
BulletMLManager::~BulletMLManager()
{
for (ParserContainer::iterator it = Parsers.begin();it != Parsers.end();++it)
{
//DLLのlibをリンクするとここで文句が出る
//おそらくここに来るのがDLLを開放した後になってしまうから?
delete *it;
*it = 0;
}
}
0332330
2007/09/06(木) 05:25:34ID:r74dYIz9「あんたいとるど」さんで公開しているシューティングコードの一部ですね。
ttp://www.nwhite.info/mt/archives/2004/12/3_libbulletml.html
ここでも言われてるんですがいまいち分かりません。
とりあえずlibbulletml.libで試したところ無事動作しました。
もうちっとプログラマとしてレベルが上がったらアロケータ周りについて
深く掘り下げて調査してみたいと思います。
回答ありがとうございました。そしてスレ汚しすみませんでした。
0333名前は開発中のものです。
2007/09/07(金) 17:37:10ID:puv664XK0334名前は開発中のものです。
2007/09/07(金) 17:53:53ID:k0pZg8liフォトショップでかなり手軽にそれっぽいものは作れるが・・・
素材の制作環境とか少しでいいから書いてみ。
0335名前は開発中のものです。
2007/09/07(金) 17:55:43ID:eikIsP7y前スレの>>884辺りは?
0336名前は開発中のものです。
2007/09/07(金) 18:37:53ID:xHXwrHzMある一定の角度で曲がりつつ収束する様な感じのアルゴリズムで
最終的にはラインを元に四角形ポリゴンを作って、テクスチャーを張りたいんだけど
>>335
前スレ落ちてました
0337名前は開発中のものです。
2007/09/07(金) 18:50:56ID:eikIsP7yもうちっと頭柔らかくしてみ。
一発ででるから。
0338名前は開発中のものです。
2007/09/07(金) 19:38:03ID:QBkQAIJSスプライト描画用の配列要素の最後尾を超えて最初に戻るときにどうしても描画順序が入れ替わって汚く見えてしまうんだけど
これを回避する方法って無いのかな?
虫姫とかを見ててもあれだけ弾を出してるのに常に時間的に後から出した弾が上に来てるように見えるけど
これってどうやって実現してるの?
毎回全弾ソートしなおしてるわけじゃないと思うし…
0339名前は開発中のものです。
2007/09/07(金) 19:45:45ID:+KS6LJ+F0340名前は開発中のものです。
2007/09/07(金) 19:51:47ID:GaWvLQQXSTLで言うとvectorじゃなくてlistを使う
要するに「スプライト描画用の配列」とやらを、双方向リストを用いたものに取り替える。
0341338
2007/09/07(金) 20:03:14ID:QBkQAIJSちょっと勉強してみる
0342名前は開発中のものです。
2007/09/07(金) 20:06:17ID:+KS6LJ+F配列にしてもパックした後後ろに追加だけで問題はなかろう
1024個くらいの弾なら16bit/10MHzもあれば問題にはならないわけだけど
ターゲットは8bit/4MHzくらいかね
あと連結リストはダイレクトアクセスに弱いのも考慮しておけ
0343名前は開発中のものです。
2007/09/07(金) 20:25:01ID:QBkQAIJSソートするにしても弾を出すたびにソート順序検索用の数が増え続けて面倒そうだし
>>342
配列パックした後後ろに追加ってどんな感じですか?
配列で描画順序維持できるならかなり楽なんだけど…
0344名前は開発中のものです。
2007/09/07(金) 20:38:33ID:2X3oINIJリングバッファ的な使い方をしているとしても、弾なんてものはリストの途中で
削除する必要があるはずだが、その途中で消えた弾はどうしているんだ?
弾が消えるたびに配列を詰めていけばリングバッファにする必要はないし。
そういうデータにリングバッファを使う利点もないでしょ。
0345名前は開発中のものです。
2007/09/07(金) 20:39:55ID:43uHszUCあと、うんMHzという数字出すやつたびたび見かけるけど、
本当にそういうマシンで作ったことあるのか疑問だね。
多分初代X68kを想定してるんだろうけど10MHzで弾1024個はさすがに無茶だよ。
0346名前は開発中のものです。
2007/09/07(金) 20:55:26ID:k0pZg8liあまり曲がらない一本の雷なら、
1) 始点・目的地の間に中継点をテキトウにぶらした位置に設置、
テキトウな確率で点間に大きめにぶらした中継点を追加
2 各点間に1)と同様な処理を施す
でそれっぽく見えないかな。
オススメは1)をやってテクスチャをはって誤魔化す、なんだけど。
分岐するような雷はゲームに使いにくい気もするけど、
1)の中間点部分から分岐させて行くとかで。
昔、PSの初代チョコボのダンジョンのサンダラ?がそれっぽい雷でパクリたかくて色々試したが、
最終的にはテクスチャで誤魔化すのが一番、という結果に・・
0347名前は開発中のものです。
2007/09/07(金) 21:20:47ID:+KS6LJ+FX68は3台持ってるけど計算は余裕だよ
ただ、描画は無理
Z80はMSXとSC3000時代に散々触ったから無理なのはわかるけどね
0348名前は開発中のものです。
2007/09/07(金) 23:39:56ID:yTlX+Wajつーか、そもそもOSを動かす最低限の必項スペックからして違い過ぎ
大抵は(というか今時は殆ど)そのOSの上で動くアプリな訳だから(ry
0349名前は開発中のものです。
2007/09/07(金) 23:46:52ID:yTlX+Waj345は間違ってないし同意
0350名前は開発中のものです。
2007/09/07(金) 23:51:33ID:8YTo/z1Q0351名前は開発中のものです。
2007/09/08(土) 01:17:03ID:lIjIyODB0352名前は開発中のものです。
2007/09/08(土) 11:18:03ID:9SvvjfXR■ このスレッドは過去ログ倉庫に格納されています