[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 01/20 07:30 / Filesize : 258 KB / Number-of Response : 798
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

タスクシステム



1 名前:名前は開発中のものです。 [2010/10/01(金) 19:54:53 ID:ZGMtyIlk]
タスクシステムで〜す。

113 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 01:18:43.81 ID:AZsoDlPL]
>>106
>タスクシステムだと、タスクを前から順番に実行することしか出来ないから、
>言語の持つ折角のメリットを殺しちゃうことになるんだよ?
>update関数の引数が固定になっちゃって、これも言語の機能を殺すことになるよ?

 言語の「メリット」「機能」というのが曖昧だな。
 本質ではないかもしれんが、>>106をみると敵クラスについて、前処理、AI、後処理と分けていて、非常に複雑な印象を受ける。
 このように分ける必然性がわからない。
 むしろハードコーディングにより、このように分けてしまうと柔軟なレベルデザインの妨げになるような予感がする。

 あと誤解しているが、書籍などで紹介されている「タスクシステム」は、タスク登録時に優先順位(Priority)により各個体の実行順序を制御できる。
 だから実質的に、同種の個体で実行順序をグループ化することも可能だ。つまりこれまでID:+MWn67Ig / 2Lv+in6pが提起している「制御構造」の問題は解決されている。

114 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 01:31:29.34 ID:2Oz0OCTe]
>>110
なぜタスクシステムを使うべきでないケースでタスクを使うことを考えるんだろう...
>>100 の前提のとおり、タスクシステムにしろどんな仕組みにしろそれを使うケースは
それが合理的なケースだけ、というのは当然でしょう。

なにか否定している理由は合理的な考えから出たものとは違うみたいなので
これ以上続けても意味のある結論は出なさそうですね...

115 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 01:35:34.18 ID:njRzaK7Q]
これはもう石頭でどうしようもない。物事を勘違いしたまま突き進んじゃってる。

>いずれにせよ個体の種類と量が増えると、人間の頭ではワケワカメになると思うんだが。
ワケワカにならないように、違った型のオブジェクトを同じリストに突っ込まないようにするわけで。
ワケワカでOKってことはないでしょ?

>敵クラスについて、前処理、AI、後処理と分けていて、非常に複雑な印象を受ける。
>このように分ける必然性がわからない。
敵クラスの前処理とAI処理の間に、他クラスの別処理が入ってるのが味噌。
一回ずつオブジェクトをupdateでなめなめして、それで全ての処理が終わるとは限らないだろ?

>タスク登録時に優先順位(Priority)
それは、違った型のオブジェクトを同一のリストに入れるから必要になる仕組みであって、
苦肉の策であることを分かって言ってるのか?
そしてそんな貧弱な制御構造で、言語本来の制御構造と対等に立てるとでも?

116 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 01:46:07.51 ID:njRzaK7Q]
>1)呼ぶ側の構造をできるだけシンプルにする。
物事は上流で解決した方が良い。

>2)個体の状態の両端末、すわなち生存・消滅に関わるメカニズムを統一して単純化にする。
言ってる意味が良く分からんが、あえてエスパーすると、メモリアロケートの話ならアロケーターの仕事。

>3)個体同士の相互作用のメカニズムを統一して単純化する。
上流(メインループ部)を直接改造できる状況下においては、
相互作用は上流でするべき。

>>114
逆にタスクシステムを使うべきケースって何?
ああいったコールバックシステムは、
上流部が固定されている場合だけだと思うんだけど。
ゲームはメインループ部を自由に触れるよね?
リリース前なんだから。

117 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 01:46:51.37 ID:AZsoDlPL]
>>115
おい、煽るなよw

>ワケワカ
>>116のような記述がズラーーーーーーと並んだら、ワケワカメになるとは思わないか?
俺はそうなる事態を予見して、解決策を提案したんだが。

>敵クラスの前処理とAI処理の間に、他クラスの別処理が入ってるのが味噌。
率直に言うと、複雑な相互作用メカニズムになっているという気がするな。

>そしてそんな貧弱な制御構造で、言語本来の制御構造と対等に立てるとでも?
例で示されている要件は、タスクシステムでもクリアされているんじゃないか。
もっと「言語本来の制御構造」のメリットが出ている例を挙げてもらいたいな。

所詮は場末の小競り合いだ。
落ち着いて逝こうぜ。

118 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 02:02:46.60 ID:njRzaK7Q]
>>117
>>116のような記述がズラーーーーーーと並んだら、ワケワカメになるとは思わないか?
そこにズラーーーと書いてあることが、格ゲームオブジェクトのupdate関数に移るだけだから同じこと。
むしろ、分散されて余計わけが分からなくなる。

>率直に言うと、複雑な相互作用メカニズムになっているという気がするな。
あえて例で上げたまでだからね。
だけど、一回のupdateで全ての更新が終了するとは限らないだろ?

>例で示されている要件は、タスクシステムでもクリアされているんじゃないか。
二回のupdateが必要な場合はどうするの?
a->update1(); → 何かの処理 → a->update2();
C言語本来の制御構造なら、やりたいことをやりたい順で書けば済む。
タスクシステムだと、タスクシステムの仕様に制限される。

