トップページgamedev
987コメント289KB

シューティングゲーム(非FPS)製作技術総合

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

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

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
0200名前は開発中のものです。2009/10/14(水) 20:08:12ID:aQw8W33X
例えば3Dフライトシューティング(エスコンみたいなの)を作るとする
GUNモードでHUDにLCOSレティクルを出せないと泣きつかれたら
試しに上の問題を出してみろ。分かりませんって言われたらまぁそういうこと
0201名前は開発中のものです。2009/10/14(水) 20:15:16ID:aQw8W33X
>>198-199
雑魚敵の直進弾の速度は既知だべ
0202名前は開発中のものです。2009/10/14(水) 20:18:57ID:aQw8W33X
×速度 ○速さ
0203名前は開発中のものです。2009/10/14(水) 20:25:52ID:JOYpPGJr
>>199
未知数tが残るから
Vの長さ(描画フレーム当たり移動量)={(自機位置-弾発射位置)/t+自機ベクトル}の長さ
が一定aと考えて
|(自機位置-弾発射位置)/t+自機ベクトル|=a
となるtを求めるのが先決か。
そのためにはtの2次方程式を解く必要があり、
場合によっては2つ解が求まるし、虚数解になってしまう場合もあるということか。
0204名前は開発中のものです。2009/10/14(水) 20:39:27ID:aQw8W33X
そう。簡単な2次方程式の解法でいける。厨房でも解けると。
答案は胸の内にしまっとこうぜ
02051942009/10/14(水) 20:53:25ID:2+2Nx3Yv
ちなみに俺はその厨房にでも解ける式を考えるのが面倒(思いつかない)なので
まず”自機が止まっていると仮定して、そこに敵弾が到達する時間”を求めて
次に”自機が止まっていなかった場合、その時間経過後にどこに移動しているか”を求めて
そこへ向けて弾を発射するようにしている。

時間の誤差分ずれるけど当たり判定の大きさ等でカバーされるせいか、別に問題はでていない。
0206名前は開発中のものです。2009/10/14(水) 21:07:31ID:x873g71t
よくわからないけど良いもん。ホーミング弾作るもん。
0207名前は開発中のものです。2009/10/14(水) 21:39:21ID:aQw8W33X
>>205
何らかの方法を思いついて実装して結果が良好なら何でもオーケーと思うぜ

厨房がtの2次方程式を使って解く方法でもいけるし、>>205でもいける
>>205は自機は火点に対して弧を描くように避けるという仮定を使ってる
つまり火点との相対距離の変化はゼロ近似。十分アリだろ
どちらの方法も「自機は等速で単調な運動をする」つーかなりおおざっぱな
仮定で未来位置を予測してるんで、どれが正解っていう話じゃないさ
0208名前は開発中のものです。2009/10/27(火) 08:10:53ID:pyTi/aCB
達人王や雷電みたいのが好き
0209名前は開発中のものです。2009/10/27(火) 17:24:34ID:XJ4R1uLH
>>208
おまえのような奴が嫌い
0210名前は開発中のものです。2009/10/27(火) 17:33:27ID:51vpmsEc
>>209
ありがとう
0211名前は開発中のものです。2009/10/30(金) 23:44:04ID:vQgCEL5G
冬コミで完成版出そうと思ってたけど落ちてたわ
0212名前は開発中のものです。2009/11/03(火) 07:55:18ID:l+y8ZsBa
俺は受かったです。しょぼいけど見かけたらよろしくね。

あと音楽さえ入ったら完成なんだ。だから完成するかどうかは音楽をお願いした人次第……。
0213名前は開発中のものです。2009/11/03(火) 23:29:28ID:1pHbuKqw
携帯アプリ用シューティングでBulletMLを使おうと思ったけど難しい・・
kxmlで何とかXMLファイルのパースは出来るようになったけど
実際に動かすのが至難の業。
0214名前は開発中のものです。2009/11/04(水) 13:37:21ID:lfccrkBa
パース出来たならあとはデータに沿って動かすだけだから
簡単だし一番面白いところじゃん
と思ってしまうのは俺が作りなれてるからかな
02152132009/11/04(水) 21:19:45ID:AtUtzPQY
>>214
具体的には、Waitの実装の仕方とか・・
後何フレーム待つかを敵(弾)ごとに保存しなくちゃならなくて
ややこしい。
0216名前は開発中のものです。2009/11/04(水) 21:37:18ID:OEwandvL
たぶん使わないほうが楽だよ。
コードで書いたほうが何倍も見やすい。
02172132009/11/04(水) 23:01:43ID:AtUtzPQY
>>216
ユーザーが作ったステージを追加できるようにするんでもなければ、必要ないかもね・・
0218名前は開発中のものです。2009/11/07(土) 15:27:11ID:Nx39tf2N
テキストエディタくっつけてユーザー作成をメインに・・・
って携帯じゃ編集が面倒すぎるかな。
でも少し期待。
0219名前は開発中のものです。2009/11/08(日) 14:57:58ID:60G5dl7J
ジョイパッドのキーの割り振りって、プレイヤーが自由に変更できないとマズイかな?
いちいちコンフィグ画面作るのも面倒だから自分で勝手に割り振ることを検討してるんだけど
0220名前は開発中のものです。2009/11/12(木) 22:46:04ID:sn0tU8aP
何個ボタン使うの?
0221名前は開発中のものです。2009/11/13(金) 16:28:57ID:UlLLX9dS
>>219
それで?
0222名前は開発中のものです。2009/11/14(土) 10:19:57ID:LiLn1POm
>>219
俺はラーメン食いながらゲームする派だから
右手にはチョップスティックをアサインしている。
射撃やボムはフットペダルでできないと困るね
0223名前は開発中のものです。2009/11/14(土) 22:59:16ID:VoXjoMce
>>219
グラディウスが得意な人、R-TYPEが得意な人、ダライアスが得意な人、
レイフォースが得意な人、怒首領蜂が得意な人、バトルガレッガが得意な人、
神威が得意な人、西方Projectが得意な人。

世の中にはいろんなSTGが得意な人がいるじゃない?
しかも、コントローラーだけでも、PS系のコントローラ、
サターンパッド、アーケードスティック。
中にはポップンコントローラーやステアリングを使う人もいる。

プレイヤーによって癖やコントローラが違う以上、自由に変えれた方が良いと思う。
0224名前は開発中のものです。2009/11/15(日) 12:23:40ID:rlEBT3oo
まあ各自でやれってぶん投げてもいいんだけどな
0225名前は開発中のものです。2009/11/15(日) 12:34:29ID:WZv/5kvf
何年か前のスターフォース祭りってこのスレだっけ?
どうでもいいけどあの残党いる? 俺もその一人なんだ。
いや、ただ、懐かしいね、って思ってね。
0226名前は開発中のものです。2009/11/15(日) 21:15:50ID:4Uy1iXRt
コンフィグ画面の用意はともかく、iniファイルにでもしてテキストで触れるようにしてくれるだけでも
いい仕事してるなと感心できる
0227名前は開発中のものです。2009/11/17(火) 23:32:28ID:1B/YkHX4
ユーザにプログラム書かせればいい
そうすればユーザのやりやすい快適なゲームになる
0228名前は開発中のものです。2009/11/18(水) 05:57:43ID:nGms1rGC
初回起動時にコントローラーを検出してコンフィグが最初にできる、二回目以降の起動時はオプションからコンフィグ可能

