タスクシステム総合スレ part6
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/04/03(金) 11:25:39ID:aSgRO8Wlpart5 http://pc11.2ch.net/test/read.cgi/gamedev/1234977661/
part4 http://pc11.2ch.net/test/read.cgi/gamedev/1233459490/
part3 http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/
part2 http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/
・タスクと呼ばれる実装は、非常に多岐に渡ります
古典タスクシステムについての話題は「>>2」と明示してください
そうでない場合はカスタム版であることを明示してください
・人を憎んで言語を憎まず
0160名前は開発中のものです。
2009/04/07(火) 02:06:38ID:6TbCKYItこのスレにはマイナー言語に命かけてる人たちがいるねぇ
どっちもタスクシステム向きでないけど
0161名前は開発中のものです。
2009/04/07(火) 02:23:02ID:5k9r+ezc0162名前は開発中のものです。
2009/04/07(火) 03:00:31ID:7U5MSg6Z任天堂系もSCE系もダメですね・・・
0163名前は開発中のものです。
2009/04/07(火) 12:38:34ID:d98F5Avlあんたそのレベルの人なのか
0164名前は開発中のものです。
2009/04/07(火) 13:00:48ID:t5WTHMuaスクラッチパッドみたいな局所メモリを活用するとか
ある程度ハード特化した実装にするのも手なのかな
GDC2009のGOW3の解説がなんというか燃える内容だったんだけど
http://game.watch.impress.co.jp/docs/series/3dcg/20090401_80260.html
これはもはやなんとかシステムとか呼ぶ範疇を超えてる気がするけど
将来はこういうのがなんとかシステムとか呼ばれるようになるのかね
0165名前は開発中のものです。
2009/04/07(火) 17:07:05ID:CbUdK8rxムービー見て終わり。
メタルギア4もそう。
0166名前は開発中のものです。
2009/04/07(火) 17:28:04ID:rVXLClOu技術批判できなくなったら今度はゲームそのものに攻撃か。
あたたかい頭してるな。
0167名前は開発中のものです。
2009/04/07(火) 19:14:31ID:1GDmqaJq0168名前は開発中のものです。
2009/04/07(火) 19:21:43ID:1GDmqaJq途端にはぐらかすからな
いろいろ虎の威を借るなんとやらで参考文献および資料ばっかりもってくるけど
そういうの自分の言葉で説明できるようになってからやらないと説得力ないよね
引用レスも引用したものがメインじゃ誰も相手にしないって
0169名前は開発中のものです。
2009/04/07(火) 19:25:38ID:CBx7pnt00170名前は開発中のものです。
2009/04/07(火) 20:08:43ID:WMY4fAPQそれを否定するともっとお金稼げるなら俺もアンチになる
0171名前は開発中のものです。
2009/04/07(火) 20:20:07ID:chqHE1jh金がほしいならゲーム会社なんて辞めたほうがいいぞ
かなりマジで
業務系いけば、ゲーム系で月14〜5万でこき使われてる人ならいきなり給料倍とかある
0172名前は開発中のものです。
2009/04/07(火) 21:33:44ID:ulVvxTge0173名前は開発中のものです。
2009/04/07(火) 23:00:06ID:chqHE1jh俺は並列のがうぜぇ
0174名前は開発中のものです。
2009/04/07(火) 23:06:56ID:2stCxtH4並列さんとやね先生は同じ体臭を放ってるけどな
0175名前は開発中のものです。
2009/04/07(火) 23:23:22ID:wsnDcgD2書き散らかさないって。
0176名前は開発中のものです。
2009/04/08(水) 00:39:13ID:DU4wvLd/0177名前は開発中のものです。
2009/04/08(水) 01:29:22ID:9bhojcbsどんだけ偉人ばっかりなんですかw
みんなめちゃくちゃ上から目線なんですけどwwww
0178名前は開発中のものです。
2009/04/08(水) 07:38:26ID:uu59oW9Z何か気に入らないレスが付いちゃった?
0179名前は開発中のものです。
2009/04/08(水) 09:16:12ID:Ju8SopqO国際社会とか地球市民とかそういう匂いがする
語ってる内容はどっちも滅茶苦茶なのでもうどうでもいいんだが
まあ勘違い分裂君劇場みたいなノリでヲチしようや
0180名前は開発中のものです。
2009/04/08(水) 09:18:37ID:0OsF5j6c0181名前は開発中のものです。
2009/04/08(水) 10:02:02ID:DTjWnb4t0182名前は開発中のものです。
2009/04/08(水) 11:29:12ID:ZcZVPfWq・単位時間内に1回何かを実行する為の窓口
・生存管理
・依存の管理
こんなものかな?
0183名前は開発中のものです。
2009/04/08(水) 12:10:26ID:6q9I65fW0184名前は開発中のものです。
2009/04/08(水) 20:23:55ID:uu59oW9Z女子供は黙ってみてろ?
0185名前は開発中のものです。
2009/04/08(水) 23:24:44ID:Ju8SopqO0186名前は開発中のものです。
2009/04/08(水) 23:41:33ID:P81F6nRk0187名前は開発中のものです。
2009/04/09(木) 00:22:04ID:q+cTqKgL0188名前は開発中のものです。
2009/04/09(木) 01:27:01ID:FGj8z8j80189名前は開発中のものです。
2009/04/09(木) 05:09:42ID:0O2qwazX0190名前は開発中のものです。
2009/04/09(木) 18:55:18ID:/k3TfSjT0191名前は開発中のものです。
2009/04/09(木) 19:04:45ID:trH83J910192名前は開発中のものです。
2009/04/09(木) 20:14:35ID:/k3TfSjT0193名前は開発中のものです。
2009/04/09(木) 22:57:42ID:n4y/QroV0194ID:EEKBitmg ◆HSP4mee/SU
2009/04/09(木) 23:40:00ID:vLLC2UDGさて、そんな厨房でもタスクシステムとかいう怪しげなものに取り憑かれる
人々というのが、なーんか筋の悪そうな人が多そうだなーということに気付く
筋が悪いというのは、ガラが悪いという意味では区、頭が鈍いというかバカ
というか、一から十まで具体的に作り方を手解きしてもらわないとなーんにも
動かすことができないセンスの悪そうな人、という意味
こういう生意気書くとまたボコられるわけですが、この直感は当たってると思う
>>128
例えばこういうの。もう何言ってるのかサッパリ分からない。思考が腐臭を放ってる。
>・単位時間内に1回何かを実行する為の窓口
なにそれ。役立たずの糞みたいな仕掛けをねじ込もうとしてるだけじゃん。
居るだけ詐欺の盲腸の無駄飯食らいの穀潰しのないほうがマシな無駄な機構を
何故かゲームプログラムの中に噛ませたがるタスクバカの香りを放ってる
>・生存管理
なにそれ。something managerなの?生存管理?何してくれるの?
タスクディスパッチャーが何で生死を司るの?ゲームのシミュレーション結果で
決定されることを、なぜタスクディスパッチャーごときが口を挟むの?設計腐ってない?
余計なお節介をして茶々を入れてくる強烈にウザイものにしか見えない。吐き気がする
>・依存の管理
なにそれ。またsomething manager?依存の管理?何してくれるの?
タスクディスパッチャーに把握させる依存関係って具体的に何?それをどうしてくれるの?
なんか臭そう。
0195ID:EEKBitmg ◆HSP4mee/SU
2009/04/09(木) 23:43:36ID:vLLC2UDGEntityやらActorやらいう要素があるのはごく自然なことだよね
でも、このスレのタスクバカに言わせれば、それはタスクシステムらしいよ。
バッチイからあっち行けって思う
0196名前は開発中のものです。
2009/04/10(金) 00:22:24ID:1GdYQJdO2chブラウザとか使ってないのかな
0197名前は開発中のものです。
2009/04/10(金) 00:25:41ID:4YdM/w1YCPU400MHZのPDA用に上記の方法で作ったことあるがとても快適に動作したがなあ。
携帯ならともかく今のハイスペックのマシンでタスクシステムいらんだろ
0198ID:EEKBitmg ◆HSP4mee/SU
2009/04/10(金) 00:33:26ID:FNQAiqo/間違えた!>>182だった。>>128ごめんなさい><
まぁ別に>>182にしても恨みはないからごめんなさい
0199名前は開発中のものです。
2009/04/10(金) 00:38:46ID:RpmvrcVd関数いんぽとC++の仮想関数なら(規格には無いけど)同じ仕組みだから
もともと差はないはずだよ。
まあ、ろくに定義されてない言葉でループ必至のネタに
自転車置場の議論を楽しんでるだけなんでそういう真面目な話いらんねん。
0200ID:EEKBitmg ◆HSP4mee/SU
2009/04/10(金) 00:39:22ID:FNQAiqo/別に関数アドレスや仮想関数が絶対悪だと言ってるわけじゃない
使い方の問題。使いどころの問題
わけも分からず処理を細切れにバラしてごちゃ混ぜ連結リストにぶち込んでなめて
スバラシーデース。自動デース。窓口デース。とか寝言ほざいてる間抜けが嫌いなんだ
0201名前は開発中のものです。
2009/04/10(金) 00:59:03ID:zmUDuwgvC++の仮想関数は、関数ポインタからの関数呼び出しと比べると
普通の実装なら間接参照が1回増えるんじゃない?
差は無いってことは無いと思うよ。まぁ大した差じゃないと思うけど。
あとタスクシステムの場合の関数ポインタの使い方は、仮想関数の代わりというよりは
状態に合わせた処理に直接ジャンプする(状態による場合分けをなくす)という
意味合いが大きいんではなかろうか。
これもまぁテーブルジャンプを一段挟めばいいだけではあるけれど。
0202ID:EEKBitmg ◆HSP4mee/SU
2009/04/10(金) 01:21:33ID:FNQAiqo/タスクバカって脳みそが中二のオジチャンだからさ、クラス図を完全無視して自在に変化する
オブジェクト、とかにワクワクするんじゃないかな
0203名前は開発中のものです。
2009/04/10(金) 01:34:48ID:zmUDuwgvだからなんだよ。
うぜぇ。
0204名前は開発中のものです。
2009/04/10(金) 07:27:26ID:fVKjkvAM0205名前は開発中のものです。
2009/04/10(金) 08:01:06ID:Enyn0370麻生 「じゃあまずご飯炊かないと・・・・・」
小沢 「なぜご飯を炊くんだ!ご飯を炊く暇があったらチャーハン作れよ!」
麻生 「ご飯を炊かなきゃチャーハン作れないよ。お米研いだだけだし」
小沢 「そんなことは聞いていない。今すぐチャーハンは作れるのか」
麻生 「(まずご飯炊かないといけないから)今すぐには作れない」
小沢 「外食止めたんだぞ、今すぐに作るのが筋じゃないか!」
麻生 「お米研ぐ→ご飯炊く→チャーハン作る、なのわかる?三・段・階。わかる?」
小沢 「とにかく、すぐチャーハン作れ!」
0206名前は開発中のものです。
2009/04/10(金) 09:36:54ID:yz3HG8610207名前は開発中のものです。
2009/04/10(金) 11:21:34ID:BJAImmDIメモリ何ギガもあるマシンだけを対象にしたゲームをシコシコ作ってなさい。
0208名前は開発中のものです。
2009/04/10(金) 12:00:12ID:GpZ/KC5r暴れたせいで途端にスレのレベルが下がったな
こいつ、いい加減、いなくならねーかな
0209名前は開発中のものです。
2009/04/10(金) 12:54:33ID:Y8VaBVxaなんで互角以下の劣勢なんだ?
0210名前は開発中のものです。
2009/04/10(金) 13:04:18ID:ytUDTzAB0211名前は開発中のものです。
2009/04/10(金) 13:05:59ID:ytUDTzAB0212名前は開発中のものです。
2009/04/10(金) 17:33:29ID:1zCtaiSYkwsk
0213名前は開発中のものです。
2009/04/10(金) 18:30:28ID:LKxV/Lgcタスクシステムはこうこうこういうところがダメだから
これからはこうこうこういうものを使うべきだ!
って主張してくれねーかな。
ちなみにタスクシステムを実際に使ったことなかったりするのは論外。
説得力がまるで無いし、比較しないと意味が無い。
あと、机上の理論を聞いてもしょうがないので、
こういうものに移行したらこういうメリットがあったって話も聞きたい。
喧嘩したいだけのお子様や
妄想たっぷりのニートはもうお腹いっぱいです。
0214名前は開発中のものです。
2009/04/10(金) 19:08:05ID:KfvFah+k0215名前は開発中のものです。
2009/04/10(金) 19:56:07ID:fVKjkvAM話を元に戻そうか?(笑)
タスクシステムのメリットってなんですか?
0216名前は開発中のものです。
2009/04/10(金) 20:02:44ID:sH8kBZbv0217名前は開発中のものです。
2009/04/10(金) 20:06:05ID:0HZaI+RCアンチタスク:メリットあげろ
どっちも説明するつもりないんだな
まぁ面倒なのはよくわかるけど
0218名前は開発中のものです。
2009/04/10(金) 20:52:43ID:GZm91cCj「大規模C++ソフトウェアデザイン」の「5.2 昇位(escalation)」の概念。
上位レベルコンポーネントの存在を軽視しすぎ。
そして巡回依存性、相互依存性の怖さを軽視しすぎ。
5ページだけ、立ち読みでいいから1度読むといい
0219名前は開発中のものです。
2009/04/10(金) 21:03:03ID:KfvFah+k0220名前は開発中のものです。
2009/04/10(金) 21:07:37ID:GZm91cCjお仕事でタスクシステムを教わったんですね
分かります
0221名前は開発中のものです。
2009/04/10(金) 21:13:36ID:9juAqapQというわけではないしなぁ。
0222名前は開発中のものです。
2009/04/10(金) 21:19:09ID:I/tIMbxtCのが合うんじゃないの
0223名前は開発中のものです。
2009/04/10(金) 21:22:56ID:o/eQJnMQ0224名前は開発中のものです。
2009/04/10(金) 21:26:49ID:o/eQJnMQ窓AP作成のユーザーから見れば、イベントドリブンのシステムだから。
タスク部分はフレームワークに吸収してもいいかもしれん。
0225名前は開発中のものです。
2009/04/10(金) 22:34:08ID:GZm91cCjそこでもう一押し、「相互依存性を完全除去」まで行くと違いが見える。
10から1にするのはどっちもできるが、1から0にできるのは片方だけ。
0にすると設計の見通しが利く。小さいようで大切なこと。
0226名前は開発中のものです。
2009/04/10(金) 23:09:59ID:GZm91cCjもし相互依存性があるオブジェクト群があったら、
1、オブジェクト群の上位に親クラスを作成する
2、オブジェクト群の相互依存箇所を抽出して親クラスのメソッドにまとめる
これを相互依存性が無くなるまで繰り返す。(相互依存性の多さにあらビックリ)
同位のオブジェクト間の相互依存性は上位に丸投げして解決してもらう。
1アンチとしてはこれお勧め。
0227名前は開発中のものです。
2009/04/11(土) 02:21:52ID:GEBPDovgあと、汎用的なタスク設計は存在しなくて、作るゲームによってその都度チューニングしてる
なんだかんだ言ってもタスクは便利なんだよね
0228名前は開発中のものです。
2009/04/11(土) 02:23:50ID:pUi3qAut0229名前は開発中のものです。
2009/04/11(土) 02:30:57ID:FAassbBgおまえらバズワードって言葉知ってるか?
0230名前は開発中のものです。
2009/04/11(土) 02:36:07ID:pR/Rfe6E0231名前は開発中のものです。
2009/04/11(土) 02:39:50ID:GEBPDovgタスクは総じて癖が強いが、扱い慣れるとごりごり書けるのがいいよね。プロジェクト終盤のデスマで有用だった。
0232名前は開発中のものです。
2009/04/11(土) 07:11:31ID:JQKbxyD00233名前は開発中のものです。
2009/04/11(土) 08:44:55ID:VwbI10yZ0234名前は開発中のものです。
2009/04/11(土) 09:54:27ID:BwFqfbII別に相互に依存する必要がないならば、
タスクシステムでも相互依存性は0にできると思うけど。
0235名前は開発中のものです。
2009/04/11(土) 12:09:00ID:shgrRKkW結局コードが膨れ上がるだけじゃないすか
本人は奇麗にまとめ上げた気分で気持ちいいかもしれないけど、無駄な作業すなぁ
0236名前は開発中のものです。
2009/04/11(土) 12:10:53ID:shgrRKkWまだ並列さんのが実際の現場の実装の片鱗を語ってるだけあってよかった
0237名前は開発中のものです。
2009/04/11(土) 12:13:12ID:lG5C2wBT相互依存性が 0 ならプロジェクト毎に直すなんてことにはならない。
0238名前は開発中のものです。
2009/04/11(土) 12:17:32ID:FPJVr62U相互依存性が 0でもジャンルとかプラットフォームの世代が
異なればそれにあったものに変更すると思うが。
0239名前は開発中のものです。
2009/04/11(土) 12:18:00ID:lG5C2wBT依存性を排除してモジュール化を進めていけば再利用可能なコードができる。
「再利用」っていうのはプロジェクト毎にコピーしていじるってことじゃないよ。
同時に、既存のコード( C++ 標準ライブラリや Boost など含む)と組み合わせることが
やりやすくなる。そうなれば理解しやすい形に近づくことにもなる。
お釣りがくるよ。
0240名前は開発中のものです。
2009/04/11(土) 12:19:09ID:shgrRKkW形にさえなればオケオケ
どんなに奇麗に実装したところで、厨にミソカスに言われるだけなのにね
0241名前は開発中のものです。
2009/04/11(土) 12:21:46ID:lG5C2wBTそれは「変更する」部分がジャンルとかプラットフォーム世代に依存してる状態だろ。明らかに。
0242名前は開発中のものです。
2009/04/11(土) 12:25:31ID:FPJVr62Uそれらに一切依存しない、なんてシステムが現実的に使い物になるのかね。
なんか机上の理屈をこねてるだけのような感じがするな。
0243名前は開発中のものです。
2009/04/11(土) 12:27:26ID:lG5C2wBT並列さんの話が「現場の〜」だと信じられるのに、依存性の排除は主観で拒絶か。
自分の考えに近いかどうかが判断基準なんだろうな。おめでてーな。
0244名前は開発中のものです。
2009/04/11(土) 12:31:13ID:hS6DOynOジャンルやプラットフォームに依存しないタスクシステムは作れるし、
それでやってるところはあるよ。
ただ、そういうのって汎用的になりすぎてむしろ使いづらいから
ジャンル毎にカスタマイズするところもあるってだけの話。
>自分の考えに近いかどうかが判断基準なんだろうな。おめでてーな。
でた!自己PR!
0245名前は開発中のものです。
2009/04/11(土) 12:32:24ID:lG5C2wBTたとえば C++ 標準ライブラリはゲームのジャンルやプラットフォームの世代に
一切依存しないが、現実のゲーム開発でもとても有用だ。わかりやすい話だろ。
0246名前は開発中のものです。
2009/04/11(土) 12:35:37ID:FPJVr62UC++標準ライブラリがゲーム機で普通に使えるようになったのってXBOX/PS3/360からだよ。
これほどプラットフォームの世代に依存してるものを「一切依存しない」って…
0247名前は開発中のものです。
2009/04/11(土) 12:37:34ID:VwbI10yZ0248名前は開発中のものです。
2009/04/11(土) 12:37:59ID:lG5C2wBTその「カスタマイズ」というのがコードを変更することではなく、ジャンルに合わせて
使い方を変えるということなら問題ない。そうではなくてプロジェクト内にコードを
コピーしていじる必要があるのなら、それはまだ依存性の問題が残っているということ。
要するに "Open-Closed Principle" というやつ。
http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/dp-ocp-2.html
「モジュールは拡張に対して開いて (Open) おり,修正に対して閉じて (Closed) いなければならない」
0249名前は開発中のものです。
2009/04/11(土) 12:42:39ID:VwbI10yZタスクシステムはライブラリではなくフレームワークだからコピーでよい。
コピーしない方針なら、継承使って拡張していくことになるが、
コピーできる環境なら継承よりコピーの方が良い。
0250名前は開発中のものです。
2009/04/11(土) 12:43:36ID:hS6DOynOというわけで、依存性の話はタスクと関係ないってことで
じゃ、依存性がどーたらという話はこれで終ね。
0251名前は開発中のものです。
2009/04/11(土) 12:48:00ID:lG5C2wBTそれらの制限は当時のコンパイラやライブラリ実装の問題のせい。依存性の問題じゃない。
たとえば同じ仕様の標準ライブラリが、新しい gcc のレベルならそれらのプラットフォームでも
余裕で使えるだろう。
例が理解しにくかったのなら「C 標準ライブラリ」に置き換えて読み直してみるといい。同じ話だ。
0252名前は開発中のものです。
2009/04/11(土) 12:48:57ID:VwbI10yZ頭の悪い奴だな。
0253名前は開発中のものです。
2009/04/11(土) 12:52:12ID:FPJVr62U>それらの制限は当時のコンパイラやライブラリ実装の問題のせい。依存性の問題じゃない。
プラットフォームの性能からくる制約を一切無視してるなぁ…
gcc自体は当時でも余裕でC++対応してたのに、なんでPS1で使えないようにしてたか、考えてみた方がいいかも。
それに「C標準ライブラリ」だってSFC時代のゲーム中動的にmalloc使うなんて考えられない、というハード世代を考えると同じこと。
0254名前は開発中のものです。
2009/04/11(土) 12:55:32ID:lG5C2wBT> コピーできる環境なら継承よりコピーの方が良い。
コードをコピーしたほうが良い?最悪だろ、常識的に考えて。
コピー元がバグってたらいっこずつ直して回るはめになるんだぞ?
それに対して、何が「良い」というの?
「ライブラリではなくフレームワークだからコピーでよい」というのも理屈がわからんな。
ライブラリとフレームワークとのどういう違いからそういう話になるの?
とりあえず Wikipedia 見てみたが、「コピーでよい」となるような話は見当たらなかった。
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF
0255名前は開発中のものです。
2009/04/11(土) 12:56:31ID:hS6DOynO0256名前は開発中のものです。
2009/04/11(土) 13:00:19ID:FPJVr62U売り上げに影響するゲームプログラムというジャンルで、
どこかの本にのっていた「再利用性」って教義を原理主義者みたいに唱えて
「8bitのハードでも64bitのハードでも変更無く使えるプログラムが正しい。」
なんて、頭がお花畑のゆとり発想だよ…
こーゆー分野ではタスクみたいにハード世代にあわせて、動的メモリ確保しない、とか
リスト+ポインタ、とか仮想関数で、とか、環境にあった実装を別にした方がいい。
0257名前は開発中のものです。
2009/04/11(土) 13:04:37ID:VwbI10yZ頭悪いんだったら黙ってろよ。
>コードをコピーしたほうが良い?最悪だろ、常識的に考えて。
>コピー元がバグってたらいっこずつ直して回るはめになるんだぞ?
逆に色んなプロジェクトから参照されまくってたら、
もはやバグを直すタイミングすらないのだが。
0258名前は開発中のものです。
2009/04/11(土) 13:42:34ID:GEBPDovg共感できるわ。
自分も再利用性などを考慮していたらいつまで経っても終わらないし、無駄に肥大になったり使い勝手が悪いので、
とりあえずタスクベースとなるコードをコピーしてきてゲーム毎にカスタマイズして使うことにしてる。
0259名前は開発中のものです。
2009/04/11(土) 13:53:14ID:lG5C2wBTんー。そういう性能の要求っていう依存があることも確かにあるねぇ。
じゃぁ >245 の例を qsort() なり std::sort() なりに置き換えて読み直してみてもらえると
言いたかったことは伝わってくれないだろうか?
■ このスレッドは過去ログ倉庫に格納されています