119 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 02:10:21.64 ID:AZsoDlPL]
>>116
>物事は上流で解決した方が良い。
上流のフローは、単純でなければいけない。
その解決策は、先に書いた通り。

>>2)個体の状態の両端末、すわなち生存・消滅に関わるメカニズムを統一して単純化にする。
>言ってる意味が良く分からん
 生存=個体がタスクリストに登録されている状態
 消滅=個体がタスクリストに登録されていない状態

>相互作用は上流でするべき。
 詳しく。
 レベルデザインの足かせとならないか?

>逆にタスクシステムを使うべきケースって何?
 確実に言えるのは、メモリリソースが希少な場合だろう。

>ゲームはメインループ部を自由に触れるよね?
 そんなに簡単にいじれるかな?
 どんな触り方を言ってるのん?

120 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 02:21:42.40 ID:AZsoDlPL]
>>118
>一回のupdateで全ての更新が終了するとは限らないだろ?
これ具体例教えてもらえないか?

ところで(書籍ででている)タスクシステムでも、(この議論の流れでは反則になるかも知れんが)
ちょっといじれば各個体にupdateを2つ持たせることは可能だぜ。
優先順位を2つ持たせることも可能だ。
メインループで登録リストを2回なめることになるが。

121 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 05:53:24.18 ID:P+KLPKHG]
ひさしぶりにタスクシステムな人が来たみたいだな。
まずは >>2-4 あたりを読んで、それでもまだ何か言いたいんなら、まぁがんばって。



122 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 08:11:32.13 ID:BWfYxSne]
>>105
俺はお前を支持する
こっちのほうが1000倍楽
タスクシステムの起こすバグはハンパじゃない

123 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 08:21:53.19 ID:BWfYxSne]
>>105に書いてある内容は本来書き並べないといけない処理なんだよ
必要に応じてわかりやすい単位で関数に分けることは必須だけど
これをタスクシステムにしたら実行しないとこの順番がわからないとか
開発がホント酷いことになる

派遣で色々と会社まわったけど
タスクシステムを使わないところはバグの数が10分の1ぐらいだかんね
タスクシステム使ってるようなところはバグ数がプロジェクトで3万(万?はぁ?)とか
明らかに数字がおかしい

124 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 12:09:48.38 ID:Cw/CE0Hp]
もともとはアセンブラ時代のテクニックだろうよ
CPUやメモリ資源もない時代。
1.ゲームオブジェクトを統一的に扱う。
2.アラインメントを考慮したメモリにやさしい固定長のオブジェクト
3.固定長のオブジェクトを柔軟に扱うためのプロセスアドレスの保持

今の時代は
1は継承で可能。2は資源的にちっとやそっとの無駄は気にしない。
3は今で言うところのメンバ関数とか関数ポインタ。

125 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 12:39:30.24 ID:njRzaK7Q]
今の時代なら、
>1.ゲームオブジェクトを統一的に扱う。
はテンプレートでしょ。

126 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 17:13:02.56 ID:V+dkRM26]
ジョブコンの説明を確認すればわかるが、非常に単純化されたコルーチンのようなものの
メカニズム、というのが元の姿。

127 名前:名前は開発中のものです。 mailto:sage [2011/09/07(水) 20:57:18.96 ID:njRzaK7Q]
違った種類のジョブを単一リストで管理する理由はないね。
上流の呼び出し部分が出来合いのもので、
改変が許されないのなら別だが。

128 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 01:34:35.91 ID:lvpyEMH1]
タスクシステム大佐:
「私のフレームワークはデリケートにチューニングされている」

129 名前:名前は開発中のものです。 mailto:sage [2011/09/08(木) 01:44:22.92 ID:IMtv8g35]
違った種類のモンを一端混ぜておいて、
場合によっちゃあ後から分別するんだから間違ってる。
別に扱いたいのなら、別に持っておけば十分だし簡潔。

130 名前:名前は開発中のものです。 mailto:sage [2011/09/10(土) 09:54:25.43 ID:10z5xUck]
>>92 で言ってることが全てなんだろうな
メンバーのスキルが「型固定で全てのフローをコードに直書きしないとソースが読めない」
みたいなレベルの場合はタスクシステムとか関数ポインタ使うとバグだらけで完成しないだろうし。
その場合はタスクシステムは使わないのが正解だろう。

Unreal Engine等の近頃のメジャーなゲームフレームワークの場合はタスクやアクターを使っていて
「敵やアイテムを型固定にしてコードに直書き」なんて作りはありえないけど
プロじゃなくて同人とかなら無理してスキルに合わない方法を背伸びして使わずに
自分のスキルで使える範囲の言語のフロー構造だけで作る、という結論は間違っていない。


131 名前:名前は開発中のものです。 mailto:sage [2011/09/10(土) 23:52:59.57 ID:h48cNNb3]
タスクシステム = 上級者用 ???
これはこれは。



