シューティングゲーム ..
2:名前は開発中のものです。
08/08/01 23:36:16 GzWnlC6Z
■過去スレ
15機目 スレリンク(gamedev板)
14機目 スレリンク(gamedev板)
13機目 スレリンク(gamedev板)
12機目 スレリンク(gamedev板)
11機目 スレリンク(gamedev板)
10機目 スレリンク(gamedev板)
9機目 スレリンク(gamedev板)
8機目 スレリンク(gamedev板)
7機目 スレリンク(gamedev板)
6機目 スレリンク(gamedev板)
5機目 スレリンク(gamedev板)
4機目 スレリンク(gamedev板)
3機目 スレリンク(gamedev板)
2機目 スレリンク(gamedev板)
初代スレ URLリンク(bbs.gamdev.org) (リンク切れ)
シューティングゲーム製作技術総合 その弐(避難所)
URLリンク(bbs.gamdev.org) (リンク切れ)
3:名前は開発中のものです。
08/08/01 23:41:04 GzWnlC6Z
■関連スレ
シューティングツクールXPを待ち続けるスレ Part7
スレリンク(gamedev板)
■他
WIKI(シューティングゲーム製作技術総合)
URLリンク(gamdev.org) (リンク切れ)
シューティングゲーム製作技術総合スレまとめページ
URLリンク(pcstg.s59.xrea.com)
ゲムデヴあぷろだ
URLリンク(gamdev.org) (リンク切れ)
4:名前は開発中のものです。
08/08/02 04:17:20 Wy9XNUwI
シューティング製作用支援Wikiとうpろだ
URLリンク(www.erc-j.com)
5:名前は開発中のものです。
08/08/02 08:56:09 ffxR51b5
>>1-4 乙。
6:名前は開発中のものです。
08/08/02 09:49:52 +RLw+vHY
乙
7:名前は開発中のものです。
08/08/02 18:59:25 vNDa116L
1(´・ω・` )乙 これはポニーテールうんたらかんたら
矩形の当たり判定より早い判定法ってある?
8:名前は開発中のものです。
08/08/02 19:40:12 eWNSJZ1T
無いがある。矩形の当たり判定でも、ある程度種類があるし、点vs矩形(内積)もある。
例えば絞り込みも if ( (dx<AAA) && (dy<BBB) )よりif (dx<AAA) if (dy<BBB) の方がはええ。
9:名前は開発中のものです。
08/08/02 19:56:01 ffxR51b5
オブジェクトを配列に登録して、
オブジェクト同士の距離を基準にソートしておけば、
各オブジェクトは隣の要素と当たり判定するだけ、、、とかダメかな。
ソートのコストが問題だけど。
10:名前は開発中のものです。
08/08/02 20:39:56 eWNSJZ1T
ある程度判定する要素数が多ければ、有用かも?単純にオブジェクト単位のソートでは無理で、
最低でもx軸y軸別々にソートする必要があるな。こーゆー感じでしょ?
X軸―→
p1(0,0)
Y p3(4,1)
軸 p4(2,2)
| p2(1,3)
↓ p5(3,4)
仮にp1(0,0),p2(1,3),p3(4,1),p4(2,2),p5(3,4)の場合,
p2-p3間の矩形で判定するとして、
x軸ソート: p1<p2<p4<p5<p3
y軸ソート: p1<p3<p4<p2<p5
11:名前は開発中のものです。
08/08/02 20:59:27 ffxR51b5
>>10
まあ、半分妄想だったんで、そこまでは考えてなかった。
p1 -- p2
|
p3 -- p4
L___________p5
無理矢理近い物をつないでいけばいいかな位に考えてたw
でもそれだと上の図みたいに、配列上ではp3とp5が隣り合ってるにも関わらず、p4とp5が近いなんて場面もでちゃうのね。
X軸/Y軸でソートってのはいいね。
画面上に10000個互いに衝突するオブジェクトが有っても、9999 x 2 回くらいしか判定しなくていいわけだから
あとはソートのコストとご相談だね。
総当たりなら、10000C2 だから 10000 x 9999 / 2 = 約5000万回くらいか。
12:名前は開発中のものです。
08/08/02 21:18:30 eWNSJZ1T
今更思い出したんだけど、確か前スレか前々スレ辺りに、似た話があった。
ソートする場合は、画面を例えば9分割(たとえば縦横3x3等間隔)位にエリア分けして、各エリアごと別々にソートするとか。
そうすればエリアの判定部分は要るが、総当たりのコストはもっと減る。
エリア境界に丁度かかる場合の判定は、ちょっとメンドクサイかも。
13:名前は開発中のものです。
08/08/02 21:21:13 vNDa116L
>>10
これはソートした後、判定されるオブジェクト近辺の座標だけ判定するってこと?
数千個程度じゃあまり意味ないかなぁ
14:名前は開発中のものです。
08/08/02 21:45:08 vNDa116L
連投すまん
>>12
空間分割か?
前スレ見たけど矩形より遅くなるとか書いてあったけども
空間分割で自機と敵弾が存在する空間にあるオブジェクトを取り出してあとは矩形で判定、って感じか。
15:名前は開発中のものです。
08/08/02 21:52:22 NCNaReUU
いつも思うんだが、属性もたせて総当りじゃ速度足らないのだろうか?
敵弾と判定するのは自機、および自機系
自機弾と判定するのは敵機、および敵機系
敵弾の総数が300と仮定しても、バリア等あって3つ自機系があっても1500回
自機弾と敵機系がそれぞれ20、30としても600回程度じゃね?
16:名前は開発中のものです。
08/08/02 22:30:13 ffxR51b5
>>15
それも有りだよな。
敵、敵弾が10000発あっても、自機が1機だけなら
10000回の判定ですむわけだし。
実際、俺もそんな感じで分類してる。
17:名前は開発中のものです。
08/08/03 01:18:08 be/cNwxM
>>9 敵弾と自機の当たり判定だけで搾るけど、一番距離の近い弾だけを
取得(または保存)するだけでいいのでは?ソートする必要はないように
思える。
18:名前は開発中のものです。
08/08/03 01:37:14 hllQJn35
空間分割というか、自機の回りを大きめに判定して、その後詳細な自機との判定をすれば・・・
って>>17とほぼ同じか
19:17
08/08/03 02:11:47 be/cNwxM
>>18
いや、おれは空間分割は手をつけていないが。。。
というか、空間分割って、空間で分割をする処理が必要で、分割する手間で
自機と当たり判定を行えばよいという欠点があり、分割する頻度を下げないと
処理は軽くならんだろう。
おれは、当たり判定をするだけなら全ての弾をソートする必要はないのではと
つっこみを入れたかっただけです。
20:名前は開発中のものです。
08/08/03 08:36:43 cj6fH4C5
>>18は自機付近の敵弾しか判定しないからその点では>>17と同じって言ってるんだろ。
でも時期の周りしか判定しないとしても結局「総当たり+α」くらいの回数にならないか?
21:名前は開発中のものです。
08/08/03 09:51:06 fGHh5ylA
空間分割は相互に当たり判定がある物体が大量にある場合に、大きな効果があるけど
シューティングのような多対一の場合は、やる意味が少ないよ。
22:名前は開発中のものです。
08/08/03 11:04:57 cj6fH4C5
なんか良さげなの見つけたけどよくわからん
URLリンク(lab.polygonal.de)
ざっと見るに>>10みたいな感じだが・・・
23:名前は開発中のものです。
08/08/03 15:01:17 0ZCECk8O
>>22
0. オブジェクトの左端、右端を示すデータ(*1)を作る。
1. *1をx軸方向にソートする
2. 重なってる*1をグループ化 例: [a,b], [c], [d,e,f],,,
3. 各グループの中身をy軸方向にソート、グループ化 { [a], [b] }, { [c] }, { [d,e], [f] }
4. もう一度x軸方向にソート、グループ化
5. 同じグループにあるオブジェクトはぶつかっている!
長所: 衝突が発生しないとき効率が良い。動かないオブジェクトはあらかじめグループ化しておけばお徳。
短所: 全てのオブジェクトに衝突が発生したとき効率は最悪になる
ということだと理解した。
パーティクル(水しぶきとか?)の衝突判定を研究してるサイトみたい。
24:名前は開発中のものです。
08/08/03 15:11:58 q7Wuxlyj
実の所2Dゲームの当たり判定ってそんなに重くないよな
でなかったら物理エンジンなんて夢のまた夢
25:名前は開発中のものです。
08/08/03 21:58:47 xylQeBNi
>>8
>例えば絞り込みも if ( (dx<AAA) && (dy<BBB) )よりif (dx<AAA) if (dy<BBB) の方がはええ。
これほんと?
26:名前は開発中のものです。
08/08/03 23:06:02 PkBsN97L
んなわけない。論理積演算子は左側のオペランドがfalseなら右側は評価されずスルーされる。
C++規格ドラフトより
URLリンク(www.kuzbass.ru:8086)
> Unlike &, && guarantees left-to-right evaluation: the second operand is not evaluated if the first operand is false.
あとK&Rのp.26とか、プログラミング言語C++の6.2.2とか、アセンブリャーが吐くコードとか参照
27:17
08/08/03 23:09:19 be/cNwxM
>>25
(1)if (条件A) && (条件B )
条件Aを判定
条件Bを判定
条件Aと条件Bの両方を満たすか判定
の3ステップ
(2)if (条件A) if (条件B)
条件Aを判定
Aが真ならばBを判定
最小1ステップ。最大でも2ステップ
と想像してみた。、でも最近のコンパイラは裏でいろいろ頑張ってくれてる
ので、実行ファイルでの処理は(1)でも条件Aが偽の時点で処理を終了
させてるそうな。特殊な環境で無い限り処理に差はでないらしい。
28:名前は開発中のものです。
08/08/03 23:14:42 PkBsN97L
というか当たり判定の話題っていったい何周目なのか。
2D弾幕シューごときに空間分割なんか無用とか、>>26だって以前にも書いた記憶が
いくらキミらがシューティング大好きだからといっても永パ突入してそうなら阻止するぞ。
29:名前は開発中のものです。
08/08/03 23:16:44 jrQGFSJZ
どっちも同じだよ
前者でも条件Aが偽だったらそこで終了
30:名前は開発中のものです。
08/08/04 00:05:23 35hV0Fza
携帯の弾幕ゲー作ろうとしてるのに空間分割いらないとな
31:名前は開発中のものです。
08/08/04 23:38:43 Vp8LYTR0
SDL使って、Linux/Windows互換のシューティングを作ってるんだが、
Windows機が320x200の解像度をサポートしてなくて、フルスクリーン表示できなかった。
OSの問題というよりは、
ビデオカードの問題なのか!?
そうなのか!?
しょぼーん。
32:名前は開発中のものです。
08/08/05 23:33:02 mNgd8k5l
ドライバだろう
33:名前は開発中のものです。
08/08/06 16:03:06 gi5IYuOS
S式の構文を持つスクリプトでステージを作成できるSTG
もう1年たつのにずっと設計中
34:名前は開発中のものです。
08/08/07 21:54:23 qrl05lIa
>>32
そのセンも捨てがたいな (←良く分かってない(汗))
>>33
「S式」で具具ったらLISPが出てきた。
LISPでステージを記述できるのか!?
35:名前は開発中のものです。
08/08/07 22:27:33 ASRJpF7k
>>34
そだよ〜
36:名前は開発中のものです。
08/08/07 22:36:35 vxsGvHpL
>>34
クラッシュバンディグーとかジャック&スターはLispで書かれてるよ。
Lispは、文法がそのまま構文木だから、ほかの言語に比べたら組むのは楽かと。
37:hoge ◆MvRbZL6NeQ
08/08/16 16:57:14 PEdua842
シューティング制作しているのですが、
グラフィッカーがつかまりません
フリー素材でも紹介してもらえないでしょうか?
38:名前は開発中のものです。
08/08/16 18:22:56 bDq2k79v
とりあえず代替グラフィックを使って、完成したあとにそれを見せて誰かに頼めば、
たいてい誰でもやってくれると思う。
39:名前は開発中のものです。
08/08/16 18:45:25 PEdua842
>>38
ありがとうございます
そのように行いたいかと思います
40:名前は開発中のものです。
08/08/16 18:51:26 QQGV0aMo
> たいてい誰でもやってくれると思う。
俺はやらんぞw
> たいてい誰かしらがやってくれると思う。
だよな…?
41:名前は開発中のものです。
08/08/16 19:29:12 3Mm4zQJB
>>37
爆発グラとかは自動生成できたりするね。「発色弾」とかうんたらかんたら。
42:名前は開発中のものです。
08/08/16 22:01:43 bDq2k79v
>>40
修正サンクス、何でそんな間違いしたんだろう。
43:名前は開発中のものです。
08/08/17 07:46:41 xl/Fh4Cp
東方も実行ファイル軽いから弾幕を別ファイルで定義してるんだろうな
44:名前は開発中のものです。
08/08/17 12:51:09 P6xeVicK
別ファイルで、スクリプト化し、関数のパラメータだけ定義しているって感じでしょうか?
基本設計がしっかりしていないと、後で破綻するんで、正確な技術が求められますね
45:名前は開発中のものです。
08/08/17 17:59:26 OLD3QmIj
いや、普通ソースコードなんかで実行ファイルが早々大きくなるもんじゃないだろう。
46:名前は開発中のものです。
08/08/18 00:19:15 5XsFB2kk
>>44
容量を増やしたいならd3dx9.libとかリンクするといいよ
47:名前は開発中のものです。
08/08/18 00:21:38 5XsFB2kk
×>>44
○>>43
48:名前は開発中のものです。
08/08/18 01:17:17 vnL1FG7Q
敵の動きとかを別ファイルから読み込みたいんだけど、こういう場合はscanfでやるの?
GetPrivateProfileIntでやってたらマイナスの値が使えないことに気がついて鬱になった。
具体的に
敵ナンバー,フレーム数
[ENEMY1,0]
MOVE_X = 1
MOVE_Y = 5
見たいな感じのがやりたい
49:名前は開発中のものです。
08/08/18 03:58:05 ok9P/f48
YAMLパーサでも探して組み込みゃいいんじゃね
単純な構造だから自作してもそこそこ簡単だと思う
50:名前は開発中のものです。
08/08/18 21:10:51 nA1GIgr0
Lua で良いんじゃない?
51:名前は開発中のものです。
08/08/19 04:16:44 kdTC+AJw
>>48
文字列で読み込んで数値に変換したら
52:名前は開発中のものです。
08/08/19 11:08:00 gdRTu9U0
>>48
GetPrivateProfile系は遅いという欠点もあるので、自作するのが吉
53:名前は開発中のものです。
08/08/20 08:52:39 Ro4t5ceJ
スタート時に全データを読み込んじゃえばいいんだから、
速度的にはあまり気にする必要ないかと。
文字列の扱いはSTLのstringクラス使うと楽。
54:48
08/08/21 00:14:51 y6XWHE5C
いろいろやり方あるんだな
とりあえず適当に作ってみるよ
55:名前は開発中のものです。
08/08/21 12:58:41 LdsSdAF0
技術的な質問している中、横槍刺す感じになって悪いんだが、
質問があります
萌え系シューティングが増えてきて、
シューティングゲーム中に、会話文が出るのも珍しくなくなってきたわけだけど
ああいう会話文って、多すぎると問題なのかな?
ステージ開始時に、3行*10位の数の文章を表示するのは改善した方が良い?
56:名前は開発中のものです。
08/08/21 13:07:19 ZYhotP5Z
>>55
バランスの問題じゃね?
徹底的に会話やりたいならシューティングではなく、ノベルゲーだと言い張るのも手だと思う。
57:名前は開発中のものです。
08/08/21 13:33:28 UDvqCdRO
オプションでON/OFFできるようにしたら文句も出ないと思う
58:名前は開発中のものです。
08/08/21 13:45:49 vRyaf4uY
>>55
ぶっちゃけ、2回目以降はウザくなるだけ。
無いほうがありがたい。
59:名前は開発中のものです。
08/08/21 15:18:04 7l0UGN+r
>>56
のように、ノベルゲーと割り切ることも出来ないですし
>>58
のように完全に無しにすると、ストーリー的な意味合いでの問題が生まれるので
>>57
のようなオプションでON/OFF出来るような形を取りつつ、
バランスを考えていこうと思います
レスありがとうございました!
60:名前は開発中のものです。
08/08/21 15:23:40 vRyaf4uY
スタート時にプレイヤー名を入力、以後自動的にセーブされるシステムで解決。
最初にプレイする面でだけセリフが流れて、2回目以降は
フラグ立ててオフにする。
このシステムなら最後にプレイした面からコンティニューもすることも可能。
61:名前は開発中のものです。
08/08/21 15:24:16 tmUnDpCY
オプションもいいが、ボタン等でスキップできるとなおよい
62:名前は開発中のものです。
08/08/21 15:36:30 CGEifo5c
>>60
そういった仕様のゲームでは、
必ず一回くらいは読み飛ばしてしまって、あうあうする俺に謝れw
しかし、コンテニュー時は表示しないようにするなど、
細かい場面場面には使えそう
>>61
ボタンスキップは考えてみる。
おまいらの優しさに涙でそう
63:名前は開発中のものです。
08/08/21 22:50:08 tTjQUPWl
ぶっちゃけ最初から読まない俺みたいなのも多いと思うので
普通にスキップできるようにしておいたほうがいいかと
64:名前は開発中のものです。
08/08/21 23:36:18 vCOn6b97
ヒントに気付かず死ぬんですね
65:名前は開発中のものです。
08/08/21 23:55:55 FmoWGTBu
あーあるわー
それはそうと。
>>59
最近の美少女系ゲームは軒並みゲーム要素が作りこまれてるゲームが人気だぜ。
つまりシューティングなんだかエロゲなんだかノベルなんだかわからんゲームを作ってもまったく無問題。
66:名前は開発中のものです。
08/08/22 18:31:20 RTnVG24d
種類、死亡
X座標
Y座標
向いてる角度
加速度(角度)
加加速度(角度)
動いてる速度
加速度(速度)
出現してからの時間
次の動作までの時間
HP
ひとつ後の敵のポインタ(描画用)
ひとつ前の敵のポインタ
シューティング作ろうとしたら敵と弾の変数がこんなに多くなってしまったのですが
これ1000個宣言しても大丈夫ですかね?
67:名前は開発中のものです。
08/08/22 18:41:28 4khlv+bo
>>66
変数の数はあんまり気にしないほうがいいよ そんなもんだし
あと、かなりの数でも余裕だけどその前に画面が埋まってゲームとして成り立たなくなるから大丈夫だと思う
68:名前は開発中のものです。
08/08/22 19:36:05 3yjiLRX5
流れ切ってすまんけど、弾幕系のゲームにシールドってありかな?初心者向け機体とかでいれようかと思ってるんだが…
69:名前は開発中のものです。
08/08/22 20:06:16 NS7yc2Pr
カラスとかにもあるし良いんでない?
70:名前は開発中のものです。
08/08/22 20:14:48 X34z8Pub
>>66
1000並べた時に問題になるのは変数の多さじゃなくて、画像処理の方だから問題ないと思う。
>>68
いいんじゃね。R-TYPEとかパロディウス的に考えて。
71:名前は開発中のものです。
08/08/22 20:41:13 3yjiLRX5
>>69>>70
サンクス!フォースあたりを参考に作ってみるわ
72:名前は開発中のものです。
08/08/23 10:23:14 4bAD3hrh
>>66
俺は弾1個のクラスだけで150バイトぐらいあるがそれで2000個宣言してるから安心してOK
73:名前は開発中のものです。
08/08/23 12:25:00 wlFOGBjl
>>72
まて、全部doubleでやっても流石にそんないかなくね?
74:名前は開発中のものです。
08/08/23 12:48:10 cF2fhCmE
点数が溢れる可能性があるからlongじゃなくてdoubleで持ちましょう
ですね、分かります
75:名前は開発中のものです。
08/08/23 14:08:36 3Oms+s7k
>>73
行動パターンとかもデータとして持っておくなら、いくらでも大きくなれるよ。
76:名前は開発中のものです。
08/08/23 17:21:58 dlvgQBQZ
敵の行動パターンなどはどうやって作成しているのでしょうか?
1.ソースコードに直接埋め込む
2.別ファイルに定義し、ステージ開始時に読み込む
1.2.それぞれ メリット、デメリットなどを書いてくれるとありがたいのですが
77:名前は開発中のものです。
08/08/23 17:30:06 dlvgQBQZ
他力本願もいけないので私なりの考えですと
1.メリット:作成が簡単
デメリット:いちいちコンパイルする必要がある
2.メリット:コンパイルする必要がなくなる
デメリット:定義するパラメータなどの複雑化
他 ご意見ございませんでしょうか?
78:名前は開発中のものです。
08/08/23 17:43:59 L0H1blrE
中間もあるな
79:名前は開発中のものです。
08/08/23 17:45:45 h4eOuCSR
>77に追加、補足など。
【1】
メリット:
●特に何もしなくても、定義データが実行ファイル内に含まれるので、
暗号化とか、アーカイブ化しなくても、データを弄られる心配がそんなにない。
●プログラマが定義データを作るので、複雑な処理や例外的な動きなども必要な時にサクッと作れる。
デメリット:
●複数の人で開発している場合は、プログラマしかデータを弄れない。
【2】
メリット:
●特に複数メンバーで開発しているような場合だと、分担作業ができるので超☆有効。
というか何人かで一緒に作ってるなら外部ファイルは必須。
デメリット:
●定義ファイル(スクリプト)の仕様を、あまり複雑なものに出来ない。
複雑すぎるスクリプトは、結局プログラマしか扱えなくなることがあるという。
ただし、これに関してはスクリプタの腕次第。商業作品であれば専用のスクリプタがいる場合も。
●定義ファイルは最終的に暗号化やアーカイブ化しないとユーザに内容を見られてしまう&弄られてしまう。
●STGはそうでもないかもしれないが、既存のマップエディタの類を利用できる
80:名前は開発中のものです。
08/08/23 17:47:16 n2JXhqWY
>>78
気になった。マクロで記述するとか?
81:79
08/08/23 17:48:08 h4eOuCSR
失礼。
>79の【2】のデメリットの3番目は、正しくはメリットですね。
というわけで。
複数のメンバーで開発してるなら外部ファイル、1人ならどっちでもいいかも、くらいかと思います。
82:名前は開発中のものです。
08/08/23 19:15:26 3Oms+s7k
>>76
1. メリット: 起動が速い、プログラムがシンプル
デメリット: 毎回コンパイルするのがまどろっこしい
2. メリット: 変更が即座に反映される
デメリット: プログラムが複雑
3. 俺の考える中間 = リリース版においてはスクリプトを読み込み内部データを生成してシリアライズする。
メリット: 1、2のメリットを享受できる
デメリット: プログラムが余計に複雑
83:名前は開発中のものです。
08/08/23 19:54:52 dlvgQBQZ
ご意見ありがとうございます
中間、シリアライズが、よくわかりませんが
一人での開発となるので 1 を採用したいと思います。
ありがとうございました。
84:名前は開発中のものです。
08/08/23 23:29:42 aWRf8BFC
シリアライズっつうか、C/C++コードに落とす方法もあるね。
WAIT 10
TURN 16
SHOT TO_MYSHIP
みたいなマクロを
void zako(Status st) {
switch (st->state) {
case 1: {
if (++st->count < 10) break;
else { st->count = 0; st->state++; break; }
}
case 2: {
st->degree += 16;
shot(st->my_x, st->my_y, GetMyShipDeg(&st));
st->state++; break;
}
case 3: { ・・・
みたいに機械変換・展開する。更に手を加えて関数テーブルにしてしまう。
速度命でなければあまり意味ないけど。
85:名前は開発中のものです。
08/08/24 06:08:05 zMSpaWbd
豚切り質問
極座標で、引力風の加減速する誘導弾作りたいんだけどやってる人いる?
XYでそれぞれ増加量を取れば簡単だけどベクトル計算でもできるだろか?
一回直交座標に戻すことしか思いつかん・・・
86:名前は開発中のものです。
08/08/24 11:13:31 zRm82S1j
>>84
LL系言語のテンプレートとかで自動生成してもいいかもね。
87:名前は開発中のものです。
08/08/25 16:24:14 Tr1xSsHl
>>85
ベクトル計算とXYの増加量って同じじゃね?
88:名前は開発中のものです。
08/08/26 00:47:53 mX/3cQ59
直行座標系で移動ベクトルと加速度ベクトルを管理して、
曲面上に一旦投影したほうが単純なんじゃね?
極座標系のZはそのあと適用かな。僕エスパー。
89:名前は開発中のものです。
08/08/27 23:11:19 0gVLJp85
俺HAEEEEEEEEEEEE!なシューティング案が浮かばなくて困る。
レースゲーのような速度表示とかつけても、体感速度が上がらないとよくわからんゲームになりそうだし。
FPSを自前で制御して60以上に上げてもいいけど、低スペも考えると無理そうだなぁ
90:名前は開発中のものです。
08/08/27 23:13:16 jmtIZjVC
とりあえず基本
・縦シュー
・背景を高速スクロール
91:名前は開発中のものです。
08/08/27 23:25:00 H1jnaxKC
>>89
敵が対応出来ない程の速度で突っ込んできたり
一瞬で画面外にすっ飛んで行っても困るしな
92:名前は開発中のものです。
08/08/27 23:34:21 fj3ggo4y
>>86,87
スマン、角度と速度で弾と敵の動きを定義してたから、統一したくて
XYの増加量を分離しないでやる方法があったら知りたいって質問だったけど
よく考えたらベクトルの足し算ってXYで分離するしかなかった
93:名前は開発中のものです。
08/08/27 23:50:04 0gVLJp85
>>90
まあ横でもアリかと思うが。
>>91
速くなりすぎた代償としてはいいんだがな。
衝突が嘘判定になりそう
94:名前は開発中のものです。
08/08/28 01:48:57 KjrNgwzc
>>89
演出によって体感ハエー感はかなり変化すると思うぜ
BGMがノリノリだとウホッ!俺ハエッ!となるし
3Dなら拡大系のフィードバックエフェクトで画面隅の背景に
ブラーがかかってるとウハツ!俺ハヤス!となるかもだ
95:名前は開発中のものです。
08/08/28 02:06:04 DoMNDuDR
3D後方視点
96:名前は開発中のものです。
08/08/28 10:14:50 MS2hHN8x
敵を追撃する、あるいは敵を後ろから追撃させる形にすれば、
敵の動きはのろくても、高速の世界での戦いになるんじゃね。
97:名前は開発中のものです。
08/08/28 13:09:57 VZwGSez1
画面上では止まっていても、背景スクロールなどを考えるに、自機は常に前へと移動してるとする。
そう考えると、敵は後ろに下がりながら攻撃してたりするんだよな。
98:名前は開発中のものです。
08/08/28 13:36:33 4ZvC6hJE
>>97
言われてみれば確かに!
今ままで全然気づかなかったw
99:名前は開発中のものです。
08/08/28 14:36:54 73R3Xxs7
>>97
バック走ですね、わかります
URLリンク(homepage2.nifty.com)
100:名前は開発中のものです。
08/08/28 16:25:55 Y3Mv/OLQ
>>89
初代スグリのゲームシステム模せば俺HAEEEできるんじゃね?
101:名前は開発中のものです。
08/08/29 00:55:03 2xEvauFT
ザナック!ザナック!
102:名前は開発中のものです。
08/08/30 19:09:07 O3PxkN+V
横シューの難易度調整の難しさは異常
103:名前は開発中のものです。
08/09/01 16:05:59 2lnSdX1u
↓これまじですか?持ってる人いたらください。お礼はします
362 名前:名無しさん@弾いっぱい[sage] 投稿日:2007/05/01(火) 10:52:07 ID:BXxW4/Vn
超連射の効果音はフリーとして配布してたような
104:名前は開発中のものです。
08/09/01 16:51:48 CSGjNBDp
普通に.pcmで入ってないか?
形式は MSM6258v 15.625kHz
X68kのpcm>wav変換ツールは探せば出てきそうだが
105:名前は開発中のものです。
08/09/01 16:57:55 gYzZxzMx
>>104
サンクス
2つぐらい試してみたけどうまくできなかった
家帰ったらもう一回やってみる
106:名前は開発中のものです。
08/09/01 17:06:04 ZEiLOxfm
ちょっと質問です。一応自分なりのやり方で作ってはいるのですが、どうもすっきりしないので。
目的) 2Dシューティング上で、発射位置、命中位置の二点間をつなぐ。
ただし、レーザーのような直線ではなくて、方向にランダム性をもたせて
電撃のような軌道にし、最終的に命中位置まで到達させる。
条件1) 二点間の距離には上限がある。
条件2) 二点間をつなぐ線は、「短い線」を数珠繋ぎにして描く。「短い線」の長さは固定。
条件3) 線が弧を描くようにして、急激に折れ曲がるようなのは避ける。
繋がった線と線の角度差は45度が限界とする。
条件4) 繋げる「短い線」の数にも上限がある。
条件5) この「二点間を繋ぐ線」は1フレームごとに描きなおすので座標の保持は不要。
(ヘビのようにうねうね動かしたりしない)
「短い線」の長さが決まっていて、曲がる角度にも限界があると、
位置によっては衛星軌道のようにぐるぐる回るだけで命中位置に到達できないだろうって事は
試すまでも無く解ります。
また、二点間の距離に上限があるとしても、曲がり方にランダムが混ざる以上、
到達までにどれくらいかかるかは不明なので「短い線」の数が上限を越える場合もある事も解ります。
107:名前は開発中のものです。
08/09/01 17:07:15 ZEiLOxfm
結局、私がとった方法は、条件3と条件4を部分的に無視したもので、次のようなものです。
「発射位置から、命中位置の方向へ方位修正しながら向かう。
何回かに一回くらいの割合(ランダム)で、関係ない方向へ曲がる時をまぜる。
この時の曲がる角度もランダム(ただし曲がる角度は条件3の上限を守る)。
命中位置に到達すればおしまい。
もし、つなぐ「短い線」の数が上限に達した場合は、その位置から命中位置まで
むりやり直線で繋ぐ。(この時に条件3と条件4を無視する)」
この方法だと線の最後あたりが情けない事になるけど、
全体的な曲線が、発射位置からみて扇状に伸びていくのが割とかっこいい。
他に考えた方法だと
案A) 発射位置と命中位置、それぞれからお互いにむかってランダムを含みながら線を伸ばし、
一定回数伸びたところで、その先端同士をむりやり直線で繋げる。
案B) 発射位置と命中位置の間の空間一帯に、2点ほどランダムで中継地点を設け、
発射位置〜中継地点A〜中継地点B〜命中位置、それぞれの間を
弧で綺麗に繋がるように計算して軌道を描く。
というものがあったのですが、どっちもいまいちピンときませんでした。
このような事を実現したい場合の良い方法には他にどのようなものがありますでしょうか。
108:名前は開発中のものです。
08/09/01 18:28:42 Ik31Cyne
全然自信なくて全然参考にならんと思うけど
まず命中位置と発射位置を計算して弧でつなぐ 「短い線」の本数は距離によって変える
「短い線」が > こうなってるところは < こんなふうにしてつなぎ目を対象移動できる
そしたら上の線とさらに上の線は > こんなふうになっているからそれも移動できる
それを最後まで繰り返す 45度以上になるときは対象移動できなくする
棒を飛ばしたり 何個も含んで対象移動するとちょっと変わる
109:名前は開発中のものです。
08/09/01 21:22:13 08mwU9Dg
>>107
とりあえず、雷の画像をメモリに置いておいて、発射位置と命中位置が合うように回転/拡大縮小すればいいんじゃないかと思った。
110:名前は開発中のものです。
08/09/01 22:19:08 7DSWwsP5
>104
PCMCONVってやつで綺麗に変換できた
どもです
111:名前は開発中のものです。
08/09/02 02:51:02 csq9srzC
>>107
2点を発射位置P(x,y)、命中位置Q(x2,y2)とする。
平行移動して発射位置が原点に来るように移動。
P' = (0, 0)
Q' = (x2-x, y2-y) = (x', y')
新しい命中位置Q'(x',y')がX軸に重なるように回転。
回転させるために回転行列Rを用意する。
R = ( cosX, sinX ) ( -sinX, cosX ) 角度Xは線分P'Q'とX軸の間
P'' = RP' = 原点
Q'' = RQ' = X軸上の点
最後に原点からQ''までの間を、長さrでn本の線分Tで目指す。
線分の各点を Tn(tx(n),ty(n)) とするとき、極座標で差分を表現する。
tx(n) = tx(n-1) + r*cos(t)
ty(n) = ty(n-1) + r*sin(t)
rに乱数を混ぜれば線分の長さがかわる。
角度tの変化を抑えれば急激な曲がり方はしない。
例えば t(n) = t(n-1) + rand() * ??? という風に。
計算が終わったら逆回転と逆平行移動すればおわり。
0除算に気をつけろ!
とか、如何ですか。
112:106
08/09/02 20:01:05 4WgYs4ZE
106です。ご意見をありがとうございます。
>>108
イメージとしては置かれたヒモを指でちょいちょいと形作っていく感じでしょうか。
その発想は無かったです。45度制限がなければ簡単そうですが、
あると計算量が結構増えそうなところがネックでしょうかね。
>>109
それは無茶というものですw
>>111
二点間の距離をX軸とした、サイン波のようなものを描いてから
角度を戻す、という感じでしょうか。
113:106
08/09/02 20:04:27 4WgYs4ZE
ご意見を参考にしながら、私ももう一度考えてみました。
とりあえず、繋ぐ「短い線」の個数は無視するとして、
45度制限を守りながら、「命中位置」までしっかり到達するにはどうしたらいいか、と。
色々悩んだ末にやっと気づいたんですが、
45度で曲がりつづけて一周したら、正八角形になる。
つまり、その正八角形の中に「命中位置」があると絶対に到達できないんですね。
と言う事は、その内で辺同士が最もも離れた距離(対角線)、
/ ̄\
↑ ↓
\_/
上図でいう矢印の先端同士の距離以上離れていたら、
「命中位置」に向かって方向修正しつつ進む事でいずれは到達できるんですよね。
というわけで現在は、「短い線を繋ぐ回数が限度を越えた」後は
「命中位置まで直線を描く」のではなく、一定の距離離れるまで「命中位置」とは逆の方向へ進み、
その後、命中位置向けて方向修正するという方法を試しています。
114:名前は開発中のものです。
08/09/02 20:10:55 6yKZpfqS
進むごとに線の長さ短くしたらいいんじゃないの?
115:106
08/09/02 20:38:22 4WgYs4ZE
画像を繋ぎ合わせる事が前提ですから,線の長さは固定なんですよ。
116:名前は開発中のものです。
08/09/02 21:42:42 M0CWdIo4
逆に命中地点から考えて 短い線の長さを1とすると
発射視点側の端が存在できるのは半径1の円周
その端から伸びている線の端が存在できる範囲は
原点から距離が√(2+√2) 〜 2の範囲
そうして計算を続けていくとその幅が1を超えるとき(n回目)がくる・・・
ここから先は何となくイメージできるけど字にできない
117:名前は開発中のものです。
08/09/02 23:43:07 wnHyOugN
電撃の形っていうのはフラクタルだから、そっちの方から考えてみる。
・始点をP0、終点をP1、描画に使う線の長さをLとする。
・P0とP1の中点P2を求めて、ランダムに少し移動させる。
・P0-P2の中点P3、P2-P1の中点P4を求めて同じようにランダムに少し移動する。
・以下、2つの点の距離が2L以下になるまで再帰的に繰り返す。
・2つの点の間を、2つの線を使って描画する。
Pn Pm
====== ←線
======
線の端の位置を点に揃えて、真ん中で少し重ねる。
重なるのがイヤなら、2つの線で二等辺三角形を描くように調整する。
45度制限や線の個数制限は考えてないけど、ランダム移動の時に考慮すれば
何とかなるかな?
118:名前は開発中のものです。
08/09/02 23:44:50 wnHyOugN
しまった、半角スペースは消えるのだった。
Pn Pm
====
====
図はこんな感じで
119:名前は開発中のものです。
08/09/03 03:49:36 5CRPY6OW
>>112
サイン波はでてきません。
例えば単純化した P(0,0) 〜 Q(100,0)の接続について
線分の長さ r が一定で、角度 t は45度の範囲で変化するとします。
r = 10
t = 0 → 20 → 65 → 30 → -15 → -20 ...
P(0,0)
P1 = P + (10*cos(0), 10*sin(0) )
P2 = P1 + (10*cos(20), 10*sin(20) )
P3 = P2 + (10*cos(65), 10*sin(65) )
P4 = P3 + (10*cos(30), 10*sin(30) )
P5 = P4 + (10*cos(-15), 10*sin(-15) )
P6 = P5 + (10*cos(-20), 10*sin(-20) )
八角形理論と同じ条件になる初期値は
r = 41
t = 90度
という感じです。
120:名前は開発中のものです。
08/09/04 01:27:07 Re8HSlEn
無料で遊べる、あるFPSゲームがあるのですが
そのゲームはマルチ対戦しかできません
そこで、そのゲームをシングルモードで遊べるように制作したいのですが、質問があります。
シングルゲームを作るには、ゲーム制作用のフリーソフトや有料ソフトを使わないと作れないのでしょうか?
もしくは、c言語などのプログラムを取り組むだけで無料で作れるのでしょうか?
121:名前は開発中のものです。
08/09/04 01:38:09 J1E9Lm+R
>120
魔法の言葉を教えてあげよう。
「今のお前には無理」
これは冗談でも叩きでもなく、
どのようにすれば実現できるかも分からないような段階では絶対に無理だということ。
ところで、このスレってFPSもOKだっけ?
122:名前は開発中のものです。
08/09/04 01:42:05 k8o8pdXd
>>120
C言語とかで無料で作れるよ。
最低限、理系大学生レベルの代数幾何は理解してないと無理だろうけど。
作れるようになるまでの努力はプライスレス。
123:名前は開発中のものです。
08/09/04 06:27:10 IquF4PJZ
>>120
>そこで、そのゲームをシングルモードで遊べるように制作したい
「そのゲーム」をシングルモードで遊ぶ=「そのゲームを」対BOT戦の一人プレイで遊ぶ
ということなら、そのゲームがBOT開発用のSDKを配布してるなら一応可能だな
SDKが無いなら極めて厳しいな
シングルプレイのFPSを新たに自作するということなら>>120の方法とか
あとはDarkBASIC Professional とかがお勧めだな
プログラミングとかあんましたくないならMODだな。MODが作れる他の市販を買え
HL2(HalfLife2)に付属するHammerエディタでレベル(マップ)作ってXSI ModToolで
キャラクターのスキンモデルを作れば見た目オリジナルっぽいゲームは作れる
MODの欠点はユーザーもHL2を持ってなくちゃいけないっつーことだな
まぁ、好きにしろ。がんばれ
124:名前は開発中のものです。
08/09/04 06:28:43 IquF4PJZ
× >>120の方法とか
○ >>122の方法とか
× 他の市販を買え
○ 他の市販FPSを買え
125:名前は開発中のものです。
08/09/04 07:01:06 kLEmrHWM
本を買ったら倍の速さでゲーム制作を習得できる
けど本はただではない
126:名前は開発中のものです。
08/09/04 18:07:06 aXBJ41DO
暇だから誰かゲームのスクショうp!
127:名前は開発中のものです。
08/09/04 18:15:47 lMqgrNUt
>>126
もう少し気の利いたレスしておくれよ
128:名前は開発中のものです。
08/09/04 18:39:30 jRSd1c3k
>>126
暇だからこそお前がするんだよ
129: ◆PSPI/D/D3o
08/09/04 19:00:11 L1O+l2lR
>>126
俺のでいいなら(・∀・)
URLリンク(p.pita.st)
130:名前は開発中のものです。
08/09/04 19:00:22 WFB7De9W
なら暇だから俺がssをうp!
URLリンク(www26.atwiki.jp)
131:130
08/09/04 19:03:47 WFB7De9W
後発だった上に、クオリティで明らかに負けた……
132: ◆PSPI/D/D3o
08/09/04 19:07:46 L1O+l2lR
>>130
すげぇ横シューか(・∀・)画像とかしっかりしてていいな
俺のは映してないからわからんがいまだにスコアとかDXLib標準出力関数の奴のみだぞ
背景はツクールのだし
横シューは地形との当たり判定とか想像もできん…
133:名前は開発中のものです。
08/09/04 19:25:08 aXBJ41DO
二人ともグラフィック凝ってるな〜
楽しんで作ってる感じが伝わってくる
俺も頑張らんと
>>130はthe one caseの人かな?
134:名前は開発中のものです。
08/09/04 19:36:31 kLEmrHWM
そうかDirectXだけがゲームじゃなかったのか
DXライブラリなんて今の今まで知らなかったぞ
半年かけてCからシェーダプログラムまでやって
偏差値がちょっと下がっちゃったじゃないか!
135:130
08/09/04 19:38:56 UWGb2gC2
>>132
これはツールで作成してるんで、プログラム的なことはさっぱりだったりw
自分も背景は素材をいじって使ってるだけですし
そういう>>132さんは弾幕の制御すげぇw
形が揃った弾幕の作り方はさっぱりだ
>>133
なぜばれた
the one caseの時は、このスレでお世話になりました
本当にありがとうございます
136: ◆PSPI/D/D3o
08/09/04 19:44:00 L1O+l2lR
>>134
URLリンク(homepage2.nifty.com)
2Dゲームなら十分な性能かも。何より簡単(・∀・)DirectX8.0
これに出会わなかったら俺はHSPから抜け出せず処理落ちで死んでいただろう
137: ◆PSPI/D/D3o
08/09/04 20:00:50 L1O+l2lR
>>130
一定間隔で弾を撃たせれば自然に幾何学模様になる不思議
ツールは安全でいいかもなぁ(・∀・)
俺は自由度を求めてCよくわからないのにC++でやってて意味不明なエラー出てフリーズしてファビョったりしてる
138:名前は開発中のものです。
08/09/04 22:11:29 RzPfHSJq
>137
>一定間隔で弾を撃たせれば自然に幾何学模様になる不思議
そのハズなのに、何故かおぞましい図形になったりすることも……
139:名前は開発中のものです。
08/09/05 00:28:00 QMX3NRCZ
>>129
>>130
うほっ!いいすくしょ
140:名前は開発中のものです。
08/09/05 10:14:57 3aIvEtoY
>>122
「代数幾何」というと、普通はalgebraic geometryのことを指すので、
“algebra and geometry”の意味で言っているのなら、「代数・幾何」
あるいは「代数および幾何」みたいに書いた方が誤解が無くていいと思う。
141:名前は開発中のものです。
08/09/05 14:55:12 XjIBbdXj
ぐ
142:130
08/09/06 13:10:30 jPYlAhtp
ちょっと自分の作ってるゲームで、聞きたいことがあるので、まずうpします
上の方で、シューティングに会話文いれる場合のことを聞いて、
会話文無しのモード、Xボタンでスキップ可
などの要素をつけて作ったのですが、
こんなんで大丈夫なのでしょうか?
あと、まだ0〜1面しか作れていないのですが、
しょっぱなから殺す気満々過ぎるでしょうか?
時間がある方、良ければプレイしてみてください
URLリンク(www.erc-j.com)
の左上にあるSTG-UPLから入れるアップローダーのstg362.lzhからダウンロードできます
143:名前は開発中のものです。
08/09/06 13:31:29 6eYbL84n
>>142
プレイさせていただきました。
まったくもって問題ないと思います。
熟練モードの方やってみましたが、方向を切り替える練習という感じで
優しすぎもなく難しすぎもなくちょうど良いと感じました。
MPためていつでもシールド張れるってのはなかなか面白いですね。
144:名前は開発中のものです。
08/09/06 13:35:06 iu5JI0VZ
すげぇ! まぁこんなこと気にするのは俺だけだと思うけど
倒したときの効果音が大きいから撃ち続けて曲のリズムに合わせるように倒せるようにしたらいいと思う
ステージ1ではそうなっていてよかったけどステージ0は何か違和感があった
145:名前は開発中のものです。
08/09/06 13:48:24 rLQq9Vn9
面白そうだな
敵の攻撃も激しくないから、序盤はこういう感じで全然問題ないんじゃないか
146: ◆PSPI/D/D3o
08/09/06 14:23:47 sCud3jeU
>>142
すげぇ(・∀・)よくできてんな〜
横シューほとんどやったこと無いから敵の体当たりが怖いのなんのwwww
俺のも動作確認とりたいからうpしたいがキーコンフィグとかまだついてないんんだよな
147:名前は開発中のものです。
08/09/06 15:41:49 o3Hew+hr
>>142
熟練→初心者とやったけどギミックシューだから飽きずに両方とも楽しめた。
チュートリアルもありがたい
敵のオレンジの弾は発射する瞬間に周りを光らせたりするともっと見やすくなると思う
148:142
08/09/06 16:09:53 GVZRzuVp
おお、レスありがとうございます!
方向性としては間違ってないみたいで安心
このまま頑張っていきます!
>>143
MPで、いつでもシールドってのは、
かかえ落ちしやすい初心者向けのシステムとして考えたものです。
おかげでボタンが増えちゃったのが難点ですが
面白いと思っていただけるのは、ありがたいですw
>>144
rezじゃないんだよw
曲のリズムと合わせるってのは、結構難しいような
敵の倒し方はプレイヤーに任されるだけに
合わせ方がよくわからないです
でも、曲とゲームの融合ってのは、もうちょっと考えてみる
>>145
個人的には難しいめに設定したのに、やるなw
意見サンクスです〜
>>146
体当たりが恐いのはあるあるww
自分もよくぶつかって死ぬw
142さんのゲーム、うpしてくれればプレイします
頑張ってください〜
超期待!
>>147
ギミックシューだから、ネタがどこまで続くか不安だったり
発射時に発光って、発射のエフェクトを作るってことでしょうか?
149:148
08/09/06 16:14:11 PWoU+luK
>>148
>>146
◆PSPI/D/D3oさんのゲームに期待!
の書き間違い、すみませんでした
なんで自分のゲームに期待してるみたいなミスしてるんだよ俺……
150:名前は開発中のものです。
08/09/06 16:46:07 o3Hew+hr
>>148
魔法みたいなモーションじゃなくて、Strikersみたいな一瞬光るくらいのエフェクト
一瞬フラッシュすると自然とそっちに目が行って弾を認識しやすくなる
弾が遅いかでかくて、敵との距離もあるstgならいらないけど、非弾幕なら必要だと思う
151:名前は開発中のものです。
08/09/06 17:44:19 rAc/vHNR
>>151
Strikersが何かがわからないのですが、
言いたいことはなんとなく把握。
とはいえ、射撃してくる敵が多いうちの作品の場合、
フラッシュが多すぎてちらついたりしないだろうか……
とりあえず、導入してみます。
152:151
08/09/06 17:57:35 Y4tbpN8y
>>150のstrikersは彩京シューのことね
なのはとかストライクウィッチーズに気を取られすぎて、思いつかんかった
ああいうのは確かに重要だわ
スレ汚しすまんかった
153: ◆PSPI/D/D3o
08/09/06 18:23:43 sCud3jeU
>>149
今から突貫でキーコンフィグとかキャラモーションとかつける(・∀・)
コンフィグはiniファイルをいじる形式でもいいよな?キーコンアプリを作る時間はさすがに無い…
154:名前は開発中のものです。
08/09/06 22:13:17 becGidmh
Iniファイルを書き換えるアプリでもいいのでは?
ここみる人くらいならIniファイルの書き換えなんてちょろいかもしれないけど
普通の人に直に書き換えろというのはきついかもしれない。
155:名前は開発中のものです。
08/09/06 22:28:52 3nQRlgn1
iniファイルを書き換えるキーコンアプリは
フリーウェアか何かで既にありそうな気も……。
156: ◆PSPI/D/D3o
08/09/06 22:46:33 sCud3jeU
それ以前に今日中にキーコンフィグをつけられるかどうかになってきた
ファイル入出力関数まだよくわからない…
あと完成度的にまだゲームですら無いから動作確認程度の内容と思って欲しい…
157:名前は開発中のものです。
08/09/06 22:48:29 ZoGq+v9j
SBはキーコンフィグ対応だった希ガス
プログラミング派なら自分で頑張るしかないね
というかどこかにキーコンフィグのつけかたみたいのかいてないのかな?
158:名前は開発中のものです。
08/09/06 22:54:39 o3Hew+hr
URLリンク(homepage2.nifty.com)
ここの一番下
159:名前は開発中のものです。
08/09/06 23:20:02 o3Hew+hr
ミスorz
URLリンク(homepage2.nifty.com)
ここにあるやつ、うちの環境だとなぜかうまく動かないけど
ソース入ってるから読み込みの参考にはなるかも
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5332日前に更新/212 KB
担当:undef