タスクシステム総合スレ part5
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/02/19(木) 02:21:01ID:k4ODtuXPpart4 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」と明示してください
そうでない場合はカスタム版タスクであることを明示してください
・人を憎んで言語を憎まず
0002名前は開発中のものです。
2009/02/19(木) 02:21:16ID:k4ODtuXPWhite Paper - Programming
http://homepage3.nifty.com/moha/programming.html
タスクシステム
http://www5f.biglobe.ne.jp/~kenmo/program/task/task.html
CodeZine:本格的なシューティングゲームを実現するタスクシステム(タスクシステム,シューティング,ゲーム)
http://codezine.jp/a/article.aspx?aid=297
Logician Lord … 【コンピュータゲームのからくり】
※ウェブアーカイブのキャッシュ
http://web.archive.org/web/20041009222313/www.hh.iij4u.or.jp/~peto/Games/games_top.html
0003名前は開発中のものです。
2009/02/19(木) 02:39:56ID:f7wngrJT全力で却下する
0004名前は開発中のものです。
2009/02/19(木) 02:46:44ID:SBcP9gsz0005名前は開発中のものです。
2009/02/19(木) 03:58:56ID:Qg2fxa2Uまたネタにマジレスとか言われるかもしれないが。
>あとさ、シーングラフの中から、条件にあったオブジェクトを高速に列挙する
>それをお前はDBだとかあんた言ってるんだろ?
>そんな機能、シーングラフを扱うライブラリなら大抵入ってるじゃん
>or用意に組み込めるようなトラバーサのインターフェースを提供してるじゃん
いや、可読性の問題だから。HSPが嫌われる原因も主に可読性だしな。
0006名前は開発中のものです。
2009/02/19(木) 07:23:11ID:ju+RHZ1R0007名前は開発中のものです。
2009/02/19(木) 07:34:29ID:xOakX6Dy0008名前は開発中のものです。
2009/02/19(木) 07:45:56ID:ju+RHZ1Rしかしその理由を推測できないのは、>7のプログラマとしてのセンスが足りないと言わざるを得ない。
目の前のコードを解析してその設計思想を推測するのは、プログラム上達への近道。
ワカランワカランと何時までもほざいているのは、ただのバカ。
0009名前は開発中のものです。
2009/02/19(木) 08:13:38ID:Tu1TE6hA前スレでMPIが出てきたときは吹いた。
苦し紛れにアレコレ言い逃れしようとすんな。
0010名前は開発中のものです。
2009/02/19(木) 08:26:29ID:Tu1TE6hA>>518のプログラムは分かるだろ。普通に巨大なクソだった。
で、なんでそんなに巨大なクソをありがたく拝んでいるのかが分からんと言ってるんだが。
メリットはなんだといろんな奴が何度も聞いてるのに、出てくる答えは全部HOW。
これはプログラム見たって分からないし、
クソの思想設計を推測したってプログラムは上達しない。
自動並列化にしたって>>510のコードには何もない。
だから話がかみ合わないんだろ。疑問が生まれるんだろ。
つーかさ、マジでこんなの推測できるわけないだろ。
「参照構造」とかトンデモ思想が飛び出して唖然としたわ。
こんなナナメ上理解できるかよ。
0011名前は開発中のものです。
2009/02/19(木) 08:32:06ID:Tu1TE6hA>>518じゃなくて前スレの>>510な。
開発規模が個人と複数とではまるで話が違ってくるんで、
個人向けなら個人向けと最初から言って欲しい。
前スレ>>510の「オブジェクトがどこからでも参照できるのがメリット」
とかいうのは複数人開発では全く使えないな。
なんでもできるようにするのがエンジニアリングだと思うなよ。
0012名前は開発中のものです。
2009/02/19(木) 09:04:42ID:Tu1TE6hA専用のインターフェースを使ったほうが可読性上がるだろ普通。
あと、目的が分からないまま言語だけ叩いてもしょうがないと思うが。
どんなゲームをHSPで作ろうとしているのか。
そのゲームを作るのにHSPに過不足があるのか。
この辺見えてないまま単にHSPだけ叩くのは不可能だろ。
目的によって最適な手段は違うから、目的が分からないままでは手段の不当性は訴えられない。
タスカーは目的無視で一般的銀の弾丸を漠然と論じたがる傾向があるから難しいかもしれんが、
それじゃ議論にならないから目的をハッキリさせるのは重要だと理解してくれよな。
ちなみに、タスクシステムは目的0というか、>>510に至っては掲げている目的が見当違いだったり、
実は実装されていなかったりだからナニコレ?と言ってるわけだ。
0013名前は開発中のものです。
2009/02/19(木) 14:01:18ID:Vb5vV7p+このままだと、このスレッドはHSPスレです。タスクの議論は他でお願いします。
とかそのうち出てきそうじゃん。
0014名前は開発中のものです。
2009/02/19(木) 18:29:00ID:xOakX6Dy具体的にはもうタスクシステムでゲームなんて作れんようにしてやる
0015名前は開発中のものです。
2009/02/19(木) 21:42:17ID:qf5LflEh洗脳するなってだけ
0016名前は開発中のものです。
2009/02/19(木) 22:18:54ID:RtX9gwgD発想が小学生だな
0017名前は開発中のものです。
2009/02/19(木) 22:26:47ID:pAIc4sjR0018名前は開発中のものです。
2009/02/20(金) 00:46:37ID:YgfxUXIw0019名前は開発中のものです。
2009/02/20(金) 01:31:20ID:tm76Yhhm0020ID:EEKBitmg
2009/02/20(金) 05:38:32ID:ExFXwXhz>いや、可読性の問題だから
何言ってんのお前。頭蓋の中が空っぽだから適当ぶっこいてHSP叩いて逃げてるだろ
HSPの問題じゃねーのよ。わかる?フロントエンドに何の言語使ってようが
てめぇが言ってるタスクシステム=DBとかいう珍説はチンプンカンプンなんだよ
0021ID:EEKBitmg
2009/02/20(金) 05:41:55ID:ExFXwXhz本当だよな。俺はHSP使いってだけなのに
底辺ワナビー・ダメ中年に限ってHSP使ってるって部分に脊髄反射してやたらネチネチと絡んでくる
おまけにポインタが使えないだとか、見当違いのこと言ってくる(前>>821-)。馬鹿かと
固定長メモリプール使ってれば>>2のポインタの使い方なんて配列の添え字(番号)でも記述できる
ハンドル使ってるなら、ID+配列の添え字 あるいは ID+プールタイプ+配列の添え字 とか
あと前>>510のソースの背後にある思想は>>2と違うと書いたが、どうやら外れだったらしい
書いた本人(>>510)の思想はタスク信者そのものだった。何がしたいのかサッパリ見えないし無知だ
ageうんこ詩人の当初の予想は的中していたようだ。心からお詫びする
ゲームプログラムの中の処理単位を扱う何らかのシステムだというタスクシステム
>>2ではゲームオブジェクトがタスクらしい。
それが今度はDBです。とか。何言ってるんだ?
タスク信者って窮すると話をかっ飛ばしてウヤムヤにしようとするよな
0022名前は開発中のものです。
2009/02/20(金) 07:08:32ID:i3xGUwbjタスク単位で他タスクの保有するオブジェクトの参照や依存関係を明確にして、
並列処理できる分については、自動でスレッドにタスクを投げ込んでやろうとしてるのかな。
参照構造はその第1歩って事なんだと思う。DBって言葉使うと紛らわしいよね。一般的なDBMとは単語の意味合いがちょっと違うかな。
タスクからのオブジェクトの所有/解放と他オブジェクト参照の可否を組込む辺りから先ずは始めるのがいいと思う。
でも、並列タスクが相互干渉する状態での同期処理となると頭抱えちゃうかな。
最後にこのようなタスクが残るとクリティカルパスに影響するだろうから、
同期/非同期なのかは、個別に指示する必要がありそうな感ではある。全部動的にするのは難しいね。
タスクの粒度を細かくすると、参照構造がばらけて、並列化しやすくなるだろうけど、タスクプールが肥大になってかえってオーバヘッド生みそうだし、、
逆に粒度を荒くすると、並列化が困難になりそうだよね。その辺のバランス調整も難しそうだ。
他にもアイディアとしては、前フレームでの1タスクの実行時間を保持しておき、
それを次フレームでのタスク予想時間として利用して、効率的に分配するとかかな。
俺はタスクは使わない派だが、>>510は応援するよ。ネタとしては楽しいと思う。
始めソースを見ても目的が意味不明だったが、言ってることは分かった。
>>2とは、目標としているところは全然違うっしょ。
あと、参照構造についての意見はまたそのうちまとめて書くよ。
0023名前は開発中のものです。
2009/02/20(金) 07:27:31ID:SutyetVrだってどっからでも参照できるのがメリットとかウンコ臭かったじゃんよ
0024名前は開発中のものです。
2009/02/20(金) 07:55:22ID:0dC3Oyo7時には泥臭いことをやってでも解決しなきゃいけないことはあるんだ。
動けばいいんだよ。
HSPクンだって引数クンだってアンチタスク厨だって、作ったものが仕様どおりに動けばいいんだ。
仕様ってのは「どこからでも参照できる」でその手段が「DBのようなものを採用」だっただけ。
じゃ、なんで「どこからでも参照できる」なのかといえば、それは>510が決めたからとしか言いようが無い。
別に他人のタメにプログラム組んでるわけじゃないのだから。
0025名前は開発中のものです。
2009/02/20(金) 08:36:41ID:SutyetVrグローバルインスタンスホルダーなんて作ってしまうわけですね
まず、なんでグローバル変数や関数が駄目なのか?とかそっから理解してないよね
0026名前は開発中のものです。
2009/02/20(金) 09:27:17ID:4mVxI9lJ>別に他人のタメにプログラム組んでるわけじゃないのだから。
自分のためのライブラリならそう明示すりゃいい。
目的・用途が不明瞭なまま手段だけ出して「これどうよ」と言われれば、
それは一般向けのものとして応えるしかないだろ。
0027名前は開発中のものです。
2009/02/20(金) 10:18:16ID:EZsAEUg+「俺はHSP使いってだけなのに
底辺ワナビー・ダメ中年に限ってHSP使ってるって部分に脊髄反射してやたらネチネチと絡んでくる」
とHSPを使ってることを叩かれると激しく怒る。
しかしHSPクン自身も、タスク使いってだけのやつにネチネチと絡んでいる。
これを同属嫌悪という。
0028名前は開発中のものです。
2009/02/20(金) 10:44:19ID:mhW5mlx0で?
0029名前は開発中のものです。
2009/02/20(金) 13:23:17ID:YgfxUXIw0030名前は開発中のものです。
2009/02/20(金) 14:25:02ID:Rn2v73WX前スレ510はアンチの立場から>2の考え方を参考にしつつ
明らかに違うものをタスクと再定義してみるネタじゃね。
(読み違えてなければ)従来のタスクで特徴的だとされる
ごった煮リストじゃなくて型毎にリスト持ってるし。
OpenMPやMap-Reduceの影響の方が強いように感じた。
0031名前は開発中のものです。
2009/02/20(金) 18:33:19ID:SutyetVr馬鹿のすることに無理やり意味なんて探すことないよ
0032名前は開発中のものです。
2009/02/20(金) 18:35:20ID:SutyetVrそれでも潰すけどね
0033名前は開発中のものです。
2009/02/20(金) 18:51:36ID:SutyetVr逆に具体性を求められるとタスクシステムに関係してないとどうしても弱くなるし
その上タスクシステムとの関連まで説明させられるしで正直手としては弱い気がすんだよね
0034名前は開発中のものです。
2009/02/20(金) 21:52:03ID:UeW6c0TB引数クンは、前スレでContext&の受け渡しも否定していたヤツだぞ。
引数を通して渡すのは必要なものだけ、それ以外を渡したらダメ。
グローバルは当然使っちゃダメ。グローバルに順ずるものも使っちゃダメ。
という極端すぎる人のことだが、ID:SutyetVrはもしかして引数クン本人なのか?
0035名前は開発中のものです。
2009/02/20(金) 22:38:42ID:YgfxUXIwみんなからNG指定してもらったほうがこのスレのためだと思うが。
基地外みたいなアンチタスカーは引数君か前のスレ主なんだろうな。
0036名前は開発中のものです。
2009/02/20(金) 22:53:18ID:4mVxI9lJここまで煽りのみか。
お前がトリップつけろよ。
煽りしかできない奴は邪魔。
0037名前は開発中のものです。
2009/02/20(金) 22:54:50ID:U7J/cf6eドラゴンボールの略かえ?
タスクシステムってwikiにすら載ってないから謎が多いよね
オブジェクト指向データベースですらwikiに載ってるというのに
タスクシステムごときをシーングラフと同列に並べるなよ
全角英数使うなよ
DSLぐらい理解しろよ
飯食ったか
風呂入ったか
歯ー磨けよ
0038名前は開発中のものです。
2009/02/21(土) 04:05:46ID:J8fI+ges0039名前は開発中のものです。
2009/02/21(土) 09:45:44ID:P36r7rTDタスクも必要ないテトリスとかオセロぐらい単純なゲームならwhile/switch/caseだけでもいいし。
仕事で作るゲームならその現場のルールや伝統の方法でやりゃいい。
結局アンチタスクって
ポインタも構造体も無いHSPでタスク使いたくても使えないから
すっぱい葡萄になってるレアケースでしょ。
0040名前は開発中のものです。
2009/02/21(土) 10:18:19ID:3HETWV4t0041名前は開発中のものです。
2009/02/21(土) 10:22:39ID:3HETWV4t0042名前は開発中のものです。
2009/02/21(土) 10:27:28ID:P36r7rTDあの糞単純なタスクシステムのどこが凝って見えるのかを知りたい。
0043名前は開発中のものです。
2009/02/21(土) 10:32:12ID:3HETWV4t>>2か?
>>2なら現代でやる意味がないという意味で変に凝っている。
その他のカスタムタスクを指しているなら、目的が迷走している点で変に凝っている。
0044名前は開発中のものです。
2009/02/21(土) 10:35:42ID:3HETWV4t#define PLUS +
int x = ONE PLUS ONE;
こんな馬鹿げたことをやってるのがタスクシステム。
単純なこと変なやり方でやって喜んでるだけだろ。
0045名前は開発中のものです。
2009/02/21(土) 10:40:06ID:P36r7rTDよくわからんが
君の頭の中では
タスクシステム=マクロ
なのか?
もしかしてタスクシステムを理解してない?
0046名前は開発中のものです。
2009/02/21(土) 10:41:23ID:3HETWV4t「単純なこと変なやり方でやって喜んでる」という例えを示しただけなんだけど。
0047名前は開発中のものです。
2009/02/21(土) 10:49:00ID:P36r7rTDあれでも理解できない人がいるということか
まぁ関数ポインタとか、C言語初心者には「変なやり方」で難しいかもしれんが。
0048名前は開発中のものです。
2009/02/21(土) 10:52:57ID:3HETWV4tつーか、理解するとかしないとか、どんだけ低レベルなの。
>>47
>>41
0049名前は開発中のものです。
2009/02/21(土) 10:56:23ID:P36r7rTDそれはつまり
みんな君が理解してないことを突っ込んでたけど
君は勉強しても理解できないからアンチになった、ということになるが…
0050名前は開発中のものです。
2009/02/21(土) 11:00:45ID:3HETWV4t誰もまともにできてないんだが。
お前がどう理解しているのかちゃんと示してくれ。
0051名前は開発中のものです。
2009/02/21(土) 11:02:15ID:3HETWV4tこれまでの奴は全部そうだった。
ID:P36r7rTDの健闘を祈る。
0052名前は開発中のものです。
2009/02/21(土) 11:04:27ID:P36r7rTD複数オブジェの並列動作を単純に記述できていいね、ぐらいのものじゃない?
そんな難しく考えるほどのもの?
0053名前は開発中のものです。
2009/02/21(土) 11:08:42ID:3HETWV4t単純というが、普通に書いたらどう複雑で、それをどう単純にしたのか示してみろ。
タスクシステムのほうが複雑だから「単純に記述」という部分が嘘になってるんだよ。
0054名前は開発中のものです。
2009/02/21(土) 11:18:09ID:P36r7rTD自分・敵の弾、敵の死亡、敵の生成、などのオブジェが可変のケースだと
オブジェの増減をリスト管理してとか、結局タスクシステムと同じような仕組み作る必要があるんでない?
さらに、敵が編隊組んで移動、とかボーナスシーンとか、隊長機がやられたら編隊解散、とか
タスクなら関数切り替えで単純に状態推移を記述可能だけど
switch/caseで状態をオブジェ単位で記録して切り分け、となると
タスクシステムのほうがシンプルに記述できるだろ。
まぁ関数ポインタ理解できない人が見たら難しいソースになるかもしらんが。
0055名前は開発中のものです。
2009/02/21(土) 11:21:56ID:4jF5VqD/なにいってるのかまったくわからない
0056名前は開発中のものです。
2009/02/21(土) 11:25:13ID:P36r7rTD趣味のプログラマがどんな方法でプログラムしようとも
誰も文句いわんだろ。
0057名前は開発中のものです。
2009/02/21(土) 11:30:15ID:3HETWV4tそれはタスクシステムに限ったことじゃないよな。
>>1を読んで、どのタスクシステムについて語ってるのかハッキリさせてほしいんだが。
タスクシステムだとオブジェクト間の関連が処理順依存になって面倒になると思うが。
そこはどうすんの?
1フレームの誤差だから許容すんの?
0058名前は開発中のものです。
2009/02/21(土) 11:38:27ID:P36r7rTD>>1を読んで、どのタスクシステムについて語ってるのかハッキリさせてほしいんだが。
ゲームの種類にあわせればいいんでない?
ほんとに単純なゲームなら>>2でもいいけど、ゲームによって問題が出たり
普通にC++使える環境ならクラスで作り直したり改良もあり.。基本的な考え方は変わらんでしょ。
>>タスクシステムだとオブジェクト間の関連が処理順依存になって面倒になると思うが。
オブジェクト間の処理順が問題になるケースなら
いわゆる「プライオリティつき」タスクを使うか、シグナルのような仕組みを付け加えればよいのでは?
そもそもあんまりタスク使って複雑になるようなゲームならタスクじゃない管理方法使うべきだし。
0059名前は開発中のものです。
2009/02/21(土) 11:55:53ID:3HETWV4t>基本的な考え方は変わらんでしょ。
TCB有る無しで違うと思うが。
タスクを1個のリストで管理するかどうかも重要だ。
ごった煮リストでむりくり制御しようとしている様を指して変だと言ってるんで。
>いわゆる「プライオリティつき」タスクを使うか、シグナルのような仕組みを付け加えればよいのでは?
ここまでやると「単純」の域を超えているだろ。
すでにコードの見通しが悪くなってる。
「タスクシステム」のプライオリティーはベーシックの行番号やGOTOに見えるわ。
>そもそもあんまりタスク使って複雑になるようなゲームならタスクじゃない管理方法使うべきだし。
そうだな。
0060名前は開発中のものです。
2009/02/21(土) 12:02:50ID:P36r7rTDって言ってる子供と同じだな。
「魚食うときとか便利だろ?」と言っても
「スープ飲めないじゃん、肉切れないじゃん」と言い返される。
スープ飲むときゃスプーン使えばいい。肉きりたきゃナイフとフォーク。箸で食いやすいものは箸で食えば良い。それだけのこと。
でも箸ぐらい使えないと馬鹿にされるぞ、と。
0061名前は開発中のものです。
2009/02/21(土) 12:16:21ID:G7lsvTqK好みの違う人とは話が合わないのは当然。
技術的に欠陥や優位があるというのならコードや
測定結果の数字を使って具体的に定量的に主張しろよ。
0062名前は開発中のものです。
2009/02/21(土) 12:20:35ID:3HETWV4tで、「箸で食いやすいもの」は結局なんなの?
タスクシステム使って良かったと思える場面てどこ?
やっぱりメリット言えないの?
タスクシステムが原始的だなんて言ってないだろ。
タスクシステムよりもずっと原始的なやり方のほうが遥かにマシだと言ってるんだが。
0063名前は開発中のものです。
2009/02/21(土) 12:21:06ID:4jF5VqD/ちがうな
箸で食えばいいのにトンカチで食べようとしてる人がいるから
なんで?って聞いてるんだ
0064名前は開発中のものです。
2009/02/21(土) 12:22:39ID:4jF5VqD/トンカチは役に立つもんなw
タスクシステムはなんだろ?
なんにも役に立たないやw
0065名前は開発中のものです。
2009/02/21(土) 12:23:43ID:3HETWV4t>>510にはメリットが無いのにコード量は>>641の倍だった。
コード量の差と>>510が使っていたかなりの量のマクロを指して複雑だと言っている。
>>2はその時点ですでにタスク信者が見放していたからまだだけど、比較する必要あるか?
0066名前は開発中のものです。
2009/02/21(土) 12:25:36ID:Kwr5xaMFだからcontinuationの問題だろ?
■ このスレッドは過去ログ倉庫に格納されています