132 名前:名前は開発中のものです。 [2011/09/11(日) 00:03:27.99 ID:Y7Irx4Sl]
タスクシステムが上級者用なんて、まさかwww
タスクシステムなんてゲームプログラマなら使えて当然の基礎中の基礎。
ただそんな単純な仕組みでも、つかうと手に負えなくなってバグが直せない、
みたいな超初心者なら、もっと単純な方法で作るのが正解だ。
hello worldの次のステップのプログラマならifとswitchだけ、ぐらいで
つくるのが適切。

133 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 00:07:30.68 ID:AdyJz/xc]
俺はタスクシステムに逃げちゃう設計者は根性がないと思うけどね
この構造がダメなのはみんなうすうすわかってんだよ

134 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 00:41:24.97 ID:P9u9NThf]
>>132
> タスクシステムなんてゲームプログラマなら使えて当然の基礎中の基礎。
ということにしたいのですね。 >>3

135 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 00:47:43.20 ID:Y7Irx4Sl]
>>97 のようにタスクシステムを使って最後まで完成されたゲームは
沢山あるから書籍にしろネットにしろタスクシステムのサンプルには困らん。

完成してゲームという最終成果が出ている以上、そのゲームで必要な機能は
満たしているわけだし。

根拠が「根性」で出せるサンプルが foreach〜だけ、みたいなのよりかは
採用するにしろしないにしろ、タスクシステムの例の方が参考価値がある。
ゲームを完成させたこともない人の言う「みんながうすうす」って言葉には
正直言ってこれを覆すだけの説得力が無い


136 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 00:53:21.53 ID:P9u9NThf]
>>135
「タスクシステム」と言って具体的に何のことを指してるのかよくわからないから、
ネットのほうの「タスクシステムのサンプル」をいくつか URL で示してもらえませんか?

137 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 00:57:39.18 ID:Y7Irx4Sl]
>>136
>>92 を見ればその答えがわかると思うね。
その上で疑問に思うことがまだあるなら個別にコンテキストを明示
して聞かないと無意味。

138 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 01:03:39.39 ID:P9u9NThf]
>>137
つまり「タスクシステム」と言って指しているものは具体的にはわからんし状況によって変わりうる、
ということでしょうか。そんなもの役に立ちませんし「基礎中の基礎」だなんて具体的な技術である
かのように言えるわけないですね。なんかおかしいですね。

139 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 01:14:44.40 ID:Y7Irx4Sl]
現実的に多くのゲームで「タスクシステム」と命名されてる構造が使われてるわけだ。
それを「共通じゃないから無意味」と結論するのは勝手だけどその行為もまったく無意味。

参考になるかどうか、現状のコンテキストから判断して適切に参考にして
作るゲームに役立てることの方がはるかに有意義。

140 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 01:40:32.06 ID:+CByEq1T]
>>138
書籍などで紹介されているもは、タスクシステムの一般化された形態であり、
あとはアーキテクトが、場合に応じて、一般化形態から出発して特殊化するんじゃないかな。

一つのキャラを完成させるために上流も下流もいじる必要があるとなったら、
それこそ到達点が低くなる。
力を注ぐ必要のある要素は、キャラの基本的な出現消失の管理以外に一杯ある。
出来るだけ、いじらなきゃいかんソースの場所減らそうって目的で、
メインループ内を抽象化したのがタスクシステムじゃないか。

一方、上流のタスクシステムのアーキテクチャを改修すれば、当然、下流側への影響は絶大なわけで、
>>133は、ヘッポコアーキテクトが、途中で無責任改修やっちゃった事例なんじゃないか?
そんな奴はフレームワークに何使っても、むしろ何をやってもw上手くいかないんじゃないかと想像が膨らむ。

141 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 01:42:27.37 ID:P9u9NThf]
>>139
そういって自作コンテナや自作アロケータや無茶なキャストを下手に参考にされる人が
後を絶たなくて困るんですが、あなたのいう「タスクシステム」がそういうクソの山とは違うと
いうのなら >>136



142 名前:141 mailto:sage [2011/09/11(日) 01:44:12.94 ID:P9u9NThf]
「後を絶たなくて」は言いすぎですね。今ではだいぶ稀になってますね。

143 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 01:48:03.10 ID:Y7Irx4Sl]
>>141
>そういって自作コンテナや自作アロケータや無茶なキャストを下手に参考にされる人が
書籍や何かでいくらでも簡単に手に入るサンプルをみても全てクソだと思うなら
君がゲームの仕様に適したもっと適切な構造で実装すればいいだけだ。
「僕にはアーキテクトを決める権限は無いけどタスクシステムと命名されたクソしすてむ
で作らされたおかげでバグだらけ(涙)」って愚痴ならご愁傷様としか言えんが。

144 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 01:53:19.19 ID:b4z41GvT]
タスクシステムを一般的に語るなら、要はCなどの構造化言語がgotoを封じたもんだから、それに代わる状態遷移方法が必要なわけ。
そこでメインループというものを一般化し、キー入力イベント、敵の動き、当たり判定などの処理のセットを入れ替えることで状態遷移を可能とした。
でもgotoと同じく各状態への遷移が自由なためにスパゲッティになりやすい。

145 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 04:26:51.67 ID:ZZ/mHUa2]
タスクシステマーのレベルが下がってきてるな。

そもそも、
update(){ task1(); task2(); }と処理を静的に書き並べていくことと、
実行時にタスクのリストを動的に生成して、逐次実行することに、
構造的な差はあまり無い。
ただ、後者は言語の持ってる型や制御構造といった機能を殺す。
アセンブラ時代に考えられたものだから、高級言語との相性は考えられてない。

146 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 13:02:01.02 ID:YqmjwGNN]
>>144 ご大層なもん作らんでも、ごく普通のステートマシンの実装法でいいだろ

147 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 13:28:29.62 ID:b4z41GvT]
>>146
ごく普通のステートマシンってなんだよ。
ifやswitchをメインに構成された状態遷移ならともかく、
関数やクラスのポインタを扱うstateパターンとか、ごく普通のステートマシンのことを
タスクシステムと呼んでタスカーたちは崇め、奉ってるんだと思ったんだけど違うの?

148 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 13:32:34.15 ID:ZZ/mHUa2]
全然違うね。
ステートマシンであることと、ごった煮リストであることは、なんら関係が無い。

149 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 15:36:06.08 ID:Y7Irx4Sl]
>>144-148
>>135
タスクシステムでそのゲームに必要な仕様を全て満たして完成されたゲームが
現実に多数存在する以上、せめてタスクシステムで作られたのと同じゲームを
別の実装で全て移植してみてそのコードの優劣を比較、ぐらいやらないと
根拠がお花畑すぎてちょっとなぁ・・・

童貞がリア充に女の口説き方を説教してるみたいで見ていて痛々しすぎる。
童貞のリアリティの無い妄想レベルのupdate()〜みたいな程度の低いサンプル出されても
経験のある人間からしたら「ああ、この人一度もゲーム最後まで完成させた経験が無いんだなぁ」
ってバレちゃうだけ。

150 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 16:27:01.31 ID:YqmjwGNN]
PHP信者が必死で主張する「PHPをdisるべきではない理由」にそっくりだなw

151 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 20:10:56.36 ID:b4z41GvT]
ごった煮システムを別の視点から見ればそれはステートマシンそのものであり、
一つのシーンを形作るタスクのセットを入れ替えることで状態を表現する。



152 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 20:21:21.31 ID:ZZ/mHUa2]
副作用を許すような、普通のプログラム、普通のプロセス、普通のゲーム、は、
それ自体がステートマシンそのものだろ。ごった煮リストであるかどうかは関係ない。
ごった煮リストってのは、型関係なく、単一リストに何でもかんでも入れてる状態。
たとえ型や種類ごとに綺麗に整理整頓して分けてリストに入れていたとしても、
ステートマシンはステートマシンだわな。

153 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 20:33:46.30 ID:ZZ/mHUa2]
>>149
タスクシステムは全てのタスクを単一リストで管理するけど、
それを複数リストに分けろと言っているだけなんだから、
これが可能であることは、プログラマなら誰でも分かるわな。

タスクシステムで書かれてないゲームも多いぞ。
とくに海外製のゲームなんかはベタで書かれていることが多い。
気になるんだったら、探してみたら?

というか、何かリストで管理しようとしたとき、
型ごとにコレクトしていくのって、割と普通じゃないか?
型によっては木構造とかで管理したいかもしれないし。
画一的に全てを同じタスクリストで管理ってのはどうかと。

154 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 20:57:08.72 ID:b4z41GvT]
タスクシステムはゲームに特化した状態管理の枠組みや方針、レイヤー、仮想環境ともいえるものを提供する。

155 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 21:35:33.06 ID:Y7Irx4Sl]
>>153
>タスクシステムで書かれてないゲームも多いぞ。
わざわざ海外のゲームなんて探さなくても大昔のベーマガ時代から
ベタで書きなんて珍しくもないよ・・・
数当てゲームとかね。
しかし、>>92 >>97 あたりに書いてあることをほんとに何一つ理解できてないんだねぇ
コンテキスト依存で実装考えるって当然のことを理解できる知能があればそんな
見当違いなこと言い出さないはずだけど。
まぁ、それをその当然のことを前提にしちゃうとどう見ても勝ち目が無いから
馬鹿のふりして話題そらして逃げてるんだろうけど。

ちなみ海外と言えばUnreal EngineやCryEngineのactorはタスクのごった煮とやらと
本質的に同じ。型固定でifとswitchだけ、なんて牧歌的な作りは影も形も無いけど、
それについてはどんな逃げ方をするのかな?また話題そらし?


156 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 21:40:28.61 ID:YqmjwGNN]
偉そうなタームを並べちゃってw

現代言われている「ゲームエンジン」が、もはやタスクシステムとはぜんぜん違う
ものであることには目をつぶって「あれもこれもシステムだもん」とかw

157 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 22:13:11.16 ID:Y7Irx4Sl]
結局その逃げ方しかできんのか。つまらんな。
taskもactorも逐次実行じゃないよ?ほら?どうした?www

タスクシステムとはぜんぜん違う?どのタスクシステムとは違うのかな?
AndroidやiPhone用のプログラム本にのってる近年のタスクシステムと近年の
ゲームエンジンに本質的な違いがあるならその違いを言ってごらんよ。


158 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 22:54:47.89 ID:Ynk6BT3o]
その前にタスクシステムは普通の書き方のなんの問題を解決してるのか聞いてみたい
単に面倒なだけだと思うんだけどw

159 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:14:25.45 ID:Y7Irx4Sl]
形勢不利だから話題そらしで逃げるつもりみたいだけど残念。
>>157
の答えを早くくれないかな。
actorが逐次実行なのはいいのかな?ゲームフレームワークも全否定?
タスクとゲームエンジンの本質的な違い、「ぜんぜん違う」と断言できるなら当然答えられるよね?

160 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:15:43.66 ID:QoX0R0+Y]
皆が話してる「タスクシステム」って何なの?

161 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:17:28.01 ID:YqmjwGNN]
それは本質ではない、という逃げは万能だもんな。
はいはい、あんたの勝ちですよw



162 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:21:28.73 ID:Y7Irx4Sl]
>あんたの勝ちですよw
典型的だなwww
「もう来ねえよ!ウワァァン」が足りないぞ?

163 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:47:35.30 ID:Ynk6BT3o]
>>160
ごった煮リストにインスタンスをすべてぶち込むシステム
なんだけど
明らかに取り出すときにそのぶち込んだものがなんであるか判定する必要があってやたらと面倒なんだ
しかもバグる
実行順序も制御きかねぇし

164 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:50:22.61 ID:ZZ/mHUa2]
俺に言わせりゃ、actorなんか使うのはアホだけど、
それでも、フレームワークが社外製で、
メインループを触ることが出来ないっつーんなら、仕方ない。

ちょうどOSのウィンドウやドライバがそうなっているようにな。
新しいアプリやドライバ書く度にカーネル触って再コンパイルってわけにはいかないからな。
どうしてもコールバック前提の非同期処理になる。

だから、メインループ部に改変不可なフレームワークを導入するのはお勧めできないな。
メインループはゲームに合わせて自分で書いたほうがよい。

描画エンジンやサウンドエンジンや物理エンジンは外部ライブラリに任せてしまえば良いけどね。

165 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:50:44.67 ID:YqmjwGNN]
典型的な勝利宣言バカだろ、おまえが

166 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:55:56.92 ID:Ynk6BT3o]
>>164
え?お前んとこって全部追加部分はdllかなにかで書いてるわけ?ゲームなのに?
そうでないならタスクシステムはいらないっていってる?
なんか特殊じゃね?

167 名前:名前は開発中のものです。 mailto:sage [2011/09/11(日) 23:57:25.94 ID:Y7Irx4Sl]
>>165
>はいはい、あんたの勝ちですよw
なんてみっともない白旗自分から上げといて
もう一度参上できるとはすごい勇気だね。
普通ならとても恥ずかしくて出てこれないよwww

で?答えは出た?www

168 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 00:04:11.07 ID:1pUHEh9P]
>>163
実行順の制御は出来る場合が多い。
ただ、普通にtask1();task2();って並べて書いてくのと何も変わらないし、
ソースコード見ただけじゃ、何がどの順で動くのか分からないし、
if文やfor文といった高度な制御構造を持てない直線番長だし、
高級言語では当たり前の機能の型も死ぬし、
実行効率もベタで書いたコードより速い訳ではないし。

>>158も言っている様に、ここまでの話の流れで、
だれも之と言ったタスクシステムのメリットを挙げてない。(し、実際無い)
そのくせ、高級言語の持つ「型」と「制御構造」という2大機能を殺すわけだから、
まったく使う理由が無い。

169 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 00:06:20.63 ID:k+/jcxg5]
> だれも之と言ったタスクシステムのメリットを挙げてない。(し、実際無い)
> そのくせ、高級言語の持つ「型」と「制御構造」という2大機能を殺すわけだから、
> まったく使う理由が無い。

それなのに >>167 のように完全に勝ったつもりでいるんだぜ?
キチガイここに極まれりだな。

170 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 00:10:36.54 ID:0e8x3TnW]
>>135-161
で見事なまでに完全論破してるね・・・

型云々とか逐次実行とか言ってるのは >>157 に答えられない以上
惨敗確定だwww

171 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 00:17:43.46 ID:k+/jcxg5]
どこが?



172 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 00:53:29.75 ID:C74P2jTs]
>>155,157
Unreal Engine の Actor ってのはこれでいいんかな?
udn.epicgames.com/Three/ActorTicking.html
udn.epicgames.com/Three/ActorComponents.html

クラスの必要性がちゃんとドキュメント化されてていいね。いつ使うべきか、使わないで
いいのはどんな場合か、ちゃんとわかるだろう。

少なくとも、必要性やメリットを問いただすだけで荒れるような「タスクシステム」とは
まったく格の違うものに見える。

173 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 00:56:51.96 ID:C74P2jTs]
>>157
> AndroidやiPhone用のプログラム本にのってる近年のタスクシステムと近年の

さらっと流しかけたけど、これマジか?どの本にそんなの載ってるの?

174 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 01:26:30.29 ID:1pUHEh9P]
>>172
俺的にはタスクシステムと同じかなー。
個人的にはこう言う仕組みってあまりメリット感じなんだよね。
それでも規格とドキュメントがしっかりしている分、ずいぶんマシだけど。

175 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 08:40:01.46 ID:k+/jcxg5]
ttp://tatsu-zine.com/books/squirrel/pages/interview2
なんか、どんなもんでもタスクシステムだと言っちゃえばタスクシステムだ、
みたいなこと言ってるなw

176 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 08:40:33.34 ID:c30nkSHj]
意味不明なんだよ
だってごった煮にしたから各update側には余計なもんが流れてくるから仕分けしないといけないし
一旦まとめる意味がまったくない
論破とか言われてもこの事実が覆る情報なんて一つも出てないじゃん
だからオナニーなんだろ?(笑)
正直に僕のオナニーを見てって言えよ

177 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 09:40:05.43 ID:r2WqQWWe]
アセンブラ時代にフレームワークとして、
自前でちょっとこーいう枠組みを用意しちゃうよ、ってんなら理解できる。
だってそこには、型も、クラスも、リストも無いんだから。

178 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 17:07:09.89 ID:Q2UPSfzC]
ポインタ覚えたてのころにやると、何か得体のしれない黒魔術みたいでカッコいいじゃん
よく分からん…けど動いたスゲーって感じで
>>2のTCBは子供騙しでありロマンだよ

179 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 21:27:03.15 ID:0e8x3TnW]
タスクシステムとUnreal Engine の actorの違いはドキュメントの有無。
ドキュメントがあるぶんactorの方がはるかにマシだが両方ごった煮には変わりないのでどちらもメリットは理解できない、と。
で、taskにしろactorにしろメリットがわからない、といってる人の目から見るとそれが何で動いてるのかわからない
何か得体のしれない黒魔術のように見えている、と。
で、ifとswitchだけ使って全て逐次実行でベタ書きしないとバグだらけになって作れないと主張している、と。
まとめるとこんな感じになるな。

180 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 21:43:17.91 ID:JVPxlqK+]
Unreal Engineはレンダリング、コリジョン探索の両方を扱う枠組みを与えてくれるんだろ?
しかも、それぞれにしっかりした実装があるってんならメリットはまさにそれのことだろう?

自力でレンダリングや衝突を頑張っても、わりと汚くなって性能なんてお粗慢なんだから。

181 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 22:19:19.23 ID:0e8x3TnW]
レンダリングやコリジョン探索を扱う枠組はUnreal Engineの一部ではあるが
アーキテクト上actorとは別階層の話だ。
レンダリングやコリジョン探索の実装があるならメリットは理解できる、というなら
同じようにタスクシステム上にレンダリングとコリジョン検索を扱うフレームワーク実装があれば
そのフレームワークのメリットを理解できる、ということになるが、それでいいのかね?




182 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 22:33:43.32 ID:JVPxlqK+]
ん?

> そのフレームワークのメリットを理解できる、ということになるが、それでいいのかね?

いいのかね? と言われても…。タスクシステムだろうと、Unreal Engineだろうと、
それ以外のなんかであろうと、一定の評価を得たライブラリの実装があれば、
それは評価できるし、使えるんならメリットだろう? それだけのことを言ったつもりだが。

ちなみにこのスレで発言したのは>>180が初めてだよ。

183 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 22:40:22.91 ID:0e8x3TnW]
ほう、これが初めての書き込みね。そーいうことなら大変失礼。
ま、普通の人間はメリットについて当然そう考えるわな。
>普通にtask1();task2();って並べて書いてくのと何も変わらないし、
>ソースコード見ただけじゃ、何がどの順で動くのか分からないし、
とかでtaskもactorも全てメリットが無い、みたいな考えをするアレと一緒にされたら
誰でも不快だよな。大変失礼、謝るよ。

184 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 23:02:21.91 ID:1pUHEh9P]
といいつつ、メリットは書き込まれない。一度も。

185 名前:名前は開発中のものです。 mailto:sage [2011/09/12(月) 23:10:27.89 ID:1pUHEh9P]
例えば、レンダリングエンジンやコリジョンエンジンが搭載されているタスクシステムがあったとして
とても便利だったとする。
でも、それらからタスクシステムを無くすともっと便利、
もしくは、有っても、あえてタスクシステム部は使わない方がもっと便利、
なわけだから、やっぱりタスクシステムは要らないって話になる。

そもそも、タスクシステムに描画エンジンやコリジョンエンジンをくっ付ける必要はないしな。
タスクシステム、描画エンジン、コリジョンエンジン、サウンドエンジンが
それぞれ選択的に利用できるようになってた方が、必要に応じて選べて便利だ。
そんで、タスクシステムだけ使わないのなw。

アンリアルエンジンのActorも使わなければ良いだけの話。

