シューティングゲーム製作技術総合 17機目at GAMEDEV
シューティングゲーム製作技術総合 17機目 - 暇つぶし2ch250:名前は開発中のものです。
08/12/18 05:58:30 cp3Q3c0h
誤爆 祖母ろスレと間違えた

251:名前は開発中のものです。
08/12/18 06:26:04 3f8yaJHa
なんだそれw

252:名前は開発中のものです。
08/12/18 13:02:45 RBRbpCNL
なんか家庭問題平和的解決STGとかそんなのを連想したがこれ以上はやめておく

253:名前は開発中のものです。
08/12/18 16:03:34 jTA930xc
文化祭の出し物に家族計画STGというものを展示したら三者面談
大人って汚いよなーっておもた

254:名前は開発中のものです。
08/12/18 16:15:20 6J6Zh9g6
どっかで聞いたなその話ww

255:名前は開発中のものです。
08/12/18 21:45:07 aoTycjO5
Direct3D直叩きで作ってるやつ減ってるなあ
もうちょっと勉強しようぜ

256:名前は開発中のものです。
08/12/18 22:05:15 N/4dA9YH
それを突き詰めるとカーネルから作れという話になるわけだが
システム弄りに熱を上げるよりゲームに精を出そうぜ

257:名前は開発中のものです。
08/12/19 00:11:23 1hgxtZAX
HSP直叩きで作ってるやつ減ってるなあ
みんなもうちょっと玉葱の勉強しようぜ!



ハードウェア⇔デバイスドライバ⇔ダイレクトサンディー⇔アプリ  (だいたいあってる)
GPUを隠蔽したインターフェース相手に直叩きって言えるなら
僕だって毎晩E3Dを直叩きしてるんだからねってGDAlgorithms-listで叫んでいいはず

哂われたら>>255の所為

258:名前は開発中のものです。
08/12/19 00:15:14 nHSI00R2
自分のパソコンでしか動かないゲーム作ってもなーってのはあるな。
ハードに近付けば近付くほど、その傾向が高くなる。

259:名前は開発中のものです。
08/12/19 07:59:20 H3IwsSUC
dirfct3Dに手を出そうとしてるがマイクロソフト公式解説の時点で既にアバババ゙なレベルで難解ねコレ

260:名前は開発中のものです。
08/12/19 10:39:32 5kd3ludm
URLリンク(www.google.com)

261:名前は開発中のものです。
08/12/20 12:41:00 L1HxTdft
DrawIndexedPrimitiveUP最強伝説

262:名前は開発中のものです。
08/12/20 12:45:27 YE9FCgVX
OGREとIrrlihtという3Dエンジンがあってだな

263:名前は開発中のものです。
08/12/28 02:55:22 fJQKz6W8
>>259
いきなり公式解説はきつくない?
DirectXの本でCDつきのを1冊買ってきてサンプルいじってある程度
理解してから公式みるとかをお勧めする

264:名前は開発中のものです。
08/12/28 08:14:01 YXHvuVkA
>>263
公式は絶望的なのでそうするよ!

265:名前は開発中のものです。
09/01/01 17:24:36 ltM6YgTq
“砂漠の女王”をテーマにした質素な衣装 
URLリンク(contents.oricon.co.jp)
URLリンク(contents.oricon.co.jp)
URLリンク(contents.oricon.co.jp)

266:名前は開発中のものです。
09/01/01 23:19:12 FIs8DZhM
どこのラスボスですか

267:名前は開発中のものです。
09/01/01 23:28:42 6YUsPd07
>266
んー…… ぱろでぃうす?

268:名前は開発中のものです。
09/01/02 00:05:09 1UwFDDbr
ガルーダIIとか

269:名前は開発中のものです。
09/01/02 04:07:59 qbyqKLbA
こんな動画があったりする。

【生かして】もし弾幕STGのラスボスが小林幸子だったら【帰さん】
URLリンク(www.nicovideo.jp)


270:名前は開発中のものです。
09/01/02 04:20:29 TfxriBg+
鼻水噴射したw

271:名前は開発中のものです。
09/01/02 17:06:49 2fVT2icX
>>256
キモさから見てR-TYPEあたりかな

272:名前は開発中のものです。
09/01/03 20:02:39 2WWeLwqZ
東方風神録みたいな円形のボムってどう実装すればいいんだ?

273:名前は開発中のものです。
09/01/03 20:03:55 u8o0v/Vp
気にせず矩形判定

274:名前は開発中のものです。
09/01/03 20:30:08 m8+AG4EB
円同士なら距離で判定

275:名前は開発中のものです。
09/01/03 20:42:50 2WWeLwqZ
>>273-274
あーいやそれはわかるんだがあんな感じのエフェクトって入れるの忘れてた

276:名前は開発中のものです。
09/01/03 23:36:52 WL8Ra5wy
PrimitiveType.TriangleFanを使ったらできないかな。

277:名前は開発中のものです。
09/01/04 00:55:41 iRIf9nnw
見たこと無いから間違ってるかも知れんが
円の画像を拡大縮小すればいいんでねぇの?

278:名前は開発中のものです。
09/01/04 01:12:01 286vebya
>>276
ポリゴンそのものを円形にする必要があるの?

279:名前は開発中のものです。
09/01/04 02:37:24 mE4zeWub
どんな絵か判らんが普通に円の絵を板ポリに貼るだけじゃないのか

280:名前は開発中のものです。
09/01/04 04:49:12 342MFaiV
>>175
見た感じ、紫、白ともに画像は同一。
輪自体はかなり高速に回転してるけどグラフィック自体はアニメーションしてないっぽい。
白い輪は途中で2枚の回転方向が異なる円形画像が重なるようにしてるっぽい。
輪の線の太さは変わらず半径だけ増えてるから変形は単純な拡大縮小ではないけど、多分スケール操作か連番画像。

281:名前は開発中のものです。
09/01/04 04:52:09 342MFaiV
安価ミス>>275

282:名前は開発中のものです。
09/01/04 07:07:50 A48anJ+N
>>280
んじゃ最終的な大きさになるテクスチャを縮小した状態から大きくしてなおかつ
1枚絵を高速回転してるわけか

283:名前は開発中のものです。
09/01/04 11:54:26 626OHoem
>輪の線の太さは変わらず半径だけ増えてるから変形は単純な拡大縮小ではないけど、
単純に輪郭画像と輪郭の太さ分小さい画像の重ね合わせじゃないかね?
単純に重ね合わせると違和感があるのでアルファブレンドなり加算合成なり・・・
実物見たこと無いから(略


284:名前は開発中のものです。
09/01/04 11:58:07 YqDPoRid
>>282
素材抜き出したらそれっぽいのが1つあったが真っすぐな線だった。
あれを円状にしてるのかな

285:名前は開発中のものです。
09/01/04 19:39:03 342MFaiV
ってことは直交座標から極座標に変換してるでFAっぽいね
昨日(というか今日)似たような画像を作ろうと試したときレタッチソフトのフィルタでXYRT変換使ったから、
プログラム上でそれが出来ればわざわざ円形の画像を使う必要もないってことか

286:名前は開発中のものです。
09/01/04 19:50:08 rNc3nTBq
そこでTriangleFanをだな。

287:名前は開発中のものです。
09/01/05 11:31:40 mG4OZtVg
>>285
kwsk

288:名前は開発中のものです。
09/01/05 17:30:37 Lp4/o7ME
オブジェクト指向で作っていたが
構造体で作った方が牢固で、保守的で、頑丈なものができそうな気がするんだが
どうだろうか?

289: ◆Fp.xSEIREI
09/01/05 17:36:20 61TWp3Uz
全部構造体で作ってる俺が通るぜヒャッハー

290:名前は開発中のものです。
09/01/05 20:13:08 NpAsIYET
>>289
通るだけかよw
所感も書いてけYO

291: ◆Fp.xSEIREI
09/01/05 20:21:20 61TWp3Uz
おぶじぇくと嗜好とかクラスとかわけわからんが構造体だけで何も困ってないぜ(・∀・)

でおk?

292:名前は開発中のものです。
09/01/05 20:32:37 UP4QdJRg
個人で作るなら(プログラマが1人なら)オブジェクト指向である必然性は無い。

293:名前は開発中のものです。
09/01/05 20:45:15 Q9h5Nd6t
オブジェクト指向と構造体は並べて比較できるものではないと思うが。

294:名前は開発中のものです。
09/01/05 21:01:01 Lp4/o7ME
そうなのか?
やはり難しいことを先にやっていたようだ
どおりで完成しないわけだ
構造体楽だね♪

295:名前は開発中のものです。
09/01/06 02:12:01 BIH/S8bQ
グラディウスⅤの芋ステージを真似てみようと勢いで作ってみたが、
判定処理が複雑になりすぎ+処理重すぎでまともに動かないorz

・岩1つ1つを背景と判定するために座標変換
・プレイヤーやショット、空中の敵も背景との判定の為に座標変換

スムーズにはいかないな…。

296:名前は開発中のものです。
09/01/06 03:03:01 lygLfbkU
>>287
詳しく・・・といわれても。
適当にぎざぎざ引いた線を左右が循環するようにして、そのあとフィルタを使用しただけだが。
photoshop(elementだが・・・)でやった。
大抵のレタッチソフトは座標変換操作するフィルタはデフォであるか、プラグインがあるんでない?

直交座標を極座標に変形するってことに対してなら、
元のY軸の値を原点からの距離、元のX軸の値を方向にするような変換でしょ。
ぐぐって上に出てきたページの真ん中あたりに直感的に理解できる図がある。
URLリンク(pkunto.akuma.to)

297:名前は開発中のものです。
09/01/06 08:30:15 3goLI8kZ
>>291
おk
俺もそーしてみるかな

298:名前は開発中のものです。
09/01/06 09:00:46 xH3medab
ま~わる~ま~わる~よ~
ソースはまわる~
コメントーアウトーくりかえ~し
今日は消された コメント達も
いずれコミットされて動きだ~すよ~

299:名前は開発中のものです。
09/01/07 00:37:24 dIlqsnyP
>>295
>座標変換

座標の整数化とビット右シフトはやってんの?
当たり判定グリッドの単位マス当たりドット数を、2の倍数にしておく必要があるが。

300:名前は開発中のものです。
09/01/07 01:56:25 xahHjft8
>>295
参考になりそう?
URLリンク(marupeke296.com)

座標変換なんて一つのオブジェクトに1回で済むんだから
まず考えるのはあたり判定回数を減らすことだと思う。

>>299のはもっとシビアに最適化しなきゃいけない場合にするものだと思う。

301:名前は開発中のものです。
09/01/07 01:56:40 RoDN07wS
>>299
いや、普通にfloatで行列使ってやっているw
岩は丸判定、背景はあたり判定用のポリゴンでクソ真面目に計算しているから
処理が重いのは当然かww
バスクリンステージも後々再現してみようと思ってたので背景に判定ポリゴン使って、
カメラのZ軸回転にも対応できる形にしていったつもりだが、
処理の高速化とか全く考えていなかったorz

302:名前は開発中のものです。
09/01/08 17:20:35 LE+aMQpC
>>299
それ2の倍数ではなく2の冪乗だと思う


303:299
09/01/08 20:43:25 FVMUmd1O
>>302
ううっ、恥ずかしい。累乗だった。

>>301
ひょっとしてレイ使って当たり判定やってんの?

304:299
09/01/08 21:10:15 FVMUmd1O
つーか、日本語不自由でもPC言語不自由じゃなかったら問題解決だべ。
ゴラアヽ(`Д´)ノカカッテコイヤ!

305:名前は開発中のものです。
09/01/08 23:40:32 hjhgOuWK
>>303
まぁそんな感じだな。
判定用ポリゴンもできる限り少なくしたつもりだが、
そもそもグラⅤとかの判定って全く違う考え方でやっているとしか思えないな…
あれだけの物量の判定やっているんだから何かごまかしているとは思うんだが、
簡易的な処理方法が俺には思いつかないorz
座標変換処理だけでかなりの処理負荷だしなぁ。

306:名前は開発中のものです。
09/01/09 08:05:19 5mIhsbR7
>>304
A = {a | a∈2^n, ∀n∈N}
B = {b | b∈2n, ∀n∈N}

この2つはまったく別の集合だよな
数学の言葉で記述すればいいんだから、日本語が不自由ってのは言い訳にできない

307:名前は開発中のものです。
09/01/09 10:24:29 yPsQiCUo
>>306
なんか、顔文字に見えるのは俺だけか
ニダって感じのやつが手を横に伸ばしてるみたいな

308:名前は開発中のものです。
09/01/09 21:32:08 qlgyo294
>>307
大丈夫
俺もだ

309:299
09/01/09 22:24:08 jRkwlo0g
>>306
横で、お主が昔飼っていたペットが「昔この2本足に虐待されていた!」と憤っているぞ。

>2つはまったく別の集合    ('ー`)フムフム
> ↓
>数学の言葉で記述すればいい  ('ー`)フムフム
> ↓
> ↓
> ↓
>∴日本語が不自由ってのは言い訳にできない  ('A`)???

('A`)・・・

('∀`)!!!→日本語不自由でも○○言語不自由じゃなかったら問題解決

310:名前は開発中のものです。
09/01/11 17:19:25 7Z5jM2VY
>>308
あるよ。
以上。
↓次の方どうぞ

311:名前は開発中のものです。
09/01/11 18:55:37 7t9eOtH/
ひつぜん-せい 0 【必然性】
(1)そうなる以外にありえないこと。

312:名前は開発中のものです。
09/01/11 23:38:57 shDRgwES
東方のDirect3Dの描画範囲って本当に640×480?
どうやっても1024×768のディスプレイであそこまで綺麗に画像が映らない・・・
何か特別なパラメータの設定でもあるのかな?
誰か情報あったらきぼん。

313:名前は開発中のものです。
09/01/12 00:19:51 GIadNQrK
>>312
文章の意味がよく分からんが

東方よりも大きい解像度で自作ゲームを作ってるけど
あそこまで画面を綺麗にできないってこと?

それでも綺麗の定義がよく分からけど

314:名前は開発中のものです。
09/01/12 01:00:55 1n7V9OY/
いえ、Direct3Dの描画サイズは640×480で作っています。
それを1024×768のフルスクリーンで表示しても
同じ640×480の東方に対して画像などの粗が目立つ気がするんです。
東方も若干ぼやけてますがその1.5倍くらいぼやけて見えるんですよね、、、

315:名前は開発中のものです。
09/01/12 01:13:35 kLt2gAb1
じゃあ、東方はビットマップとかをあらかじめ大きめに作っておいて、
それを縮小表示してるのかもね。

解像度を小さくする理由としては、動作速度を稼ぐためとかが挙げられる

316:名前は開発中のものです。
09/01/12 01:14:41 kLt2gAb1
>動作速度を稼ぐ
俺のことなんですけどね。

317:名前は開発中のものです。
09/01/12 01:51:27 GIadNQrK
グラボのアンチエイリアス機能が画面全体に効いてたりして

318:名前は開発中のものです。
09/01/12 09:43:09 8kpUJMIm
開発中はグラボの機能カットするなんて基本…>312はやってないかもしれんな

319:名前は開発中のものです。
09/01/12 20:05:51 uZxavI2u
ち、違う!俺はやってない!

320:名前は開発中のものです。
09/01/13 18:44:36 nk2yEPDW
話は署で聞くから

321:名前は開発中のものです。
09/01/14 08:47:38 t2+2vepU
>>319 が「やれ」とほのめかしたんです(TT)

322:名前は開発中のものです。
09/01/14 11:58:08 FlGhDI92
グラボの機能カットしない男のひとって…

323:名前は開発中のものです。
09/01/14 12:26:04 t2+2vepU
私のグラボは最新です!!

324:名前は開発中のものです。
09/01/14 21:03:42 Z9wb8pAX
ちょっと質問。
C/C++系などメモリ破棄を自前でやる言語使ってる人で、
メモリ管理ってどうしてる?
・デフォルトのmalloc/newに丸投げ
・配列+空きインデックス管理
・大き目の領域を取ってその中を自前で管理
・その他(併用とか)

最初自分で工夫しようと思ったけど、デフォルトのnewでもそんなに困らん気がしてきた。


325:名前は開発中のものです。
09/01/14 21:33:56 lgzfaO0G
困ったら別の方法を模索すればいいんじゃね?

326:名前は開発中のものです。
09/01/14 21:51:51 yw67XO87
new使ってるけど、
newで作ったものは全部プールしておいて後で使いまわすからという理由で
どうにもdeleteしている形跡が無いという
不思議な仕様になった。

もったいない精神は偉大である

327:名前は開発中のものです。
09/01/14 23:32:25 DxGJXt39
つスマートポインタ

328:名前は開発中のものです。
09/01/15 01:55:30 JeQw1zKV
>>324
C++ならnewで作っておいて、パフォーマンスに問題があれば
newを自分で定義すりゃいいんだよ。
グローバルなnewもクラス固有のnewも、自分で再定義できる。

329:名前は開発中のものです。
09/01/22 01:33:23 3/DQX7/Y
ふつーに初期処理でnewして、ふつーに終了処理でdeleteするだけっすよ
ゲーム中では絶対new/deleteしない。あらかじめコンテナにプールしとく

330:名前は開発中のものです。
09/01/28 17:57:25 5+1qMjEp
>>306
>A = {a | a∈2^n, ∀n∈N}
>B = {b | b∈2n, ∀n∈N}
数学科の俺から見ると、このA,Bは数学の言葉としては全く意味が通らない。
おそらく、2のベキ乗全体の集合をA, 2の倍数全体の集合をBと書いた
つもりなのだろうが、全然そうなっていない。

「a∈2^n」は「aは2^nという集合の元である」という意味であり、
「b∈2n」は「bは2nという集合の元である」という意味になる。
この言い回しは意味不明。2^nも2nも、集合ではなく自然数だから。
ついでに、「∀n∈N」の部分もおかしい。なんで∀なの?∃だろ?
正しくはこうだ。
A={a|a=2^n,∃n∈N}
B={b|b=2n,∃n∈N}

>数学の言葉で記述すればいいんだから、日本語が不自由ってのは言い訳にできない
数学の言葉に不自由な輩がそんなこと言ってもな。

331:名前は開発中のものです。
09/01/28 19:36:50 aHGsam3F
何を言ってるのか判りません(*´∀`)

332:名前は開発中のものです。
09/01/28 19:53:02 JDa3+sU9
>>330
うむ、分かるぜ。俺も数学科なので。

333:名前は開発中のものです。
09/01/28 20:17:07 jU6T6L7v
せっかく数学に長けているのなら
>おそらく、2のベキ乗全体の集合をA, 2の倍数全体の集合をBと
の時点で止めて間違いを訂正をするだけにすればよかったのにな
数学科「だから」意味が通らないなんて明らかにおかしいだろう

334:名前は開発中のものです。
09/01/28 20:26:02 5+1qMjEp
>>333
何が言いたいのか分からん。

>の時点で止めて間違いを訂正をするだけにすればよかったのにな
330は まさに「訂正するだけ」にしているのだが。

>数学科「だから」意味が通らないなんて明らかにおかしいだろう
何が言いたいのか不明。
数学科だから意味が通らないのではなく、
「数学の言葉としては意味が通らない」と言っている。

335:名前は開発中のものです。
09/01/28 20:45:23 aHGsam3F
理屈っぽい奴だのう…

336:名前は開発中のものです。
09/01/28 20:58:47 jU6T6L7v
>>334
簡潔にまとめるなら「変に煽るな」だな
不明不明連呼したり最後に煽ったりしなくてもいいだろってことだよ

337:名前は開発中のものです。
09/01/28 21:04:18 fzZ5GsXa
Cライクに書いたほうがここのやつらは理解できると思うぞ

338:名前は開発中のものです。
09/01/28 21:25:20 5+1qMjEp
>>336
そうだな。最後の一文は無い方がいいな。スマン。

339:名前は開発中のものです。
09/01/28 22:35:15 S/z1HGjh
理屈っぽくなくちゃ数学科ではやってられないんじゃね?
(情報科もたいがいだが)

340:名前は開発中のものです。
09/01/29 06:36:45 GL+e0Tao
ああ、∀ がどうしても顔文字の一部分にしか映らない・・・

341:名前は開発中のものです。
09/01/29 07:39:59 HssP4OCR
マタリいこうぜ

342:名前は開発中のものです。
09/01/29 21:04:30 tEunSzsz
そうそう

343:名前は開発中のものです。
09/01/30 18:01:38 TG53Q3u1
現在開発中なのですが オブジェクト指向でいくか構造体でいくかで悩んでいます

オブジェクト指向
・ソースの量が増え、複雑になる
・再利用しやすい

構造体
・ソースが読みやすい
・エラーの発見が遅れる

といった点がありますが他の方の意見も聞きたいです
ちなみにひとりでの開発となります

344:名前は開発中のものです。
09/01/30 19:16:23 Wfa7Ajy1
オブジェクト指向だからソースの量が増えるなんてことは無いし、
また再利用しやすいなんてことも無い。再利用しやすいのならソースの量は減るはず。

自分のスキルにあわせて作りゃいいんじゃないの。

345:名前は開発中のものです。
09/01/30 20:09:26 h1LyQerr
例えば、ライフゲームの1セル1セルをオブジェクトにしたら、只の馬鹿だろうな。


結局、オブジェクト指向で造るのだが。
 画面上の敵弾の配列を持ったオブジェクトとか考えて、
この配列に対して、前進・衝突と描画とを一致させる。
衝突したら、イベントを爆発エフェクトのマネージャーに渡す。

これを継承して誘導弾の配列を持ったオブジェクトなんかも造れる。

346:名前は開発中のものです。
09/01/30 21:07:07 rGGs7k+/
馬鹿と言われた気がして来ました

347:名前は開発中のものです。
09/01/30 22:13:01 h1LyQerr
俺だけじゃなくて良かったよ。

348:名前は開発中のものです。
09/01/31 00:53:17 chB/xLS8
漫才自重ww

349:名前は開発中のものです。
09/01/31 02:34:13 reoFZLyJ
>>345
くわしく

350:名前は開発中のものです。
09/01/31 12:47:05 o/pl2w7I
>>343
まずは色々作ってみたほうがいいんじゃね?

351:名前は開発中のものです。
09/02/01 00:23:50 RhyejPYt
過去すれ見たんだけど
超連射の効果音って勝手にパクっていいの?

352:名前は開発中のものです。
09/02/01 00:29:33 7hOuLO4j
何言ってんの?

353:名前は開発中のものです。
09/02/01 00:58:38 HD8VEBR/
久々に来てみたらなんだ
数学厨の亀レス煽りとライフゲーム漫才だけかよ

354:名前は開発中のものです。
09/02/03 19:11:55 QCnjXzK6
全ステージ全オブジェクトの画像をゲーム初めによみこんだらまずい?
どれくらいまでなら大丈夫?

355:名前は開発中のものです。
09/02/03 20:09:33 jxpi8Mbc
VRAMから逆算するか実際に実験してみろとしか

356:名前は開発中のものです。
09/02/06 21:26:38 UrMJj4p/
オブジェクト指向だとソースの量が増え
クラスなど管理することが増えるので
手間がかかるし、覚えておくのも大変で、後から追加するときなども
いちいち解析しないと追加できないので、そこで悩んでいる

そこで構造体で関数と構造体だけにし、クラスを排除し、簡素化し、楽にゲーム製作にいどもとしているんだが
どうだろうか?

357:名前は開発中のものです。
09/02/06 21:38:38 H/Ui7lv7
関数型言語だな

358:名前は開発中のものです。
09/02/06 21:53:35 KL5bquCP
いいんじゃね?
メンテのしやすさで俺は構造体使ってるよ
今の時代パフォーマンスなんてそれほど変わらないんだし
自分が見やすいかどうかが最重要

359:名前は開発中のものです。
09/02/06 22:18:14 jk9lWcsB
適材適所で使い分けられたら良いと思う

360:名前は開発中のものです。
09/02/06 23:43:11 27IGqo7d
>>356

C++ vs 純粋C

ということかな?

361:名前は開発中のものです。
09/02/06 23:54:10 TAltxXAk
というか>>356がオブジェクト指向を理解していないだけな気が。

362:名前は開発中のものです。
09/02/07 00:02:41 PRstJ7Nj
プログラムはスクリプト読み込めるように作っとけば適当でよくね?
再利用とか考えるより、効率よくステージを作る方法考えたほうがいいよ

プログラムのバグ潰しはモチベーション下がるから
ソースコードあんまいじらない仕組みを初めに一気に作るべし

363:名前は開発中のものです。
09/02/07 00:12:07 qvO9PNvj
>>362
>効率よくステージを作る方法考えたほうがいいよ
同意。

しかし、
気の利いたギミックの汎用的量産フレームワークの発想に取り憑かれると、
いかんともしがたくならね?

364:名前は開発中のものです。
09/02/07 08:53:56 7s0KpNz2
>効率よくステージを作る方法考えたほうがいいよ
ステージ構成やプログラム設計をきちんとやらないと破綻するよね?
そこで どの方法がベストなのか悩んでいるんだが

365:名前は開発中のものです。
09/02/07 12:55:48 TnMoqfDe
ステージエディタ最重要
作りこみの効率が大幅に変わる

366:名前は開発中のものです。
09/02/07 16:59:02 XPWWKT8C
俺も素人だから良く分からないけど、
>>356のオブジェクト指向うんぬんって話とステージ作りの効率化って関係ある話なの?
というか相反する要素じゃないと思うんだけど
あとオブジェクト指向って要は対象がその処理をやるっていうイメージでしょ
大規模になるほどオブジェクト指向でやっといた方がいいと思うんだけどどう?

詳しい人間違ってたら訂正頼む

367:名前は開発中のものです。
09/02/07 18:31:45 Sui9BRnn
>>365
うp!

368:名前は開発中のものです。
09/02/07 18:43:37 Sui9BRnn
俺は基本グローバルな構造体で、ソースコード分けるために無理やりクラス作ってる感じ
ステージ、敵、弾の定義は多分一番普通なやつ


set 敵の種類 X座標 Y座標
set 敵の種類 X座標 Y座標
sleep 待機時間
set 敵の種類 X座標 Y座標
sleep 待機時間

こんなのが書いてあるのを配列に読み込んで設置とスリープを繰り返す
敵(弾)もほぼ同じだけど移動部と攻撃部を同時に実行してく
画像ファイル名、当たり判定の大きさ等もヘッダに書いとく


//移動 (sleepの間は増加量を変えないで動き続ける)
move 角度 速度
sleep 待機時間
move 角度 速度
sleep 待機時間
・・・
//攻撃
sleep 待機時間
nway WAY数
sleep 待機時間
make 敵の種類(特殊な動きをする弾(敵)をだす)
・・・

369:名前は開発中のものです。
09/02/07 18:54:15 TD1JXYnJ
面はいいけど
敵が未だにできない。
ソースコード直。

370:名前は開発中のものです。
09/02/07 19:05:31 PPweItha
うpってこんな感じかと思った。
URLリンク(a-draw.com)

371:名前は開発中のものです。
09/02/07 20:18:51 aITFKn0s
真面目に見ようと思ってるのに、どうしても左上の眉に目が行く

372:名前は開発中のものです。
09/02/07 20:27:56 PPweItha
ここは半角板じゃあらへんで。 つ>>371

何となくスレに出てくる単語を繋いだら、過去に弄ってた物と一致した気がした。
・ライフゲーム(1セルオブジェクト)
・スクリプト
・汎用的量産フレームワーク(意味不w)
・sleep 待機時間

373:名前は開発中のものです。
09/02/08 10:42:03 LVw4EUev
>>356
まー。継承を使わないなら無理にクラスを使う必要はないよ。
そもそも継承自体も適切な使用をしないと返って煩雑になるだけだし。
JavaやC#は構造体がなかったり、参照型の構造体が定義できなかったりするからクラスになるけど。

374:名前は開発中のものです。
09/02/08 11:45:38 x6XD/8wC
その言い方だと誤解しやすいぞw
Javaには構造体が無くて、C#には値型として構造体がある。

375:名前は開発中のものです。
09/02/08 18:41:46 ZAK2gUTB
お前らのステージエディタ見せろ

376:名前は開発中のものです。
09/02/08 22:16:40 Pn0RyiLu
まずお前が見せてくれ
話題としては興味ある

377:名前は開発中のものです。
09/02/08 23:50:03 OdbXdqqn
上の話の流れから言って、>>365ぐらいしか作って無くない?

例えば、手打ちの俺はこんなことしてる。
1.pause機能を加える。
 ・トリガーとなる時間(ステージ開始からのフレーム数なんなり)を表示。
 ・pause中だけマウスカーソルを表示させて、オブジェクトと重なったらVSのbreakが掛かるようにする。
 ・break中に、識別番号やら座標やらを取得。
2. 1.の情報を元にテキストエディタで追加。
3. Cut&Try

この作業を肩代わりしてくれるツールをGUIとかで作るの?

378:名前は開発中のものです。
09/02/09 00:16:04 UkCGE4Ld
よし、じゃあ俺のやり方を教えよう。
俺はMS-Excel2007でステージエディタを作っている。
キャラのプレビュー画像を用意して、MS-Excelの図形で表示させたりしている。

他の奴もエディタ問題の解決法教えれ。

379:名前は開発中のものです。
09/02/09 00:27:55 bnEG9l2P
今、ちょろっとやってみたんだけど、csvじゃ無いんだな。
うちがoffice 2003だからダメなのかもしれんが。

380:名前は開発中のものです。
09/02/09 00:30:18 UkCGE4Ld
>>379
csvってカンマ区切りのことだよな。
出力データの話か?
出力ファイル形式は何でもいいんじゃねえの。

381:名前は開発中のものです。
09/02/09 00:38:41 bnEG9l2P
>>出力ファイル形式は何でもいいんじゃねえの。
何でも読めるゲームアプリ作ってるなら苦労は無いわなw

csvでは、セル情報と共に画像も消えるので残念だ。
ちょっとマクロを挟んでから出力させるか、xls読ませれば良いだけで、
Excellの各種機能が使えるのは楽かも。

382:名前は開発中のものです。
09/02/09 00:42:13 DhOAYtpm
>>368みたくスクリプト使ってる人も多いんでね?俺もスクリプト派。

383:名前は開発中のものです。
09/02/09 00:46:11 UkCGE4Ld
まあ好きにやってくれ。

384:名前は開発中のものです。
09/02/09 00:48:38 UkCGE4Ld
>>381
>>383

385:名前は開発中のものです。
09/02/09 01:07:16 UkCGE4Ld
>>382
スクリプト直編集だと、位置の調整が面倒臭くね?
スクリプト編集→実行して画面確認→スクリプト修正→・・・
みたいにならね?

386:名前は開発中のものです。
09/02/09 01:36:05 yfVHrkfT
あれ?だれか来たみたいだ
こんな時間にだれだろう?

387:377
09/02/09 16:42:57 bnEG9l2P
>>スクリプト編集→実行して画面確認→スクリプト修正→・・・
ないないw

 ゲームエンジンの作り方は人それぞれだけど、
大概のエンジンでbreak中に座標書き換えたら
敵とかアイテムとかテレポートするよな?

 一時停止中に良いと思える位置まで微調整して、その座標をメモって
軽く逆算すればスクロールインする時間も求まってるよね?

388:名前は開発中のものです。
09/02/09 18:09:48 wk3y2YCS
DirectX学習中のものです。こういう初心者の質問は他でやるべきですかね。

弾の描画で困っています。
下の画像、左が自作のもので右が弾幕風のものです。
URLリンク(blog-imgs-24.fc2.com)

どちらも角度を指定して弾を発射する処理を行っているのですが、
弾幕風のように滑らかな表示ではなく、いやにガクガクした動きになってしまいます。
ドット単位でしか表示できないみたいなのですが、DrawPrimitiveで描画すること自体が間違っているのでしょうか?
それとも何らかの工夫を施しているのでしょうか?

判断に必要な情報があれば指定してください。お願いします

389:名前は開発中のものです。
09/02/09 18:44:24 bnEG9l2P
俺が生粋のDirectXユーザーじゃ無いので、余り助けにならないかも知れないが…、

画像を見た感じ、小数点以下を切り捨てて居るように見える。
DrawPrimitive()というか、固定機能で射影行列無しなら、
800x600の画面中なら、(370.5f,423.1f)なんて座標も行ける。

 次問題なのはエフェクト ステートのSetSamplerStateだが、こっか
らさきはググッた方が速いな。

390:名前は開発中のものです。
09/02/09 18:58:43 bnEG9l2P
最後、これはJavaやC++のboost.とかforeachのある環境だけなので、余計なお世話だけど、

 画面外に出た弾を消など配列の長さが変わったりすると、foreachが途中で止まって
しまい、直線に並ばない事があった。

それならこういう画像にならないハズだが。

391:名前は開発中のものです。
09/02/09 19:45:29 sWcYFprK
>>388
座標をintでやってるとかじゃない?
つーかこういうときはソースを上げたほうが回答しやすいと思うよ

392:388
09/02/09 20:09:43 wk3y2YCS
SetupTexSamplerState( g_pD3DDevice , kTSS_LINEAR );を使って
線型補間を行ったところうまくいきました。
本のサンプルでは見栄えが変わる程度にしか書いてなかったこともあって、完全に見落としてました。
皆さまありがとうございました。

393:名前は開発中のものです。
09/02/09 20:18:57 bnEG9l2P
>SetupTexSamplerState に一致する情報は見つかりませんでした。
URLリンク(www.google.com)
世界は広いなw
頑張ってください。

394:388
09/02/09 20:39:06 wk3y2YCS
オリジナルの関数だった。。
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MIPFILTER , D3DTEXF_LINEAR );
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MAGFILTER , D3DTEXF_LINEAR );
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MINFILTER , D3DTEXF_LINEAR );
中身はこれですね。。手つかずの部分を改造してきます

395:名前は開発中のものです。
09/02/09 21:03:49 UkCGE4Ld
>>387
必ずしも一回で位置が確定するわけじゃないだろ。
結局、
>>スクリプト編集→実行して画面確認→スクリプト修正→・・・
となると思うが?間に起動位置逆算の作業も入るのか。
俺はそういうやり方は煩雑で、成果としての遊びの質を下げると思うな。
ま、好きにやればいいと思うが。

396:名前は開発中のものです。
09/02/09 21:10:23 bnEG9l2P
>>実行して画面確認
が 一時停止とbreak中の座標書き換えで収まる。
と書いて居る。

そう読めないのがよく解らない。

397:名前は開発中のものです。
09/02/09 21:21:41 UkCGE4Ld
>>396
「一時停止とbreak中の座標書き換えで収まる」位置を、1回決めたとして、
それが最後まで修正されることはないのか?
画面見て、やっぱもうちょっとこっち寄りの方がいいなとか思ったら、
逆算して、スクリプト編集するんだろ。

398:377
09/02/09 21:28:01 bnEG9l2P
>>377
>例えば、手打ちの俺はこんなことしてる。
>1.pause機能を加える。
> ・トリガーとなる時間(ステージ開始からのフレーム数なんなり)を表示。
> ・pause中だけマウスカーソルを表示させて、オブジェクトと重なったらVSのbreakが掛かるようにする。
> ・break中に、識別番号やら座標やらを取得。

一時停止(pause)とbreakは別なの。
一時停止(pause)中にF5押す度に、ウォッチ式を書き換えた新しい位置にキャラ動かして画面に表示されるの。
何百回くりかえしても良いの。 一時停止(pause)を切るまで。

人の書いてる事を婉曲させないで。
俺も君のアプリはxlsが読めるマロア画企マロア画企マロ
(^ω^ )

399:名前は開発中のものです。
09/02/26 18:38:54 DtL54jOj
何この流れ・・・












>>556いいIDですね

400:名前は開発中のものです。
09/02/26 19:41:24 Q2gTHi5s
何この流れ・・・












>>556いいIDですね

401:名前は開発中のものです。
09/02/26 20:33:54 jXUUuFnP
>561
なんでだろう…水平のはずなのに
ドンキーコングみたいに斜めに傾いて見える。

402:名前は開発中のものです。
09/02/27 00:34:00 MTNvmPFd
>>561
おれも斜めに見える。
煽りのくせにいいスキルをもってるな。。

403:名前は開発中のものです。
09/02/27 00:48:49 495+w4CM
そんな使い古されたコピペに感動するレスしてどうする

404:名前は開発中のものです。
09/02/27 00:49:39 C2LGhPqJ
>>566
感動するレスまでがコピペ

405:名前は開発中のものです。
09/03/03 10:21:37 OTlbnBJs
>>450
亀だけど

⑥構造体の宣言には”}”の後にセミコロンをつける

orz

406:名前は開発中のものです。
09/03/03 11:53:28 9wM7nouk
誰か矩形と点の衝突判定の方法を教えてくださいな(C++)

407:名前は開発中のものです。
09/03/03 14:32:29 VISRpTLr
>>568
クラスもな

>>569
点が矩形の縦と横の範囲内なら衝突
「点」じゃなくて「円」だったらちょっと変わる

408:名前は開発中のものです。
09/03/03 15:52:53 9wM7nouk
>>570
説明不足だった
「回転した矩形と点」だった
円と回転した矩形の判定ってスパッとできるものなの?

409:名前は開発中のものです。
09/03/03 16:19:30 VISRpTLr
>>571
点と2つの線分として判定するとかどう?内積。
スパッとやる方法は思いつかない。

410:名前は開発中のものです。
09/03/03 16:42:06 TEDvPeCP
>>571
回転した矩形をもとにもどして、もどしたぶんだけ点を移動させるってのがあるらしい


  ・



..・

こんなかんじ

411:名前は開発中のものです。
09/03/03 16:44:50 9wM7nouk
>>572
やっぱり3回くらい判定いるよね
内積…とか数学チックな単語が出てくると脳がとろけだすんだがC++で回転矩形と点の衝突判定はどんな感じに書けばいいかを知りたい…
引数は矩形の4点の角のxy座標と点のxy座標

412:名前は開発中のものです。
09/03/03 16:46:44 9wM7nouk
>>573
その発想はなかった
俺の作った「角度と距離を渡すと座標を返す関数」が役に立ちそうだ

ちょっと考えてみよう

413:名前は開発中のものです。
09/03/03 16:49:32 VISRpTLr
>>574>>575
数学から逃げるなよ
>>573のは「回転行列」とか調べれば分かるはず

414:名前は開発中のものです。
09/03/03 17:02:34 9wM7nouk
>>576
その回転行列?っぽい方法でなら実装できそうだ
がんばってみる

415:名前は開発中のものです。
09/03/03 17:08:24 VISRpTLr
>>577
あ、もしかしてまだ習ってない年齢とか?
そしたら言い方が悪かった
「回転行列」とか「一次変換」とか。三角関数が分かれば理解できると思う。

416:名前は開発中のものです。
09/03/03 17:25:53 9wM7nouk
>>578
いや…なんというか…俺の通ってた高校がちょっとアレなとこでな…
高2くらいの時に三角関数の基礎は習ったっぽいんだがそのあと二次関数と三角関数の基礎を往復してたんだ…

一応sinとかついてる関数の使い方やラジアンうんたらは自力で勉強してそこはかとなく理解した
んで今作ってるシューティングにどうしても矩形の判定を使うシーンが出て来て/(^o^)\
ググってみて回転行列はよくわからんかったがとりあえず俺の作った「点pと点qの座標を渡すとp→qのラジアンを返す関数」を使えば何とかなりそうだ

417:名前は開発中のものです。
09/03/03 17:28:57 VISRpTLr
>>579
自力でできてるならなんとかなるじゃん。頑張ってね。

418:名前は開発中のものです。
09/03/03 17:41:00 9wM7nouk
>>580
(・∀・)b

ID:TEDvPeCPも超ありがとう

419:名前は開発中のものです。
09/03/03 21:07:08 9wM7nouk
実装できたぜ
URLリンク(www.dotup.org)

改めて御礼を申し上げます(・∀・)

420:名前は開発中のものです。
09/03/04 02:47:16 c679wlvv
絵を見ながら考えてみた。三角関数使わなくても
直線と点の距離で判定することも可能

レーザの直線をL、判定する座標をPとした場合、
直線Lに直交し座標Pを通る直線L'を求め、
直線Lと直線L'の交点と、座標Pの距離を求める。

421:名前は開発中のものです。
09/03/04 05:41:14 kXQL8zXx
画像だけなんでしょ?

422:582
09/03/04 06:11:33 1TDttkKc
電話から失礼(・∀・)
>>583
なんか難しそうだな…
家帰ったら考えてみる

>>584
青◇は画像、赤◇は当たり判定、白◇と白○は回転したレーザーと自機の当たり判定を関数で表示させてる(・∀・)ちゃんと当たり判定あるぜ

423:名前は開発中のものです。
09/03/04 11:37:54 lY36xohs
>>583は内積の公式がそのまま使えるってだけなので…
学校で習うことも無駄では無いよぐらいのお話
だから
>直線Lに直交し座標Pを通る直線L'を求め、
は補助線だけで、計算する必要は無い

どちらかというと公式でググると全然出て来ないゆとり社会に絶望した
…仕方ないから描いた
URLリンク(www.dotup.org)

上の回転前のでよくね?

424:名前は開発中のものです。
09/03/04 11:51:22 AkgUqz4M
レーザーを直線だとすると中学で習う y = ax + b の公式が使えるんじゃない。
接触したかどうかは目標の座標がこの公式に当てはまるかどうかで判定できないかな。
もっとも誤差をどうするかっつ問題もあるが。

425:名前は開発中のものです。
09/03/04 11:53:42 5CMIzNbi
画像キャッシュにおっぱいなメイドが残っててちょっとびっくりした

426:名前は開発中のものです。
09/03/04 14:46:59 kXQL8zXx
管理の機能ってなに?と聞いたら

まあ、全部クリックでジャンプ機能なんだが。
くわしくは、「ファセット分類」でググれ。

と友人から回答
こんな口の利き方のやつのために誰がツール作るかって感じだね
アイマスヲタ( ゚Д゚)<氏ね!

中野区から杉並区に引越し?
キモさがさらに増すねw糞
もう30代 市ねよとしか

427:名前は開発中のものです。
09/03/04 15:26:30 oZbYQf/b
その友人とやらが見たら一発で特定される情報満載だがわざとか。

428:名前は開発中のものです。
09/03/04 15:31:36 lY36xohs
NGIDにレスしない
「内積」が地雷だったらしい  ごめんね

429:名前は開発中のものです。
09/03/04 15:38:15 kXQL8zXx
アホだから分からんよ

430:名前は開発中のものです。
09/03/04 16:13:28 6k5gw4bE
>>587
数学的にはそれでもおk
点の座標を任意の曲線に代入したとき、解となるか

でもコーディングのしやすさとかから結局内積か一次変換に辿り着く

431:582
09/03/04 17:09:34 YGcqHfCc
な、内積…?に…日本語で…

432:名前は開発中のものです。
09/03/04 17:18:24 6k5gw4bE
内積って日本語じゃなかったのか
ちなみに>>583は単なる外積

433:名前は開発中のものです。
09/03/04 17:34:27 lY36xohs
>>594
>>583を図に描いて
URLリンク(www.dotup.org)
っぽくなってればおk
D3DXVec2Dot()があるから内積は求まる
あと
sin^2+cos^2=1
つまり
a^2*sin^2+a^2*cos^2=a^2
かな

実は外積ベクトルの長さでもいいんだw
|a x b| = |a||b|sinθ
べ、別に知らなかった訳じゃないぞ!

434:名前は開発中のものです。
09/03/04 17:43:13 6k5gw4bE
>>596
「点と直線」ならそれでおk
「点と線分」だったら長さの制限も必要

435:名前は開発中のものです。
09/03/04 17:46:57 lY36xohs
>>597
「点と線分」だからこうやって逃げてる
0≦|a|cosθ≦|b|


ごめん。 ウチは2次の外積って使ったこと無い。
外積だと線分を定義出来るの?

436:582
09/03/04 17:47:15 YGcqHfCc
sinとかそーゆーのはCの関数に丸投げしてるからよくわからんのだ…
正直三角関数も三平方の定理?くらいしかよくわからんww

けどゲーム動く!ふしぎ!!^p^

437:名前は開発中のものです。
09/03/04 17:49:01 pxzxR280
>>599
三平方の定理は三角関数じゃないぞ…

438:582
09/03/04 17:50:58 YGcqHfCc
>>600
なん…だと…!?

439:名前は開発中のものです。
09/03/04 17:53:01 PEZ4h1/D
すごいね

何がすごいって
その昔ゲームプログラムの雑誌投稿とかしてた小中学生は
塾や独学で高校レベル大学レベルの数学を身に着けていたのに
今はそういう努力をしなくてもゲームが作れることを実証してしまっているという事実が

440:名前は開発中のものです。
09/03/04 17:56:38 eMTzYVfZ
少しぐらいは勉強汁

441:名前は開発中のものです。
09/03/04 17:57:57 6k5gw4bE
>>598
それでおk
若しくは、端点2つから角度判定するとかもあり
どっちが高速かは知らんが

そして>>602に全力で同意
知らないのは罪ではないが、知ろうともしないのは大罪。

442:名前は開発中のものです。
09/03/04 18:17:36 lY36xohs
2次元の外積ってなんだったんだ?

443:名前は開発中のものです。
09/03/04 18:29:39 kXQL8zXx
>>602
どうせ応用利かないし 動くものをうpしないし 口だけだし
ただの駄スレ

444:名前は開発中のものです。
09/03/04 18:38:02 YGcqHfCc
うpしたのは去年9月が最後だったかな…

445:名前は開発中のものです。
09/03/04 21:05:48 kXQL8zXx
URLリンク(www.youtube.com)

446:名前は開発中のものです。
09/03/04 22:15:05 EHouFaTB
またキチガイが沸いてるな

447:名前は開発中のものです。
09/03/05 00:48:55 d60hqFFF
DirectXを直に叩いて2DSTG作ってる人に質問。
2DSTGだと長方形描画がメインになることが多いけど、頂点バッファって使ってる?
四角を書くだけならDrawPrimitiveUPでもそんなにデータ転送発生しないし、
そんなにデメリットないのかなぁと。

448:名前は開発中のものです。
09/03/05 01:45:31 YZiaSlgc
>>605
お前は外積を何だと思ってるんだ?

449:583
09/03/05 02:17:45 IWxpnIkp
>>582
中学校でならった公式が役にたてる日がくるなんてなー
とか思いながら書き込んだんだ。直線の傾きを求める方法の方が
良いからとかいう思いはなかった。余計な一言だったらごめん。
回転前の座標に変換してから判定する方法で動いているのだから
そのやり方で良いとおもいます。

あと>>602
勉強しなくても良いと言うわけでなないけど、数学を頑張らなくても
ゲームを作れるライブラリがあって、それが目的に合ったものなら
使うべきじゃね?
プログラミングのコツは、いかに楽をするかだと思う。


450:名前は開発中のものです。
09/03/05 02:29:16 YZiaSlgc
>>612
>>602が「ライブラリを使うな」と書いてあるようには見えないけど

451:名前は開発中のものです。
09/03/05 02:46:28 brqYBTxt
軽く皮肉ってるようには取れるな

452:名前は開発中のものです。
09/03/05 02:49:20 YZiaSlgc
皮肉られるのは当然だろwww

453:名前は開発中のものです。
09/03/05 02:50:17 w2SNAszt
自嘲も含まれてる気がするな。
まぁいいじゃん。どうでも。

454:名前は開発中のものです。
09/03/05 02:51:26 YZiaSlgc
でも三角関数くらいできてほしい

455:名前は開発中のものです。
09/03/05 02:58:51 sodOyuM3
>>613
おちつけ、>>612に対するそのレスはちょっと暴投だぞ

456:名前は開発中のものです。
09/03/05 03:01:36 sodOyuM3
レスが進んでタイミングずれてるしorz

457:名前は開発中のものです。
09/03/05 03:01:38 YZiaSlgc
>>618
>ゲームを作れるライブラリがあって、それが目的に合ったものなら使うべきじゃね?
俺はこの発言を受けたまでだが。

458:名前は開発中のものです。
09/03/05 03:04:47 brqYBTxt
>>620
だから皮肉ってると思うならその内容は何だと思ってるんだよ

459:名前は開発中のものです。
09/03/05 03:09:59 w2SNAszt
>>620

602はいわば「さびしい世の中になっちゃったね」と言ってて
612はそれに「そんな捨てたもんじゃないですよ」と言ってて
話は噛み合ってるんだから、613のレスはズレてる。

460:名前は開発中のものです。
09/03/05 03:14:35 YZiaSlgc
>612はそれに「そんな捨てたもんじゃないですよ」と言ってて
俺は「目的にあった便利なライブラリなら使うべきじゃない?」と言ってるように見えた。
前提から俺が間違ってたね。

461:名前は開発中のものです。
09/03/05 03:18:43 39/f14G9
お前らシューティングの話以外だと急に盛り上がるのな
つまんねぇ言い合いしてねぇで技術的な話しろやアホども

462:名前は開発中のものです。
09/03/05 09:20:01 /7Ei5x6Q
ゲームできちゃったらインストーラー作りたいじゃん?
あれってなんかライブラリかパッケージかなんかあんの?

463:名前は開発中のものです。
09/03/05 09:29:07 UZtmr8UQ
フリーソフトでインストーラとか気持ち悪いよ・・・

464:名前は開発中のものです。
09/03/05 09:35:47 if7dF5u6
>>625 Inno Setupとか。

465:名前は開発中のものです。
09/03/05 13:28:50 ibiz+wEo
フリーとか体験版でインストーラー使わないと始められないものは
DLしてもゴミ箱行きだ

466:名前は開発中のものです。
09/03/05 14:54:12 1d/NzH52
>>624
わかったよ。

Moveってひとくくりにしてるけど実際の所、関数をさらに細分化すると管理しやすいと思わん?
座標移動、オブジェクト(弾)の生成、消滅判定、衝突判定とか。

1、とりあえず全員動かす。
2、弾やザコを追加する。
3、画面外の敵や弾を消す。
4、衝突判定する。

どうだろう




467:名前は開発中のものです。
09/03/05 16:29:50 39/f14G9
>>629
むしろ移動とか(別の)オブジェクトの生成をどうやって集約してんだよ
普通に作ってりゃいくつかの関数に分かれるだろ

468:名前は開発中のものです。
09/03/05 16:32:07 rEiNGvky
技術的な話したかったら話を広げる努力しろよwww
俺はしないけどwwww

469:名前は開発中のものです。
09/03/05 16:53:26 39/f14G9
>>631
消えろよカスwwwwwwwwww

470:名前は開発中のものです。
09/03/05 17:24:46 1d/NzH52
>>630
俺に聞くなよ。そこら辺のMove、Drawに分けるべき、で解説が終わってるサイトに聞けよ。

471:名前は開発中のものです。
09/03/05 17:28:30 39/f14G9
>>633
おいおい、逆ギレか?ww
馬鹿め、自分の無能を呪えよアホww

472:名前は開発中のものです。
09/03/05 17:50:45 brqYBTxt
>>629で何が言いたいのか意味分からん
Moveってひとくくり?何の話?
各オブジェクトにとりあえずMoveとDraw作ってそこに適当に関数作ったりしながら処理を書いてくんじゃないの?



473:名前は開発中のものです。
09/03/05 18:42:04 1d/NzH52
>>635
ん、そうだよな。ただ自分の場合
Move()、Fire()、Exists()、Touch(オブジェクト a,オブジェクト b)、Draw()で決まりきって今の所問題もないからふと疑問に思って。

474:名前は開発中のものです。
09/03/05 18:49:42 /7Ei5x6Q
何が何だかワケワカメ

475:名前は開発中のものです。
09/03/05 19:17:32 brqYBTxt
>>636
だからFire、Exist、Touch等はMove内の処理だろ?
各オブジェクトの移動と描画をMoveとDrawに分けてるんだから
細分化って何をどうしたいんだ?

476:名前は開発中のものです。
09/03/05 19:20:00 FsoDo+yK
おちつけ

477:名前は開発中のものです。
09/03/05 19:57:43 K8fBdWo9
俺はこんなの。
各自オブジェクトがスクリプトで行動を切り替えてる。
自殺もするのでオブジェクトを管理して回してる奴が生き死にを確認したりもしてる。
 
//インタプリタなスクリプト。Objectから呼んでActionを主に更新する。
class Script{
  
};
 
//MoveとかFireとかの基底のインタフェース
class Action{
  bool update(void);//処理が終了していたらtrueを返すとかそんなの
};
 
//敵、自機、弾、その他の基底のインタフェース
class Object{
protected:
  Script scr;
  Action act;
public:
  void update(void);//この中でact.update()を処理したりScriptを呼んでactの切り替えをする。
  void draw(void);//描く
};
 
なんか面白い組み方があったら教えてほしい。
という技術の話題を振ってみる。

478:名前は開発中のものです。
09/03/05 20:02:25 1d/NzH52
なぜか上げてた。特に意味はない。

>>638
なんだ、その。いや、ゲーム全体からみりゃそうなんだが。

if ポーズ中じゃないなら
{
forループ
オブジェクト配列[i].Move()
forループ
オブジェクト配列[i].Fire()
forループ
  forループ
   Touch(オブジェクト配列[i],オブジェクト配列[j])
}
forループ
  オブジェクト配列[i].Draw()

とかやんね?

479:名前は開発中のものです。
09/03/05 20:12:12 1d/NzH52
>>640
今の所、難易度別の行動設定とか用意してないんで、オブジェクトの行動は敵の種類ごとにべた書きだなー。




480:名前は開発中のものです。
09/03/05 20:19:46 /7Ei5x6Q
>>640
なんかJAVA JAVAっぽいね
それはおいといて
これの Object 派生させるの?

481:名前は開発中のものです。
09/03/05 20:24:42 g++EGVdD
>>640>>641同じ人なの?

>>643
この作りでObjectを派生させたらナンセンスだと思う。
オブジェクト配列を派生するなら判る。

派生とかクラス設計の人は
>オブジェクト配列[i].Fire()
>Touch(オブジェクト配列[i],オブジェクト配列[j])
などをやらない
「オブジェクト配列に、Fireを行わないオブジェクトや、
Touchが不用なオブジェクトを入れられ無いっておかしくね?」

…と思うんじゃね?

482:名前は開発中のものです。
09/03/05 20:25:20 K8fBdWo9
>>643
ほとんどのクラスをスマートポインタラッパにしてjavaのようにC++で書いてる。
で、
class Bullet : public Object
class Enemy : public Bullet
とかしてる。
MyShipをどこから派生させると美しいかは毎回悩む。

483:372
09/03/05 20:27:09 g++EGVdD
>>645
3人目ゲット

484:名前は開発中のものです。
09/03/05 20:41:04 K8fBdWo9
>>646
?

485:名前は開発中のものです。
09/03/05 20:45:15 1d/NzH52
>>644
んにゃ別。

>Objectを派生させたらナンセンスだと思う。
マジカー。Fire()で実装が空とかなんだが。実際Fireしてもほんとに撃つかどうかはオブジェクト依存だしいいかなーと思ってる。
ってかFire()という名前が問題か。

Touchのほうは実際は、自機リスト、敵機リスト、背景オブジェリスト、前景オブジェリスト、などから
2つ選んでハードコーディングする。だからまぁ自機_敵機、敵機_自機弾_自機_敵弾の3つぐらいTouchを利用したループがある。

自分で言っててあんまりきれいな実装じゃないかも。

486:名前は開発中のものです。
09/03/05 20:48:41 JU51dqJC
>>645
継承がis aの関係じゃない時点で美しくない

487:名前は開発中のものです。
09/03/05 20:53:18 g++EGVdD
富豪的にはありなんだろうけど…。 今俺本当に日本語書けてる?
以下、俺の思い浮かべる評判の悪いクラス設計の例。 「is a」ぐらいは守ってる?
vector<Obj *> ObjArray;
class Obj
{
  virtual void Update()
  {
    Move();
  }
  virtual void Move(){/*実装*/}
};
class EnemyObj :Obj
{
  virtual void Fire(){/*実装*/}
  void Update()
  {
    Move();
    Fire();
  }
};
class EnemyA :EnemyObj
{void Fire(){/*ユニークな実装*/} void Move(){/*ユニークな実装*/}};
class Barrier :Obj
{
  bool IsTouch(Obj tgt){/*実装*/}
  void Update()
  {
    Move();
    foreach(vector<Obj *>,tgt,ObjArray)IsTouch(Obj tgt);//foreachの構文が今ググったら違った!?
  }
};

488:名前は開発中のものです。
09/03/05 20:54:12 /7Ei5x6Q
>>645
class Enemy : public Bullet
だと Bullet 属性も継承することになるんだが・・・
Bulletクラスに破裂するという操作があると
Enemyにも引き継がれるが

それだったら Object に破裂操作を最初っから純仮想関数で宣言しておき
class Bullet : public Object;
class Enemy : public Object;
の方が自然じゃない?

とりあえず >> 372 のソースが見たいものだが
オブジェクト=メモリのかたまりと考えてるのか?

489:名前は開発中のものです。
09/03/05 20:55:41 K8fBdWo9
>>649
640のObjectは例えで、ScriptとかActionはもう少し上で持ってる。
updateだけを持ってるクラスがだいたいの基底。
で、Enemyは高級なBullet的な定義をするんだけど
(BulletもAbstractBulletみたいなのを作って細分化した方がいいとか悩む)
MyShipはどこがいいのかに悩んでる。
 
どうだろうか?


490:名前は開発中のものです。
09/03/05 21:04:28 K8fBdWo9
>>651
Bulletの破裂はEnemyの死。
Bulletだって弾を撃つことはある。
そんな感じでBulletに出来てEnemyに出来ないことがあまり考えつかないから class Enemy : public Bullet にしてる。
 
あと、EnemyAとかEnemyBってのは作ってなくて、全部スクリプトで決めてる。
 
Enemy img="res/enemy/zako1.bmp" x="100" y="100"
Move r="90" v="100"
Sleep sec="60"
 
みたいなの。

491:名前は開発中のものです。
09/03/05 21:27:03 /7Ei5x6Q
>>650
それは Prototype パターンだね

492:名前は開発中のものです。
09/03/05 21:39:01 g++EGVdD
ライフゲームの1セルを1オブジェクトにした実装はしない
と前書いた時通じたかと思った…

>>651
>とりあえず >> 372 のソースが見たいものだが
>オブジェクト=メモリのかたまりと考えてるのか?
DirectXの都合で、同じ描画のオブジェクトを集めたい

言語が痛いので、模擬コードです
class DrawAbleObj
{
  描画位置配列;
  void Draw(){/*SetStreamSource()1回に、SetMatrix()とDrawPrimitive()を配列要素数回 */}
  virtual update()
  add(座標)…など
}
class bullet :
class enemy :
class enemy_bullet :
/*初期化*/
DrawAbleObj配列.add(new bullet())
DrawAbleObj配列.add(new enemy())
DrawAbleObj配列.add(new enemy_bullet())
/*メインループ内のDraw*/
  foreach(型,i,DrawAbleObj配列)
    i.Draw();

>>652
MyShipに継承させたい物はあんまりないな
グローバルまで行かなくても、参照されて困らない所に在ればよくね?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch