シューティングゲーム製作技術総合 4機目
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/08/09 19:53ID:oKoFsB2nそれは「シューティングゲーム製作」・・・。
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!
ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。
■前スレ
シューティングゲーム製作技術総合 3機目
http://pc5.2ch.net/test/read.cgi/gamedev/1087339516/l50
0107名前は開発中のものです。
04/08/14 13:15ID:k6kHA1v+0108名前は開発中のものです。
04/08/14 14:07ID:mqi8oET6最後のは根本的に違うと思う
0109名前は開発中のものです。
04/08/14 14:45ID:FYvwCjIRランダムなんて無い方が攻略性が上がって良いし
多様性を出すにしても>>104で十分、ってことだな
0110名前は開発中のものです。
04/08/14 15:01ID:lMLTpqkY不規則性=ランダム(乱数)って頭では到底わかんだろうけどね。
0111名前は開発中のものです。
04/08/14 15:52ID:V5sEIrrJ自機が多関節の竜みたいなので、全方向スクロールするやつ。
名前が思い出せんしぐぐってもみつからないが、誰か覚えてない?
0112名前は開発中のものです。
04/08/14 15:53ID:mqi8oET6シューティングとは微妙に言いがたいが。
0113名前は開発中のものです。
04/08/14 16:20ID:vO8xIoDx0114109
04/08/14 16:33ID:FYvwCjIR_, ._
(;゚ Д゚) …?
藻前が理解できん・・・
漏れは乱数なんて使わなくていいなぁって言っただけなんだが
もしかして多様性=不規則性って頭ですか?
0115名前は開発中のものです。
04/08/14 16:35ID:B+a4EEQYまず日本語の勉強
0116名前は開発中のものです。
04/08/14 16:49ID:lMLTpqkY乱数使うも使わんも勝手にすればいい、不規則性は多様性のひとつだ一緒にするな
そんなこともわからんのか!
狭い見解で「これで充分」などと抜かすのが叩かれる原因なのだヨ
0117名前は開発中のものです。
04/08/14 16:54ID:lMLTpqkYその言葉そっくりてめぇに返してやるぜ♪
0118名前は開発中のものです。
04/08/14 17:00ID:CzLQ3mfh0119名前は開発中のものです。
04/08/14 17:01ID:mqi8oET6| ノ _, ,_ ヽ
/ ● ● |
| ( _●_) ミ _ (⌒) 夏だよな♪
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0120109
04/08/14 17:22ID:FYvwCjIRつまりお前は十分という言葉を硬くとらえすぎなわけだな。
ファジー機能搭載しる
0121名前は開発中のものです。
04/08/14 17:31ID:FYvwCjIR>>90
>>101(漏れ)
>>102-104
>>109(漏れ)
>>109の要点
「ランダム使うくらいなら>>104の方が楽だよな」
0122名前は開発中のものです。
04/08/14 18:25ID:lMLTpqkY自分@かなり大人げなかった
でもキミもちょっと、必死すぎて(ry
0123111
04/08/14 18:37ID:KSESjClWそうそう、作者自身も攻略を楽しめるんじゃないかって、マップの自動生成にはあこがれたよ。
結局自分のゲームに実装したことは無いけど。
0124名前は開発中のものです。
04/08/14 19:38ID:s5UuKyHo誘導レーザーを作ろうと思っているのですがどう作ればいいか分かりません。
レーザーの構造体配列(またはクラス?)を作って、尻尾?になるやつは一つ前の構造体の
座標を代入していけば、くっついて来ると思うんですけど、誘導なので、レーザーの発射角度が
変わるときのレーザーの画像をどう描画すればいいのか分かりません。発射角度に対応した画像を
作っておくのか、それとも画像自体を回転させた状態で描画したらいいのかが分かりません。
というかその場合どーいうプログラムを組んでいいのか分かんないです(つД`)
環境はWindowsで、VC++6.0、DirectX7.0です。
どうかお助けを。できることなら協力しますので。
0125名前は開発中のものです。
04/08/14 19:59ID:exmazSmf0126名前は開発中のものです。
04/08/14 21:13ID:FYvwCjIR>それとも画像自体を回転させた状態で描画したらいいのか
よくわかんないけど、レーザーがぐにゃぐにゃ曲がる部分の絵をどうしようってこと?
そうだったら
⊂⊃
こんな感じのレーザーの絵用意して、画像自体を回転させて重ね合わせていけば
綺麗にまがるんじゃないかな
0127名前は開発中のものです。
04/08/14 21:21ID:FYvwCjIRプログラムのほうは
尾を引くんじゃなくて、頭を伸ばしていく感じにしたら?
レーザーを動かすんじゃなくて、
レーザーの先頭から新しいレーザーの先頭を次々置いてくかんじでさ
0128名前は開発中のものです。
04/08/14 21:26ID:XRLALKINとりあえず、おまえが思っている「誘導レーザー」を使っているゲームをよく観察し、よく考えろ。
>できることなら協力しますので。
そんな他力本願な意識じゃ、いつまでたっても分からないと思うよ。
0129名前は開発中のものです。
04/08/14 21:27ID:cPuaNr+sマップの自動生成ネタは、多分、これだけで一スレ建てられる。
0130名前は開発中のものです。
04/08/14 21:30ID:mqi8oET6実際にはなかなか上手くいかないけどなー>作者自身も攻略を楽しめる
一応、ダンジョン自動生成スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1027084016/
0131名前は開発中のものです。
04/08/14 21:32ID:1pObmtDF⊂⊃
こういうレーザー全体の形を表すテクスチャを用意して
⊂======⊃
こういう風にテクスチャを引き伸ばせ。
頂点座標を適当に置けばぐにゃぐにゃする奴も簡単に作れる
0132名前は開発中のものです。
04/08/14 21:32ID:CzLQ3mfhどうするかってセオリーがあるわけじゃなし、いくつか表現の方法がある。
具体的にゲーム名挙げてみるのもいいかもよ。
>>123
マップ自動生成とはちょっと違うけど、KOBO deluxeってゲームの要塞生成は
面白いなと思った。内容はボスコニアンアレンジなんだけどね。
0133名前は開発中のものです。
04/08/14 21:36ID:cPuaNr+sしばらく逝ってくるわ。
0134124
04/08/14 23:25ID:s5UuKyHo>>128
自分が参考にしてるレーザーはレイストームのやつです。
(ロックオンしてから発射という機能はいりません)
画像は>>131の意見を参考にします。先頭、中間部分、尻尾の3つ。
描画については、レーザーの発射角度を求めたら、その角度に画像を
回転させて描画する処理、でいいのでしょうか?
ていうかとにかくやってみまつ。
0135名前は開発中のものです。
04/08/14 23:31ID:CzLQ3mfh買ってないから判らないけど。
0136名前は開発中のものです。
04/08/14 23:54ID:1pObmtDF「ポリラインストリップ」は3Dのポリゴン技術じゃ基本中の基本
3Dグラフィクス数学でも読め。必読書だ
0137名前は開発中のものです。
04/08/15 02:12ID:89Y7+yAz画像回転でやるなら
レーザーが曲がるトコでスキマが出来ないようにガンガレ
0138名前は開発中のものです。
04/08/15 16:36ID:o5VncmOGできたらアップしてほしいのですが。
よろしくお願いします。
0139名前は開発中のものです。
04/08/15 19:07ID:cYZSqdz30140名前は開発中のものです。
04/08/15 19:55ID:NB90yfFr0141名前は開発中のものです。
04/08/15 19:59ID:p19KBqQ7問題は、その1割をちゃんとわかるように解説してあるか、という気がする。
それでもマニアクスというタイトルの割りに、マニア向けでない点は批判されているみたいだね。
0142名前は開発中のものです。
04/08/15 19:59ID:zPMy/XgF0143名前は開発中のものです。
04/08/15 20:10ID:NB90yfFrなんというか小手先テクニック集という感じがした。
0144名前は開発中のものです。
04/08/15 20:35ID:mS2ppr5tレイフォースじゃなくてレイストーム?
レイストームは画像回転じゃないのでは?
0145名前は開発中のものです。
04/08/15 22:07ID:acFn8L7f誘導ミサイルだとか曲がるレーザーとか特定の方法が分からない場合には役に立つか
既にシューティング1作完成させたことがある人ならちょっと考えれば分かるような事ばかりだし不要だな
0146名前は開発中のものです。
04/08/15 22:33ID:sw0d/9/H解説自体は小中学生がわかるぐらい噛み砕いてる
やね本で補完すれば人前に出せるぐらいのものが作れるのでは?
シューティング好きがプログラムを学ぶというより
プログラム好きがシューティングを学ぶ本かな
課題スレ等この板でうぷされるものでも弾や敵の軌道で悩む(というか実装しない)人は
多いから需要はあるんじゃないかなぁ
このスレの人には年齢的にも経験値からみても関係ない本だとは思うよ
0147名前は開発中のものです。
04/08/16 08:20ID:joo2x3ui0148名前は開発中のものです。
04/08/16 09:07ID:6LiQYGlKムキャやNAOMIはPower VRだからね。パイプラインの都合で通常3フレームの遅延がつく。
なにげにゲーマーにはおすすめできないハードだ。
0149名前は開発中のものです。
04/08/16 14:12ID:S2H1k4RN0150名前は開発中のものです。
04/08/16 14:53ID:gQZTHlWu0151名前は開発中のものです。
04/08/16 16:01ID:CUjNcCnA0152名前は開発中のものです。
04/08/16 16:08ID:FI8a2ktDhttp://www.google.com/
0153名前は開発中のものです。
04/08/17 08:04ID:YUBR3oDa0154名前は開発中のものです。
04/08/17 19:55ID:yTjGyUP90155名前は開発中のものです。
04/08/23 23:51ID:DCDr3oUa人のソース改造してシューティングゲームを制作してるんですが、
横スクロールタイプシューティングの「放物線を描いて落ちる落下弾」が作れません。
(ちなみにSTGアルゴニズムマニアックス読んでるのに作れない素人・・・)
なにとぞご教授ください。
(C++とDirectX9です)
以下の文はまっすぐ右に飛ぶ弾です。
p->vec2.x += 7.0f;
// 変換行列を作成
D3DXMatrixTransformation2D(&p->Matrix, NULL, 0, NULL, NULL, 0, &p->vec2);
0156名前は開発中のものです。
04/08/23 23:54ID:Xua3I1Iray++;
0157名前は開発中のものです。
04/08/24 00:05ID:Et3nh4zYあなたの人となりを否定するつもりないけど
>人のソース改造してシューティングゲームを制作
そんなことしたくないなあー・・・
だって出来てからの満足感がまるでないし、つまんねーじゃん?
時間かかっても0から作ったほうがいいと思うよ。
急がばまわれだワン1
0158名前は開発中のものです。
04/08/24 00:12ID:uXam+ITsベーマガ世代やオープンソースを完全否定するようなことを……(笑
0159名前は開発中のものです。
04/08/24 00:30ID:1kP3mPcm1.元のソースが理解できないので、改造して落下弾を作ることができない
2.STGアルゴニズムマニアックスの落下弾の説明を読んでも意味がわからない
どっちだろ・・・
なんか1っぽいんだけど(汗
もし2だとしたら、STGアルゴニズムマニアックスのLIST2-22にサンプルのソースが
そのまんま載ってるので、自分のプログラムに合わせて変数を変えるだけで動くかと。
放物線の運動の理屈がわからないのでしたら、中学校の物理の教科書でも・・・
0160名前は開発中のものです。
04/08/24 00:44ID:iL1CymvD>>156
やってみたんですが・・うまくいかず。
>>157
0からやってみます。まずはウインドウ作成からですね・・・
>>159
1も2も該当してる気がします。いや、該当してます。
放物線ってy=axですよね?
vy+=accel;
x+=vx; y+=vy;
足し算あるけど掛け算ないぞ???って思いました。
いい年した成人なんすけど、頭固くてプログラムむいてないっすね。
0161名前は開発中のものです。
04/08/24 00:47ID:s88LEut3y=axは直線
0162名前は開発中のものです。
04/08/24 00:55ID:iL1CymvDあ、、たしかに直線でした・・・
0163名前は開発中のものです。
04/08/24 01:13ID:eGI5Mb3C実際には加速していないように見えるかも知れない。
わからないことはこまめに試して、身体で憶えてしまえ。
ゲームに使う数学に関しては、体系だてて数式で憶えなくとも、
プログラムで憶えてしまえば(趣味の範囲では)十分通用する。
0164159
04/08/24 01:51ID:1kP3mPcmその2行だけだと分かりにくいですけど、vyの値が呼び出し側に戻されてる(&)がミソです。
前回関数が呼び出されたときのvyの値が保存されてるので、vyには毎回差分を足すだけで
OKなわけです。要は、
1回目:vy=accel
2回目:vy=accel*2
3回目:vy=accel*3
って毎回計算するのと、前回の計算結果を利用して
1回目:vy =accel
2回目:vy+=accel ( accel+accel )
3回目:vy+=accel ( accel+accel+accel )
の違いかと。
0165名前は開発中のものです。
04/08/24 02:05ID:s88LEut3横へ移動する速度は等速
縦へ移動する速度は増えていく
ここまではいいですか?
x=x+1
y=y+1
だと右下へ直線に動いていきます
x=x+1
y=y+2
これだと角度が急になりますがやっぱり直線です
x=x+1
y=y+3
これだとさらに角度が急になりますが直線です
と、ここで今まで引いた線を順番に繋げてみてください
放物線に見えませんか?
+4,+5,+6……とさらに続けていくともっとわかりやすくなります
p.56の加速弾は理解してますか?
xとyで加速する量が違うのが落下弾です
もし元のソースがよくわからないのであれば斜めに真っ直ぐ進む弾を撃ってみてください
これができれば放物線もそれほど変わりません
たぶん、y=ax^2+bが頭にあるんだと思いますがこれは忘れてください
今回は関係ないです
0166名前は開発中のものです。
04/08/24 02:43ID:2AkloNW+0167名前は開発中のものです。
04/08/24 03:22ID:eA831uwq0168名前は開発中のものです。
04/08/24 04:36ID:yQt8in03xを位置、vを速度、aを加速度、dtを経過時間(=1フレームの時間)とすると、
等加速度運動なんだから「速度の変化量=加速度*経過時間」なわけで、それを数式で表せば
v+=a*dt
だな。「位置の変化量=速度*経過時間」だから、
x+=v*dt
だ。dtは普通固定だから事前にaやvにdtを掛けた値を使う。最終的にプログラムは、
v+=a;
x+=v;
で済むわけ。こんな説明でOKかいな?
0169名前は開発中のものです。
04/08/24 04:47ID:gBLSZJEf中学理科で台車ころがして「差が段々でかくなる〜」みたいなのなかったっけ。
0170名前は開発中のものです。
04/08/24 07:34ID:QNZmrm750171名前は開発中のものです。
04/08/24 07:41ID:s88LEut31063.4
低めの弾道で跳ねさせたほうが飛ぶね
よい放物線サンプルですた
0172名前は開発中のものです。
04/08/24 23:24ID:BLYPidSaおまえプログラムしたことないだろ
0173名前は開発中のものです。
04/08/24 23:27ID:IQBFNe/mおまえコピペプログラマだろ。
0174名前は開発中のものです。
04/08/25 00:12ID:lI2H/pKM0175名前は開発中のものです。
04/08/25 00:33ID:PyRy/eNu糞ソースを改造するのは気が退ける。
0176名前は開発中のものです。
04/08/25 01:48ID:9EM9vodUそれ言ったら、ウィンドウ開く一つとっても全部自前でないし、
ファイル、入出力、 etc・・・何をするにしたってそうだ。
0からなんて言ったらキリがない。
しかし、シューティングゲーム製作スレだろ。
>>157は
>人のソース改造してシューティングゲームを制作してるんですが、
に対しての一意見がそれで、車輪の話などしとらんだろ。
それにフリーで一人でやってるんなら全部一人でやってればいい。
時間があればの話だけどね。さらに言うと良いプログラムを読み書きできるのと、
良いソフトウェアを製作するのとは別だよ。
0177名前は開発中のものです。
04/08/25 03:30ID:jOyMajPZ消化不良を起こす155のような層が存在することが
再確認できた。
彼らにとっては、あの本のタイトルはハッタリではなく
その名に相応しい難解でマニアックな本だったのd ΩΩΩ < ナ、ナンダッテー
0178名前は開発中のものです。
04/08/25 03:33ID:/FyDerrC「ひょっとしたら自分は数人に一人しかいないプログラム適正をもってるんだ!」
とか思っちゃだめだぞ!
0179名前は開発中のものです。
04/08/25 04:03ID:jOyMajPZ世の中色々。STG作る人も色々。
0180名前は開発中のものです。
04/08/25 04:55ID:/FyDerrCだけど意外とそういう馬鹿が作ったゲ=ムのほうが面白かったりしてね。
0181名前は開発中のものです。
04/08/25 10:31ID:KMSuSYxL0182名前は開発中のものです。
04/08/25 12:01ID:/YO03vyP技術が無くても面白いゲーム作る人も沢山いるし、
それらに当てはまらない人も沢山いる
0183名前は開発中のものです。
04/08/25 14:22ID:zvZNP4N40184名前は開発中のものです。
04/08/25 15:03ID:3aTds6NW技術があるだけじゃ、何もならないからなぁ
0185名前は開発中のものです。
04/08/25 15:29ID:4lm3WJsn一回できあがりかけたころ、最初から作り直すと美しいプログラムになったりもする。
そしてそのほうが原因不明のバグに悩まされることも無かったり。
0186名前は開発中のものです。
04/08/25 15:48ID:A1d2CZ2L一応完成させてからリファクタリングした方がいいと思う。
そうじゃないと永遠に完成しない罠。
まあ俺は、オブジェクト指向的にシューティングをコーディングする、というのが目的だから、
完成は二の次でも無問題。
0187185
04/08/25 16:24ID:4lm3WJsn確かに。
漏れは、仕事でゲーム作ってるとき、新しいデータを組み込みつつ、待ち時間にプログラムを
改良してまつ。じゃないと納期間際におそろしいことに…orz
改良しきれずバグが出ないように祈りつつ運用する場合も多いですがorz
0188名前は開発中のものです。
04/08/25 16:41ID:lT5JyHro書き直そうか悩んでる
orz
0189名前は開発中のものです。
04/08/25 17:08ID:eME6g1xv時間があるなら書き直した方が良いかもね。ただし、
趣味でやってるならほどほどにしといた方が良いぞ。
それこそ本気で終わらなくなる事も・・・or2
0190名前は開発中のものです。
04/08/25 17:59ID:HRl+UBuZしばらくいじってないと呼び出し元とか使われ方とか
わからなくなることがよくある。
0191188
04/08/25 19:17ID:lT5JyHroまさに俺もその罠に嵌ってる
特定の自作ライブラリにはもう手を付けないだろうと思っていても、後から変更しなきゃ
ならなくなったときにもう覚えて無かったり
0192名前は開発中のものです。
04/08/25 20:36ID:waZrD0yj自分で書いたプログラムなのに後で見て分からなくなる?信じられん。
数年前のコード見ても即座に手をつけられるぞ。
コメントもほとんど書かないしな。
0193名前は開発中のものです。
04/08/25 20:39ID:fNQzeNruそんな漏れは技術そこそこで糞詰まらんゲームを製作していまつ。
とりあえず完成までは持ってけてる点だけが唯一の救いかも。
0194名前は開発中のものです。
04/08/25 20:46ID:oNcxf4w3俺一人だけ遊んで終わり。めっちゃ虚しいぞ!!!
0195名前は開発中のものです。
04/08/25 20:54ID:TjnPIVb2忘却能力の働かない人間って、たま〜にいるよな……
0196名前は開発中のものです。
04/08/25 21:46ID:4lm3WJsnデータ構造、パラメータの意味はどこかにコメントしといたほうがいいかもね。
0197名前は開発中のものです。
04/08/25 21:58ID:J9d0CGzBまあ俺もその類だな。流石に1ヶ月くらい前ならまだなんとかなるけれど
0198名前は開発中のものです。
04/08/25 22:04ID:6SwQIIVqセガの人みたいに手入れすればいいのか。
0199名前は開発中のものです。
04/08/25 23:19ID:JqXHRUiA可読性重視でほとんど全部書き直してからは、覚えて無くても、
あんまし悩まなくなったな。理解は出来るから。
相変わらずコメントとか付けてないケド。
0200名前は開発中のものです。
04/08/27 13:40ID:Ug/4/aXoここのやつやってみて
前とはだいぶ変わったよ
0201名前は開発中のものです。
04/08/27 15:14ID:vuQYK+x20202名前は開発中のものです。
04/08/27 23:31ID:+3GSaJqg0203名前は開発中のものです。
04/08/28 00:24ID:3c0hiz+oatan2の640x480を64*48のテーブル処理使っているんだけど
グラフィックとかしょぼいと駄目だな
0204名前は開発中のものです。
04/08/28 00:58ID:02FFley8「固定小数点を使う」と、「グラフィックとかしょぼいと駄目」がまるで繋がらないのだが?
あと、atan2の64*48テーブルって何?
0205名前は開発中のものです。
04/08/28 01:07ID:3c0hiz+o固定小数点とか独自のパックファイルとかプログラムに結構力を注いだんだけど
見た目のためか評価が低いことをからの感想
atan2の64*48テーブル ってのは
イカベーダの画面の解像度が640*480だから
配列のサイズを考えて(1/10)^2の64*48にって事でこうなる
たとえば弾の発射元座標が(0,0)でプレイヤーの座標が(640,480)だとしたら
atanTbl[64][48]を参照すればatan2のテーブルから45度とか帰ってくるわけ
それで方向弾を撃つと アルゴリズムマニアックス読みますた
0206名前は開発中のものです。
04/08/28 01:12ID:3c0hiz+o180度足したりして返すと
sqrtはとにかく使わない 角度が得られないとn-wayで狙うとかできないし
■ このスレッドは過去ログ倉庫に格納されています