186 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 00:00:04.61 ID:7WlpQLAU]
真性のアレのお出ましか。
>メリットは書き込まれない。一度も。
今までのログや >>2 のリンク先からいくらでも長所、メリットが
明記されてる箇所が見つかるのに”一度も”とか断言しちゃうような
特殊学校級の真性君に根気よく説明するサリバン先生みたいな
聖人じゃないんだ、ゴメンネ。

>アンリアルエンジンのActorも使わなければ良いだけの話。
世界でミリオンタイトルをいくつも出してるゲームエンジンを
使ってる優秀な人たちは君とは何故か違う考えみたいだけど、
君にとっては自分の頭で理解できないものを使わない、ってのは
正解だとは思うよ。

187 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 00:04:51.24 ID:pCx3Pnsp]
ソースロンダリングはいいって。
さっさとメリット挙げたら?

188 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 01:08:57.32 ID:D6ApEC6F]
>>186
> 今までのログや >>2 のリンク先からいくらでも長所、メリットが
> 明記されてる箇所が見つかるのに”一度も”とか断言しちゃうような

それらの長所・メリットは、仮想関数をはじめ標準コンテナや関数オブジェクトなど、
より汎用的で粒度の高い現代的な手法の選択的な組み合わせで置き換えられるから、
今さらタスクシステムなんて作る必要はないよね。

ここで出せ出せといわれているのは、こういう他の手段での置き換えが利かない
タスクシステム独特の長所だろう。

すでに出てるんなら URL 貼るだけでもいいんだから、出してもらえないだろうか?

189 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 08:59:03.57 ID:aC0nIGEU]
タスクシステムのメリットはあがらない絶対だ

190 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 13:11:55.54 ID:3fH2rWBj]
真性のアレ、はどう見てもおまえなんだが。

現代的なゲームエンジンのことなら「ゲームエンジン」と呼べばいい。
過去いくつも、全くそれに及びもつかない実例がある「タスクシステム」なんて呼称で、
現代的なゲームエンジンまで含ませよう、だなんていう発想をするおまえが、
どう見ても真性のアレ。基地外タスクシステム信者。

191 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 20:43:23.42 ID:7WlpQLAU]
>>188
>それらの長所・メリットは、仮想関数をはじめ標準コンテナや関数オブジェクトなど、
へぇ、「それらの長所・メリット」ってことは君は少なくともメリットがあがってるのを知覚できるぐらいの知能はあるんだね。
>ここで出せ出せといわれているのは、こういう他の手段での置き換えが利かない
でも「他の手段がある=メリットが無い」の論理的な間違いを認知できるだけの知能は無いみたいだね。

>>190
>現代的なゲームエンジンまで含ませよう、だなんていう発想をするおまえが、
ほぅ、つまり
>アンリアルエンジンのActorも使わなければ良いだけの話。
みたいな真性ちゃんと一緒にするな、と言ってる訳ね。www



192 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 22:55:00.28 ID:pCx3Pnsp]
そしてやっぱりタスクシステムのメリットは挙がらない。

193 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 23:09:28.54 ID:CoLgixDm]
>タスクシステムのメリット
一言でいえば抽象化。
まあ実際に抽象化によだれ垂らして魅力を感じる人種なんてごくわずかだよな。

194 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 23:48:36.64 ID:pCx3Pnsp]
タスク=処理なんか抽象化して、一体何をしようって言うの?
何か目的があるなら、その目的のエンジンでも作って外部に追いやったら良いだけでは?
例えば描画エンジンやサウンドエンジンや物理エンジンみたいに。

195 名前:名前は開発中のものです。 mailto:sage [2011/09/13(火) 23:52:17.37 ID:D6ApEC6F]
>>191
> でも「他の手段がある=メリットが無い」の論理的な間違い
そこに突っかかってたの?
たぶんそういう意味でメリットを出せと言ってた人はいないと思うよ、ということを説明
したつもりだったんだけど。

で、結局「タスクシステム独特の長所」を挙げないということはつまり、「いくらでも」と
言ってたタスクシステムの長所、メリットっていうのはすべて他の(より汎用的でry)手法で
置き換えられるものである、と解釈していいのかな?

196 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 00:14:23.96 ID:RbzrsAkF]
何も不思議じゃない。

//俺らのメリット算出方
foreach( A_list )
foreach( B_list )
{
  compare( A, B );
}

//彼らのメリット算出方
foreach( task_list )
{
  task->merit();
}

思考回路が元々違うんだよ。彼らは他とのかかわりにメリットを見出さない。スタンドアロンこそ至高。

197 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 00:40:49.57 ID:9+DNuNz5]
>>195
>で、結局「タスクシステム独特の長所」を挙げないということはつまり、「いくらでも」と
>言ってたタスクシステムの長所、メリットっていうのはすべて他の(より汎用的でry)手法で
「タスクシステム独特の長所」と「タスクシステムの長所」が都合よく混同されてるのはわざとかな?
それとも馬鹿だから矛盾に気づかないから?どっちかな。

まぁ「他の手段がある≠メリットが無い」と当たり前の前提の前では
そうごまかすしか無いんだろうねぇ・・・