とかはどうだろう
0229名前は開発中のものです。2009/11/19(木) 03:18:01ID:WG3VtUX7
実装の簡単さと最低限の機能の両立だと>>226
これなら実際のアプリとキーの間に単純なシステムを挟むだけでいいから楽でしょ。
ただリプレイとか考えると、ちゃんと作ったほうがいいかもね。
キーコン管理と入力データの出力・読み込みする機能はけっこー近いし。
0230名前は開発中のものです。2009/11/20(金) 23:24:25ID:zclsZlcd
リプレイって必ずしも必要かなあ?
0231名前は開発中のものです。2009/11/20(金) 23:54:15ID:HoYKMPu2
お前は必ずしも人類に必要ではない
そういうことだ
0232名前は開発中のものです。2009/11/21(土) 01:26:09ID:e7ozG51Q
必ず必要ってなんか変な言い回しだな。
0233名前は開発中のものです。2009/11/21(土) 04:08:47ID:N0qZcUka
必ずしもを取るか必要を要るに変えればいいんですね
02342132009/11/29(日) 00:19:32ID:E6Uvbkoc
>>218
亀レスだけど
>>218の書き込みを見て、ユーザーがステージを自作できるシューティングを目指すことにした。
携帯上で編集するのは難しそうだから、PC上で編集してSDカードに保存して、
それを携帯で読み込み実行出来るようにしようと思う。
0235名前は開発中のものです。2009/12/11(金) 00:39:52ID:20W6YXDS
過疎
0236名前は開発中のものです。2009/12/11(金) 20:49:00ID:LFNqHLb/
最近は特に書き込むことも無いのだよ。
0237名前は開発中のものです。2009/12/11(金) 23:09:16ID:U56GWlJk
http://ishi.blog2.fc2.com/blog-entry-127.html
これは有用なツール?幾何学模様を描く弾幕がランダムに生成されるツールっぽい。
0238名前は開発中のものです。2009/12/11(金) 23:23:31ID:U56GWlJk
http://ishi.blog2.fc2.com/blog-entry-127.html
このツールって有用?幾何学模様を描く弾幕を生成するツールみたいだけど
0239名前は開発中のものです。2009/12/11(金) 23:53:02ID:U56GWlJk
なんだ、書き込み失敗して無いじゃん・・2重済まん
0240名前は開発中のものです。2009/12/11(金) 23:57:21ID:pXaUhxJB
>>237
「invalid bytecode」って出てきて、java appletの起動に失敗しますた
0241名前は開発中のものです。2009/12/13(日) 21:58:50ID:obSGOyuo
そう、アプレットだと動かなかったから自分でProcessingとってきて動かしたんだ。
少なくとも以下の変更が必要。生成された弾幕を再現できるようにrandomで得られた値を
コンソールに出力するようにしてみた。
void mousePressed(){
interval=(int)random(2,50);
NUM=(int)random(10,100);
m=random(2,64);
n1=random(0.1,16.0);
n2=random(0.1,16.0);
n3=random(0.1,16.0);
rotvel=random(-PI,PI);
println("interval = " + interval + ";");
println("NUM = " + NUM + ";");
println("m = " + m + ";");
println("n1 = " + n1 + ";");
println("n2 = " + n2 + ";");
println("n3 = " + n3 + ";");
println("rotvel = " + rotvel + ";\n");
}
void setup(){
size(300,400);
frameRate(50);

noSmooth();

mousePressed();
loop();
}
//最後らへんの void loop() {はvoid draw() {に
0242名前は開発中のものです。2009/12/14(月) 00:11:19ID:ffMmjRKP
東方シリーズのレーザーって描画どういう風になってるの?
ボムで消すと、レーザーがいきなり全て消滅したりはせず
ちゃんとボムの領域に入った部分だけが消えるみたいだけど。
小さな弾をつなげてレーザーに見せているのだろうか?弾の重なった部分だけ明るくなったりして
綺麗にならなかったりしないのだろうか。
当たり判定の処理も通常の丸い弾と一緒?

四聖龍神録だとつなげたりせず、1つの画像として描画して
当たり判定は回転してる矩形vs円形になっているらしい。
0243名前は開発中のものです。2009/12/14(月) 10:24:10ID:nehJrzXi
推測だけど、一連の点の集合としてレーザーを表現してるんだと思う。
描画の際は、その点を通るようにレーザーを描画し、当たり判定は点ごとに行う。

