敵オブジェクトの管理方法

ホーム フォーラム CF2.5使用法全般 敵オブジェクトの管理方法

  • このトピックには4件の返信、3人の参加者があり、最後にMidorikoにより7ヶ月、 1週前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #37256
    Midoriko
    参加者

    お世話になっています。

    アクションゲームなどでさまざまな敵キャラクターを実装する上で、
    「単一のオブジェクトにさまざまなグラフィックを詰め込みイベントで管理するか」
    「敵ごとに異なるオブジェクトにして、オブジェクトグループで管理するか」
    をかなり悩んでいます。
    アドバイスを頂けますでしょうか。

    わたしの考えを以下にまとめると、
    ●単一オブジェクト
    利点
      一元管理できるため、全体の調整が容易
      各フレームにオブジェクトをコピー&ペーストする手間や、その抜けによるバグが無くなる

    欠点
      イベント処理が複雑になりやすい
      アニメーションや特殊な動きを個別に制御するのが面倒

    ●複数オブジェクト(オブジェクトグループ)
    利点
      個々のオブジェクトが独立しているため、柔軟な設計が可能
      イベント処理が単純・明瞭になる

    欠点
      変数等を追加・属性を変更する際の同期が手間
      オブジェクト数が増えると管理が煩雑になるリスクがある

    このように考えています。

    以前それなりに大型のARPGを、敵キャラ複数オブジェクト・オブジェクトグループ管理で制作した経験があり、
    そのときはかなり苦労したのですが、単一オブジェクトにしてもそれはそれで大変そうに感じます。

    アドバイスを頂きたい点としては、
    ・シンプルにどちらが良いか、というオススメがあれば
    ・複数オブジェクトで管理する際、オブジェクトグループ全体に対して
     「同時に」変数等を追加したりプロパティの変更を実行する方法があれば
    ・もし両方の利点を併せ持った管理方法などあればぜひ教えて欲しいです。

    究極 開発者やプロジェクトに合った方法で‥‥となってしまうと思いますが、
    その上でご意見頂戴できれば幸いです。
    よろしくお願いします。

    • このトピックはMidorikoが7ヶ月、 1週前に変更しました。
    #37258
    shinon_
    参加者

    こんにちは。

    少なくとも単一のアクティブオブジェクトで複数の敵を管理するのはおすすめしません。CF2.5+ではもしかしたら改善されているかもしれませんが、素のCF2.5でのアクティブオブジェクトには追加できるグラフィック数に上限があるようで、確か255個だか256個だかまでしか追加できません。というか上限を超えても追加自体はできるのですが読み出そうとするとうまく読み出せません。不親切なことにそのときにエラーや警告なども出ません。

    単一アクティブピクチャに画像をロードするのであれば問題ないとは思いますが、処理速度がネックになるかもしれません。例えばアクティブピクチャで歩行アニメや走りアニメを実装したい場合画像をコマ送りのようにロードすることになると思います。定量的なデータはないのですが、体感的にアクティブオブジェクトでアニメさせるよりだいぶ処理が重いような印象です。

    オブジェクトグループについては明るくないのでよくわかりません……。すみません

    #37259
    Midoriko
    参加者

    shinon様こんにちは、ご回答ありがとうございます。

    なるほど、確かにわたしもアニメーション数255以上の追加は一旦試しまして、
    「追加できたから大丈夫だ~」と思ってたんですが、
    追加はできても読み込めないというのはどえらいトラップですね‥‥
    逐一画像をロードするのも仰るように重そうですし、手間が増えそうですね。

    事前に知れて良かったです。大変助かりました。

    他のご回答もお待ちしています。
    反対の意見でなくても、追加の情報等何でも構いませんので。
    ご経験がある方の体感的なことも結構知りたいです。
    よろしくお願いします。

    • この返信は7ヶ月、 1週前にMidorikoが編集しました。
    #37261
    noru123
    参加者

    久しぶりに見に来て気になった部分があったので失礼します。
    下記の部分なんですが

    ●複数オブジェクト(オブジェクトグループ)
    利点
      個々のオブジェクトが独立しているため、柔軟な設計が可能
      イベント処理が単純・明瞭になる

    欠点
      変数等を追加・属性を変更する際の同期が手間
      オブジェクト数が増えると管理が煩雑になるリスクがある

    欠点の方の同期が手間の部分は、多少違っている部分があります。
    変数を追加属性の変更は、例えば沢山の敵キャラを作っていたとしたら、マウスでドラッグで沢山の同属性や同変数にしたいキャラを選択して、変数の追加や変更、属性の変更をすると選択したキャラ全部に変更や追加が出来ます。

    または、このオブジェクトのすべてのインスタンスを選択コマンドなんかで選択状態になったすべてのオブジェクトが同時に変数や属性(属性ってオブジェクトグループの事ですよね?)の追加、変更、削除が可能です。

    アニメーション数の限界がなければ私も敵と味方画像を一つのオブジェクトで管理してましたが、今は個別に沢山作って追加したい変数やグループがあればまとめて選択して変更する作り方になっています。

    • この返信は7ヶ月、 1週前にnoru123が編集しました。
    #37263
    Midoriko
    参加者

    noru123様
    ご回答ありがとうございます。

    ドラッグで複数選択操作・プロパティ変更はARPGの時もやっていたのですが、
    そもそも新規オブジェクト追加の度に全フレームにコピーペーストして並べていかないといかないのでどうしても手間&コピペし忘れて動作しないが度々あって面倒でした。
    *属性はゲーム的なことではなくオブジェクト上の意味です。

    そう考えると、予めダミーの敵オブジェクトを大量に作りグローバルにしておいて、
    テンプレートとして使うフレームに置いておくとコピペの手間も省けるかもしれませんね‥‥

    アニメーション数の限界さえ無ければ単一オブジェクトで管理されていたとのことで、
    それも興味深いです。

    参考になりました、ありがとうございました。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。