08/04/04 10:46:32 hPpN0s4/
空間分割ってのがありまして。
完全2Dなら当たり判定のある空間を縦横20くらいに分割して、
それぞれの空間に属するもの同士で判定を取ることで、
当たる見込みの無いものとの判定を事前に回避する。
201:名前は開発中のものです。
08/04/04 12:27:23 euXxyvh6
>>199
スレリンク(gamedev板:762-765番)n
↑の質問したのお前?
仮に別人だとしてもこの過疎板でこのタイミングで同じ質問が二度出るのは変だな
どっかのゲー専の宿題か何かか?正直に吐いたら褒美をくれてやるぞw
202:名前は開発中のものです。
08/04/04 13:27:02 AI/AEUDG
違います。
ゲー専の宿題でもないです。
今、自分で2Dゲーム作ってて、
キャラと弾、全部あわせると最高1600強を動かしてて、総当りでやってて問題なく遊べてる。
(もちろんあくまで「最高1600」であって、常にそれだけ動いてるわけではない)
「自機と敵弾」だけの判定じゃなくて、「敵と敵弾」とかの判定もやってるのに
ちゃんと遊べるから、最近のPCの処理速度はすげーなーとか思いつつも
やっぱもっと効率のいい判定方法ないかな、と考えてただけです。
203:名前は開発中のものです。
08/04/04 14:08:55 98Hdy+Q5
1600*1600の総当りは3年位前のスペックだときつくないかな?
204:名前は開発中のものです。
08/04/04 14:20:04 kACwEiIs
三年前、2005年のスペックというと
athlon64が全盛でathlon64x2が登場、Core2Duoがまだ、という辺り
有り得ないくらい余裕だな
205:名前は開発中のものです。
08/04/04 14:36:20 8r+omDm7
1600*1600だと最新マシンでも空間分割しないときついんじゃないか。
>>196は弾*キャラなんじゃない?
206:名前は開発中のものです。
08/04/04 16:24:58 XVBdGsRf
典型的な2DSTGで1600のオブジェクトを表示するったって大半が弾なんだけど
1600*1600という数字(組み合わせ)に一体何の意味があるのか>>203は説明できないだろ
207:名前は開発中のものです。
08/04/04 16:25:30 KKsDXKAb
URLリンク(ja.pastebin.ca)
やっつけだがpen3 1GHzのマシンで平均32ミリ秒
30fpsで間に合わないってところか
208:名前は開発中のものです。
08/04/04 17:04:15 KKsDXKAb
URLリンク(ja.pastebin.ca)
今度は32*32の敵64体と16*16の弾1600発のテストで、弾はヒットしたら壊れるという想定
同マシンで2~3ミリ秒
余裕すぎるな
ただのジコマンなのに連投してすまん
209:名前は開発中のものです。
08/04/04 17:25:12 0OItj9LK
総当りっていったら、普通は敵だの弾だの関係なく
{1600}C{2} = 1600*1599/2 の組み合わせになるんじゃないのか?
64*1600の組み合わせじゃあ桁が違う
210:名前は開発中のものです。
08/04/04 17:32:55 KKsDXKAb
>>209
それは>>207
>>208は単なるジコマンぽ
211:名前は開発中のものです。
08/04/04 19:04:55 g/x8ThIF
>>203は
”総当りの意味をちゃんと使ってくれ”
と、暗に言ってるだけだと思うんだが
212:名前は開発中のものです。
08/04/04 20:34:11 GfOfbOVS
オブジェクトを敵機・弾など種類ごとにリストにしておき、
あるリストの要素と別のリストの要素の当たり判定を行うことで、
無駄な判定はなくせると思うが
213:名前は開発中のものです。
08/04/04 20:42:54 9+TzVPLQ
俺もそれだ。
214:名前は開発中のものです。
08/04/04 21:04:37 qbhzPNp0
>>212
例えば自機が画面の左下にあるのに
右上に固まってる敵弾と判定と判定を行うのは無駄な判定だとは思わないか?
215:名前は開発中のものです。
08/04/04 21:06:02 qbhzPNp0
なんか変な文章に・・・
216:199=202
08/04/04 21:43:26 WdCHFh7R
なんか俺の書いた事について色々あったみたいで、申し訳ないです。
俺が問題としてた話題はあくまで「総当り以外の判定方法」であって、
それ以外(俺がどんな事やってるか)は、この際関係ないから
>>201さんに納得してもらえる程度の情報出せばいいと思って
おおざっぱな説明しただけで、実際に1600*1600の判定やってるわけじゃないです。
常に全キャラ使ってるわけじゃないし、キャラ同士、弾同士の衝突判定は
ある場合より無い場合の方が多いし、そもそも味方同士の判定はやってないし、
というようにかなり減らしてはいます。
という事で>>201さんに納得していただいて、その褒美を貰おうと心待ちにしている次第です。
217:名前は開発中のものです。
08/04/04 22:03:57 GfOfbOVS
>>214
当たり判定範囲が矩形なら無駄な判定は生じない
むしろ、空間分割の方が無駄
5~10個の矩形の複合体とか円形とか多角形なら、空間分割にも利があるけど、
矩形のバウンディングボックスで一度判定すれば十分だろ
218:名前は開発中のものです。
08/04/04 23:32:07 qbhzPNp0
俺の日本語がダメなばっかりに変な誤解をさせてしまってるかもしれない・・・
それとも俺が誤解してるのかも?
>>212の方法って敵弾が1000個あったとしたら
1000回自機と判定しなきゃならないってことだよね?
悪い例えだけど(実際はツリーだったり)
敵弾を分割した空間ごとにリストにしておき、
自機のある空間とその空間のリストの当たり判定を行うことで、
無駄な判定はなくせると思うが
219:名前は開発中のものです。
08/04/04 23:32:34 KKsDXKAb
組み合わせが多いときは、分割は有効だけどね
220:名前は開発中のものです。
08/04/04 23:37:39 KKsDXKAb
グリッドハッシュ
URLリンク(lucille.atso-net.jp)
シューティングにここまで必要か?と問われたら
個人的には要らないと答えるが
知っておいて損は無いと思う
221:名前は開発中のものです。
08/04/04 23:50:38 98Hdy+Q5
昔は、IF文使うときに&&を使わず
入れ子にして速度を稼いだりしたなぁ
222:名前は開発中のものです。
08/04/04 23:53:49 qbhzPNp0
確かに1対多だったら労力のわりにたいした恩恵受けるもんでもないんだけども・・・
223:名前は開発中のものです。
08/04/05 00:13:39 ElJWYWg0
とりあえず、オマエラ「空間分割 衝突」で1回ググれば幸せになれるんじゃね?
224:名前は開発中のものです。
08/04/05 00:23:10 xg5znUOR
>>221
わざわざ入れ子にしなくても
if( A() && B() )
これA()がfalseならB()は実行されないから
左のほうをfalseになりやすいものにすればいいと思うんだけど
昔のコンパイラは違うのかね
225:名前は開発中のものです。
08/04/05 00:27:12 ndMxol9I
>>209
敵弾とか敵機はお互い衝突しない
つまり敵属性同士は衝突しない
自機と自弾についても同じこと
敵(Enemy)と自(プレイヤー、味方、Friendly)。たった「2種」の敵味方属性
そしてオブジェクトに割り当てられる敵味方属性情報は静的。定数。const
プリプロセッサ、コンパイラにかける前から明らか。火を見るより
ゲームデザインの時点で既に決まってること
それなのに、判定…意味も無く…1600*1600回…あり得ない…愚行…常軌を逸する…愚鈍
226:名前は開発中のものです。
08/04/05 00:28:02 ndMxol9I
BULLET enemybulletarray[1500];
ENEMY enemyarray[100];
PLAYER player;
for(int n0=0; n0<1500; n0++){
for(int n1=0; n1<1500; n1++)
CollisionDetection( enemybulletarray[n0] , enemybulletarray[n1] );
for(int n1=0; n1<100; n1++)
CollisionDetection( enemybulletarray[n0] , enemyarray[n1] );
}
for(int n0=0; n0<100; n0++){
for(int n1=0; n1<1500; n1++)
CollisionDetection( enemybulletarray[n0] , enemybulletarray[n1] );
for(int n1=0; n1<100; n1++)
CollisionDetection( enemybulletarray[n0] , enemyarray[n1] );
}
//↑ここまでで1600*1600回
227:名前は開発中のものです。
08/04/05 00:38:24 ndMxol9I
BULLET playerbullet[100];
//2DSTGで総当りで当たり判定するっつったら普通コレ
for( int n0=0; n0<1500; n0++)
CollisionDetection(player , enemybulletarray[n0]);
for( int n0=0; n0<100; n0++)
CollisionDetection(player , enemyarray[n0]);
for( int n0=0; n0<100; n0++)
for(int n1=0; n1<100; n1++)
CollisionDetection( enemyarray[n0], playerbullet[n1] );
228:名前は開発中のものです。
08/04/05 00:43:36 ndMxol9I
BULLET enemybulletarray[1500];
>>226訂正
ENEMY enemyarray[100];
PLAYER player;
for(int n0=0; n0<1500; n0++){
for(int n1=0; n1<1500; n1++)
CollisionDetection( enemybulletarray[n0] , enemybulletarray[n1] );
for(int n1=0; n1<100; n1++)
CollisionDetection( enemybulletarray[n0] , enemyarray[n1] );
}
for(int n0=0; n0<100; n0++){
for(int n1=0; n1<1500; n1++)
CollisionDetection( enemyarray[n0] , enemybulletarray[n1] );
for(int n1=0; n1<100; n1++)
CollisionDetection( enemyarray[n0] , enemyarray[n1] );
}
//↑ここまでで1600*1600回
229:名前は開発中のものです。
08/04/05 00:47:03 KzcCKEO1
>>225-228
言いたい事は概ね同意だが下手なカイジネタは寒いからヤメレ
230:名前は開発中のものです。
08/04/05 00:51:05 ouV9zovg
自機と敵弾・敵機と自弾以外に衝突判定する必要無いだろ
1600×1600になるのは自機1600機と敵弾1600個みたいな時
231:名前は開発中のものです。
08/04/05 00:57:53 fK+4rNgg
弾同士が打ち消しあうときもな
232:名前は開発中のものです。
08/04/05 01:02:18 xg5znUOR
弾同士の当たり判定が無いなんて勝手に決め付けるなよ。
そういうSTG作りたいと思ってる人がいるかもしれないじゃないか。
というより5年前に俺が作った。
ビリヤード風弾幕wwwとかいいながら。
ひどい処理落ちで泣いた。
233:名前は開発中のものです。
08/04/05 01:03:00 KzcCKEO1
計算機アルゴリズムで使われる「総当たり」とか「総当たり法」ってのは
理論的にありうるor考え得る全ての組み合わせ全てを○○する、ことであって
この理論的にありうる、考え得るってのがキモ
理論的にありえない、100%かんがえられない組み合わせを端から除外しても
やはり総当たりだ
敵同士、味方同士は「当たらない」というルールになってるなら端から除外しても
やはり総当たりだ
234:名前は開発中のものです。
08/04/05 01:04:20 ouV9zovg
弾同士が打ち消し合うときは(1599 + 1) / 2×1599じゃないか?
235:名前は開発中のものです。
08/04/05 01:37:44 ndMxol9I
>>229
ウッセー自分で書いて後で赤面してんだからそれ以上言うな
236:名前は開発中のものです。
08/04/05 15:10:07 yDdR+5eW
33MHzくらいのCPUでSTGを作ったときは空間分割にしないと重くて大変だった。
そういうプアなハードじゃないなら好きに作った方がいいかもね。
237:名前は開発中のものです。
08/04/05 15:19:58 q5ZpKtyT
自機の弾が1600発とか弾で画面が見えなくなりそうだなw
238:名前は開発中のものです。
08/04/05 18:40:45 9fddUrpP
>>224
私の記憶が確かならば、A()でとっとと打ち切られるのはCの仕様で保証されているはずだ。
239:名前は開発中のものです。
08/04/05 19:27:04 hxbbxTAw
O(n^2)の壁は厚すぎる
240:名前は開発中のものです。
08/04/06 01:22:08 +j0OgDSv
>>218
矩形同士の判定程度だと、
ツリー管理コスト>>>衝突判定のコスト
だと思うのだが。これが3Dでコリジョンも複雑になってくると、
衝突判定コスト>>>ツリー管理コスト
になるけど
241:名前は開発中のものです。
08/04/06 01:42:33 5ljxdwAA
>240 の頭の中にはどんな木が生えているのだろう?
木ってぐらいなんだから再帰なんだんろうけど、
それよりも、ずっと簡単なs個の空間分割でこんな感じだよ。
比較回数(衝突判定回数)は総当たりが一定でO(N^2)としたら、
s個の空間に分割した時は、
最小 O(N^2/s +N) ~ 最大 O(N^2 +N)
+Nってあるのは、中心より上とか下とか、左右とか、分割条件との比較。
最大は、全ての判定対象が一つの空間に有るとき。
最小は、全ての判定対象が均一にそれぞれの空間に別れたとき。
最大なんて状態ばかりのゲームはそう滅多に作れない。
必要とあらば中心を移動する事もできちゃうしね。
242:名前は開発中のものです。
08/04/06 02:25:27 KzCv2Ahg
あれだ
弾幕ゲーが嫌いで、オブジェクト数がさほど多くない俺には不要>空間分割
243:名前は開発中のものです。
08/04/06 08:33:57 lZPN8UOZ
空間分割して、空間内にあるかどうかの判定って矩形判定みたいな
もんだよね。差し引きして恩恵あるのかね?あと、空間の境界にいる
場合は隣接した空間も含めなきゃいけないし、その判定のコストも
加わるから、あんまり恩恵がない気がするんだけど。
244:名前は開発中のものです。
08/04/06 09:49:50 LNMxVQdl
現空間x-1 <= 判定対象空間x && 判定対象空間x <= 現空間x+1
245:名前は開発中のものです。
08/04/06 10:21:25 UvIpq6SI
すみません。
空間分割による判定、のメリットというものがどうもイメージできないのですが、
例えば、縦シューで自機と敵弾(256発)の当たり判定で、
for(int i=0; i<256; i++){
if((自機Y座標-敵弾Y座標)の絶対値<当たりの深さ){
if((自機X座標-敵弾X座標)の絶対値<当たりの深さ){
(当たっている処理)
}
}
}
という単純な座標比較による総当たりを行っている場合、
空間分割にする場合どのように変更して、またそれによりどのくらいの恩恵が
得られるのでしょうか?
246:名前は開発中のものです。
08/04/06 10:32:56 wmWZV0ag
>>243
>空間分割して、空間内にあるかどうかの判定って矩形判定みたいなもんだよね。
それじゃ逆に判定回数増えるだろ。
例えば4分割だとしたらオブジェクトのポインタのリストを4つ準備して
オブジェクトを動かした後にでも空間別にリストに登録する。
判定したいオブジェクトの空間のリストのみ判定する。
空間の境界をまたぐ場合があるから実際はリストよりツリーを使うみたいだけど。
自機対敵弾みたいな1対多のような場合は>>240の可能性もあるが
しっかり最適化すれば恩恵はあると思う。
247:名前は開発中のものです。
08/04/06 10:51:59 ZtZMep9I
弾幕ゲーで弾同士の相殺でもない限り、
空間分割の恩恵は誤差範囲だと思うな
80-20の法則的にもっと別の部分の最適化に労力を使えばいい
248:名前は開発中のものです。
08/04/06 11:12:26 lDJhBuwb
空間分割なんて16ビット機でやってもいろんなオーバーヘッドで効果は微妙だった。
いくらか弾数が増えてるとはいえ、今のPCでみみっちいことしないでよろしい。富豪的に池
つーかまず衝突判定にそんなに時間かかってるのかプロファイリング取れ。
249:名前は開発中のものです。
08/04/06 14:07:39 IUsiyVu+
空間分割自体は当たり判定以外でも使える場合もあるかもしれないから
そういう方法があるとだけ覚えておけばいいんじゃない?
250:名前は開発中のものです。
08/04/06 19:03:41 lZPN8UOZ
>>246
難しくて分かりません。
他のレスを見て、合わせて、
必要ないということで納得しました。
251:名前は開発中のものです。
08/04/06 19:14:32 Cm7rU9iY
シューティングって、三角関数のテーブルは360度で足りる?
252:名前は開発中のものです。
08/04/06 19:38:45 ZtZMep9I
それくらい自分で判断しろ
253:名前は開発中のものです。
08/04/06 20:07:47 S2eA97Dz
どんなもん作りたいかによる
要するに自分で判断しろ
254:名前は開発中のものです。
08/04/06 20:51:46 HV30LXTn
普通に標準ライブラリ関数使いまくりでおk
255:名前は開発中のものです。
08/04/06 21:21:13 09KIF8si
むしろ度数法を久し振りに見た……。
256:名前は開発中のものです。
08/04/06 22:24:48 lDJhBuwb
だからテーブルとか考える前に普通に三角関数使ってみなよ。富豪的に。
たかがシューティングごときを作るのに、
あれこれレガシーな技をどこで覚えてくるんだいったいw
弾幕シューが技術的にすごかったのはX68000までよねーキャハハ
257:名前は開発中のものです。
08/04/06 22:37:18 +JZYHxk+
微妙に誉め言葉w
258:名前は開発中のものです。
08/04/06 22:45:56 mi699AnH
俺もそうだったが、
初心者ってどうでもいい部分の最適化にこだわるよなw
259:名前は開発中のものです。
08/04/06 22:54:25 wmWZV0ag
アセンブラ勉強し始めたりとかなw
260:名前は開発中のものです。
08/04/06 22:55:52 tOJ8RPAp
>>256
たぶん超連射のことを言いたいんだと思うがあれは弾幕シューじゃない。
そもそも68全盛期に弾幕シューなんてジャンルは存在しない。
知ったか乙。
261:名前は開発中のものです。
08/04/06 23:00:07 S2eA97Dz
マジレスとな
262:名前は開発中のものです。
08/04/06 23:13:28 3n+Chkyh
爆裂矩形弾が泣いてます
263:名前は開発中のものです。
08/04/06 23:19:08 S2eA97Dz
敵弾の多さならメルトダウンも負けない
テキストだけどw
264:名前は開発中のものです。
08/04/06 23:29:06 ZtZMep9I
>>260
265:名前は開発中のものです。
08/04/06 23:33:09 +JZYHxk+
爆裂矩形弾懐かしいw
あれで弾幕シューは俺には不向きだと悟ったなぁ。
266:名前は開発中のものです。
08/04/07 00:09:38 RkL7uReo
針弾弾幕は、その場で計算して回転で大丈夫?
267:名前は開発中のものです。
08/04/07 00:29:10 SYSPe7mm
大丈夫も何も、針弾は角度とか回転情報を持ってなくね
針弾=曳航弾。尾=残像=向きは速度(ベクトル)に平行
所有する変数は座標、速度、尾の長さ。せいぜいこんなもん
表示に際しても、太った線分=OBBを一個作るだけであり
角度とか回転計算が出る幕はない
268:名前は開発中のものです。
08/04/07 00:40:04 UhDksLO+
その場で回転を計算の意図が今ひとつ掴めないが
俺は弾の情報として角度は持たせてる
前の座標や速度からその都度計算してると完全に停止する場合に困るからね
あとは途中で方向が変化しない弾なら発射時に角度を計算して放り込んで弾が消えるまで使いまわし
変化する場合は毎回計算
まぁ好みでやればいいと思うよ
269:名前は開発中のものです。
08/04/07 01:18:56 SZ+jR7s6
融通が効くと思う方法にしとけ。
速度で困ることは無いと思うし。
270:名前は開発中のものです。
08/04/07 06:57:49 +8OjOCNS
前に、三角関数使いまくったら流石に重かったなあ。
271:名前は開発中のものです。
08/04/07 07:39:55 Rur2+VQh
改めて自分のソース見てみたら360度のテーブル使ってた。
不都合無いのでこのままいくがw
272:名前は開発中のものです。
08/04/07 09:06:33 +8OjOCNS
>271
俺も見てみたら、unsigned charのオリジナル角度表記を使ってた。
意味あんのかな、これw
273:名前は開発中のものです。
08/04/07 18:27:25 jWrDXnrl
自分は1周=256分割にしてますね。
360度だと、nWay弾とかの処理するとき、弾と弾の間の角度に端数がでませんか?
274:名前は開発中のものです。
08/04/07 18:35:56 Ln6527jm
2Dでもちょっとした誤差くらい気にならんよ
それに角度を度でやるなら360も約数多いから端数出にくいんじゃねえの
275:名前は開発中のものです。
08/04/07 19:08:11 jWrDXnrl
確かに誤差の範囲ですね。組み方次第でどうにでもなる問題かも。
自分の場合、多Way弾の弾と弾の幅を考えるときに、360度法でいうところの
90度からスタートして、半分、半分、半分、って幅を狭めていく考え方を
することが多かったから、1周が2のn乗のほうがやりやすかった、というだけの話。
276:名前は開発中のものです。
08/04/07 19:20:21 /whlgGmL
いまだに三角関数のテーブル使ってる人が俺以外にもいたなんて
俺は1024分割
当然座標も整数だよな
277:名前は開発中のものです。
08/04/07 22:10:13 nzfTFxMf
そうか! 座標を整数以外にするという手もあったのか!!
278:名前は開発中のものです。
08/04/08 00:03:17 UTGYbURq
整数つかうときって、何倍かして入れるんだろうけど
当たり判定とか表示のときは毎回戻すの?
279:名前は開発中のものです。
08/04/08 00:54:41 sOsom0Zc
何回ってどういう意味なんかよく判らんw
280:名前は開発中のものです。
08/04/08 00:57:21 NDn3kKP8
>>279
281:名前は開発中のものです。
08/04/08 01:08:48 RXIPGVdD
>>278
戻すって、整数部だけが欲しい場合か?
そんなん普通にビット演算子とかシフト演算使えば済むでしょ
おそらく初心者だと思うが、固定小数演算に興味示すのは結構だが
FPU内蔵&SIMD系の命令でもfloat値が使えて当たり前の今時のPCで
わざわざ固定小数を使うメリットはほぼ無しってことも合わせて理解しとけよ
それでも年寄りの悪趣味懐古趣味に付き合いたいなら別に止めはしない
282:名前は開発中のものです。
08/04/08 13:13:10 Wd7FQUJf
次に作るSTGにリプレイ機能を搭載しようと思っているのですが、
小数を使う場合、CPUによって小数点以下に誤差がある?という話を聞いたのですが、
例えば敵弾の座標に小数を使っていたら、リプレイを再生する環境によって
微妙に挙動がずれたりする可能性はないのでしょうか?
組み方次第で回避できるとは思うのですが。
283:名前は開発中のものです。
08/04/08 18:46:46 RXIPGVdD
>小数を使う場合、CPUによって小数点以下に誤差がある?という話を聞いたのですが
とりあえず
固定小数点数演算で生じる誤差の話なら、それは整数演算で生じるものと全く同じ
浮動小数点数演算で生じる誤差の話なら、それは「小数点以下」とか関係ないから
浮動小数点数演算の結果はCPUによって異なる、というのは事実だが
それは全く異なるアーキテクチャ上のFPU同士を比較した場合の話であって
x86系のPCに限定すれば_fpcontrol()等できちんとFPUの設定をすることで
インテルだろうがAMDだろうが加減乗除算平方根三角関数の結果は同じになる
FPUに不具合があって回収された10年以上前のペンティアムとかは例外
あとSSE関連はよく知らね
284:名前は開発中のものです。
08/04/08 19:22:22 RXIPGVdD
あと、数値計算法の基本をふまえて相応のコードを組んでいれば
異なるFPU間で生じる演算結果の極めて微少な差は問題にならないはず
FPUの演算結果にはたいてい不要な桁数の仮数が入ってるのだから
そういうゴミ情報入りの数値は適切なタイミングで有効桁に丸めること
不要な桁も何もかも後生大事に丸々保存して使いまわすのは
無意味な貧乏根性
285:名前は開発中のものです。
08/04/08 21:05:39 NDn3kKP8
D3DXが内部でSSEやら3DNow!を使ってそいつらで誤差が出ると2chで聞いたことがある。
試してないから知らんけど、リプレイで記録するデータはCPUで普通に計算すればOKじゃね。
286:名前は開発中のものです。
08/04/08 21:14:53 5+HU4lQf
>>285
URLリンク(www.01step.net)
これだな。
一応対策はできるらしいが。
287:名前は開発中のものです。
08/04/08 23:49:54 uw9YU9FV
NyaRuRu氏は同人ゲームのプログラマもやっていたのか・・・。
288:名前は開発中のものです。
08/04/09 03:34:01 B1YmjfJu
何やってる人なんだろうと思っていたが
不思議キッチンの人だったのか
289:名前は開発中のものです。
08/04/12 15:27:37 usi/yLYp
似たようなオブジェクトを同じクラスにするかどうか迷うなぁ
違う見た目(=テクスチャの領域)で同じAI(=updateメソッド)とか
AIのうち一部分だけ違う場合はifで分岐させるか、別クラスにするか
290:名前は開発中のものです。
08/04/12 16:01:22 ywj6p1Ij
好きにすりゃいいんじゃねーの。
そんな細かいことに定石も流行りもないだろうし。
291:名前は開発中のものです。
08/04/12 20:25:36 KRx1/teW
AI部分にStrategyパターンを適用して
付け替えできるようにするのもありだ。
292:名前は開発中のものです。
08/04/12 22:37:11 ObDRadP0
残機制にしたいんだけど、キャラの都合上死んだあとにもう一機出てくるのはおかしい
メカシューだから魔法みたいに復活するのも変
どうしよう…なんかいい例ある?
293:名前は開発中のものです。
08/04/12 22:51:37 Efa9OHIu
ばらばらに飛び散った破片が元通りに戻ってみたりするとか?
294:名前は開発中のものです。
08/04/12 22:56:53 Yh3eYIme
ゲーム内の設定によるだろうけど、例えば
「瞬間的にバリア張って高速自己修復出来るけど、
めちゃくちゃエネルギー消費するから回数制限がある」みたいな感じとか。
295:名前は開発中のものです。
08/04/12 22:58:31 /z0agk9x
夢オチ。
296:名前は開発中のものです。
08/04/12 23:00:31 GyPJI/ms
クロノトリガー式に未来からやってきた仲間がダミーと差し替え
297:名前は開発中のものです。
08/04/12 23:01:59 Efa9OHIu
思ったんだが普通に被弾したら、例えば片羽が落ちるとか
パーツがこぼれていく描写入れて暫く無敵時間を入れて
残機減らしてもそれはそれで良いんじゃないかな
298:名前は開発中のものです。
08/04/12 23:16:03 ZyjFSU8/
ナイトストライカーのようにシールド張ってる設定にすれば
被弾エフェクトはシールドの色が変わるとかSEとかで知らせる
299:名前は開発中のものです。
08/04/12 23:30:26 Yh3eYIme
夢オチワロスw
300:名前は開発中のものです。
08/04/13 00:07:42 VNOh5k7z
>292
爆発したら首だけすっとんで、新しいからだが飛んできて合体する逆アンパンマン方式。
301:名前は開発中のものです。
08/04/13 00:14:37 gNZFNySx
博士が来て修理するファミコンのアトム方式とか
302:名前は開発中のものです。
08/04/13 00:39:19 Z1kaHYoi
ツインビーwww
303:名前は開発中のものです。
08/04/13 01:39:10 NkPkjT6X
バリア張ってる設定にしたら?
残機=バリアの残りエネルギー
被弾するためにバリアのエネルギーを消費する
304:名前は開発中のものです。
08/04/13 01:40:02 NkPkjT6X
×被弾するために
○被弾するたびに
305:名前は開発中のものです。
08/04/13 01:57:39 QE/zNyJp
「メカシュー」で「残機制」にしたいという前提を忘れたようなレスが多いですね。
306:名前は開発中のものです。
08/04/13 02:07:08 NkPkjT6X
どう考えても無理だから、別の解決策を練ってるんだろうが
307:名前は開発中のものです。
08/04/13 02:07:37 P+NpYnxy
復活時にボムが回復するようなSTGだったらどうしようもないだろうな
308:名前は開発中のものです。
08/04/13 02:17:23 P+NpYnxy
よく考えたらストーリーあっても別の位置から復活するSTGいっぱい
309:名前は開発中のものです。
08/04/13 02:20:15 /0ITSDkw
>292
キャラを搭乗者と読めば、
被弾時は脱出装置で後方に下がって、
後方で自動操縦で追尾している残機に乗り換える
とか、何とでも自分で想像出来ない?
>308
夢オチ
310:名前は開発中のものです。
08/04/13 02:23:13 QE/zNyJp
同じ残機制でも、その場で次が出てくるタイプか、
シーンを戻されてやりなおしのタイプか、でやりようが変ってくるねぇ。
311:名前は開発中のものです。
08/04/13 03:41:09 CwJ+OgoR
戻り復活ならそんなに違和感ないな
312:名前は開発中のものです。
08/04/13 04:15:14 SI+TAocC
そうね
無かった事になるんだと思えば
313:名前は開発中のものです。
08/04/13 08:07:11 eUm94UGP
そもそもプレイヤーは次の機体がどんな出方してこようがあまり気にしていないような。
「人類に残された最後の希望」とか言って設定上試作機1機しかないはずの自機が
バンバン復活して出てくるSTGも結構あるし
314:名前は開発中のものです。
08/04/13 09:40:22 FMZP86Ek
アレだな。
漫画でもゲームでも良くある「そこは突っ込むな」って奴で良いんじゃね?
ドラクエだってストーリー上死んだキャラにザオリク使ってあげないし。
オルテガも話してる間にベホマしてやれば助かったと思うぜ。
315:名前は開発中のものです。
08/04/13 14:44:26 qC4BAKNL
>>313みたいに固定搭乗者・固定機ありなら夢落ち戻り。
といいたいところだけど、夢落ちだとステージ最初まで戻さないと
パワーアップとかあったときにつじつまが合わなくなるからなぁ。
夢落ちでわざと死ぬ前の状態から再スタートってのもそれはそれで面白い試み
かもしれないけど。
以下みたいな感じならつじつま合わせも可能かな。
パワーアップ > 装備増加 > 被弾 > 装備減少 > パワーダウン > 装備0 > シボンヌ
> 夢落ち戻り > 死亡直前の装備なし状態で復活
つじつままで気にする奴は早々いないとは思うけどw
軍vs敵みたいな、固定搭乗者なしなら別機出動演出。
(カラーとかロゴとかでバリエーション持たせたりして同型別機演出とか)
昔ロスト時に空中母艦かなんかが出てきて、新たに別機が出てくる
演出をしていたゲームがあったと思うけど。
> オルテガも話してる間にベホマしてやれば助かったと思うぜ。
あれはオルテガの男を見て「男の戦いに手を出しちゃいけない」と壮大な勘違いということでw
316:名前は開発中のものです。
08/04/13 14:49:45 Z/LVsXuc
勇者たちがザオリクで生き返るのは、神の認めた勇者とその仲間たちだからだ!
とかそんなこじつけ。
317:名前は開発中のものです。
08/04/13 15:03:23 NkPkjT6X
ダイの大冒険的には、死にかけにホイミ系は無意味
ザオリクは知らね
318:名前は開発中のものです。
08/04/13 15:27:05 bXOpRP77
撃墜されたの戦闘機に乗っていたのは実は影武者だった!
319:名前は開発中のものです。
08/04/13 15:27:47 k4a7kuL/
と言うことは、一機も撃墜されなかった場合影武者が世界を救うわけだな
320:名前は開発中のものです。
08/04/13 15:29:16 bXOpRP77
いや、その場合はそいつが実は本物だったというわけで。
321:名前は開発中のものです。
08/04/13 15:50:35 hy1v+Ap0
というか機体が複数存在するんじゃないって時点で残機じゃないよな
バリアみたいなものが減っていく普通のライフ制にするしかないと思うんだが
322:名前は開発中のものです。
08/04/13 17:10:08 Z1kaHYoi
夢オチなら残機じゃなくて残夢だから
鼻ぶく提灯の顔マークを並べとけばいいな
323:名前は開発中のものです。
08/04/13 17:49:58 vlZyAbxe
どうでもいいじゃん・・・
324:名前は開発中のものです。
08/04/13 22:42:35 qFLKD2CL
シューティング作りたいなーとか思い始めたんだけど、
具体的にどう作ればいいんだろ?
C言語ポインタくらいしか学んでないんだができるかね
325:名前は開発中のものです。
08/04/13 22:55:43 NkPkjT6X
まず、画面に画像を出力する方法を覚えないといけない
Windowsで動かすならDirectXか、標準APIの扱い方を覚えないと
てか、まずC++を覚えた方がいいな
326:名前は開発中のものです。
08/04/13 23:42:03 Z1kaHYoi
HSPが軽視されてると聞いて飛んできました
327:名前は開発中のものです。
08/04/13 23:47:33 TnA5dMk3
帰れw
328:名前は開発中のものです。
08/04/13 23:52:31 E6Dzw5oc
ちゃんとしたものを作ろうとしたときやっぱりオブジェクト指向覚えた方がいいのかな?
329:名前は開発中のものです。
08/04/14 00:01:38 tqnrBejp
ポリモーフィズム(C++なら純粋仮想関数 + virtualメンバ関数くらい)を覚えておいて、
あとは、構造体とstatic関数で良いよw
構造体自体の種類を示すメンバとか作り始めたときに、
virtualを考えればいい。
330:名前は開発中のものです。
08/04/14 00:18:20 yMQIDqXj
>>325
なるほど~
C++を覚える作業にもどるよ。
331:名前は開発中のものです。
08/04/14 00:19:11 xWdI6ksr
オブジェクト指向なんて全然必要ない
むしろ理解してない人が作りながら覚えようとすると
十中八九途中で投げ出すことになる
332:名前は開発中のものです。
08/04/14 00:20:15 Mgsx+yf7
まあ、そんなの無くても作れるもんな
333:名前は開発中のものです。
08/04/14 00:30:41 a9wj1kmQ
>>331-332
ありがとう。
講座サイト見てるとオブジェクト指向で書いてある所が多かったからてっきりそうとばかり思ってたよ。
334:名前は開発中のものです。
08/04/14 18:03:16 qbweF5RS
というか、オブジェクト指向でやってる人ってどれぐらい居るん?
335:名前は開発中のものです。
08/04/14 20:46:07 Pl9LhtfJ
8bit時代からあるゲームにC++やオブジェクト指向が必須かと言われればNOだ。
プログラムの勉強を兼ねるならやっておいた方がいいだろうね。
336:名前は開発中のものです。
08/04/14 23:38:27 tqnrBejp
オブジェクト指向を仰仰しく考えることないよ。
文字通り方向性みたいなもので、設計方針の1パターン。
構造化・オブジェクト指向・関数型・総称・イベント駆動型あたりを
広く浅く知っておけば良いんじゃないかな。
異なるパラダイムの異なる要素が結構似ていたりする。
URLリンク(ja.wikipedia.org)プログラミングパラダイム
337:名前は開発中のものです。
08/04/15 10:27:10 iHmKOkzF
オブジェクト指向が本当に必要なら作ってるうちに覚えるから
最初から覚える必要はない
ぐちゃぐちゃでいいからとりあえず動くものを作るとこまでが重要
338:名前は開発中のものです。
08/04/15 13:02:14 9d1UNIoN
シューティングを作るアルゴリズムというか、パターンというか・・・
そういうのがわからん・・・
339:名前は開発中のものです。
08/04/15 13:11:07 X896jXV9
1.プレイヤーの入力を受け取る
2.受け取った入力より自機の座標を動かす
3.その他(弾,敵等)の座標を動かす
4.各衝突判定をする
5.ぶつかってたら消すなり体力を減らすなり
6.消えてない物の絵を画面に表示する
1~6を繰り返す
簡単に言うとこれ位があればシューティングっぽいものが出来るのでは?
340:名前は開発中のものです。
08/04/20 04:12:04 HlE9w/ua
ここで聞くのも間違いかも知れないが、今C++とSquirrelでSTGを作っているんだ。
Sqruirrelスクリプト側からC++の関数を呼ぶためには、
SQInteger func(HSQUIRRELVM v)
という形のグローバル関数でなくてはいけないんだけど、スクリプト側から特定のオブジェクトを操作したいんだ。
しかし、上の形だと動的メソッドでもないし、引数にオブジェクトへのポインタが含まれていないため、どうやって呼び出そうか困ってるんだ。
HSQUIRRELVMはスタックになっているので、スクリプト側に操作したいオブジェクトのポインタをあらかじめ渡しておいて
必要なときにスタックにぶち込んで引数として利用しようと考え、
/*Squirrelスクリプト*/
function ExeScript(p) /*引数はポインタ*/
{
SetVelocity(p, 0, 5, 0); /*引数は操作するオブジェクトのポインタ、x方向の速度、y方向の速度、z方向の速度*/
return 0;
}
/* HSQUIRRELVMのスタックには 1(top):roottable, 2:p, 3:0 4:5 5:0)となっているはず*/
というようなスクリプト側の関数を作り、ExeScriptをC++側から呼び出す時に
引数に呼び出し側のポインタをぶち込んであげようと思ったんだが上手くいかない。
ちなみにpはスクリプト側ではint型で扱っていて、ExeScriptが呼ばれたときにintにキャストし、
SetVelocityが呼び出されたときにポインタにキャストするようになっている。
何かいい方法はないだろうか…?
341:名前は開発中のものです。
08/04/20 09:38:16 onwyvG0N
>>340
作ろうとしているのがSTGってだけなので、
ム板の組み込み言語スレで聞くほうが良いと思うよ。
342:名前は開発中のものです。
08/04/20 18:34:41 M+BR0SuC
解った、行ってみる
ありがとう
343:名前は開発中のものです。
08/04/23 00:26:04 gg06xRT5
2Dの弾幕シューを製作してるんですが、画像表示の優先度(Zの値)はどうしたらいいでしょうか?
取り合えず
・スコア、ライフなどの表示系
・敵弾
・自機
・自機弾
・敵
・背景
大体こんな感じにしてみましたが、地上物の弾が空中の敵の上を通るとか不自然じゃありませんかね?
特に重なっている時に地上物が撃った場合上にいる敵から出てるように見えてしまって・・・。
爆風も同じで地上物の爆風が空中の敵にかぶるとか変ですよね?
皆さんはZ方向の値はどういう処理をしてますでしょうか?
344:名前は開発中のものです。
08/04/23 00:48:49 byKYi0oI
既存のゲームをもっとよく観察しようぜ
345:名前は開発中のものです。
08/04/23 00:57:39 T8mB/bRA
ちょwww Web上で動くってレベルじゃねー
しかも3D
URLリンク(58.13.216.134)
60フレ死守?
346:名前は開発中のものです。
08/04/23 01:44:08 xD2eXe6t
暇だから誰か制作中STGのスクショうp!
347:名前は開発中のものです。
08/04/23 01:45:45 aQST5hrX
言い出しっぺの法則。
348:名前は開発中のものです。
08/04/23 01:46:06 3S6lMLRf
言いだしっぺのh・・・ってもう言われてるしw
349:名前は開発中のものです。
08/04/23 02:32:06 EoY8EhMN
>>343
そんなんで2Dシュー作ってるのか・・・
350:名前は開発中のものです。
08/04/23 02:37:44 hQw6UUJp
>343
空中キャラのサイズが128*128程度なら気付かないんじゃないかな
違和感が出るのは大型の空中キャラがいるときだから
敵配置を工夫して誤魔化すのがいいかも
351:名前は開発中のものです。
08/04/23 02:56:41 BLt2L8mz
地上物からの弾だとしても、空中の敵で見えなくなったらそれだけでクソゲ扱いだなw
352:名前は開発中のものです。
08/04/23 04:17:15 gg06xRT5
やっぱり敵配置がポイントですか・・・。
一応他のゲーム(CAVE辺り)は動画でよく見てたんですがイマイチ分からなかったんで・・・すいません。
敵と敵の配置を研究してみます。
アドバイス助かりました。
さっきカスりを取り入れてみたんですが、ライフ回復のためにカスるという危険行為推奨になってしまいました。
やっぱカスりはスコアボーナスとかエネルギー(特殊技用)回復のモノにしたほうがいいですよね。
変に凝ってしまって全て見失うような気がして怖いです。
353:名前は開発中のものです。
08/04/23 05:54:44 mDm6BHht
>>345
いいねぇ!これ作ったの外人さんなのか?
そういやFlashもAction Script3が使えるようになった辺りから
描画速度がだいぶ改善されてるみたいね
一昔前のShockwave(+Lingo)並のことができるのは嬉しいな
あの頃はDirectorが高すぎて手が出せなかったよ
354:名前は開発中のものです。
08/04/23 08:14:48 sHRBpt6x
>>343
重なってるときに弾を撃たなければいいのでは
355:名前は開発中のものです。
08/04/23 12:16:58 NLa3WqAS
敵弾が低い位置にある場合は当たり判定も無いようにするとか……分かりづらいか。
356:名前は開発中のものです。
08/04/23 13:39:11 MMF0qG0v
>>352
深く考えないでカスリとか入れてるっぽいが、
ちゃんとゲームとして必要かどうか考えたほうが良いんでは?
まあ個人的にカスリが嫌いなだけだけどw
357:名前は開発中のものです。
08/04/23 23:07:22 lhBmTT+W
カスリとかゲーム的過ぎて嫌いだな
まぁSTGは全般的にゲーム的過ぎることが多いが
358:名前は開発中のものです。
08/04/24 00:00:02 lksTfSLx
ゲームなんだから良いじゃん
359:名前は開発中のものです。
08/04/24 00:16:43 kyvrq5VT
自分からわざわざギリギリで避けるなんて
両方滝沢キックを喰らってしまいそうだ。
360:名前は開発中のものです。
08/04/24 00:38:13 ARzrsuEN
ゲーム的だからってのはどうでもいいが俺もカスリは好かんな
361:名前は開発中のものです。
08/04/24 00:43:02 Nfyc4+1a
>>358
「ゲーム的」っていうのは、
ゲームとしては面白いが現実離れしている、みたいな意味だ
362:名前は開発中のものです。
08/04/24 03:46:10 ARzrsuEN
カスリなんかよりおかしいとこいくらでもあるだろw
363:名前は開発中のものです。
08/04/24 20:31:58 V07ASawT
俺たちが遊んでいるのはゲームだ。
面白いゲームならそれでいい。
364:名前は開発中のものです。
08/04/24 20:57:32 bgp800Ur
まあ、言いたいことは分かるけどな。
365:名前は開発中のものです。
08/04/24 21:03:09 FxJA2aMq
58.13.216.134
366:名前は開発中のものです。
08/04/24 21:21:35 aaSouiJW
>いいねぇ!これ作ったの外人さんなのか?
>そういやFlashもAction Script3が使えるようになった辺りから
>描画速度がだいぶ改善されてるみたいね
>一昔前のShockwave(+Lingo)並のことができるのは嬉しいな
>あの頃はDirectorが高すぎて手が出せなかったよ
HumanBench作ったのはアドビの中の人だよ
367:名前は開発中のものです。
08/04/24 22:53:38 xLIo9y/a
中の人は80年代のアーケードの疑似3Dゲーとかが好きに違いないな!
PC-9801時代のKUNI SOFTとかABAゲイの同人ゲーをふと思い出した
368:名前は開発中のものです。
08/04/25 00:00:21 8TKkCAiM
>>365
/yukissalbum2/jam.cgi
369:名前は開発中のものです。
08/04/25 08:17:44 lM3nYk6R
作成したシューティング
誰かにプレイさせてみたいのですが、プレイさせる相手が見つからない
こういう時って、どうしたら良いんでしょう?
370:名前は開発中のものです。
08/04/25 11:57:54 atI/FxXl
それ用のスレがどこかにあったと思う。
371:名前は開発中のものです。
08/04/25 12:00:04 K2ZrdRog
というか、完成してるのならフリーソフトとして公開すればいいだけでは?
372:名前は開発中のものです。
08/04/25 13:40:11 jIsqw0Mx
いえ、まだ体験版の段階なのですが
プレイできる段階にまでは仕上がったので、書かせてもらいました。
公開するにしても、みんなにやってもらうためにはどうしたらいいんでしょうか?
ただホムペを立てるだけでは人は来ませんし
公開スレ(適切なのが見つかりませんが)でうpが良いのでしょうか?
もしくはベクターに登録とか?
373:名前は開発中のものです。
08/04/25 20:13:38 YebkKA52
ここでうp!
374:名前は開発中のものです。
08/04/25 20:28:38 IiumCil8
自作ゲーム評価スレ
スレリンク(gamedev板)
375:名前は開発中のものです。
08/04/25 20:48:37 YebkKA52
ここでうpしたほうが意見もらえるんじゃないか?
テンプレにも晒しておkって書いてあるし
376:名前は開発中のものです。
08/04/26 00:02:16 2TZn1YBj
>HumanBench作ったのはアドビの中の人だよ
コリン・ムック氏は実はアドビ人ではないかと。
377:名前は開発中のものです。
08/04/26 14:20:42 8GFiI3TW
自作ゲーム評価スレは、STG以外のものも出ていることもありますし、
ひとまずは、こちらでうpさせてもらいます。
シューティングビルダーを用い製作したSTGで、SB本スレでも一度うpはしたものです。
4面まで作ったものの、ちゃんと出来ているか不安でたまりません。
どなたか意見いただけると超嬉しいです。
URLリンク(www.erc-j.com)
の左上にあるSB-UPLから入れるアップローダーのsb0173.lzhにうpしました。
378:名前は開発中のものです。
08/04/26 20:08:40 k73vvmo8
>377
ちょっとやってみた
敵の種類とか攻撃パターンも結構豊富だしよくできてると思うよ
全体的にキャラが小さいのが個人的にはあまり好きじゃないけど、まあ好みの問題なので気にしないでくれ
あと単発弾はもうちょっと弾速早くてもいいんじゃないだろうか
379:名前は開発中のものです。
08/04/26 21:31:57 glwfkb3K
つまらなくはないがノーコンで頑張る気にはなれなかった
敵が体当たり狙ってくるのは嫌いだ
好みは別として、とりあえず硬めの敵の爆発は本体の二倍以上の大きさにすべき
380:名前は開発中のものです。
08/04/26 21:39:32 glwfkb3K
よく出来てるけど演出がもったいないな
381:377
08/04/26 23:39:02 8GFiI3TW
ヌクモリティに全俺が泣いた
感想ありがとうございます!
>>378
キャラが小さいのはドット絵が素材頼りなこともあって限界があったりします。
弾速に関しては、前半部分だけ少し早めにしてみます。
後半に進むたびに弾速が早くなる感じになっており、後半面では製作者がいっぱいいっぱいなのでw
>>379
体当たりに関しては弾幕部分を削減したかったこともあり導入したのですが、すみませんでした。
理不尽に感じた体当たりキャラを教えていただけるとありがたいです。
爆発に関しては改良させてもらいます!
>>380
演出がもったいないとは、全体的に演出が甘いということでしょうか?
それとも、あちゃーな演出があったということでしょうか?
382:名前は開発中のものです。
08/04/26 23:57:19 AX/nbobn
俺も3面途中までやってみたので、多少なりとも思った事を。
一面の序盤から、敵が殺る気まんまんで笑った。
当たったら死ぬボールみたいなの(機雷?)はしょっぱなから難しすぎじゃないかな。
ゲームバランス的にどうかは考えないで言うと、もう少しパワーアップをガンガンやりたかったかな。
たまーーーーにしかパワーアップアイテムが出ないので、存在を忘れてしまう。
演出も面白かったけど、それぞれが単発で「お?」と思う程度だったのがちょっと残念かな。
383:名前は開発中のものです。
08/04/27 03:31:32 QG+Suesf
個人的に前半部も弾の色を分けた方がいいと思った
敵もなんだかところどころ見づらい
384:名前は開発中のものです。
08/04/27 05:01:50 T1Qa567i
難易度タカスwww
1面の機雷分りにくい。アイテムだと思っちゃうよ。
あと、ウィンドウモードだとFPSが安定しないし、全画面よりもFPSが早くなった。
385:名前は開発中のものです。
08/04/27 15:52:51 zZ5MQxMP
>>377
d3dx9_30.dllが無いって言われる。
URLリンク(d.hatena.ne.jp)
URLリンク(alwei.sakura.ne.jp)
最新版とか入れるのはかまわないけど、
出来れば同梱とか依存性切るとかした方がいいかも。(一般ユーザーのために)
386:377
08/04/28 01:02:21 nDsvW52B
レス多くて本当に助かる、ありがとう!
>>382
パワーアップは一面に一つしか出さないようにしてるので、確かに存在を忘れがちかも。
しかしバランスのこともありますが、東方のように初めで攻撃力最強になってしまうのも防ぎたい私としては悩みどころです。
難易度に関しては、調整もう少しするかイージーモードを作ることにします。
>>383-384
弾の色を分けるというのは、どういうことでしょうか?
同系統の弾は変に色分けしない方が良いのでは?
敵が見づらいとか分かり辛いのは、ドット絵が素材頼りなので可能な変更に限界がありますが
とりあえず色などの変更は試してみます。
ウィンドウモードに関しては、少しビルダー製作者に聞いてみます。
>>385
d3dx9_30.dllの同梱って著作権的に問題があったはずなので、readmeにリンク貼ることにします。
387:名前は開発中のものです。
08/04/28 13:02:47 NAk73a6s
ヌルポ
388:名前は開発中のものです。
08/04/28 13:46:49 sRoeZ3fk
>387
……。(あえて何も言わない)
389:名前は開発中のものです。
08/04/29 00:22:52 sss69txd
URLリンク(www.j-tokkyo.com)
誰か翻訳して
390:名前は開発中のものです。
08/04/29 06:29:07 4C4kmVz/
デモプレイで、自機が死なずに居続ける位置取りを算出する特許
・・・普通は人間によるキー操作を事前記録して再生するだろうから関係ないな
391:名前は開発中のものです。
08/04/29 06:32:51 WC5+m6yA
さらっと内容に目を通してみたけど
ゲームの魅力を伝えるには、事前記録された物を再生して
決まったデモしか出てこないのは多様性が無く十分ではない
また、ランダムに動くようにしてもすぐ死ぬのでこれまた
魅力を伝えるのには十分な時間見せられない
という上でそんなことしてるみたいだけどな
意味があるのか無いのかは知らん
392:名前は開発中のものです。
08/04/29 10:45:10 Y2ssqC4h
これを発展させれば自動的にゲームをクリアすることも出来るだろうから、
技術としては面白そうだよな。
393:名前は開発中のものです。
08/04/29 14:29:06 NjIg+POR
格闘ゲームで実現してね?
394:名前は開発中のものです。
08/04/29 15:37:03 +xWM+Yeb
>>392
これが特許になってるってことは
発展させるにも許諾とか金払わなくちゃいけないんだよ
395:名前は開発中のものです。
08/04/29 15:53:43 WnahT3LQ
どの程度の完成度になったらこのスレにうpして意見貰えるかな?
と、まだ1面ボス作ってる段階の俺が言ってみる
396:名前は開発中のものです。
08/04/29 16:22:28 ZiVZNUAo
>>394
特許は結果じゃなくて方法に対して与えられるから、
別の理屈で位置から作ればいいじゃん
ぱっと見、あんまりたいしたこt(ry
397:名前は開発中のものです。
08/04/29 16:52:05 5UtdTdRR
>>395
プレイできる段階にまで仕上がっているなら、
たとえボスだけでも、道中だけでも俺は意見するよ。
398:名前は開発中のものです。
08/04/29 18:02:25 WnahT3LQ
>>397
まじか
じゃあ早いところBGMと効果音を搭載してどこかにうpできるように頑張ってみるよ
399:名前は開発中のものです。
08/04/29 18:04:13 wXou4Eov
期待してます。
でもそれで満足しちゃって開発飽きちゃわないでね。
経験ある、ってーか常にそうなんだけど、
ある程度形になって、他人にテストプレイしてもらったら
しばらく何もする気なくなったりするから。
400:名前は開発中のものです。
08/04/30 02:50:42 bBj/BlcG
スクリーンショットをうpしたらアドバイス貰えるかな?
完成まで程遠いんだけど、客観的な意見をもらって軌道修正したい気がするんだが
401:名前は開発中のものです。
08/04/30 03:34:49 lg9js0tm
>>400
動くものじゃないと軌道修正するほどの意見は難しいんじゃね
俺的には音もタイトル画面もどうでもいいからうp!
402:名前は開発中のものです。
08/04/30 08:53:36 bBj/BlcG
>>401
じゃあ俺はGW中に動くものをうpするよん
395と同じく1面ボスまで
今バグだらけでうpできる状況じゃないから何日か待ってね
403:名前は開発中のものです。
08/05/01 19:05:26 6Awdsy0R
敵、敵弾、自機弾をそのつどNewするのって良くないの?
404:名前は開発中のものです。
08/05/01 19:42:37 9iKbAacM
【キーワード抽出】
対象スレ: シューティングゲーム製作技術総合 15機目
キーワード: New
抽出レス数:6
405:名前は開発中のものです。
08/05/01 22:23:57 1m4VYE2q
富豪厨の出番と聞いて飛んできました
406:名前は開発中のものです。
08/05/02 00:53:49 l9K+obAj
(; ^o^)
407:名前は開発中のものです。
08/05/02 01:24:42 7/IjqgCE
富豪陣営に加勢するぜ。
408:名前は開発中のものです。
08/05/02 01:38:52 l9K+obAj
「迷える子羊よ。真の富豪厨はHSPに帰依します。」
私はその言葉に心を強く打たれ、boost原理主義から足を洗いました。
今は玉葱狂信者です。
409:名前は開発中のものです。
08/05/02 09:26:40 Hviw5uVq
libneet使ってるのは俺だけのようだな
410:名前は開発中のものです。
08/05/04 15:04:30 v9QwRQKh
>>381
敵の動きとか拘ってるのは伝わってくるんだけど、
オブジェクトが小さいせいか安っぽさを感じる。もっと演出を派手にすべき
URLリンク(hp.vector.co.jp)
ここのRagud Mezegisを使って研究するといいよ
411:名前は開発中のものです。
08/05/04 19:35:23 AA2CfXS5
3D弾幕で画面を埋め尽くすHumanBench見てて思った。
フラッシュでも普通に2D弾幕シューが作れそうな予感。
IEで普通に遊べれば、2D弾幕の布教活動がしやすくなるのでは。
412:名前は開発中のものです。
08/05/05 01:23:05 1Z2xNdvS
HumanBenchやってみたが、3.xxxxHzあたりで重くなった。
グラボ無いとCPUだけあってもこんなもんか
413:名前は開発中のものです。
08/05/05 01:51:57 +bBWRhTo
Flashでも2D弾幕ゲームはすでにいくつかあるよ
414:名前は開発中のものです。
08/05/05 15:45:46 CU4E4nxb
パワーアップすると敵の固さも弾数も激しくなって難しくなるゲームで
難易度を上げないためにパワーアップしない、という遊び方が必須なほど
難易度の上昇が激しいのは、バランス的にやっぱりおかしいと思うんだが、どうだろうか?
415:名前は開発中のものです。
08/05/05 16:08:28 gwVylmnp
個人的にはおかしいと思う。
なぎ倒す為にパワーアップしたいのに、敵まで強くなったら意味ないじゃんと。
416:名前は開発中のものです。
08/05/05 17:26:53 A8W0VUZG
特定のアイテムを取ると、パワーアップする代わりに敵も少し強くなるというくらいならアリかなとは思うけど。
417:名前は開発中のものです。
08/05/05 20:22:49 6C83N/Fe
アイテムを取ると敵が強くなるから、アイテムを回避しまくる戦闘機
なんか変だよな、どう考えても
418:名前は開発中のものです。
08/05/05 20:24:30 yg2wVjr5
バッドエフェクトアイテムみたいにして
パワーアップとは別物として用意するとか
419:名前は開発中のものです。
08/05/05 20:32:30 gwVylmnp
パワーアップアイテムが出た時、それを敵がとったら敵がパワーアップするとか。
420:名前は開発中のものです。
08/05/05 21:21:16 +Os5WI2N
敵を撃破したときの点数(レート)が上昇するアイテムを取ると、
雑魚敵が増えるとかは面白いかも。
421:名前は開発中のものです。
08/05/05 21:34:55 QpmiyD87
高難易度と引き換えに高得点てのはバランス取りやすいね。
初心者は手を出さなければ低難易度で楽しむことができるし。
422:名前は開発中のものです。
08/05/05 23:48:59 unxMgLFR
「アイテムを避ける」という行為自体が生理的になんか嫌、
という人も少なくないと思うがどうだろう。
423:名前は開発中のものです。
08/05/05 23:58:03 jEGOiG/t
まあ場合によるとしか
結局は作者の好みだな
424:名前は開発中のものです。
08/05/06 00:03:05 31Sx/Nsf
考えてみた。
パワーアップ方式の問題点は
上手い人はパワーアップの効率が良いので、上手い人ほど楽になるという矛盾。
これを回避するために、パワーアップしたら敵も強くなるってのがあるんだよな。
回避パターンは
パワーアップが継続しない。時間制。1面リセットなど。
パワーアップしないと利益がある。しないと高得点。得点倍率アップなど。
パワーアップすると不利益になる。攻撃力を上げすぎると制限時間やHPが減る。
パワーアップしない。
いっそ難易度を危険度という名前で大っぴらに表示して
危険なほど高得点が稼げるようにしたほうがいいかもな。
凄く固いエマージェンシーキャラを倒すと一気に危険度が上がったりとか。
425:名前は開発中のものです。
08/05/06 02:39:25 SU0KsQ1H
過去のゲームのバリエーションでしか無い気が。
パワーアップについて考えるなら、そもそもパワーアップが必要かどうか
から考えてみては。
426:名前は開発中のものです。
08/05/06 21:27:09 M7YCryHv
パワーアップすると難しくなるから第二段階くらいでずっと進んだりね
フルパワーを誰も使わなくなってしまう
427:名前は開発中のものです。
08/05/06 21:57:58 r6ZSijaz
パワーアップは爽快感をパワーアップさせるもの
428:名前は開発中のものです。
08/05/10 19:31:10 yVArJY5T
動画サイトで弾幕シュー見て参考にしてたんですけど敵に当たってもアウトだったんですね。
スーパープレイっぽいのしか無くて今まで気が付かなかったです。
でも別に敵とは当たり判定無くてもいいような気がするんですがどうでしょう?
ちなみに縦弾幕シューです。
429:名前は開発中のものです。
08/05/10 19:42:06 8c4/vHrh
良いんじゃないかな
マニュアルに当たり判定ないって書いておけば
430:名前は開発中のものです。
08/05/11 00:37:33 uhzbnGk6
東方並みの弾幕シューには不要だと思うよ
非弾幕には必要だと思う
431:名前は開発中のものです。
08/05/11 03:37:11 p4xje47Y
敵に当たってミスにならないのは少数派ではある
432:名前は開発中のものです。
08/05/11 05:14:16 OpH8uKFH
「敵の突撃体当たり攻撃」パターンが減るけどいいのかな?
433:名前は開発中のものです。
08/05/11 06:35:59 e/9QHFjn
体当たりが必要になったら、弾を纏った敵を作ればいい。
434:名前は開発中のものです。
08/05/11 07:35:53 FOG8VURA
むしろ敵のような弾でいいんじゃね
435:名前は開発中のものです。
08/05/11 10:20:39 BF4VK2LY
>>433
今まで「敵は当たりませんよ」と思い込ませておいて
いきなり「当たりますよ」はずるいだろ、という意味で。
436:名前は開発中のものです。
08/05/11 13:16:35 IpYJTSVB
そもそも弾幕シューだと体当たりしてくる敵なんていない気がするが
437:名前は開発中のものです。
08/05/11 13:41:29 Q0Rcp3vN
え、敵に当たったらパワーダウンだろ?
438:名前は開発中のものです。
08/05/11 14:41:22 Y826splk
敵との当たり判定が必要か不要かではなく、ゲームに生かせるか
どうか考えればよくね?
例えば、判定の有無をプレイ中に切り替え可能にして、連続切り替えには制限を付ける。
で、当たり判定有りなら、神風アタックを使えて高得点を取得できるけど
普段の当たり判定が広く弾に当たりやすい。(プラスアルファ要素)
当たり判定無しなら、神風アタックはできないけど、普段の当たり判定が
小さいく弾に当たりにくい。(従来品)
とかやれば、いつ切り替えるかで戦略性が増すと思う。
(リアル性を一切無視しているが)
439:名前は開発中のものです。
08/05/11 18:54:55 NhQ5BwE+
次のうpマダー?
440:名前は開発中のものです。
08/05/11 18:56:18 aWcZpe7b
リアルから離れるとゲーム性が高まる
離れすぎるとルールの理解に苦しむ
441:名前は開発中のものです。
08/05/11 19:12:20 SxHjX14O
そうだな、そういう視覚的に一見分からないルールだと直感的なプレイからは遠くなる。
特別なルールを設けるんだったら、プレイヤーが「やらされてる感」を感じないように
うまくデザインする必要があるな。
442:名前は開発中のものです。
08/05/11 19:22:24 KxoJtL0t
敵にも当たり判定つけてザコラッシュやってみたんですが難易度かなり増しますね・・・。
寸前に警告だしてもいいんですが、戦艦みたいなデカブツを横切らせたりしたいんで当たり判定あると厳しいかなーと・・・。
ボムの代わりに時間を止める技があるゲームなので敵とか気にせず弾幕をすり抜けられた方が良さそうな気も。
443:名前は開発中のものです。
08/05/11 21:16:46 p4xje47Y
昔から体当たりで殺しに来るゲームはムカツク
444:名前は開発中のものです。
08/05/12 00:55:00 lxKREmgj
そう考えると>433は秀逸かもしれない
445:名前は開発中のものです。
08/05/12 01:27:26 lEc53eQo
>>442
奥行きはあるんだろ?戦艦なら胴体部分は奥にあるとか・・・
敵によって、重なってもダメージにならない状況があるのは全然変じゃないぞ
446:名前は開発中のものです。
08/05/12 02:50:34 zuXYDnzG
>438
当たり小:飛行形態
当たり大:ロボ形態
を切り換えるとか?
447:名前は開発中のものです。
08/05/12 19:17:31 N6z6aNxM
>446
いいね
それぞれの形態のメリット、デメリットを直感的に分かりやすいようにできれば
システムとして活きてくるような気がする。
448:名前は開発中のものです。
08/05/14 01:27:09 lqOtnNPH
う~ん・・・なかなか難しいですね。
色々試したんですが、なんかピンとこないんです。
>446
形態は・・・既にフォース(ボムみたいなモノ)消費で変形するんですよ。
普段は戦闘機、フォース消費で時間を止めて中間形態。
フォース消費ボタンを二度押しでさらに消費してロボ形態に。
ロボ形態時は時間は止まらず操縦不能だけど、無敵状態で手当たり次第に敵に突っ込んでいく感じ。
オメガブースト(知ってる人いるか分からないけど)の必殺技と大体同じ。
まだ今のところ「二つも消費してまで使う必要があるのか」とか「スコアボーナス」とかそういうので仮決定状態なんですけどね。
シューターって、よく追い詰められると(ボムが底をつく等)覚醒したように弾幕を見切れたりするじゃないですか。
それをサポートするためにフォースがゼロになったら当たり判定をさらに小さくして「俺TUEE」状態にさせてあげたいんですがどう思いますか?
「シューターズハイ」って言葉を聞いて「これはいいな」とか思ったんですが・・・。
抱えボムで死ぬのも防ぎたいですし。
長々とすいません。
449:名前は開発中のものです。
08/05/14 12:21:42 01CnOr+t
ボム中に操作不能は個人的には嫌い。ストレス溜まるw
中間形態って何かメリットあるの?そもそも二段階ボムになってる理由がわからないよ。
あと俺tueeやりたいなら実感しづらい回避性能より火力を上げたほうがいい気がする。
450:名前は開発中のものです。
08/05/14 14:44:49 sE+cy/S5
>火力
雷電のクラスターとかVIPER Phase2のナパームが個人的に爽快だた
火力というよりも演出か
451:名前は開発中のものです。
08/05/14 14:57:11 5CxtNDd2
>>448
> 既にフォース(ボムみたいなモノ)消費で変形するんですよ
変形できるからロボット化を行わなければいけない決まりはないでしょ。
ブースター展開とかいくらでも追加方法はある。(ゲッター123w)
> フォースがゼロになったら当たり判定をさらに小さくして「俺TUEE」状態にさせてあげたいんですがどう思いますか?
俺なら、ボムゼロ時限定で時間停止の弱効果でスローを一発使えるようにする。(もちペナルティ付き)
で、2段ボムの1段階目をスローにして2段階目をストップにして、ストップの時は敵の弾も撃ち落とせるようにする。
さらに弾の破壊にスコアボーナス付ければ「二つ使ってでも」と言う理由付けができると思う。
ボムゼロスローはペナルティもあることだし、弾破壊可能にすればこれも戦略に組み込めるようになるな。
(時よ止まれ、そしてマトリックスがドーピングw)
が、こんなすぐに浮かぶアイディアだし既に存在してそうw
(それ以前に大幅システム変更になりそうだから提出時に即却下だなw)
>>449
> ボム中に操作不能は個人的には嫌い。ストレス溜まるw
次の位置取りとかあるしね。
452:名前は開発中のものです。
08/05/14 15:10:24 01CnOr+t
>次の位置取りとかあるしね。
そうそう、そもそも即発動型のボムはダメージ与えられるのが嬉しいんじゃなくて
無敵状態で接近して撃ち込めるのが気持ちが良いのさw
453:名前は開発中のものです。
08/05/14 19:24:38 ZdilNO3k
「ボム=自機無敵」ってルールはいつできたのかなぁ。
454:名前は開発中のものです。
08/05/14 19:50:51 h9Urf45v
結局気持ちが良いとか面白いとかって
過去の作品の手法を踏襲しろってことなんだよなぁ
455:名前は開発中のものです。
08/05/14 19:51:06 01CnOr+t
別にルールじゃない
456:名前は開発中のものです。
08/05/14 22:18:41 b3GXaHWY
>449
> 中間形態って何かメリットあるの?
今のところは・・・無いです。前は火力も同時強化でしたけど、今現在はタイムストップ使用形態みたいになってます・・・。
ホントは「時間とまってるのに戦闘機が後退するのおかしくね?」って事で中間形態は全方位移動型って設定だったんですが、
敵なんか平気で後退したりしてるんでそこまで拘らずに良かったですよね・・・。
> あと俺tueeやりたいなら実感しづらい回避性能より火力を上げたほうがいい気がする。
火力アップも考えたんですが、一応弾避けも楽しみたいということで・・・あえて回避性能にしてみたんです。
「俺ニュータイプ化してるぜー」的な・・・ちょっと無理なこじつけかも知れませんけど。
>451
> 変形できるからロボット化を行わなければいけない決まりはないでしょ。
そうですよね・・・。「今回はロボに変形する戦闘機でいこう!」ってノリだったんで固執しすぎました。
> 俺なら、ボムゼロ時限定で時間停止の弱効果でスローを一発使えるようにする。(もちペナルティ付き)
スローをさっき無理やり実装してみましたが・・・ちょっと挙動不審でした。
しっかり実装させるとなると最初から組みなおさないといけないモノが大量に出てくるのでちょっと今回は見送りさせてください・・・。
とりあえずタイムストップ終了時に敵弾が一気に動き出すので、いくら弾道が読めていても被弾しやすい点があったので
発動時と終了時に短時間ですがシールドを張って切り抜けられるようにしました。
あと、敵弾画像も丸弾を無くしてタイムストップ中でも敵弾の弾道が読めるようにしました。あとなるべく直線弾がメインの方がいいですよね。
457:名前は開発中のものです。
08/05/14 22:22:50 b3GXaHWY
あと二段目のボムは・・・操縦不能になるのはやっぱ好きじゃない人いるんですね。
次々と撃破していくあたりの爽快感を出したつもりだったんですが、位置取りもあるとなると厳しいですね。
今のところ終了時に発動場所に戻るようになってます(同時にシールドも発動)。
これも考え直しておきます。
スコア面は敵弾消滅と同時に消した数だけボーナスにしてみようと思います。
あとその時間中に倒した敵も得点が倍加するとか。
>452
> 無敵状態で接近して撃ち込めるのが気持ちが良いのさw
怒首領蜂のオーラ撃ちみたいなシステムがあったほうが良いって事でしょうか・・・?
今のところショットは2種類あるんですが、
直線ショット(高速移動時):連射速め
ロックショット(低速移動時):連射は直線の半分だけど出る弾の数は倍。自機より前方の敵で一番近い敵を自動で狙う。
こんな感じです。単位時間当たりの威力は同じになってます。
直線ショットの方を近ければ近いほど高威力にしてみてもいいかなと思ったりしたんですが。
例えば「一番離れてるときはロックショットの半分で一番近いと二倍 中間の距離は同じ威力」のような感じで。
長くなりました・・・。
プレイ動画も載せてみたいんですが、重くてマトモに撮れないんで勘弁してください・・・。
458:名前は開発中のものです。
08/05/17 03:01:22 /g6IEs5J
人の意見を聞くのもいいけど 度を越すとつまらなくなるよ。
最終的に面白ければ異端はエポックとして受け入れられるから心配するな。バランス取りの方が重要。
459:名前は開発中のものです。
08/05/18 21:13:42 szLcvKNL
音声無し、画質最悪のデモプレイでも晒せばアドバイス貰えるかな?
460:名前は開発中のものです。
08/05/18 22:32:15 5lmcOuwn
それなりに。
461:名前は開発中のものです。
08/05/18 22:52:31 szLcvKNL
じゃあ晒してみます
いまのところ、こんな感じ
URLリンク(jp.youtube.com)
URLリンク(jp.youtube.com)
462:名前は開発中のものです。
08/05/18 22:52:51 XX/E8PWy
>>459
ニコにうpればコメで感想書くぜ
草だって生やしてやる
463:名前は開発中のものです。
08/05/18 22:55:25 XX/E8PWy
なんかかぶったwwww
>>461
ようつべかー
家に帰ったら変な外人の振りしてコメ書くとするよ
464:名前は開発中のものです。
08/05/18 23:51:37 gIkkDYDh
>>461
早送り?
それともこのスピードが通常?
465:名前は開発中のものです。
08/05/19 00:30:45 q0dQmjCf
>>461
だいたいコレぐらいのスピードにするつもりだよ
速すぎかな?
466:名前は開発中のものです。
08/05/19 00:52:35 BvXwbyK8
PDA用に作ってるんだが、アルファブレンドとかちょっとしたことでかなりCPU食われる。
デスクトップは無尽蔵なマシンパワーでいろんな派手なエフェクト使えるからうらやましい。
467:名前は開発中のものです。
08/05/19 00:56:06 LR+/mrg1
弾幕じゃないし、速過ぎとは思わないな。
アイテムと弾が見分けづらい気がする。弾と同じ速度で降ってくるからかな。
468:名前は開発中のものです。
08/05/19 01:07:55 oGgL+bx9
>>461
斜めに移動するときXY要素の速度を1/√2倍してる?低速移動がついてるのだろうか
なんか自機速度が変化してるように見える
あと爆発が明るすぎる。今はいいが敵が多くなってくると弾が見えづらくなってくるはず
弾が見えづらいと撃ち込みに行けない(ワイドショットのとき)から非弾幕の面白さが半減
爆発を白くフラッシュさせるのは初めの一瞬だけで、あとは地味にするべき
余裕があったら敵の動きを増加量で制御する(直線的な動きにしない)と見栄えが良くなる
469:名前は開発中のものです。
08/05/19 01:21:48 oGgL+bx9
文句ばっかりだけど、こういうハイスピードなstg好きだな
てか今作ってるのに雰囲気が似てる
470:名前は開発中のものです。
08/05/19 01:32:40 9tt6Wf3E
斜め移動時の速度をどうするかはゲームデザイン次第だよ
1.4倍でも別に構わない
471:名前は開発中のものです。
08/05/19 09:12:47 vU9LU+XZ
バトルガレッガですね、わかります。
472:名前は開発中のものです。
08/05/19 13:52:23 b02HV0tQ
ガレッガもそうだっけ
473:名前は開発中のものです。
08/05/19 23:56:07 q0dQmjCf
>>467
そこは盲点だったな
確かにコレは混同しそうだから、アイテムの移動に関しては少し工夫してみるよ
>>468-469
適格なアドバイス感謝
1/√2倍してなかったから、やってみるよ
(自機は攻撃中に減速する設定)
爆発は、明るさの減衰する速度を上げて、もっとシャープにしてみるぜ
爆発の規模はなるべく落とさずに済ませたいんだ
474:名前は開発中のものです。
08/05/20 00:35:35 RWit6ryT
>爆発の規模はなるべく落とさずに済ませたいんだ
ボリューム感や爽快感が欲しいなら、暗い破片を飛ばすといいと思う
ただアイテムが見づらくなりそうではあるが・・・
475:名前は開発中のものです。
08/05/20 01:21:07 KPsJ1W8W
>ボリューム感や爽快感が欲しいなら、暗い破片を飛ばすといいと思う
じゃあ破片もアイテムとして回収できるようにする、ってのも一つの手かもしれないな
476:名前は開発中のものです。
08/05/20 23:04:27 eSoqJRV2
表示の優先順位さえちゃんとしてれいれば、それほど見づらくなることはないと思う。
優先順位は大事だ。
477:名前は開発中のものです。
08/05/22 00:33:51 hCaUmiay
敵機と爆発エフェクトのどちらを上にするかで迷ったけど
見やすさを優先するなら敵機を上にすべきだったか
478:名前は開発中のものです。
08/05/22 01:24:13 fF08pbvS
↑
その他の敵機
爆発エフェクト
実際に爆発してる敵機
↓
とかは?
479:名前は開発中のものです。
08/05/22 03:02:18 UbCa5G5P
爆風が被って見づらくなるような敵配置を避けるという手もある
480:名前は開発中のものです。
08/05/22 03:33:48 94YaRrU7
爆風で敵が死ぬようにすればおk
481:名前は開発中のものです。
08/05/22 05:22:35 1s9x2HLd
それ何てグロブダー?
482:名前は開発中のものです。
08/05/22 05:28:39 WCAssrUM
改めて>>461を見て思ったこと
・黄色系の敵弾と爆発の色がかぶってる
・でかい敵が爆発エフェクトと似た弾を撃ってくる(でかいやつ)
・爆発エフェクトが下の方まで飛んでくる
この3点が気になった。
3番目に関しては、爆発エフェクトをゆっくりでいいので上方向に動かしてみてはどうか。
こういうシューティングは嫌いじゃないのでがんばってね。
483:名前は開発中のものです。
08/05/23 03:10:48 jtP/wS7R
>>461
見た感じすごく面白そう
たぶんわざとだと思うけど戦闘が全体的に高速なのもスピード感があって良いし
大胆に爆発する敵機を見ても、爽快感を重視しようとしてるのがすごく分かる
ただ欲を言えば、弾を喰らった敵機が死ぬまで何の変化もしないのが残念
弾を喰らった瞬間だけ白っぽく点滅するとか、死ぬ少し前は赤く変色するといった変化を加えると、
さらに爽快感が増すんじゃないかな?
484:名前は開発中のものです。
08/05/25 13:54:22 9MtmvDnQ
>>482
>・黄色系の敵弾と爆発の色がかぶってる
本当だ、これも盲点だった
黄色じゃなきゃダメってワケでもないので、他の色を使うことにするよ
>・でかい敵が爆発エフェクトと似た弾を撃ってくる(でかいやつ)
うーん、もったいないけど、あの弾は道中では使わない方がよさそうだね
確かに紛らわしい気がしてきた
>・爆発エフェクトが下の方まで飛んでくる
上方向に等加速度運動させたほうがリアリティ出るかも知れないね
やってみる
>>483
>弾を喰らった瞬間だけ白っぽく点滅するとか、死ぬ少し前は赤く変色するといった変化
なるほど、ダメージ受けてるのかどうか分かるようにすべきか
素材増やすのはめんどうだから、色が変わるような描画関数を作ってみるぜ
485:名前は開発中のものです。
08/05/25 15:49:04 RBU9DpQl
意見を全部鵜呑みにすんなよ
486:名前は開発中のものです。
08/05/25 16:08:59 w5UX9m2d
それだけか。
どの意見に反対すべき点があるとかいうキミの意見は無しか。
487:名前は開発中のものです。
08/05/25 16:11:59 JO05VTT1
>486
「頑張れよ」とか「期待してるぜ」みたいな、定番文句だから別にいいんじゃね?w
488:名前は開発中のものです。
08/05/25 16:44:41 9MtmvDnQ
>>485-486
実際に動かしてみて「何か違うような…」って思ったら元に戻せば良いんだし、
まずは言われたことを試してみようと思ってな
そういう試行錯誤って好きなんだよ俺
489:482
08/05/25 17:56:37 nSZgwUpQ
鵜呑みにされちゃうのはイヤだから一言書いておこうかとは思ったけどね。
ここまで作れる人ならそれくらい分かってるだろうと思ってそのままにしたよ。
490:名前は開発中のものです。
08/05/26 16:46:32 QpDGpG2C
取捨選択は本人がやるべき
491:名前は開発中のものです。
08/05/26 18:13:55 XKbn2YAt
>>489-490
色々試してみた後の、取捨選択の結果を簡単に報告しとくよ
・敵の黄色い弾と爆発エフェクトの色が似てる件に関しては、従来の素材と”黄緑色方向に少しだけ色調補正した弾”と”色が変化する弾”を
混ぜて使うことで視認性が確保できたし、より綺麗な色合いになったような気がする。
・爆発エフェクトと似た大きな弾に関しては、完全にこっちの設計ミスだから、赤色メインなのは変わらずに、特殊な形の弾を作成。
・爆発が下まで飛んでくる件は、爆炎に上方向の加速度をつけるのを試したけど、なんかイマイチでな、
むしろ今までの爆発エフェクトに加えて敵の破片を飛ばしてブッ壊してる感じを強調する方向で素材作ってる。
・敵の点滅や赤色変化については、攻撃命中時に白色に点滅するエフェクトのみ作成。
確かに”攻撃が効いてる”って実感は重要だと判った。
あと攻撃が命中するたびに小さな火の粉を飛ばしまくって削り感を出すエフェクトも作成予定。
今のところ、こんな感じ。
なるべく「攻撃してる!」「破壊してる!」っていう感じを出していきたいんだ。
492:名前は開発中のものです。
08/05/28 13:15:53 yIjbYgmf
そろそろ俺が動くものを投下する時のようだな
493:名前は開発中のものです。
08/05/28 13:35:19 DPtH00SA
よくわからないが性的な想像をしてしまった
494:名前は開発中のものです。
08/05/28 14:03:05 VhLX8kTD
私自らが出る
495:名前は開発中のものです。
08/05/28 23:54:15 r2Z7pcvh
プログラムとか一切知らないけど東方みたいなの作りたい
どの言語がいいと思う?
あと分かりやすい講座みたいなの載ってるページないかな
496:名前は開発中のものです。
08/05/29 00:58:20 sI4xc3xg
HSPあたりか
497:名前は開発中のものです。
08/05/29 01:13:44 C6Mdsiet
あえて1からC++を学ぶというのも
498:名前は開発中のものです。
08/05/29 01:16:47 7q/pJngE
プログラミングの知識が全く無いなら、いきなりゲームではなくて
Pythonあたりで勉強した方がいいんじゃないかね。
大事なのは言語の文法ではなくて、プログラミング的な物事の
捕らえ方だから、言語なんて何でもいい。
実行効率やゲームを作るための情報量で言えばC++が一番だけど
C++だと文法の勉強だけで半年以上かかるかと。
499:名前は開発中のものです。
08/05/29 01:34:02 x9N3rBnw
Python とか Delphi とか良く聞くけど、いいライブラリでもあるのかい?
HSP か、CでDXライブラリ使っておけばいいんじゃないのかね。
乗り捨て前提で言語覚える必要ないっしょ。
500:名前は開発中のものです。
08/05/29 02:24:54 7q/pJngE
>>499
CとPythonでは学習速度が違い過ぎる。
文法の差もあるが、Pythonの対話モードの存在も大きい。
HSPは言語設計があまりにも古臭い。
PythonからJava, C#, C++への移行はスムーズに行えるが
HSPからだとほとんど0からの学習になる。
pygameっていうゲーム用ライブラリもあるし、配布されている
ゲームは基本的にソースコードが見れるという利点もある。
URLリンク(www.pygame.org)
というわけで、俺はPythonがおすすめ。
501:名前は開発中のものです。
08/05/29 13:17:49 V7n9iczi
CかC++で先人が作って配布しているライブラリを使うのが一番良い。
マイナー言語では質問を投げても返ってくることは少ないからな。
502:名前は開発中のものです。
08/05/29 13:21:44 VGCnrM13
ライブラリで一番気になるのがGPLのように問題にならないかなあと
503:名前は開発中のものです。
08/05/29 15:07:33 V7n9iczi
なんつーか、そんなこと気にする前に手を動かせよ。
504:名前は開発中のものです。
08/05/29 15:10:04 nOtkeXIc
>>503
いやもう別環境では動いてるソース持ってるんだって。
で、PCに最適化するために書き換える部分がいくつかあるんだけど
そこをどうするかで検討してるんじゃん。
ライブラリでGPL絡んであとでごちゃごちゃするの嫌なので
先に調査してるだけ。
505:名前は開発中のものです。
08/05/29 15:35:50 V7n9iczi
手を動かせ=自分で作れ
のつもりで書いたんだけど分りにくかったな。
506:名前は開発中のものです。
08/05/29 16:17:58 ci2Rwp21
ライセンス絡みの話じゃね
507:名前は開発中のものです。
08/05/29 16:51:23 XHqPrNQg
シューティング制作者の優しさは異常
508:名前は開発中のものです。
08/05/29 17:33:13 As6AFkA0
シューティングくらい自分で作ってみようぜ!
509:名前は開発中のものです。
08/05/29 18:33:57 Psit5nhx
趣味で2Dシューティング作りたいだけなら一生HSPでも別に困らんけどな
というかSBとかでいいんじゃないか
大多数の人はゲーム一本完成させる前に飽きるし、そういう人は言語習得の段階で飽きちゃうからな
510:名前は開発中のものです。
08/05/29 18:57:39 4Z+TPnxc
言語によって習得しやすいとかしにくいっていう概念が良くわかんないんだが・・・
どの言語でも
絵を表示したい⇒絵を表示する命令探す
文字を表示したい⇒文字を表示する命令を探す
ってだけじゃないの?
ちょっと書き方が違うだけっていうか
511:名前は開発中のものです。
08/05/29 19:00:02 szUKAV1r
いやーぜんぜん違う
HSPだと進化したBASICって感じで割りと簡単だけど
CでDirectXを使うとなるとそれなりの知識はいる。
512:名前は開発中のものです。
08/05/29 19:00:38 qrufruFL
その手間が全然違ったりするからじゃない
513:名前は開発中のものです。
08/05/29 19:12:34 BS7vFlaH
うむ
514:名前は開発中のものです。
08/05/29 23:21:51 zeARvIKP
>510
言語によっては、机を用意して、その上に置くノートを用意して
ペンしか使わないのに筆記用具一式が入った筆箱を用意しないと
文字が書けなかったりするからな。
515:名前は開発中のものです。
08/05/30 14:35:29 ZlEmHweA
導入の手間を除けば、
CとDXライブラリが一番簡単じゃないかな。
それこそBASIC感覚で作れると思う。
516:名前は開発中のものです。
08/05/31 01:59:26 CYZ6kssv
>>504がソース持ってるって書いてあるのがすげーーーー気になる
どっかからパクってきたのか?
517:名前は開発中のものです。
08/05/31 21:11:29 1CVvU5aM
ライブラリにGPLが~って気にしてても、自分でライブラリを作る選択が無いところを見ると
同人ゲーをPC基板に移植とかそういう仕事だったりするんかな。
518:名前は開発中のものです。
08/05/31 21:54:32 ml7R2ir5
GPLが読める奴はゲームなんぞ作ってませんよ
519:名前は開発中のものです。
08/06/01 12:09:04 odS/oJGJ
人権委員会に報告されちゃうっ(ビクビクッ
520:名前は開発中のものです。
08/06/01 17:53:12 ExLpTmmO
BulletMLManager
の使い方がいまいちよくわからんのだがつかってる人います?
521:名前は開発中のものです。
08/06/04 11:33:27 xVETCOHb
新しいgamedeveカキカキ
TopPage - game-develop.com wiki
URLリンク(wiki.game-develop.com)
GameDevWikiを何とかするスレ
スレリンク(gamedev板)
522:名前は開発中のものです。
08/06/06 03:37:13 M4cUj8sn
ただいまDXライブラリでシューティングゲームを作っているんですが
敵の軌道に凄い迷っています。
何かいいサイトとか教えてもらえると嬉しいです・・・
523:名前は開発中のものです。
08/06/06 05:01:50 ccm+UKUf
敵の軌道が軌道に乗らないと。
524:名前は開発中のものです。
08/06/06 06:53:06 +EwpaMeA
軌道の作り方?
それともどんな軌道があるかって話?
プログラム的な話ならともかく、ゲーム内容の話だったら他のゲームみて研究しなさいとしか
525:名前は開発中のものです。
08/06/06 11:54:13 5E9ARiON
STGプログラミングとか、STGアルゴリズムマニアックスとか、こういう時には丁度いいと思うよ。
526:名前は開発中のものです。
08/06/06 16:20:06 M4cUj8sn
ありがとうございます。
あと質問の仕方が少し悪かったですね。すみません。
えっと、敵の軌道についてどういったプログラムの書き方があるのかを
聞きたかったんです。
>>525さん
ググッたらでてきました。
よさそうな本なので使わせてもらいますorz
527:名前は開発中のものです。
08/06/06 20:01:04 5E9ARiON
>526
ある程度ゲーム作りなんかを経験したことある人間なら、
プログラム的にはそんなに有効なものではないけれど、
・やりたいことはあるけど実装方法が微塵も思いつかない
・あまりSTGに詳しくないので、(プログラマ視点からの)演出リストみたいなものが欲しい
とかなら便利だと思う
528:名前は開発中のものです。
08/06/07 07:21:42 HwGhKYeT
>>526さん
ありがとうございます。
とりあえずこれで勉強してみようと思います。
529:名前は開発中のものです。
08/06/09 21:47:15 xIkwo1U1
質問があります
敵キャラクターの色に関してですが、
敵キャラクターは背景の色とは、なるべく違う色を使って保護色でない見やすい色の方が良いと言われますが、
その際、敵キャラクターの色はなるべく統一させておいた方が良いのでしょうか?
例えば、
一面の森林ステージは、背景の緑色とかち合わないように敵は全員ピンク色系に。
二面の列車ステージは、背景の線路の色とかち合わないように敵は全員青色系に。
といったような感じで。
既存のゲームでは、どういったパターンで敵の配色を決めているのか教えてもらえませんか?
530:名前は開発中のものです。
08/06/10 01:01:07 nimaFHPb
メカもので世界観を重視するなら
明度・彩度を変えたほうがいいんでは
531:名前は開発中のものです。
08/06/10 01:12:25 +aDmgWFn
確かに、やたら派手で目立つ戦闘機ばかりというのはワケ分からんな。
もちろん、わざとそうやる機体があるのは認める。
532:名前は開発中のものです。
08/06/10 01:16:08 NUtaWqlE
せめて背景とキャラは区別が付くようにしてほしい。
昨今のゲームってハードの能力が上がってやたら背景とか凝ってるんだけど
弾がわかり難いとかあるし
3Dを使って1軸固定の場合、いつ同一軸に来たのかわかりくいのとかあるからな~
533:名前は開発中のものです。
08/06/10 08:05:33 nTtkz+dw
敵の動きを実装したいのですが、
私の作ったシステムだと、直線と、円書きながら移動の2パターンぐらいしか表現できず、
あまり、おもしろくないというか 見た目に欠けるのです。
そこで、どうやったら、敵の微妙な移動を表現できるのでしょうか?
534:名前は開発中のものです。
08/06/10 08:16:47 f1guzX+l
全てのキャラの色が派手すぎると変だし
背景とキャラが区別ついた方が良いとなると難しい
現在使用している素材は、基本的に青色なんですが
下地が緑の部分では、キャラの彩度や明度を変えても限界がありますし
背景そのものの彩度や明度をかえると、
キャラが浮いてくれるのですが
全ての背景が夜みたいになってしまうのも考えものです
何か方法はないでしょうか?
535:名前は開発中のものです。
08/06/10 08:31:33 arPqS3KG
>>553
システムってのが、どんなのかわかりませんが、
直線移動が実装されているのであれば、
下に直線的に移動した後
左上、右上、と直線的に繰り返し移動
みたいに直線行動の組み合わせでも
わりと微妙なキャラの動きは作れると思いますが。
敵の微妙な移動について詳しく
536:名前は開発中のものです。
08/06/10 08:55:12 phyGEt7B
>>533
他人の作ったゲームを観察すればいいだろう。
まぁ、名作と言われるゲームでも、意外と単純な動きしかしてないけどね。
537:名前は開発中のものです。
08/06/10 12:17:00 hsBh970A
連隊として出てくるとかねー。
538:名前は開発中のものです。
08/06/10 14:18:54 RT02LfrH
>>533
放物線をはじめとして、いろんな数学的曲線を見て利用できそうなもの探すのはどうよ?
539:名前は開発中のものです。
08/06/10 16:17:37 FupEvrLt
敵、弾の動きとか出現を全部プログラム中に直接書いちゃってんだけど
BulletML以外で自分で弾幕定義とかしてる人いる?
540:名前は開発中のものです。
08/06/10 16:19:15 BhUcQ+GT
way弾とかの関数は独自に作ってるよ
541:名前は開発中のものです。
08/06/11 00:17:29 w4VzkzQG
>>539
void ShotNWay(引数);//NWay弾
こんな感じの関数ならいっぱい作ってるよ
542:名前は開発中のものです。
08/06/11 00:54:26 Yzm3EAbw
ちょっ速のPCがあればスクリプト言語など不要ですね、わかります。
543:名前は開発中のものです。
08/06/12 09:37:47 f1+USoD9
逆だろ
544:名前は開発中のものです。
08/06/12 15:35:40 jAc1OSoI
俺も最初逆に思ったけどたぶんコンパイル速度が速いってことだろう
545:名前は開発中のものです。
08/06/12 20:50:25 yDi/ZIrs
c++だって、コンパイルなんてせいぜい数秒じゃないか?
546:名前は開発中のものです。
08/06/12 21:30:53 gzO65s1E
マ以外の人に編集や調整を頼むなら簡単なスクリプトは要るかもだが
俺ずっと一人制作だったから弾幕定義まで一個一個全てdllにして
プレイ中に修正可能にしたりとかヘンテコな事やってる
547:名前は開発中のものです。
08/06/12 22:28:30 TSLRdYb6
>>546
それってヘッダーファイルじゃダメなの?
548:名前は開発中のものです。
08/06/12 22:48:12 gzO65s1E
>>547
ヘッダーファイル?よく分からんが
リリースビルドのexeでもプレイ中にコード差し替えしたいという
意味不明な俺要求で全部dllにしてた。ただそれだけ。
エディットコンティニュー用のデバッグ情報があるなら
デバッグしながらでも普通に書き換えられるけど
549:名前は開発中のものです。
08/06/13 10:37:09 WTt391nL
少しスレチかもしれませんが質問です
効果音で、雷電2及び雷電DXのボス破壊時の効果音のような
気持ちいい感じというか、こもった感じではない爆発音って、
配布されている効果音の中には、意外とないように思えるのですが
どなたか、ご存じないでしょうか?
550:名前は開発中のものです。
08/06/13 11:08:21 eIgFj6sJ
スピーカーのせいなんじゃないの?
551:名前は開発中のものです。
08/06/13 12:26:22 hkP7hw1T
的外れなレス発見
552:名前は開発中のものです。
08/06/13 16:17:36 EQ9QC8Ez
>>549
それはアレだ。プロが作り出す音響効果の素晴らしさってやつだよ
音響効果のノウハウに関する公開情報って異様に少ないんで
俺みたいな門外漢のマには何が何やらサッパリだ
アニメ界で有名なサウンド○ィ○のお偉いさんなんて何十年も前から
ずっと現役の職人さんだよ。すげぇよな
553:名前は開発中のものです。
08/06/16 12:03:46 elENusH/
>>552
なるほど……
フリーで見つけるのは難しいということですね
亀レスですみませんでした
ありがとうございます
554:名前は開発中のものです。
08/06/16 23:15:19 ClTaNQNv
マウスだけで遊べて、パワーアップなしで爽快感UPできる方法
を追及した結果、マウスでコマンド入力し、成功すると一定時間
攻撃力がアップするってのを作ってみたけど、(効果が高いほど
入力操作が多い)コマンド体得するまではいいんだが、
一通り覚えると飽きる気がしてきた・・・。
なんかうまい使い方ないだろうか・・・。
555:名前は開発中のものです。
08/06/16 23:31:23 uX6B7Jne
敵クリックで撃破。
556:名前は開発中のものです。
08/06/17 00:07:49 Gh2sy0to
>>554
左クリックで線を描き、右クリックでスポイト。
557:名前は開発中のものです。
08/06/17 01:00:52 ZH96Nhjs
マウスで遊べるシューティングっていうと、喧嘩番長のやつが
結構面白かったよ。
URLリンク(jp.shockwave.com)
558:名前は開発中のものです。
08/06/17 13:34:09 kknD/33w
晩夏県庁
559:名前は開発中のものです。
08/06/18 02:05:34 qz8Cw7gV
>敵クリックで撃破。
>左クリックで線を描き、右クリックでスポイト。
インスピレーションは得られた。
喧嘩番長30分ぐらいやっちまった・・・。
が、方向性が違うことに気づいた・・・。
もうちっと考えてみるわ。
560:名前は開発中のものです。
08/06/18 02:15:41 NlS9ptn1
えられたんだ・・・?
561:名前は開発中のものです。
08/06/18 09:01:30 mqJXL/tf
>>539
単純な弾幕は作れるようにしてあるな。
予めリストのように自分の型の変数を持つ弾幕インターフェイスを作ってそこから
n-way弾、全方位弾、連なる弾、発射調整用(ここが色々作れる。)のクラスを作る。
これで初期化時に弾の方向、方向間隔、同時発射数などを初期化できるようにした後、
複数の弾幕インスタンスを組み合わせるだけで、簡単な弾幕は作れる。
例えば5-wayインスタンスの変数に3包囲奇数型全方位弾を登録しておけば、
奇数3方向に5way弾が打てるようになる。
562:名前は開発中のものです。
08/06/18 15:02:24 6MKGIX0P
way弾の組み合わせでほぼ事足りるからなー
東方みたいな弾幕作りたければだいぶ変わるけど、あれはあれで別だし…
563:名前は開発中のものです。
08/06/18 23:25:39 oPZri8ro
ストラテジーパターンと、
「弾を発射する弾」で全て済ましてるな
564:名前は開発中のものです。
08/06/18 23:38:14 qz8Cw7gV
まだ形になっていないけど、コマンドシステムは実装したので、
アゲてみた。
URLリンク(gamdev3.hp.infoseek.co.jp)
の
[No_0293.jar] マウスコマンド習作
ってやつがそれ。
ちなみにインスピレーションから得たものは未実装。
発動した技をフル活用させようとするとなんかパズルゲーみたいに
なりそうなんだよな・・・。
思いつきのアイデア求む。
565:名前は開発中のものです。
08/06/19 01:58:01 SRbwL4tV
>>564
4軸コマンドを簡単な図形に置き換えるとか。
566:名前は開発中のものです。
08/06/22 00:39:38 XlCCcTXY
タスクシステム難しいな・・・
どう実装すればいいかさっぱり。
オブジェクト吐いて連結リストにしておわったら削除みたいな感じでいいのかな
567:名前は開発中のものです。
08/06/22 00:55:59 8fUS+A6I
リストで繋いだオブジェクト群に操作を加えていけばそれでタスクシステムなんじゃないの
568:名前は開発中のものです。
08/06/22 02:02:19 aaplPd6e
>>566
リストなんか使わずに配列に入れて毎回全走査でいい。
親子関係とかなければ、これで十分。
要点は、
・全てのキャラクタが共通の基底クラスから派生している
・1フレームに1回呼ばれる状態更新メソッドを持っている
この2つだけ。
オブジェクト自身にリスト構造を持たせるのは前時代的な
実装だから、俺は薦めない。
569:名前は開発中のものです。
08/06/22 02:33:15 di01Ub84
配列全走査なんかしたら処理順序が狂うだろう。
弾幕シューなら敵弾の前後関係とかに影響が出る。
570:名前は開発中のものです。
08/06/22 02:36:39 +i/0tpop
というか双方向リストとかは覚えておいたほうがいいだろ。
それにネットでは解説されてるし、組み込んじゃえば
自分が触るのはリストに関係ない構造体のデータだけだし。
571:名前は開発中のものです。
08/06/22 02:59:46 l+iPD5/q
自作でオブジェクトをリスト化するのが面倒なら、
STLのlistで、オブジェクトへのポインタを管理すればいいんジャマイカ?
572:名前は開発中のものです。
08/06/22 03:23:40 Zr+DHgg1
オブジェクトがリスト構造を持っていなくて、独立したリストがオブジェクトへのポインタを
持たせることも出来るだろうけど、あんまり分ける意味を感じないな。
配列は使い勝手を考えると流石にありえないと思うけど。
573:名前は開発中のものです。
08/06/22 06:38:41 DSllsGKe
配列で領域確保してリストとして作動させるのが簡単ってなんかの本で読んだ覚えがあるな。
もちろん配列を超えないこと前提で。
574:名前は開発中のものです。
08/06/22 06:46:16 +i/0tpop
>>573
そりゃそうだけどね。
でも今となったらどっちもどっちでしょ。
その都度領域を確保する場合はmalloc、freeのコストが発生。
配列で領域確保してリストとして機能させる場合は
使っている配列で構成されるリストと
あいている配列で構成されるリストの
二つが存在して、ややこしくなる。
575:名前は開発中のものです。
08/06/22 10:34:16 HN2ihE2T
>>573
たしかHSPとCだったと思うけど、配列を使ったリスト構造の実装をこの板でみたぞ
ついでに情報処理の試験でも出題されたはず
配列を使った場合、静的に領域を確保するので、領域の上限がキッチリ決まってくる。
しかし、動的に確保する場合でも、ゲーム中にmalloc使って・・・なんて事はしないから条件は同じ
(ゲーム開始前に一気に確保)
>>574
>使っている配列で構成されるリストと
>あいている配列で構成されるリストの
これはmalloc等でも(ゲーム開始前に一気に確保)をした場合は同じ処理が必要
あれ?ひょっとしてどっちで実装してもメリット・デメリットあまり大差ないのか?
配列ならポインタでエラーがでないから、デバッグが多少は楽になるかもしれんが・・・。
(ポインタより配列の添え字とにらめっこするほうがらくだよね?ダンプ出しやすいし)
576:名前は開発中のものです。
08/06/22 11:14:50 qz8iv83D
>>566だが頭がおかしくなりそう
基底クラス
│
├自機クラス→リストへ挿入
│
├敵機クラス→リストへ挿入
│
└弾クラス
├自弾クラス→リストへ挿入
└敵弾クラス→リストへ挿入
な感じでいいのか?
といってもこれすらどう組んでいいか分からん
C++とオブジェクト指向もっと勉強したほうがいいですね、わかります
577:名前は開発中のものです。
08/06/22 12:12:03 8fUS+A6I
俺の場合は敵機・自機・敵弾・自弾・・・でリストをわけてる
そうすれば描画順を気にしないで済むし、例えば敵弾に移動速度のパラメータを持たせて
動的に全ての敵弾の速度を一気に変えたりできる
配列でのメモリ確保ってのは要するにメモリプールを作るってことだろ
そんでそのプールを固定長に区切ってそれぞれの領域をオブジェクトとして利用する
プールを使えばfree/mallocに伴う処理とかメモリの断片化を防げるって利点がある
578:名前は開発中のものです。
08/06/22 12:59:42 rl6WJKHf
> あれ?ひょっとしてどっちで実装してもメリット・デメリットあまり大差ないのか?
> 配列ならポインタでエラーがでないから、デバッグが多少は楽になるかもしれんが・・・。
> (ポインタより配列の添え字とにらめっこするほうがらくだよね?ダンプ出しやすいし)
サイズの違う領域を確保したり開放したり繰り返すと、
あとで再利用されない領域が発生しやすい。
本棚の本をランダムに出し入れするイメージかな。
(勿論既に本棚に入ってる本を左右にずらすのは禁止でw)
579:名前は開発中のものです。
08/06/22 13:15:17 GHWgXrcU
おまえら細かい実装の話に熱くなりすぎだろ。
そんなのは個々人が好きなようにすればいいんであって、
もっと全体の設計の話をすべきじゃないか?
580:名前は開発中のものです。
08/06/22 14:22:22 qz8iv83D
class hoge{
public:
hoge(int id);
virtual ~hoge();
private:
int hogeid;
};
typedef std::list<hoge*> hogeList;
main(){
hogeList hogelist;
hogeClass obj1(1);
hogeClass obj2(2);
hogeClass obj3(3);
hogeList::iterator it = hogelist.begin();
hogeList::iterator ++it = hogelist.insert(it, &obj1);
hogeList::iterator ++it = hogelist.insert(it, &obj2);
hogeList::iterator ++it = hogelist.insert(it, &obj3);
}
とりあえずSTLのlistでやってみたがこんなんでいいのかな
これに自機、敵機、自弾、敵弾、その他クラスをつっこんで描画やらのループにいれればいいのか?
581:名前は開発中のものです。
08/06/22 16:07:22 Who4Uyml
STLのlist使うなら
hogeList objectlist[n]; //n=0自機 1敵機……
objectlist[i].pop_back(new hoge(...)); //オブジェクト生成
あと、hogeクラスのhogeidってなにに使うんだ?
582:名前は開発中のものです。
08/06/22 16:08:22 Who4Uyml
寝ぼけてるな…
pop_backじゃなくてpush_backだよ・・・
583:名前は開発中のものです。
08/06/22 18:42:53 j2oc2Sqc
何か話をぶった切って悪いんだが、
リプレイで早送りを実装する場合、
本来1/60秒経過したら更新するところを1/240秒経過したら更新、とする以外でいい方法ある?
この方法だと、処理落ちしたところは早くできないんだよね。
584:名前は開発中のものです。
08/06/22 18:56:10 8b6P9lU/
だいたい処理落ちの原因は描画だから、
描画を省略したらいいんジャマイカ?
585:名前は開発中のものです。
08/06/22 19:11:27 /NIY82Nu
エフェクト類の計算処理を省略するとか
描画処理を間引きするとか
586:名前は開発中のものです。
08/06/22 19:13:46 j2oc2Sqc
>>584,585
サンクス。レスしたあと席立ったら普通にその考えが出てきたorz
587:名前は開発中のものです。
08/06/22 19:20:25 dWz0Uliv
アフリカでは良くあること
588:名前は開発中のものです。
08/06/22 19:23:07 yBkfb3j+
オープンアプリ向けに作っている人は少ないのかな
589:名前は開発中のものです。
08/06/22 22:22:03 XlCCcTXY
>>581
いんや、適当にオブジェクトを突っ込むのを実装したら
こうなるかな、ってことで別に自機とか弾とかの概念はないです。
あとthx。
今度は実際にクラス作って実装か・・・
処理してる物体がPCじゃないだけに怖いな
590:名前は開発中のものです。
08/06/23 08:18:42 88AJQOqo
>>574
つ メモリプール
591:名前は開発中のものです。
08/06/23 15:44:39 FfEyNKqI
>>569
>敵弾の前後関係
表示順序が問題になるような(半透明処理)が無ければ
表示上の前後関係は深度バッファまかせにできるから
std::vectorを使った順序なしリストの走査順で描画しても
何も問題ないよ
592:名前は開発中のものです。
08/06/23 16:49:40 FfEyNKqI
>>568
たしかに敵や弾は自身がどんなコンテナにぶち込まれてるかなんて
本来なら別に知る必要のない余計な情報ともいえるから
boost::intrusiveみたいな押し入り癒着してくるタイプのコンテナを下手に使えば
軒先貸して母屋ひっかきまわされるだけで終わることもある
この手の侵入式(?)コンテナがドマイナーなのは利点欠点を勘定したら
欠点のほうが目立つケースのほうがずっと多いから
593:名前は開発中のものです。
08/06/23 18:59:42 FfEyNKqI
>>566
>>567
>タスクシステム
一部でそう呼ばれ、未だに一部レトロマニアに珍重・尊崇されているものの実態は
boost::intrusive同様、コンテナのパラメータがオブジェクトに癒着している。
このパラメータは自前のアロケータ内部でも使われるものなので
アロケータとオブジェクトが癒着しているとも言える。
またオブジェクトのメンバ変数は単なる汎用のワークメモリという扱いで
状態遷移のたびに仮想関数テーブルポインタを上書きして型が別物に化ける。
継承図とか完全無視で型が変化するので状態遷移の前後でメンバ変数が
様変わりする。
これは静的型言語のポリシーを完全に逸脱したものであり、アセンブリ言語を
使っていた自由の時代ならともかく、静的型言語であえてこんなアクロバットを
披露するのはある種の変態プレイとか路上オナニー。人前で自慢できる趣味ではない。
こんな妙なことするなら、動的型言語を新たに創造しそれをエディットする環境を構築するか
既存のスクリプト言語(LuaとかSquirrelとか)を組み込んだほうが良い
594:名前は開発中のものです。
08/06/23 20:21:42 FfEyNKqI
話がわき道に逸れた
敵や弾をどんなコンテナに入れるのか、これは配列でも連結リストでも
n分木でも好きなようにすればいいが、その要素を走査して更新いくという
ゲームの基本的な仕掛けを「タスクシステム」って呼ぶのは変かなと
あれはある特殊な、もはや時代錯誤ともいえる実装に付けられた
固有名詞、ローカル用語なのだから
595:名前は開発中のものです。
08/06/23 21:34:37 HikCyTD1
ちなみに正確には擬似タスクシステムな。
596:名前は開発中のものです。
08/06/23 21:58:57 FfEyNKqI
>>595
教えてくれ。あれは一体何の擬似なんだ
オペレーティングシステムにおけるマルチタスクシステムのタスクの擬似なのか?
ならば要件を満足してない(コンテキストスイッチすらできない)から擬似ですらないぞ
スケールも素材も使用目的もまるで違うただの玩具というべきだろう
597:名前は開発中のものです。
08/06/23 22:07:12 9mnpmN5C
>>596
OSの構造しらない昔のゲームプログラマーが適当に名付けただけだよ。
その昔のゲームはキーボードからコマンドを入力するまで
イベントが動かないのもあった。アニメーションもろくにできなかったしね。
その点アクションやシューティングは一定サイクル(FPS)で処理を続けてるので
タスクといえる。だから擬似タスクシステムとしようってことでしょ。
組み込みのちょっとしたプログラムもRTOSとか呼ばれてるようだし。