個人的に割と驚いたのは、レーザーの分割処理をちゃんとしていること。
文花帖でレーザーの真ん中を写真撮って消すと、2つに分かれる。
0244名前は開発中のものです。2009/12/14(月) 11:08:29ID:QE4kvqHr
じゃあ、点と点のつながりを線形リストとかで表現するのかな。
0245名前は開発中のものです。2009/12/14(月) 22:15:47ID:b4g0Tjm3
たぶんそうじゃね?
いわゆる複雑な形のボスの判定やグラフィックをスキンメッシュ見たく階層構造で保持するのと同類系。
0246名前は開発中のものです。2009/12/15(火) 15:54:22ID:fEnaZt+w
ところで何でSTGはC++で作られることが多いの?
0247名前は開発中のものです。2009/12/15(火) 17:18:05ID:jJi4v5hc
STGに限らず、開発言語として現在はC++が主流なだけだからじゃね?
0248名前は開発中のものです。2009/12/15(火) 17:19:24ID:UNvzTCuR
>>246
COBOLが最近は多いよ
0249名前は開発中のものです。2009/12/15(火) 17:24:55ID:74ZscY/Q
俺はLISPで書いてる
0250名前は開発中のものです。2009/12/15(火) 17:25:25ID:jJi4v5hc
そういやCOBOLは命令がいちいち英語で、英語がわかれば命令の意味は解るけど長ったらしくて、
記号を多用して少ないタイプ数で済ませようとしてる(であろう)Cとは対照的だな。
0251名前は開発中のものです。2009/12/15(火) 17:25:57ID:c2b2dESz
普通LOGOだろう
0252名前は開発中のものです。2009/12/15(火) 19:36:36ID:Nz+EyXYv
最後に作ったSTGはHSPで書きました
0253名前は開発中のものです。2009/12/15(火) 22:41:05ID:BoxWD0kO
DirectXを直で弄りやすいのがC++だからじゃないの
0254名前は開発中のものです。2009/12/16(水) 05:18:17ID:m9+fE4bE
(DXlibとCだとは言いづらいこの空気・・・・)
0255名前は開発中のものです。2009/12/16(水) 11:16:52ID:ta+HXlso
何でもいいよ
0256名前は開発中のものです。2009/12/18(金) 16:59:27ID:sm0L1E6O
Cしかダメだよ
0257名前は開発中のものです。2009/12/19(土) 11:55:55ID:+Pp0Jd7g
で、 だ、LUAとかどうよ
0258名前は開発中のものです。2009/12/19(土) 12:34:30ID:PWOaV3XD
DirectXとかCで作るのやめてくれればな
0259名前は開発中のものです。2009/12/19(土) 12:49:02ID:mHTdJsJn
>>258
代案を出せ
理由も出せ
それがDirectX + C よりも優れている点を出せ
0260名前は開発中のものです。2009/12/19(土) 13:05:33ID:aAfhMiCd
代案:OpenGL+SDL+D
理由:そんなもの無いよ
優れている点:それも無いよ!
0261名前は開発中のものです。2009/12/19(土) 13:14:49ID:LDz+3qzD
BASICでつくろーがCOBOLでつくろーが
自分でやりたいことが具現化できるなら
なんでもいいよ
0262名前は開発中のものです。2009/12/19(土) 13:30:16ID:PWOaV3XD
なんか俺の言ってることを勘違いしているな。
俺はゲーム製作者にDirectX+Cを使って欲しくないと言ってるんじゃなくて
DirectXやOpenGLそのものがC言語で作られているのが嫌だと言ってるんだ。
0263名前は開発中のものです。2009/12/19(土) 13:32:54ID:TWjFGN8g
時代はD言語ですねわかりま(ry
0264名前は開発中のものです。2009/12/19(土) 13:43:35ID:mHTdJsJn
>>262
そんなことをここで言われてもな・・・
0265名前は開発中のものです。2009/12/19(土) 13:44:36ID:LDz+3qzD
>>262
開発元に言えよ

つか
どうせリンクしかしないし
DirectXはCOMだし
どうでもいいよ
0266名前は開発中のものです。2009/12/19(土) 13:47:07ID:mHTdJsJn
最近のシューティングの背景が3Dなのをやめてくれればな
0267名前は開発中のものです。2009/12/19(土) 13:50:26ID:hfhaIDpP
意味がわからない
0268名前は開発中のものです。2009/12/19(土) 13:51:51ID:mHTdJsJn
>>267
おまえには言ってない
0269名前は開発中のものです。2009/12/19(土) 13:53:42ID:hfhaIDpP
だって最近過疎だし
0270名前は開発中のものです。2009/12/19(土) 13:54:38ID:R8+wJcL7
最近ていうかいつものことだな
0271名前は開発中のものです。2009/12/19(土) 13:59:58ID:mHTdJsJn
>>269
意味がわからない
0272名前は開発中のものです。2009/12/19(土) 14:01:54ID:hfhaIDpP
基本的にハードウェアに近い部分はCかC++以外に選択肢はないよなー
0273名前は開発中のものです。2009/12/19(土) 14:57:50ID:aAfhMiCd
アセンブラに謝れよ
0274名前は開発中のものです。2009/12/19(土) 15:02:42ID:hfhaIDpP
今更アセンブラを使うことの利点なんて無い
0275名前は開発中のものです。2009/12/19(土) 15:05:38ID:mHTdJsJn
>>273
おいおい お口チャックだぜ?
0276名前は開発中のものです。2009/12/19(土) 15:31:56ID:unjJw9vs
つまりDirectXはアセンブラで作るべきだということ?
0277名前は開発中のものです。2009/12/19(土) 15:34:31ID:mHTdJsJn
>>276
ぜひ
0278名前は開発中のものです。2009/12/19(土) 15:42:23ID:TWjFGN8g
>>277
そんなことをここで言われてもな・・・
0279名前は開発中のものです。2009/12/19(土) 15:57:04ID:mHTdJsJn
>>278
だって最近過疎だし
0280名前は開発中のものです。2009/12/19(土) 16:29:24ID:aAfhMiCd
>>279
意味がわからない
0281名前は開発中のものです。2009/12/19(土) 16:32:16ID:mHTdJsJn
基本的にハードウェアに近い部分はCかC++以外に選択肢はないよなー
0282名前は開発中のものです。2009/12/19(土) 16:34:03ID:49lEsK1P
ループしてる
0283名前は開発中のものです。2009/12/19(土) 16:42:36ID:mHTdJsJn
int i;
for( i=ID:hfhaIDpP; ...
0284名前は開発中のものです。2009/12/19(土) 16:48:00ID:4+qy57xP
ぬるぽ
0285名前は開発中のものです。2009/12/19(土) 17:00:43ID:mHTdJsJn
int *p = 0xEEEEE;
0286名前は開発中のものです。2009/12/19(土) 17:03:58ID:mHTdJsJn
ん?   給料が少ない、だと?

      ,―ヽ____、―
   ,/  ノ       ヽ  ~\
  /   ノ   公    ヽ   ~\    公務員になって安定した高給を得る能力を
/   ノ           ヽ、  `ヽ   身に着けようとかしたらどうなんだ!
|    ノ / ̄\   / ̄~ヽ ヽ    i
|   ノ              |  ノ      公務員として働けるだけの能力を
\  |  <●>  <●>  (  )      身に着けようとかしたらどうなんだ!
 \ |      | |       i /
    |      /  ヽ       レ
   i     (●_●)      /  
    i、    ,-――-、   ・ /
    i、  <(EEEEE)> ∵/      公務員は仕事が出来るから
      i、   \___/  _/      給料が高いのは当たり前!
       \       ,ノ        悔しかったらお前も公務員になれ!
  ,,.....イ.ヽヽ、ー-―一ノ゙-、.      公務員を妬んだってお前の給料が上がるわけじゃない!
  :   |  '; \_____ ノ.| ヽ i
      |  \/゙(__)\,|  i |
      >   ヽ. ハ  |   ||
0287名前は開発中のものです。2009/12/19(土) 18:14:02ID:hfhaIDpP
>>284
ガッ
0288名前は開発中のものです。2009/12/19(土) 18:59:23ID:mHTdJsJn
printf( "<●>  <●>" );
0289名前は開発中のものです。2009/12/19(土) 19:31:03ID:hfhaIDpP
BASIC時代、よく文字だけでシューティング作った。
0290名前は開発中のものです。2009/12/19(土) 19:45:29ID:mHTdJsJn
100 CLS 3
110 LINE( 100, 100 ) - ( 200, 200 ),4

たしかに難しいな
0291名前は開発中のものです。2009/12/20(日) 17:10:58ID:lo+4vn/Q
console 0,25,0,1
0292名前は開発中のものです。2009/12/20(日) 22:36:54ID:rt4gxY/W
int main(void)
{
    return *((int *)NULL);
}

import java.net.*;
public class A
{
    public static void main(String[] args)
    {
        ServerSocket s = null;
        try
        {
            s.accept();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}
0293名前は開発中のものです。2009/12/22(火) 22:40:25ID:LbRLf3lZ
BulletMLは?
0294名前は開発中のものです。2009/12/22(火) 23:23:29ID:29rO8CkZ
使ったこと無い
0295名前は開発中のものです。2010/01/03(日) 09:23:43ID:jQDzltaE
なぜ、いつも既存のライブラリしか勧めないのか
0296名前は開発中のものです。2010/01/03(日) 11:56:36ID:ehKAwe8j
じゃあ存在しないライブラリを勧めろと?
0297名前は開発中のものです。2010/01/03(日) 16:03:21ID:jQDzltaE
なぜ、ライブラリに頼るのか
0298名前は開発中のものです。2010/01/03(日) 16:31:22ID:rSvzxGK9
ライブラの聖闘士だからさ
0299名前は開発中のものです。2010/01/03(日) 17:10:46ID:uXTT7Kpp
ライブラリを使えば済む話なのに自作するのは無能
■ このスレッドは過去ログ倉庫に格納されています