トップページgamedev
1001コメント384KB

シューティングゲーム製作技術総合 2機目

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

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

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

■ 前スレ

シューティングゲーム製作技術総合
http://bbs.gamdev.org/test/read.cgi/gamedev/1056635103/
0324名前は開発中のものです。04/02/08 20:35ID:+Z9WcfXN
>>316

自分もタスククラスとタスクマネージャークラスを作っています。
たしかに、先頭のタスクのアドレスを取得すれば、
リストをたどっていけますが、
どうもいまひとつの気がしてやってませんでした。

ようは、
 1.先頭タスクのアドレスを取得して、
 2.次のリストへのポインタを取得する、を繰り返す
ってことですよね?
結局、外部からタスクの内部を参照するわけであって…。
総当りの上に、書き換えられる可能性もあるわけですよね。
そう考えるとやっぱりクラスを使ったほうがいいのかぁ。

0325名前は開発中のものです。04/02/08 20:37ID:+Z9WcfXN
以上をふまえた上で質問です!

もしクラス版のタスクシステムを作ったとしても、
(クラスを登録して、タスクを生成・削除・チェンジするタスクシステム)
座標計算と当たり判定・描画処理を独立してやることを考えると、
(座標計算と判定・描画を同関数内でやると、すりぬけ、が発生するため)
関数版のタスクシステムと同じく
 1.座標情報等のデータをグローバルで持つか、
 2.各クラスのアドレスをグローバルで持って参照するか
しないといけないわけで、
タスクシステムでつくる意味がほとんどないわけですよね?

そう考えると、タスク自身のワークエリアをなくして、
データ類はグローバルな配列で別個で管理するほうがいいんですかね?
単なる関数ポインタを使ったテーブルジャンプみたいになってしまうけど。

0326名前は開発中のものです。04/02/08 20:50ID:+Z9WcfXN
ttp://www.interq.or.jp/black/minami-m/

↑にクラスを使った基本的なタスクシステムがありますが、
これって、当たり判定・描画処理を各タスクごとに行ってるんで、
すりぬけや、思わぬ動作を引き起こす可能性がありますよね。

そう考えると、一番いいのは、
各クラスを割り当てた管理配列等を、forループ等で処理したりでしょうか??

なんかわけわからなくなってきました(T_T)

■ このスレッドは過去ログ倉庫に格納されています