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

|