198 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 00:53:35.60 ID:2wea9XYb]
だめだw会話にならねぇ

199 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 01:24:27.88 ID:9+DNuNz5]
色々なジャンル、仕様、言語、ハード制限上でtaskなりactorなりのメリットを利用した
アーキテクチャで動く完成されたゲームが多数存在するわけだ。

で、これらの明示されたメリットが間違いであることを証明するためにはそれら全てのケースを、
他の手段の実装で元と同じ仕様を完全に満たせること、さらに実装コスト、CPU消費リソース、メモリ消費量、
生産性、その他諸々がtaskやactorを使うより良い値になることを証明する必要がある。
どれか一つでもそれが出来ないとそのケースではメリットが「ある」ってことになるからね。

「独自じゃない」「他の手段が存在する」ってのはそもそもメリットの有無とは無関係。

ってことで、あげられたメリットの間違いの証明よりしく。
とりあえず>>2>>97にタスクのメリットの明記や説明とそれで完成されたゲームがあるからその辺から。
あとactorのメリットも否定してるみたいだから最新のミリオンタイトルでの証明もねwww

でないと「メリットが無いなんて言った僕が間違ってました、許してください(泣)」
って謝るか、また「誰も(僕に理解できる)メリットをあげられない」って真性知恵遅れの
ふりをするしかなくなるから。www


200 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 01:41:11.63 ID:lRejrv89]
また逃げたか。

201 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 01:53:00.58 ID:2wea9XYb]
「明示されたメリット」とか「あげられたメリット」とか、もうね。
おまえわざとやってるだろ。



202 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 01:58:29.51 ID:lRejrv89]
俺恐竜飼ってるんだ!!
マジだよ!
見せてやらないけどマジだよ!
どんな恐竜か言えないけどマジだよ!

203 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 05:57:36.37 ID:tmisYety]
今日もタスクシステムのメリットはあがらない絶対だ

204 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 08:08:42.84 ID:eS9b7eHQ]
なんか「ぼくのかんがえたさいきょうの」が、この基地外の脳内では、
タスクシステムという言葉の前に付いてるんだな、多分。

えーと、アクタモデルって非同期なんですが、タスクシステムで
非同期呼び出しを抽象化してる文献ってあります?
あるなら示してね。示せなければおまえの言ってることは脳内だと決定だから。

205 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 08:36:33.75 ID:vVsGUZmh]
>>204
関係のない話だ
示せたところでタスクシステムのメリットの話とはほど遠い

206 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 19:46:38.28 ID:TEFbFSuQ]
カプコンのMTフレームワークってタスクシステムで実装してるんじゃないの?
個々のタスクを象徴化することで、マルチスレッド化の際に、処理に関係無くタスクをスレッドに割り触れるのと、個々のスレッドの負荷に応じて、タスクの再割り当ても容易に実現できるじゃないかな?


207 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 19:54:50.57 ID:TEFbFSuQ]
あと、タスクって単位にすることで、個々のタスクの処理時間を現道に管理することが出来るから、プロファイラーで、チューニングする場合も、負荷原因の分析が容易に実現できるじゃないか

208 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 19:57:15.45 ID:TEFbFSuQ]
↑現道→厳密

209 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 20:20:11.79 ID:JZWV1Mta]
>まあ実際に抽象化によだれ垂らして魅力を感じる人種なんてごくわずかだよな。
これを繰り返すのは悲しいぜ。

「あれはダメ」「これはダメ」なんてNG発言テンプレ繰り返していると、
浅はかな奴だなと思われてしまうぞ。

自分のやりやすいやり方でやればいいと思うよ。

210 名前:名前は開発中のものです。 mailto:sage [2011/09/14(水) 23:09:01.96 ID:tmisYety]
>>206
上のほうのあったま悪ぃ奴等が考えたライブラリ使うほうの身になってみろってのw
的代物と予想
デビルメイクライとか人気有り気なゲームにも使われてるんだろうか?

211 名前:名前は開発中のものです。 mailto:sage [2011/09/15(木) 05:46:32.18 ID:X4eTv7zl]
>>199
taskだろうがactorだろうが適切に使われた場合のメリットを否定することは誰にもできない
あんたの勝ち

個人的にはタスクシステムというバズワードにあまり良い印象は無いけど
さすがにUnreal Engineまで否定したり単発IDでメリット絶対にあがらないとか連呼する馬鹿と同類にはなりたくない




212 名前:名前は開発中のものです。 mailto:sage [2011/09/15(木) 06:05:29.80 ID:HTGL8JrA]
ダメなもんふんだんに使っててもそれを上回るもんがあれば使うんじゃね?
だからといってダメな箇所はやっぱりダメだろ

213 名前:名前は開発中のものです。 mailto:sage [2011/09/15(木) 09:04:52.49 ID:dPXBkiSf]
>>206 「タスク」ってのは一般的な用語だから、それを使うゲームエンジンもあるだろう。
しかし、タスクという用語が使われているからと言ってタスクシステムと言うな、と。
タスクシステムという用語は >>2 のように過去にさんざ俺様システムを指して使われてるから。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef