タスクシステム総合スレ part9at GAMEDEVタスクシステム総合スレ part9 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト365:名前は開発中のものです。 10/01/31 06:16:23 CeH4M0fL ごめん。言葉足らずだったね。 今はFSMの代わりにmicrothreadを使おうと調べているんだけど、 これはタスク中でyieldと言われている処理をする事でタスクの実行をプログラムのその行で中断し 次のタスクへ処理が委ねられる。 次回自分のタスクが回ってきた時、即ち次フレームになると yieldの次のステートメントから処理を再開する仕組みっていう解釈でおk? 本質的には割り込みのないmulti threadと同じものだから各microthreadは動作順序が保証されない様に思えるんだけれど どうなんだろう。 勿論動作順序の必要な箇所(描画など)は今までどおりFSMで組むけど、マルチスレッドなんて慣れてないから 「注意しておかないとバグや処理系依存になる」事がありそうで怖い。 366:名前は開発中のものです。 10/01/31 11:51:44 HU8XW/cO >>これはタスク中でyieldと言われている処理をする事でタスクの実行をプログラムのその行で中断し 古典的タスクシステムの実装での話しなら yieldで分割される単位で実行関数作って、状態が変わったら登録関数切り替え。 タスクを通して維持される情報はタスクのワークに、が古典的タスクシステムのやり方かと。 ちなみに古典的なリスト形式じゃなくてツリー構造にして子の生存管理を親に任せれば 上で言ってるタイトルとゲームオーバーと、みたいなシーンも君の言うFSMと同じように階層管理できる。 階層タスクはボス戦艦の船体の親タスクと砲台の子タスク、みたいな使い方でもよく使われる。 リストでも同じことできるけど、親の座標が子の座標に影響したり親がやられたら子も全滅、みたいなのは ツリーで作った方が楽。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch