タスクシステム総合スレ part5
レス数が1000を超えています。これ以上書き込みはできません。
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の問題だろ?
0067名前は開発中のものです。
2009/02/21(土) 12:27:01ID:3HETWV4tだから継続もタスクシステム抜きで実現できるだろ?
0068名前は開発中のものです。
2009/02/21(土) 12:27:28ID:Kwr5xaMF全てのn+1は、必ずnを参照すべし
とキミは主張しているのか?
0069名前は開発中のものです。
2009/02/21(土) 12:27:39ID:hYClRP740070名前は開発中のものです。
2009/02/21(土) 12:28:57ID:Kwr5xaMFdispatch部分をいちいち個別に書くのかよw
0071名前は開発中のものです。
2009/02/21(土) 12:29:20ID:3HETWV4t何言ってるのかサッパリ分からん。
0072名前は開発中のものです。
2009/02/21(土) 12:34:33ID:Kwr5xaMF> タスクシステムだとオブジェクト間の関連が処理順依存になって面倒になると思うが。
> そこはどうすんの?
> 1フレームの誤差だから許容すんの?
タスクシステムだろうと、個別ループだろうと、処理依存するだろ?
1フレームの誤差はどちらでも出るぞ。
だから、『状態n+1に更新する場合は、全ての状態nを保存してから処理すべし』、と言いたいのか?
と尋ねたんだが、理解できなかったか?
0073名前は開発中のものです。
2009/02/21(土) 12:46:40ID:Kwr5xaMFpriorityを上げ下げすることで処理順依存をある程度解消できるタスクシステムとやらの方が
個別ループよりも柔軟性が高く優秀である
とID:3HETWV4tは言っているわけだが、今まで言ってきてることと矛盾してるだろ?
ホントに気づいてないのか?
0074名前は開発中のものです。
2009/02/21(土) 13:56:49ID:07PQbtcV> >>510にはメリットが無いのにコード量は>>641の倍だった。
タスクシステムの部分を除けば641のほうがはるかにコード量は多かったよ。
それだけでもタスクシステムというシステムを導入するメリットがあると言えると思うが。
0075名前は開発中のものです。
2009/02/21(土) 14:20:08ID:3HETWV4t>タスクシステムだろうと、個別ループだろうと、処理依存するだろ?
ああ、そりゃそうだな。
>>73
プライオリティーで表現すれば処理順を動的に変更できるし柔軟性も高まるが、そんな需要あるか?
・自機の弾に当たっている敵A
・自機に重なっている敵A
この場合どちらを先に処理するか、全部消滅させるかみたいなルールは動的に決めるものではないよな。
これをわざわざプライオリティーで表現してソートしたりするのが面倒なんだが。
さらにこの辺のプライオリティーがハードコーディングならやっぱり無駄にしか見えん。
でもってこれをタスクシステムで頑張ると「面倒→誤差許容しないとやってられない」、
というシナリオを描いて>>57の発言となった。
シグナルだのプライオリティーだの言っても所詮ルールが静的ならべた書きのほうが楽だろ。
0076名前は開発中のものです。
2009/02/21(土) 14:29:25ID:3HETWV4t■TaskDemo
main.cpp 4684
Tasksystem.cpp 337
Tasksystem.h 4625
■NormalDemo
main.cpp 5087
Star.cpp 514
main.h 118
Star.h 235
(5087 + 514 + 118 + 235) - 4684 = 1270
その差50行程度だが、どこが遥かになんだ。
0077名前は開発中のものです。
2009/02/21(土) 14:30:42ID:Te+n/W8Kそういうゲームしか作ったこと無いとか?
0078名前は開発中のものです。
2009/02/21(土) 14:34:49ID:3HETWV4tこの手のルールが動的に変わる場合ってどんなのがあるの?
ギャラガは違うよな。
0079名前は開発中のものです。
2009/02/21(土) 14:40:53ID:P36r7rTD何を使えばいいかは料理しだい。世界中の料理を箸で食べろとは主張してないし、
ナイフもフォークもどんな道具も、万能な道具なんてないよ。
でも箸使えないからって箸を否定するのはみっともないよね、ということだね。
箸を使えないのが能力不足のせいか、HSPのせいかは知らんが。
0080名前は開発中のものです。
2009/02/21(土) 14:48:03ID:Te+n/W8Kつまり、作ったことも無ければ想像したことも無いということか。
ダメジャンw
0081名前は開発中のものです。
2009/02/21(土) 14:50:59ID:3HETWV4t俺はもともと目的に合った手段を選べという立場だ。
タスクシステムが手段として他のやり方よりもまともに機能する場面て何?と聞いているんだが。
その問いに対してズバリこれと言ってくれればそれで話は終わるんだがな。
>でも箸使えないからって箸を否定するのはみっともないよね
俺はオマル使えないし、オマル使ってるやつは否定したくなるな。
オマル使ってるやつはみっともないし、オマルを勧める奴は言語道断だ。
0082名前は開発中のものです。
2009/02/21(土) 14:53:10ID:3HETWV4t洩らすよりはマシだからな。
こういう「こんな時なら使える」って意見が欲しいんだよ。
0083名前は開発中のものです。
2009/02/21(土) 14:54:55ID:P36r7rTDナムコの古典的アーケード以外にも
昔からのゲームメーカーのゲームを入れれば星の数ほど使われてる
それに対して何もゲーム作ったことも無い人間が「メリット理解できません」
といっても「そうだろうね」としか言えんわな。
今の最新ゲームの規模で古典的タスクみたいな単純な仕組みが使われることはもう無いけど、
個人製作レベルならまだその程度で十分じゃないのかな。
個人製作レベルで数億円かかるフレームワークとかエンジンとかの話してても夢物語だし…
0084名前は開発中のものです。
2009/02/21(土) 14:57:44ID:3HETWV4t現代で使うメリットが無いと言ってるんだよ。
リソースきつきつだった時代に使うことまで否定してないだろ。
0085名前は開発中のものです。
2009/02/21(土) 15:03:45ID:P36r7rTD関数ポインタ理解できる程度のプログラマなら
小規模なゲームで状態推移を簡単に管理できる実装の一例、程度でしょ
プログラマに実装の選択肢があるのは一般にメリットだと思うがね。
逆に君は「あらゆる状態でタスクより優れた方法がある」ということを
説明できるのかね?
0086名前は開発中のものです。
2009/02/21(土) 15:06:25ID:Te+n/W8K> 俺はオマル使えないし、オマル使ってるやつは否定したくなるな。
> オマル使ってるやつはみっともないし、オマルを勧める奴は言語道断だ。
オマエは要介護認定の人たちをバカにしているのか?
0087名前は開発中のものです。
2009/02/21(土) 15:08:18ID:hYClRP740088名前は開発中のものです。
2009/02/21(土) 15:18:06ID:3HETWV4t>>84
0089名前は開発中のものです。
2009/02/21(土) 15:19:06ID:3HETWV4t>>36
0090名前は開発中のものです。
2009/02/21(土) 15:21:43ID:P36r7rTD非相対マルチコアの某最新コンシューマ機で
少ないサブコアのローカルメモリ内だけでメインCPU側から独立して
タスク管理するために、ほぼタスクシステムな仕組みでジョブ管理されてる実装を見たな。
これ、最新ゲームだったけど。
リソースがいくらでもある、って前提で富豪的考え方しか出来ん最近のゆとりプログラマには
結局最新技術も使いこなせないんだろうなぁ…
0091名前は開発中のものです。
2009/02/21(土) 15:25:48ID:bQf1hP7dばらばらにアクセス=グローバルなものの整理ができていない。
グローバルなものの整理ができていないと1万行を超えるプログラムを動作させるのは難しい。
http://www.kojima-cci.or.jp/fuji/mybooks/cdiag/cdiag.2.4.html
だから代わりに引数を使おう
http://www.kojima-cci.or.jp/fuji/mybooks/cdiag/cdiag.2.5.html
という話で終わるでしょ。
たとえ個人製作レベルでも1万行なんて普通に超えるよ。
もしタスクシステム使う人が
「1万行越えたらそのコードはいったん捨てて、タスクシステム使わずに1から設計し直すよ」
という認識を持っているならアリかもしれないが、
例えば
「1万行越え確実だけどタスクシステム使って設計するよ。
もちろん1万行超えたらそのコードはいったん捨てて、またタスクシステム使って1から設計し直おすよ」
と言う話ならナシ。
0092名前は開発中のものです。
2009/02/21(土) 15:31:55ID:3HETWV4t>>84
まあ、これは無駄に「現代」とくくったのがイカンかったね。
リソース使える場面でもタスクシステム使うといいよという例があったら頼むわ。
0093名前は開発中のものです。
2009/02/21(土) 15:33:38ID:Dmt7DoEE「使いたいやつが使えばいいと思う」
ただそれだけだ。
タスクのメリット話せと言われても、おそらく使ってる人も表現し辛い箇所なんだよね。
フレーム間を跨ぐ処理を書く上で多用するわけで、その辺はゲームによってまちまちだ。
じゃあ逆にタスク代替案も示せと言われても、
switchに戻すだとかで、これといって画一的な処理は示されないのが現状。
銀の弾丸は存在しない。それだけだよね。
0094名前は開発中のものです。
2009/02/21(土) 15:33:51ID:IeOQ7r77ただしunsafeほげほげとかIORef禁止で
0095名前は開発中のものです。
2009/02/21(土) 15:45:18ID:7rFrs1eTそのURLに書いてあるのって、アクセスの話じゃなくて宣言を整理するって話じゃないの?
0096名前は開発中のものです。
2009/02/21(土) 15:46:27ID:P36r7rTDCPUリソースとメモリリソースを考慮に入れないなら
それこそどんなアルゴリズムでもいいんでない?遅かろうが無駄だろうが好きなの使えば。
作業効率とか考えるならプログラムも不要でツクールやMODでいいんじゃね?という感じ。
本職のプログラマなら、どんなチープな環境でも軽量・低コストで動作できる
アルゴリズムを知ってるのは十分メリットだと思うけど。
組み込みにしろ、携帯機にしろ、リソースの厳しい環境でやれって言われるのは
良くあることだから。
ま、個人製作ならそんなことどーでもいいんで、
そーなると実装方法を強制されない個人製作で何でアンチタスクになるのかが謎だが。
嫌いなら使わなきゃいいだけなのに。何でアンチ?
0097名前は開発中のものです。
2009/02/21(土) 15:47:46ID:4jF5VqD/なつかしいな「Cプログラミング診断室」
でもグロバール変数一覧は俺はオススメできないけどな
そもそも作るなといいたいw>グローバル変数・関数
0098名前は開発中のものです。
2009/02/21(土) 15:48:18ID:Vn5x9Xxe軽いから結構かわりそう
0099名前は開発中のものです。
2009/02/21(土) 16:01:57ID:3HETWV4tいきなり極端になったな。
作業効率考えるなら〜の部分が唐突に投げやりなんだが、まあしゃあないか。
>>39
>>40
この流れをよく見てみよう。
結局、変に凝ってるのはどっちだよ。
アンチっていうか、こういう意味不明なこと言う奴に、
「リソースある場面でタスクシステム導入する奴は変に凝ってる」
と言いたいわけだ。
リソース無い場面で使うことに関して異論がないのはもう何べんも言ってるのでこれ以上繰り返さないようにな。
ちなみに>>39で想定している場面てリソースないような状況じゃないよな。
0100名前は開発中のものです。
2009/02/21(土) 16:04:15ID:bQf1hP7dそうです。今見返すと話つながってないっすね。混乱させてごめん。
1つ目のURL書いた理由は、グローバルなもの(マクロも変数も)を無秩序に使ってると
10000行あたりで破綻するという話を紹介したかったからです。
2つ目のURLはOKだよね?
0101名前は開発中のものです。
2009/02/21(土) 16:04:28ID:Kwr5xaMF引数クンなのか、ごった煮リスト嫌いクンなのか、どっちなの?
それとも、それ以外?
複雑なものは理解できないクン?
0102名前は開発中のものです。
2009/02/21(土) 16:05:45ID:a9F+sDW/リソースが余ってるならC++を使う必要性自体がないのでは・・・w
俺は>>84は、現代のプログラマでも「タスクも知っていた方が良い」ことを示すいい事例だと思った
リソース使える場面でC#やRubyよりC++使うといいよという例があれば前言は取り消す
0103名前は開発中のものです。
2009/02/21(土) 16:08:02ID:07PQbtcV> (5087 + 514 + 118 + 235) - 4684 = 1270
> その差50行程度だが、どこが遥かになんだ。
タスクシステム使わないほうは、27%もソース増えてるじゃん。
開発時間はソースの量にだいたいは比例するから、
8時間の作業で済むところが、10時間強もかかる計算になるじゃん。
俺ならそんなの御免だね。
だから、俺は使えるところでは使ったほうがいいという結論だな。
使えないと思うところでは使わない。それだけのことじゃん。
0104名前は開発中のものです。
2009/02/21(土) 16:13:33ID:4jF5VqD/処理が減ったわけでもないのに
そこがそんなにうれしいとこなのか?
0105名前は開発中のものです。
2009/02/21(土) 16:16:13ID:07PQbtcV人間がバグを仕込んでしまう確率は、だいたいコードの分量に比例して増えるからね。
可読性を保っているなら、コードは少ないほうが望ましい。27%も違えば大きな違いだろう。
0106名前は開発中のものです。
2009/02/21(土) 16:18:18ID:7rFrs1eT1つ目が繋がってないのに2つ目を持ってこられても困るというか
個人的な感想を言えば、たったの1万行で破綻するとはとても思えない
0107名前は開発中のものです。
2009/02/21(土) 16:19:40ID:4zHPU/si要はゲーム中で動く「モノ」のことでしょ?なんでわざわざタスクとか呼ぶん?
例えば「実例で学ぶゲームAIプログラミング」の2章が
もろにいわゆるタスクシステムやタスク間通信の近代的なC++実装だと思うんだが
タスクなんてひとっことも言わないし、こうやって作るんだとか誇りもしないのね。たいしたことじゃないから。
これがいまどきのありふれた感覚じゃねーの?
だいたい根本的に、「モノ」を管理するために低レベルなOSのアナロジーを使うこと自体が間違ってると思う。
そういうの実装を歪めると思わん?
「ゲームオブジェクト」「エンティティ」「アクター」なんでもいいけど、「タスク」だけはない。
具象的なネーミングとしても抽象的なネーミングとしても。
非ゲームプログラマがTaskという名前のクラスを見て、何なのかすぐ理解できるのかってことですよ。
お前らがやりたいのは、OSの稚拙な真似事じゃなくて、「モノ」を動かすことでしょ?
あーでもロスプラみたいにマルチコアに振り分けるならOS的要素強いかもね。わかんね。
結局、典型的な「自転車置場の議論」(http://0xcc.net/blog/archives/000135.html)なんだよなこれ。
松浦本読んだ程度のドシロウトでも参加できるという。
そういうのを避けるためにも俺はタスクシステムという言葉は使わない。
使ってるやつ見かけたら陰からこっそり指さして笑う。
0108名前は開発中のものです。
2009/02/21(土) 16:21:47ID:3HETWV4t0109名前は開発中のものです。
2009/02/21(土) 16:25:03ID:3HETWV4tITRONのタスクはすげーよ。なのに、タスクシステムのタスクは全然すごくねーよ。
このギャップにイラッとするのはある。
0110名前は開発中のものです。
2009/02/21(土) 16:25:40ID:4jF5VqD/それは本質をまったくみてないなぁ
1行ごとに中身のない改行を入れて「;」を打つだけでも行数だけは増えるじゃない
しかも今回のプログラムだって工夫すれば改行崩れの処理省きでcontinue文は消せてしまうので
それをソースコードの行数の増加と考えるのは上げ足取りをしてるようにしか見えない
むしろ、マクロでfor文を見えなくした>>510のがわかりにくくて気持ち悪い
このマクロっぽいのの意味を初見でみた人が知るには付属のタスクシステムテンプレートを
全部読んで理解するしかないでしょ?
これは嫌だなぁ
仮にマニュアルもなにもなかったとしたらかなり読める人限定されそう
0111名前は開発中のものです。
2009/02/21(土) 16:26:24ID:07PQbtcVこのまま規模が大きくなっても、このパーセンテージは揺らがない。
タスクシステムを使わないほうのプログラムでは、どうしても27%ほどだけソースが大きくなる。
だから行数なんかには意味がない。このパーセンテージのほうがはるかに重要だ。
お前は、どうしてそれをごまかそうとするのか俺にはわからない。
0112名前は開発中のものです。
2009/02/21(土) 16:31:02ID:07PQbtcV> それは本質をまったくみてないなぁ
そんなことはない。大雑把にはソースの分量で判定できる。
どちらのプログラムも平均的なプログラマが書いたと仮定して、
タスクシステムを使わないほうは27%もソース分量が増えたのには違いない。
> むしろ、マクロでfor文を見えなくした>>510のがわかりにくくて気持ち悪い
あの程度のソースがわかりにくいとは思わないが、マニュアルがないと
正しく使えない人がいるというのには同意。
ただ、本人が開発するなら話は別だろう。
0113名前は開発中のものです。
2009/02/21(土) 16:33:03ID:4jF5VqD/酷いな
ループのカッコとnull判定のことでしかないのに
ここまでくると病気としかいいようがない
0114名前は開発中のものです。
2009/02/21(土) 16:35:43ID:4jF5VqD/それがタスクシステムの本来の役目ということがはっきりしたともいえるね
正直、差分がそこしか見えなかったんだからそれでいいんだよな?
タスクシステム=ループのカッコとnull判定をはじけます
でおk?
0115名前は開発中のものです。
2009/02/21(土) 16:38:17ID:07PQbtcVあんたはプログラミング経験が浅くてわかってないんだろうが、ループも、二重ループにするとき、
i,jの添え字を間違えたり、null判定を忘れたり、continueを書き忘れたりするのが人間ってものなの。
そういう定型化している部分を共通部分として書き出して、どこか別のところに追いやったほうが
バグは減るわけ。それは別にタスクシステムでなくてもいいのだが。
forがforeachになっただけでずいぶんバグが減る。
foreachの終了のときのハンドラを定義する構文があればさらに安全性は高まる。
そうやって抽象化と共通部分の括りだしを繰り返して書いていくのがプログラムだろう。
0116名前は開発中のものです。
2009/02/21(土) 16:40:14ID:3HETWV4t>このまま規模が大きくなっても、このパーセンテージは揺らがない。
どこがそんなにラクになるのかなと見直したが、2重のforループがTASK2と書けるんだね。
ここでだいぶ文字数稼いでるみたいだ。
んで、それがそんなにうれしいことなのかと言われるとNOな訳で。
0117名前は開発中のものです。
2009/02/21(土) 16:40:41ID:4jF5VqD/だから
タスクシステム=ループのカッコとnull判定をなくした最新鋭のシステムです
でいいんだろ?
0118名前は開発中のものです。
2009/02/21(土) 16:41:07ID:07PQbtcV> 正直、差分がそこしか見えなかったんだからそれでいいんだよな?
全然違うね。
510のように抽象化することで、自動並列化のようなことが可能になってくる。
まあ、510のソースを自動並列化するのは正直無理だが、もう少し抽象化して、
各タスクの役割を明確に記述できれば自動並列化できる。
0119名前は開発中のものです。
2009/02/21(土) 16:41:26ID:P36r7rTD「ウォークマン」みたいなものじゃない?
最初に有名になって、それ以降類似したものの総称として
便利だから名前だけ使ってるって。
>非ゲームプログラマがTaskという名前のクラスを見て、何なのかすぐ理解できるのかってことですよ。
タスクシステムを使うのはゲームプログラマでしょ。普通は。
いちいち現場で「これはオブジェクトを管理するシステムで更新と描画で登録関数が呼ばれて…」
とか説明するより「タスクシステム的なもの」の一言でゲームプログラマならだいたいって通じるし。
ま、デザインパターンみたいにちゃんと定義と命名されればいいんだろうけど
ゲーム業界固有の物だしねぇ
0120名前は開発中のものです。
2009/02/21(土) 16:41:35ID:07PQbtcV>>118
0121名前は開発中のものです。
2009/02/21(土) 16:45:39ID:4jF5VqD/それは>>510からはいえないな
実際、>>510と>>641の間で自動化云々って話はないわけだし
自動化を証明したければ比較のソースを書いてからだな
それまではいっちゃいけねぇだろ
俺も否定しないし
少なくとも>>510と>>641の間では自動化は見えなかった
今回はこれが結論
0122名前は開発中のものです。
2009/02/21(土) 16:52:23ID:3HETWV4tforループの中身が増えれば増えるほどその稼ぎは薄まる訳だ。
規模が巨大になればなるほどパーセント減るようにしか見えないぞ。
その辺どうなのよ。
0123名前は開発中のものです。
2009/02/21(土) 16:55:30ID:07PQbtcV510と641を並列化するソースを書き比べればすぐにわかるよ。
そんな本格的なものでなくていいから。
2重ループでi×jのループ回してるところ、あれをi×j / N のループに
分けて実行して、すべてのスレッドの終了をセマフォで待つだけでいいよ。
0124名前は開発中のものです。
2009/02/21(土) 16:56:43ID:07PQbtcV> forループの中身が増えれば増えるほどその稼ぎは薄まる訳だ。
> 規模が巨大になればなるほどパーセント減るようにしか見えないぞ。
それはもちろん正しい。そのへんはゲームの性質によるだろう。
0125名前は開発中のものです。
2009/02/21(土) 17:14:52ID:3HETWV4t>>111
0126名前は開発中のものです。
2009/02/21(土) 17:27:14ID:iOCBxjYvコードが一割減
タスクシステムのデメリット
可読性が低くなる
この調子でお願いします
メリットわかってるんだったらごまかさずに書けよ
そんな出し惜しみばかりするから無駄に荒れる
0127名前は開発中のものです。
2009/02/21(土) 17:35:18ID:07PQbtcVコード削減、一割減はちょっと違うと思うな。
今回の例ではタスクシステムを使わないと27%増。
俺の感覚では、だいたいこの数字はどんなゲームでもそんなに変わらなくて
平均すれば20%前後だと思うな。これが10%程度ってことはないな。
並列化とかもっと大がかりな仕組みがタスクシステム側に用意されていれば
この差はもっと広がるしな。まあ、それをタスクシステムと呼んでいいのかは知らんが。
0128名前は開発中のものです。
2009/02/21(土) 17:46:01ID:iOCBxjYv開発速度向上はない、可読性が低いものほど開発に時間がかかるから
タスクシステムとやらのデメリットとして
開発に時間がかかるというのも追加できる
この調子ならメリットデメリットを列挙できそうだな
選択肢になりうるかどうかはそれを見れば判断できるだろう
化けの皮を一枚ずつはいでいくのは楽しいの
0129名前は開発中のものです。
2009/02/21(土) 17:52:15ID:07PQbtcV> 開発速度向上はない、可読性が低いものほど開発に時間がかかるから
ソース全部理解しなくても、510のタスクシステムは使えるだろ。
TASK2(クラス名A,クラス名B)
{
クラス名A1.XXX = YYY;
クラス名B2.ZZZ = WWW;
}
こう使うだけじゃん。説明に1分も要さないと思うが?
0130名前は開発中のものです。
2009/02/21(土) 17:52:47ID:Kwr5xaMF> 開発速度向上はない、可読性が低いものほど開発に時間がかかるから
> タスクシステムとやらのデメリットとして
まずタスクシステムのどこが可読性低いのかを示してもらわないと。
FSMになってるところ? 関数ポインタの部分? ごった煮リスト?
0131名前は開発中のものです。
2009/02/21(土) 18:15:26ID:D/oVP314自分のタスク内で完結しない処理に関しては、全部グローバル変数経由
ゲーム中のあるシーンを想定した場合、そこで何のタスクがどういう順番で走るかが、
コードの一箇所を見てもわからない。
0132名前は開発中のものです。
2009/02/21(土) 18:15:57ID:4jF5VqD/でも読みにくいなぁ、おいw
それが何を表してるのかさっぱりわからないぜw
ループ隠しただけなのになw
0133名前は開発中のものです。
2009/02/21(土) 18:24:15ID:hYClRP74>自分のタスク内で完結しない処理に関しては、全部グローバル変数経由
そんな処理するのはタスクじゃないだろ。
0134名前は開発中のものです。
2009/02/21(土) 18:26:52ID:D/oVP314> もう少し抽象化して、各タスクの役割を明確に記述できれば自動並列化できる。
そんな簡単じゃないよ。
並列処理は計算機科学の分野では長らく研究されていて、いろいろ知見が積み重なってるんだが、
少なくとも 510 からは、自動並列化につながる筋道がまったく見えない。
夢が大きいのはいいんだが、まったく現実性が無いのもどうかと思うぞ。
0135名前は開発中のものです。
2009/02/21(土) 18:32:19ID:a9F+sDW/初めて読む STL や Loki や boost と同じくらいにね。俺なら使わん
結局、あるライブラリを使うメリットは普及してるかどうかだ
strcpy や strncpy を使うメリットはなんだ?
みんなあの仕様はおかしいと感じているのに? タスクもそれと同じこと。
そして、普及さえしていなければメリットはないと考えて必死で叩くお前らは正しい
0136名前は開発中のものです。
2009/02/21(土) 18:40:14ID:07PQbtcV> 並列処理は計算機科学の分野では長らく研究されていて、いろいろ知見が積み重なってるんだが、
> 少なくとも 510 からは、自動並列化につながる筋道がまったく見えない。
「自動」の意味を誤解しているようだが、
自動車は、自動的に目的地まで運んでくれる乗り物ではないのと同様、
人間が何もしなくてもいいという意味ではない。
俺が「自動」並列化と言っているのは>>123の意味。
例えば、TASK2をP_TASKと人間が書き換えればあとは自動的に並列化してくれるように改造するのは容易。
なんでこれが出来ないと思うのか、俺はお前らの技術力を疑いたくなる。本当にお前らプログラマなのか?
0137名前は開発中のものです。
2009/02/21(土) 19:05:26ID:D/oVP314> なんでこれが出来ないと思うのか
その程度で済むなら OpenMP がやってる
0138名前は開発中のものです。
2009/02/21(土) 19:18:40ID:4jF5VqD/なんにも自動化しないだろw
0139名前は開発中のものです。
2009/02/21(土) 19:35:06ID:07PQbtcVお前らが何もわかってないただの自称プログラムだというのは十分わかった。
123すら出来ないとはな。
0140名前は開発中のものです。
2009/02/21(土) 19:51:24ID:07PQbtcVお前本当に日本人か?どう見ても中国人だろ。
前スレ、前前スレから日本語が極端に不自由な奴が二名いるみたいだが、お前はそいつだろ。
プログラム以前に日本語教室行ってこいよ。
0141名前は開発中のものです。
2009/02/21(土) 19:59:47ID:4jF5VqD/ループなんかはずして喜ぶプログラマいないってw
むしろ、ループ処理してるならfor文を見えるところにおいておいてほしいだろ
誰がこんな構造にして喜ぶのか?
ちょっとは考えろよ
0142名前は開発中のものです。
2009/02/21(土) 20:09:26ID:D/oVP314依存関係も副作用も無いコードなら、そら簡単に並列処理できるさ。数値計算だと
割と多いが、ゲームでそれはほとんどないだろ。
0143名前は開発中のものです。
2009/02/21(土) 20:43:23ID:HdiuLFdjインド人かもしれんし韓国人かもしれんだろ
0144名前は開発中のものです。
2009/02/21(土) 20:43:36ID:iOCBxjYvそれに比べてタスクシステムは可読性がないと言えるのは間違いないよ
専門家でも読むのが難しい本と、幼稚園児が読める絵本とでは
同じ文字数だとしても
絵本の方が圧倒的に速く読めるでしょう、当たり前だけどな
使えるから使えると言ってるけど
使ったら他の選択肢がなくなるから、使えるからと言って考えなしに使うなと
昔の偉い人とエロイ人もゆってた
つまり、エロエロよー
0145名前は開発中のものです。
2009/02/21(土) 20:47:01ID:Dmt7DoEE横槍ですまんが、あくまでゲームで並列処理は難しいと決め付けるのは良くない。
ゲームは依存化が明確にしやすく、
割と並列化しやすいとMTフレームワークの中の人が言っております。
http://game.watch.impress.co.jp/docs/20070131/3dlp.htm
>石田氏は「タスクという観点から見ると、依存関係は最小化でき、
>むしろゲームプログラムは並列化しやすいともいえるんです」と、
>これまでのゲーム開発の常識とは正反対の意見を主張する。
これには自分も驚いたが、
MTフレームワークの製作者が実践してそう思ったのなら説得力があると思わないか?
まぁ、予想(予測)と理論と実践はそれぞれ違うって事だ。
0146名前は開発中のものです。
2009/02/21(土) 20:56:31ID:D/oVP314予想というか、仕事で実際にゲーム書いてた経験談なんだが。モーションとかレンダリング
まわりのジョブはわりと分割しやすいんだけど、いわゆるゲームロジックに絡む部分は、
かなり難しい。
排他制御は特にバグが入りやすい部分だし、仕様変更多発が想定されるゲームロジック
部分を並列処理するのはリスキー。
0147名前は開発中のものです。
2009/02/21(土) 21:03:43ID:Dmt7DoEEそのリスキーな部分をいかにして、
安全で仕様変更に強い設計で書くのかを議論していってもいと思うわけよ。
仕事でロジック部分の並列化やられたら、うへぇってなるが、
趣味だったら面白いネタだとおもわないかい?
0148名前は開発中のものです。
2009/02/21(土) 21:13:55ID:Dmt7DoEEもしタスク派が生き残りをかけるのなら、マルチコア時代の恩恵を
受けられるような並列処理の記述性ただ1点だけ突き詰めるのが良いとおもうぜ。
0149名前は開発中のものです。
2009/02/21(土) 21:15:06ID:iOCBxjYv他人の権威にすがって偉そうにする奴も世の中にはたくさんいる
そういう奴は最後には命乞いをして延命を図る
延命を図るのだよっっっ
くやしいのぅ、くやしいのぅwww
0150名前は開発中のものです。
2009/02/21(土) 21:37:12ID:H2kw4iDd前スレの>>510は名乗るのをやめても
タスク信者の特徴は消せないのだから
名乗るといい
名無しでの火消し&誘導は無駄
0151名前は開発中のものです。
2009/02/21(土) 21:43:42ID:Dmt7DoEE実際にタスクについては主に見通しの問題で否定的で、参照構造についても目的が無ければ無意味な足枷でしかないと考えている。
ただ、並列化については興味があるわけ。マルチスレッドで速度を稼げるのならそういう技術も覚えたいと思っている。
そんな中、自動並列化についてタスクにはその可能性がなきにしもあらずと考えている。
まぁ自分は実装するのはゴメンだがね。
0152名前は開発中のものです。
2009/02/21(土) 21:49:55ID:07PQbtcV> 依存関係も副作用も無いコードなら、そら簡単に並列処理できるさ。数値計算だと
> 割と多いが、ゲームでそれはほとんどないだろ。
あんた、本当に大きなゲームのプログラム書いたことがなさそうだな。
並列化して処理時間を稼ぎたい部分って、同期のためのコストとかもあるから
実際はかなり粒度の大きな、単純な計算が繰り返される処理なんだよ。
ゲームのうち、衝突判定とかは特にそういう計算ばっかりだ。
まあ、>>145でもすでに指摘されているが。
このスレは本当に商用で大きな規模のゲームを作ったことがあるのかと
疑いたくなるような奴ばかりで俺はただただ呆れるばかりだ。
0153名前は開発中のものです。
2009/02/21(土) 21:50:34ID:D/oVP314> そんな中、自動並列化についてタスクにはその可能性がなきにしもあらずと考えている。
そもそも、CPU 食ってるのはゲームロジックより、ヒット判定やモーション処理だったり
しないか? 将棋とかの AI は別だけどさ。
そこは仕様が比較的安定しているから、作りこむだけのコストがかけられる。自動並列化
なんていわずとも、従来のロックベースの方法で OK。
0154名前は開発中のものです。
2009/02/21(土) 21:55:00ID:3HETWV4t0155名前は開発中のものです。
2009/02/21(土) 21:59:19ID:D/oVP314衝突判定は、単に「ぶつかってる・いない」を判定するだけなら簡単なんだが、衝突の
解決が絡むと並列化が割と難しい。
衝突解決には、たとえば「壁は動かない」「プレイヤーが壁に当たったら押し戻される」
「プレイヤーと NPC があたったら NPC 優先」とかルールを決めて、それに応じて
優先順位つけて解決していくのが一般的だと思うが、問題は解決するときに相互
作用が発生することなんだよな。
シーケンシャルに処理するなら、割と手抜きアルゴリズムでもそれっぽく見えるんだが、
並列処理するとなったら、とたんに複雑さが増す。前に一度やってみてメゲた。
0156名前は開発中のものです。
2009/02/21(土) 22:02:28ID:Dmt7DoEEコンシューマならCPUの数と使用用途が特定されてるもんだが、現実的に考えて決めうちでが妥当だと思う。
PCのような特定されないマルチCPUの環境を考えると、自動で並列化するのは面白いんじゃないんかねぇ……。
自動並列化といっても、正直こればっかりは実装してみないと、
どのようにスレッド分配され、パフォーマンスが上がるのか下がるのかは、議論できんところだね。
0157名前は開発中のものです。
2009/02/21(土) 22:08:58ID:3HETWV4t>>136で自動並列化の俺定義出してるんだから、ここはそれに合わせてやれよ。
>>136はライブラリ提供者が、ライブラリ利用者に分からないようこっそり裏で並列化(手作業)しやすいよ。
と、言ってるんじゃないの? 違うか?
ちなみにID:D/oVP314とその他は一般的な意味で話してるような気がする。
ググって出てくるような一般的な意味ね。
0158名前は開発中のものです。
2009/02/21(土) 22:14:35ID:D/oVP314っつか、それはデータの依存性自動検出とかできないと無理なわけで。ハードルが
超高い。
0159名前は開発中のものです。
2009/02/21(土) 22:16:13ID:3HETWV4t出来るだけ先入観を抜きにして、もう一度>>510を読んでみた。
やっぱり、TASKマクロのもどかしさが引っかかるんだよな。
iとjどっちも0からブン回してるけど、星衝突ループはj=i+1からで充分。
オーダーが変わってくるんだけど、その辺手が出せないじゃん。
そんな場合、TASK2Bマクロでも作るのかな?
ライブラリに任せでこういう不備があると面倒だ。
しかもこれに対処するとアドバンテージ消えそうだな。
WindowだのApplicationだのをタスク化してるのも意味不明だな。
継承したものがまるまる無駄になってるのが大雑把すぎ。
TASK2に突っ込みたいがためにやってるだけなら、やっぱり無駄過ぎだよな。
先行投資と言っても、その投資が回収されるまでは過度の抽象化にすぎないわけだ。
んで、>>641バグっるかもって作者言ってたけど、ホントにバグっててワロタ。
・万有引力はj=0から回さないとダメ。
・星衝突で自分同士の場合のcontinueが抜けてる。
あとはOK。
0160名前は開発中のものです。
2009/02/21(土) 22:22:05ID:Dmt7DoEEその超高いハードルを、どうしたら解決できるだろうかを議論しようじゃないか。
たとえば>>510はデータ集約について提案し、
参照構造の是非について議論しようとしていたようだよね。
オブジェクトの所有/解放を(ライブラリ内で見えないように)行うことで、
並列化の足掛かりを見出そうとしたようだよ。第1歩というか、パフォーマンス的には第-1歩だけど。
0161名前は開発中のものです。
2009/02/21(土) 22:25:18ID:3HETWV4t俺は>>510より>>641のほうが良いね。
「シンボル'Star2'は定義されてません」とかVCに言われてイラつくこともないし。
無駄や不透明な部分があると精神衛生上良くない。
0162名前は開発中のものです。
2009/02/21(土) 22:26:57ID:D/oVP314> その超高いハードルを、どうしたら解決できるだろうかを議論しようじゃないか。
本気でやるなら、サーベイ論文読むところからスタート。かなり研究されてる分野だから、
ゼロから何かやるとか時間の無駄なので。
0163名前は開発中のものです。
2009/02/21(土) 22:31:42ID:4jF5VqD/そんなくだらいこと研究して金もらってる奴がいることに驚きだぜw
0164名前は開発中のものです。
2009/02/21(土) 22:36:21ID:07PQbtcV> 「シンボル'Star2'は定義されてません」とかVCに言われてイラつくこともないし。
インテリセンスでるのにそんなミスやるはずがないじゃん。あんた使ってるのVC98?
0165名前は開発中のものです。
2009/02/21(土) 22:39:35ID:D/oVP314並列処理のアルゴリズム・データ構造まわりは昔から研究ネタとしてはよくあるんだが、
単一プロセッサの性能向上が頭打ちになるのが現実的になってきた頃から、Intel, IBM を
はじめとした企業が金と人突っ込んでる。
公開されていて実際に開発に使えるレベルになっている成果というと、たとえば Intel
Threading Building Block とかさ。
0166名前は開発中のものです。
2009/02/21(土) 22:40:53ID:3HETWV4tこれから必要になってくる分野だぞ。
タスクシステムにしてもな、
ゲームの根幹的な制御部に使うのはかえって面倒そうなのでやっぱり嫌だ。
単純で、相互作用がなくて、あったとしても誤差許容できて、計算結果はゲーム性に影響しない。
ベストエフォートで充分なところなら使えそうだとは思った。
大量の火花エフェクトとか、そういう余力でやればいいような部分。
0167名前は開発中のものです。
2009/02/21(土) 22:42:18ID:3HETWV4t右クリック→定義へ移動
0168名前は開発中のものです。
2009/02/21(土) 22:45:19ID:Dmt7DoEEすまん。俺も本気でやるつもりは無いんだ。
正直、並列化には憧れているが、鬼門だと思ってる。それが手動であっても自動であってもさ。
ゲームではない自分の専門分野でIntelC++とMPIで稼ぐ実装をした事があるが、
冗長になった割にパフォーマンスが出なくて萎えた経験がある。
もしゲーム特化で、安全で保守の掛からないデータ構造を有するタスク自動並列化のライブラリが出来たのなら、
金貰ってもいいレベルだと思う。個人が趣味でやる分野じゃないねぇ。
0169名前は開発中のものです。
2009/02/21(土) 22:54:04ID:4jF5VqD/プログラムって最低限設定しなきゃいけない内容は絶対に自動にならねぇし
結局は上にスルーパスして設定を任せるだけになる
スクリプト組んでも苦労する人間が変わるだけで絶対的な作業量は無くならない
むしろ、トータルでは増えてしまう場面のが多いかもね
そりゃプログラマの仕事があんまり高度で・・・っていうならわかるけど
できたスクリプト言語がC言語とあまり変わらんようなのってどうよ?
ってのと同じでタスクシステムも結局処理をスルーパスしてるだけで
自動化してるように見えるだけでしょ?
0170名前は開発中のものです。
2009/02/21(土) 23:00:58ID:Dmt7DoEEん?複数スレッドにタスク単位で処理を投げてパフォーマンスを稼ぐ「自動並列化」の話だよ?
0171名前は開発中のものです。
2009/02/21(土) 23:02:21ID:D/oVP314データ構造と処理内容を限定することで、並列処理を定型化して簡単に使えるように
するってのは、話としては分かる。
ただ、それを目指すならタスクとやらは starting point としては全然ダメなのが萎える。
0172名前は開発中のものです。
2009/02/21(土) 23:02:42ID:07PQbtcVID:4jF5VqD/はド素人か。本当にゲーム作ったことあんのか?
お前、一人だけレベルが低すぎる。もう引っ込め。
0173名前は開発中のものです。
2009/02/21(土) 23:03:41ID:3HETWV4t0174名前は開発中のものです。
2009/02/21(土) 23:05:14ID:Dmt7DoEE識者との有意義な話。(できれば建設的な話)にもっていきたい。
0175名前は開発中のものです。
2009/02/21(土) 23:38:57ID:LbjEvDmu0176名前は開発中のものです。
2009/02/22(日) 02:17:35ID:zvJaILDCえ?そんな話してんの?w
絶対無理だと思うよ
ゲームで一番重い処理はオブジェクト同士の関連だって
少なくともデータ自体は分離されてなきゃ並列に動けないと思うぜ
ごった煮にした時点でそんなの無理じゃね?
0177名前は開発中のものです。
2009/02/22(日) 05:31:48ID:/MSzm31iそんなものしらないのかよ。糞が。
0178名前は開発中のものです。
2009/02/22(日) 05:51:25ID:/MSzm31ikoクラスのupdateメソッドはoyaクラスのupdateメソッド内で呼ばれる。
koクラスのupdateメソッド内の処理は、ある特定の情報(ここではinfoとする)を必要としている。
infoをどのようにしてkoクラスのupdateメソッド内の処理に参照させればよいか。
1.グローバル変数
2.引数
3.シングルトンパターン
0179名前は開発中のものです。
2009/02/22(日) 06:16:09ID:ihng4iqVoyaクラスで生成する情報であれば引数で渡すのが楽だろうし
0180名前は開発中のものです。
2009/02/22(日) 08:48:04ID:W9e8MC1E>・星衝突で自分同士の場合のcontinueが抜けてる。
j=i+1から回してるから自分同士ありえないな。
万有引力をj=0から回すだけで良い。
0181名前は開発中のものです。
2009/02/22(日) 10:26:16ID:2krgEtKUゲーム内容も明示せずに
>ゲームロジックで一番重たいのは当り判定だ。
ってゲーム一般として断言できちゃうあたりがステキ
物理演算バリバリの3Dコリジョンチェックと
2Dシューティングのボックス判定の繰り返しは違うし
AIの計算時間、モデルのアニメ計算etc...の時間もゲームによって違うのにね。
0182名前は開発中のものです。
2009/02/22(日) 17:28:01ID:DmOCWQfiジャンルによる。将棋だと AI の方が重い。
0183名前は開発中のものです。
2009/02/23(月) 07:26:36ID:sG7Lzgrq0184名前は開発中のものです。
2009/02/23(月) 08:08:01ID:keyUucFf0185名前は開発中のものです。
2009/02/23(月) 09:35:14ID:7qNmU6oRなぜならアンチタスカーこそが最大のタスク信者だから。
俺もアンチタスカーだが、皆がタスクシステムの利点に気づかないように、
あえてアンチを演じている。
気づかれると日本経済が破綻するからな。
0186名前は開発中のものです。
2009/02/23(月) 12:39:27ID:sG7Lzgrq0187名前は開発中のものです。
2009/02/23(月) 16:16:29ID:7qNmU6oRアメリカではオブジェクト指向での陽動作戦が主流。
一部日本でもその余波の影響を受けてる。2重3重に騙されて踊らされてる状態。
何かおかしいと気がついたインテリたちはLisp使ってる。
しかしそこどまり。ロジックでは根源にたどり着かない。
防空壕の中に居ては何も出来ない現実。
0188名前は開発中のものです。
2009/02/23(月) 16:58:53ID:JKBRWfYb0189名前は開発中のものです。
2009/02/23(月) 17:15:51ID:3YpC4milもうちょっと続けてください
0190名前は開発中のものです。
2009/02/23(月) 17:19:36ID:7qNmU6oR理想な構造=都合の悪いものを外部に追いやってるだけ。局所的幸せ。
このままいくと、プログラムは幸せになるが、プログラマは不幸になる。
国は幸せだが国民が不幸な北朝鮮と同じ。
0191名前は開発中のものです。
2009/02/23(月) 17:31:30ID:7qNmU6oRスタックがあるので関数はいつでも呼び出せる。
でも、引数はいつでも用意できるわけではない。
スタックは一見理想的な構造に見えるが、実は都合の悪いことを外部に追いやっただけ。
みんな困ってる。でも気がついていない。
0192名前は開発中のものです。
2009/02/23(月) 17:57:19ID:Kk+tvzE1オブジェクト指向的スパゲッティコードのようなもの
GOTOを使ったスパゲッティコードの方がまし
Lisperが書いた本でlisp最高最高書いてあったからよく読んでみたら
DSLのようなメタをその言葉を知らないまま絶賛していた
Lisperってのはすごいんだかすごくないんだかよくわからない人達だった
実装の要点である問題領域をいかに簡単に書くかということこそが
最重要であるのに、そのアプローチを真っ向から阻むタスクシステムを
俺は許せない、許せんのだよ
タスクシステム死すべき死すべき
0193名前は開発中のものです。
2009/02/23(月) 18:06:49ID:7qNmU6oR「簡単に書いてやろう」その発想がすでに誤り。
タスカーもアンチタスカーも同じ場所をぐるぐる回ってるだけ。
0194名前は開発中のものです。
2009/02/23(月) 18:22:16ID:JKBRWfYb>>107の書いてた自転車置き場の議論だっけ?良く納得した。
早々に退散させてもらうぜ。
0195名前は開発中のものです。
2009/02/23(月) 18:42:04ID:DYVLGFTCタスク信者はひとくくりにしていい
だがタスク信者でないものはひとくくりには出来ない
それはログを見れば分かる。それぞれ批判の切り口が違う
読まないから分からない。こういう一見さんに限って
俯瞰視点を気取って分かったような口を利き
稚拙な総括で締めくくろうとする
タスク信者以上に邪魔な存在だ
0196名前は開発中のものです。
2009/02/23(月) 18:45:03ID:2rXEX53B結論なんてとっくにでてるよ。
余暇にやることが無いからとりあえずアンチと信者に分かれて鬼ごっこしてるだけ。
0197名前は開発中のものです。
2009/02/23(月) 18:47:56ID:DYVLGFTC哲学?そんな高尚なものではない
どうでもいい役割に、どうでもよくない重要な役割を無理に与え昇格させようと試み
どうでもいい実装を、どうでもよくないウルテクであるかのように喧伝する
これはハッタリ詐欺だ。昔を知らないアマチュアを騙くらかそうと躍起になる石器人の産物だ
0198名前は開発中のものです。
2009/02/23(月) 18:59:34ID:7qNmU6oR残念ながら私は前スレの510だ。
一見さんどころか、プログラムすら投じている常連だ。
むしろ、私が居ないとこのスレは回らない。もはやネタが無いからな。
>読まないから分からない。こういう一見さんに限って
>俯瞰視点を気取って分かったような口を利き
>稚拙な総括で締めくくろうとする
自分にレスして楽しいの?
さ〜今宵も盛り上がってまいりました!!
0199名前は開発中のものです。
2009/02/23(月) 19:04:16ID:Kk+tvzE1複雑だが重要な箇所や、試行錯誤が必要な箇所
何度も書き換える必要のある箇所をDSLで記述を簡潔にする
それ以外は多少複雑になってもかまわない
一度しか書かない複雑な箇所と、何度も書き直す簡単な箇所のみで
システム全体が組まれていれば
トータルでの開発コストが最小になる
逆に複雑な箇所を何度も書き直したら莫大なコストになるってことぐらい
少し考えればバカでもわかるはずだ
0200名前は開発中のものです。
2009/02/23(月) 19:11:49ID:7qNmU6oRDSLだと何で簡単になるの?
仮に何らかの理由で簡単になるとして、理由が分かってるのならDSLでなくても良くない?
なんでわざわざ言語作るの?
0201名前は開発中のものです。
2009/02/23(月) 19:18:35ID:2rXEX53Bだったらアセンブリ言語だけ使ってろよ
0202名前は開発中のものです。
2009/02/23(月) 19:20:54ID:Kk+tvzE1DSLを理解していればそんな反論にはならないのに
やっぱりお前はバカなのだな
他人の言葉を借りて本質を理解することが出来ない
反論の余地のない要点を避けて、揚げ足取りをしているだけ
自分の言っていることすらもわかってないんじゃないのか
自分で言い出した事に対する返答に対して揚げ足取りなんて
ずいぶんと姑息な手を使うのが好きなようだな
何について話しているのかすらも忘れて、ただひたすらに
他人を黙らせるためだけに語るのだろ
それは罵倒するだけの人間と同じ種類の人間
そんな奴を見てはいそうですねといえるはずもなかろう
おまえもうんこと一緒に便器に流れてしまえ
このうんこやろう
0203名前は開発中のものです。
2009/02/23(月) 19:22:03ID:7qNmU6oR0204名前は開発中のものです。
2009/02/23(月) 19:25:28ID:2rXEX53B仮に何らかの理由で簡単になるとして、理由が分かってるのならC言語でなくても良くない?
なんでわざわざ言語作るの?
0205名前は開発中のものです。
2009/02/23(月) 19:27:46ID:Kk+tvzE1>問題領域が簡単に書けたとしても、それ以外の部分が複雑になるだけ。
>「簡単に書いてやろう」その発想がすでに誤り。
に対する反論が
>>199
というわけだ
おまえの頭の中にはちゃんと脳みそが入ってますかあーあー
なんならうんこでも付け足してやろうか
>なんでわざわざ言語作るの?
この一文でDSLがなんなのかを全く理解していないのがわかる
ばーかばーか
0206名前は開発中のものです。
2009/02/23(月) 19:31:20ID:7qNmU6oRDSLは、問題を複雑にしている原因を一網打尽に他所へ隔離するための一手段でしかない。
このスレみたいにな。
>複雑だが重要な箇所や、試行錯誤が必要な箇所
>何度も書き換える必要のある箇所をDSLで記述を簡潔にする
なにこの曖昧な記述。因果関係が意味不明。
0207名前は開発中のものです。
2009/02/23(月) 19:37:49ID:7qNmU6oRC言語とアセンブリはDSL的には同じもの。
どっちも汎用言語で、どっちも同じ問題を解決するために開発されたものだから。
0208名前は開発中のものです。
2009/02/23(月) 19:49:08ID:7qNmU6oR俺の主張を纏めておくと、
・問題を複雑にしている原因を一網打尽に他所へ隔離することが大切。
・DSLはその一手段。
・目的が達成されれば、他の手段でも良い。
DSLとか簡潔とか、関係ねぇ。センスが無いっていうのですかね、こういうの。
0209ID:EEKBitmg
2009/02/23(月) 20:05:39ID:DYVLGFTC残念ながら俺はHSP厨だ
で、タスクシステム=DBとかいうトンデモ論が意味分からないわけだが
てめぇ、またHSP叩いて逃げてんじゃねーぞチンカス
0210ID:EEKBitmg
2009/02/23(月) 20:10:09ID:DYVLGFTC「俺様が考えた超すごい新生タスクシステム>>510」提唱者は
タスクシステム=DBとか絶叫して逃げたままだ
0211名前は開発中のものです。
2009/02/23(月) 20:14:58ID:sG7Lzgrq勝手にくつけるならまず>>2に関して自分がどういう立場なのかはっきりさせろよ
0212名前は開発中のものです。
2009/02/23(月) 20:15:07ID:GaLE72iG0213ID:EEKBitmg
2009/02/23(月) 20:17:01ID:DYVLGFTCユーザーに処理の依存関係を分析させ、ユーザーの手で処理ステップを
依存関係の有無で分解させておいて、それを自動並列処理であるなどと言い放つ
おまけにそれが新規性に溢れた野心的試みとか吠える
俺みたいなガキンチョが吠えてるならまだ許せるけど、いい歳したオッサンが
こういう事して許されるの?
0214名前は開発中のものです。
2009/02/23(月) 20:17:52ID:7qNmU6oR説明しようと思ったけど、やっぱやめた。繰り返しになるからな。
0215名前は開発中のものです。
2009/02/23(月) 20:18:30ID:Kk+tvzE1言葉を並べて揚げ足を取って場をかき乱している奴だと思う、やねの同類
中立のふりをして片方に肩入れしたり
他人の言葉をパクってきたり、都合が悪くなると話題そらす
それっぽく目的なんて言葉を出しても
その周辺の原則を理解していないおまえには戦略を語る資格はない
0216ID:EEKBitmg
2009/02/23(月) 20:21:01ID:DYVLGFTC中身がねーからな。説明できねーだろ。ほれ。↓反論してみろ
人間に処理の依存関係を調べさせ、人間に処理を分解させる
つまりマニュアル操作で、コード上での静的なスケジューリングを行っている
自動並列とか言い出したときは気が狂ったのかと思ったね
0217名前は開発中のものです。
2009/02/23(月) 20:22:56ID:7qNmU6oR0218ID:EEKBitmg
2009/02/23(月) 20:23:06ID:DYVLGFTC簡単なことを難しく記述しようとするある種のペテン師であると分かる
0219名前は開発中のものです。
2009/02/23(月) 20:24:38ID:7qNmU6oR0220ID:EEKBitmg
2009/02/23(月) 20:34:59ID:DYVLGFTCガキに突っ込まれるのがそんなに怖いのか?逃げてばっかだな
0221名前は開発中のものです。
2009/02/23(月) 20:54:02ID:JKBRWfYbHSPerの高専君に言いたいとこ思い出した。
前スレでHSPで作ったゲーム挙げてほしいって言ってたのどうなった?
HSPはDSLでゲーム特化言語だから、さぞかし優秀なゲームが出来上がってるんだと楽しみにしているのだが。
0222名前は開発中のものです。
2009/02/23(月) 20:56:01ID:sG7Lzgrq0223名前は開発中のものです。
2009/02/23(月) 20:58:41ID:sG7Lzgrq育ちが悪いな
親とか家族も馬鹿なんだろうな
0224ID:EEKBitmg
2009/02/23(月) 20:59:17ID:DYVLGFTC前>>510は筋金入りのタスク信者だ。この点だけは間違いない
彼らはタスクシステムを再解釈・再構築・再定義しようと試みる
タスク信者は便衣する。曰く「私はアンチだけど」「私は中立だけど」
しかしそれらの言葉に続く主張はタスク信者と一致しているのでバレバレ
本人はそれに気付かないのだから滑稽だ
>>193は俯瞰視点を気取り、まるで中立の第三者のような話しっぷりだが
実態は>>510だった。筋金入りの新生タスクシステム提唱者だ。面白いよね
アマチュアのカルト野郎
0225ID:EEKBitmg
2009/02/23(月) 21:00:46ID:DYVLGFTCDSLって何?おいしいの?
0226名前は開発中のものです。
2009/02/23(月) 21:02:17ID:JKBRWfYbHSP最高と答えている君に対して、俺は前からゲームの提示を所望している。
こうやって煙に巻くのはこりごりだ。
0227ID:EEKBitmg
2009/02/23(月) 21:06:54ID:DYVLGFTCはぁ?ここはHSPスレじゃないわけだが、なぜ俺にHSPの件で絡むの?
何故俺に限ってお前に成果物を開示しなくちゃいけないの?
つーかお前は誰?俺の何なの?何様なの?先生なの?単位くれるの?
早く前>>510の側面支援してやれよバカめ
0228名前は開発中のものです。
2009/02/23(月) 21:08:14ID:JKBRWfYbHSP使いというのをいちいち名乗らないでくれ。
HSPについて叩かれ中傷されて、
いちいち過敏に反応して、話が飛ぶのはこりごりだ。
ここはタスクについて議論をしているところだ。
HSPがどのようにすばらしい言語であるのかは他のスレでやってくれ。
0229名前は開発中のものです。
2009/02/23(月) 21:09:41ID:JKBRWfYbよし!ナイス! じゃあ自分からHSPの話題は金輪際出すなよ。
周りのみんなもHSPerにHSPの話題を振らないでくれ。
0230ID:EEKBitmg
2009/02/23(月) 21:10:20ID:DYVLGFTCお前が反応してんじゃん。バカだろお前
反応する奴が悪い。ノイズフィルターがない奴が悪い
0231名前は開発中のものです。
2009/02/23(月) 21:11:33ID:JKBRWfYb0232ID:EEKBitmg
2009/02/23(月) 21:12:43ID:DYVLGFTC今までHSPに反応して勝手にHSP叩きに興じていた変なおじちゃん達の
ノイズフィルターの無さを嘆けよな
0233名前は開発中のものです。
2009/02/23(月) 21:19:12ID:TDwY8aXA脳奇形はレス付けないでくれない?
0234名前は開発中のものです。
2009/02/23(月) 21:23:50ID:JKBRWfYbもうその話は終わったっつーの。これ以上ぶりかえすな。
0235ID:EEKBitmg
2009/02/23(月) 21:31:57ID:DYVLGFTC>>234
俺はずっと前>>510を追求してるわけだが
てめぇがくだらねー茶々を入れて話の腰を折ってんじゃん。よく読み返せよ
それで前>>510を逃したつもりになってんのか?お前>>510じゃねーの?
違うならとっとと前>>510の側面支援してやれよ。何度も言ってんだろ。ほれ
何度だって言う。前>>510のコードの実態。それは>>213、>>216じゃねーの?
どこに自動並列処理があんのか教えてくれね?
あとタスクシステム=DBってあれ何?それの実態には何か新規性あんの?
シーングラフを内包する既存のゲームエンジンにない野心的な何かなの?
ものすごく当たり前の性質を今更発見して唱えてるだけだったりしない?
0236名前は開発中のものです。
2009/02/23(月) 21:35:20ID:JKBRWfYb>>510のコードからはほど遠いが、
データ構造及び参照構造でオブジェクトの所有/解放を明記することで、
並列化は不可能ではないとおもってる。
0237名前は開発中のものです。
2009/02/23(月) 21:37:06ID:JKBRWfYb絶対無理と言い切れないと考えている。
0238名前は開発中のものです。
2009/02/23(月) 21:48:25ID:3YpC4milこんなしょうもない板のしょうもないスレの片隅で
顔真っ赤にして喧嘩してる連中がいると思うだけでメシウマ
0239ID:EEKBitmg
2009/02/23(月) 21:50:27ID:DYVLGFTCその参照構造って具体的に何?新規性あんの?
誰が記述するの。その参照構造ってのは仕様の段階で決まってる何かなの?
例えば格ゲとか2DSTGの当たり判定表みたいなもんなの?ならツクラーでも分かるくらい既出じゃね?
Base(Access)とかで適当なVIEW作って依存関係を可視化したり、入力しやすいフォームを作ったりとか
そうやって仕様レベルで決まってる依存関係を簡単に入力できる仕組みを提供すればお仕舞いとか
そういう程度のものなの?それで自動なの?
0240名前は開発中のものです。
2009/02/23(月) 21:51:00ID:JKBRWfYbおう。風呂に入るまでID:EEKBitmgに付き合うつもり。
返信が無いのが寂しいが。
0241ID:EEKBitmg
2009/02/23(月) 21:51:33ID:DYVLGFTC0242名前は開発中のものです。
2009/02/23(月) 21:51:56ID:JKBRWfYb新規性なんぞない。
参照構造は足枷にしか過ぎないよ。
オブジェクトの所有を明確化することで、自動並列化を目指す第0歩。
0243名前は開発中のものです。
2009/02/23(月) 21:54:31ID:JKBRWfYb一般的なデータの記録/取得を指すのではなく、データの所有を明確化することで、同期化の可否を問うもの。
0244名前は開発中のものです。
2009/02/23(月) 22:18:14ID:keyUucFfID:Kk+tvzE1が前スレ510のプログラムさえ読めなかった低脳ポエマーか
お前らとりあえず死ね
0245ID:EEKBitmg
2009/02/23(月) 22:19:38ID:DYVLGFTC>>510を見る限り、フレーム単位の処理ステップを更に小さなタスクと呼ばれる
処理ステップに(人間自身の手で)分解して、それを並べてるだけなんだけど
ソースコードに処理を並べてるってのは。静的なスケジューリングだよね
オブジェクトの所有ってのは静的なものだよね?
具体的にどんなものがあんの?
例えばレベルデータを、例えばPVSで空間分割してるとする。ポータル同士は静的な依存関係だね。
異なるポータルに入ってる要素同士は衝突する見込みないからポータルが異なれば同時処理できる
そういうこと?
なんか既出くさくね?
0246名前は開発中のものです。
2009/02/23(月) 22:24:25ID:JKBRWfYbオブジェクトの所有に関して静的。タスクの並列化について動的。
>>510のTASKはそれぞれオブジェクトを明示して扱ってるでしょ。
ロックベースで行えばそりゃ既出さ。散々やられている。
CPUの利用用途が特定されているコンシューマでは、決めうちで分配してる。
これを動的に扱おうという試み。
0247名前は開発中のものです。
2009/02/23(月) 22:44:55ID:JKBRWfYb前の書き込みから20分以上経ってるんだが……。
いちいち中断されると議論にならん。
そろそろ風呂いっちゃっていいか?
0248ID:EEKBitmg
2009/02/23(月) 22:51:57ID:DYVLGFTC0249ID:EEKBitmg
2009/02/23(月) 22:56:40ID:DYVLGFTC全てが処理の流れは静的だし、各処理ステップが処理する要素も静的だし
TASK2(Aho,Baka)
TASK2(Doji,Aho)
TASK2(Unko,Ochikko)
TASK2(Hsp,Dsl)
TASK2(Doji,Hsp)
TASK2(Doji,Dsl)
TASK2(Doji,Dsl)
こういうふうに処理順も、扱うデータも明示してる
どう考えても>>510と>>246に関係はない
0250名前は開発中のものです。
2009/02/23(月) 22:58:33ID:JKBRWfYb>>510は並列化を視野に入れているとしか述べてない。
だってまだタスクの並列化処理についてどこにも記述されてないから静的にしか見えないのは当たり前。
0251名前は開発中のものです。
2009/02/23(月) 23:03:57ID:JKBRWfYb>>510はソースを提示もしたが、その後このコードについて言及している。
俺も最初は意味不明だったが、510のコメントを読んでいけば言わんとしていることは分かった。
その辺は以前>>22に書いた。
0252510
2009/02/23(月) 23:04:55ID:7qNmU6oRしゃべくり007見てきた。
またHSPerが何か吼えてるな。
コンテンツ産業は、HSPerが居れば安泰だな。
0253名前は開発中のものです。
2009/02/23(月) 23:08:10ID:Kk+tvzE1前スレからずっと言ってるのに誰も答えてくれない
メリット知らないで使うほどバカな奴もいないと思うけど
まさか知らないって言うんじゃないだろうね
0254ID:EEKBitmg
2009/02/23(月) 23:08:27ID:DYVLGFTCもしかして、処理ステップごとに処理対象を明示してるから
処理ステップ毎の依存関係が分かりやすく、一目で並列化の可否が分かりやすい
と前>>510が言ってたのか?
結局は人間がその処理に食わせる要素を自分で選択し
並列処理可能かどうか、自分の目で見て判断するんじゃない?
それを判断しやすいようにどう可視化すればいいかって話じゃない?
0255名前は開発中のものです。
2009/02/23(月) 23:08:43ID:JKBRWfYbせっかく高専生相手に議論・討論の相手をしようとおもったのにID:EEKBitmgはネトゲやってて残念だ。
>>248の書き方はどう見ても逃げたようにしか見えないぞ。
高専君は俺を相手にしてくれないようだからもう来ない。
風呂入ってくる。じゃあな。
0256名前は開発中のものです。
2009/02/23(月) 23:19:23ID:7qNmU6oR・唯一の価値観で構成される、美しいプログラム。
・美しさ保存の法則により、プログラムが美しくなる分、プログラマは汚い仕事を強いられる。
・趣味とはそういうもの。
0257ID:EEKBitmg
2009/02/23(月) 23:31:53ID:DYVLGFTCてめぇはすぐにタスクシステム=DBとかいう珍説について作文書けよ
俺はネトゲやって寝る。じゃあな
>>251
想像力がどうのとか、ハハン、自分で考えろとか、お決まりの
せりふを出すタスク擁護派だが、こいつら脳みその中空っぽだろ
こいつらの自動並列化云々の話を見てると、おかしいところ一杯
どう見ても人力による並列化支援の話だ。静的なスケジューリングのために
どうやって処理の依存関係を可視化するか、とかそういう話で終わってるくさい
粗粒度処理の自動並列化?字句解析・構文解析して前>>510のソースから
TASK2 Hoge Hage
TASK2 Unko Hage
…blablabla
をゲットしたとして、各処理ステップが何のデータを取り扱うのか分かるけど
相互じゃなくて一方的な作用の場合は?第二引数Hageがリードオンリーなら
並列化できるよね?>>510じゃわかんないよね?基本的な部分が欠落してる
それぞれの処理ステップのワークロードも分からないよね?
あらかじめ計測してあげるの?それを人間が補助情報を食わせてあげるの?
0258ID:EEKBitmg
2009/02/23(月) 23:39:29ID:DYVLGFTC明らかに異形の何だかよくわからない聳え立つ糞にタスクシステムとかいう名前を絡め付けて
無理矢理このスレでの話題にしようとしているだけだろ。この調子だとあらゆるプログラムは
タスクシステムという名前を付ければオーケーになりそうだな
おまけに、片鱗も見えない機能があるかのようなハッタリ攻撃もかますし、それが見えないというと
ハハン、想像力の問題だね、とか、ハハン、自分で考えな、とか。逃げてばっか
0259名前は開発中のものです。
2009/02/23(月) 23:43:35ID:Kk+tvzE10260名前は開発中のものです。
2009/02/23(月) 23:58:36ID:7qNmU6oR0261名前は開発中のものです。
2009/02/24(火) 00:02:40ID:cwA9pU1F威勢の良いHSPerを弄って遊んでるだけってことに
いい加減気が付かないもんかね
0262名前は開発中のものです。
2009/02/24(火) 00:14:58ID:RbpkAhSiさて明日も仕事だ。もう寝よう。
貴重な睡眠時間をID:EEKBitmgの相手で減らしたくないもんね。
>>257からは週末に暇があったら読んどくわ。
それじゃおやすみなさい。
0263名前は開発中のものです。
2009/02/24(火) 00:25:24ID:v/PA5fmM> >>257からは週末に暇があったら読んどくわ。
読む価値無いぞ、先に言っておくが。
0264名前は開発中のものです。
2009/02/24(火) 00:29:53ID:8zHV9j87タスクと書くだけで君のように異常な反応を示す人を釣ることができて
生産性を幾分かでも削ることができる。ライバルからすればいい武器だな。 そのライバルは他の国や民族かもしれん。
こんなスレを見てしまった段階で踊る阿呆に見る阿呆だが。
0265名前は開発中のものです。
2009/02/24(火) 02:27:20ID:bahkSke6何これ、名作なんですけど。
お前らもこんなところでアホな罵り合いしてる暇があったらキャプテン翼やるべき。
0266名前は開発中のものです。
2009/02/24(火) 02:31:56ID:ly11pYeXなんだかよくわからないけど俺の文字を打つスピードはそこそこのものだから
たいした時間にはならないし、特に問題はない
挑発かどうかぐらいは見抜けるし
当分の間ここに常駐して遊ぶことを日課にすることに決めてあるから
特に問題はないよ
五人ぐらいが同じ意図を持つ発言を同じ時間帯に
ほぼ同時に書き込んでいるということは興味深いけど
それもたいした問題でもない
別に俺をおもちゃにして遊んでもいいぜ
その程度で怒り出すほど短気じゃないし
考え方を変えると、俺に反論できない連中がむきになって
必死に挑発しているようにも見えるから、逆に嘲笑できるので愉快だわ
おほほ
0267名前は開発中のものです。
2009/02/24(火) 02:48:33ID:uKN6ZEKt0268名前は開発中のものです。
2009/02/24(火) 02:59:01ID:S0KDY/Ow自称タスクシステムみたことあるな
int hogeTaskProc(HTASK htask, TASK_MESSAGE mes, DWORD lparam, DWORD wparam)
{
switch(mes) {
case TMES_CREATE:
...
break;
case TMES_DESTROY:
...
break;
case TMES_DRAW:
...
break;
case TMES_UPDATE:
...
break;
}
return defaultTaskProc(htask, mes, lparam, wparam);
}
newtask = CreateTask(parentTask, x, y, hogeTaskProc);
って感じで。
サイズ設定とか位置設定とか親子関係とか
もろWin32APIそのままっての。
これも使ってる人たちは「タスク」ってよんでたから
タスクシステムの一種なんだろうなぁ…
sendMessageとかもWin32APIと同じ。
タスク情報にx,y,w,hが含まれててコリジョンチェックまでシステム管理してたけど
0269名前は開発中のものです。
2009/02/24(火) 03:06:19ID:ly11pYeXへっへーんお前のパケットは見放題だぜってことだろ
ttp://oshiete1.goo.ne.jp/qa4707155.html
怖いよー><
0270名前は開発中のものです。
2009/02/24(火) 07:33:43ID:yxyYaCYi自動並列化なんて嘘っ八だろ
普通に考えてごった煮な時点で不可能
だってすべてのオブジェクトに関してアクセスされちゃう可能性があるだろ
並列に処理できるわけない
むしろ、まとめないほうがまだやりやすい
0271名前は開発中のものです。
2009/02/24(火) 10:21:51ID:5sdzoLlH0272名前は開発中のものです。
2009/02/24(火) 10:32:59ID:7ZNJKJuB0273名前は開発中のものです。
2009/02/24(火) 12:49:47ID:yxyYaCYi0274名前は開発中のものです。
2009/02/24(火) 14:35:29ID:vC+RqJEN>264
0275名前は開発中のものです。
2009/02/24(火) 16:11:46ID:ly11pYeX疑問だったけど、思い出した事がある
俺が興味を示していたのはやねちゃん方面なのであんたに関わるつもりはない
そっちの要求どおり書き込むのは辞めよう
その代わりそっちもこれ以上俺の周辺に出てこないで貰おう
俺は面倒事には関わりたくない
あんたはその強力なカードを無意味に無力化したいとは思ってないだろ
俺に関わって来さえしなければ特に何の問題も発生しないだろう
0276名前は開発中のものです。
2009/02/24(火) 16:26:14ID:5sdzoLlHいい加減、コテハンにしてくれ。基地外なんだから。
0277名前は開発中のものです。
2009/02/24(火) 19:54:09ID:yxyYaCYi0278名前は開発中のものです。
2009/02/24(火) 19:59:52ID:RgOj9QY80279名前は開発中のものです。
2009/02/24(火) 20:15:46ID:yxyYaCYiここが激化したころとちょうどにブログ更新したし
ごった煮って言葉まで使ってるし
でも内容はまるでだめだったな
タスクシステムは駄目かもわからんね的ニュアンスはあった
だれか本人にあったらキモイからくるなって言っといて
0280名前は開発中のものです。
2009/02/24(火) 20:28:21ID:5sdzoLlHお前みたいな低脳はみんなコテハンにしろ。
0281名前は開発中のものです。
2009/02/24(火) 20:55:59ID:yxyYaCYi0282名前は開発中のものです。
2009/02/24(火) 21:26:05ID:5sdzoLlH一人、二人510のソースすら読めない馬鹿がいたが、そのうちの一人がID:yxyYaCYiだろ
あのソースすら読めないならプログラマやめて吊ってこいよ
0283名前は開発中のものです。
2009/02/24(火) 22:09:08ID:hCsahR0Nエーーーーーーーーーーーーーーーーーーーー!
ループとっただけなのにぃ!?
頭腐ってんじゃねーのおマえw
0284名前は開発中のものです。
2009/02/24(火) 23:29:44ID:ly11pYeX反応がないので少し情報を出してみました
たぶんこれで間違いないと思うんだよ
というわけなので、>>275でよろしく
0285名前は開発中のものです。
2009/02/24(火) 23:56:24ID:bahkSke6なんのこっちゃ。
0286名前は開発中のものです。
2009/02/25(水) 04:17:34ID:PfUL4d8d0287名前は開発中のものです。
2009/02/25(水) 05:04:34ID:DU+zP8O30288名前は開発中のものです。
2009/02/25(水) 11:06:07ID:EtznPQROじゃなくて役不足でしょ女子高生
0289名前は開発中のものです。
2009/02/25(水) 13:33:32ID:e6Xk0r8c単調すぎてやる気がそがれる女子高生
0290名前は開発中のものです。
2009/02/25(水) 13:34:25ID:5eKvyod90291名前は開発中のものです。
2009/02/25(水) 14:10:22ID:TwM8Bczaソースみせろよ
0292名前は開発中のものです。
2009/02/25(水) 16:31:23ID:5eKvyod9ひょっとしてブログ読んでないの?読まずに批判してるの?
0293名前は開発中のものです。
2009/02/25(水) 17:22:33ID:EtznPQRO0294名前は開発中のものです。
2009/02/25(水) 17:58:25ID:AiYRS/nG64乙。親指の皮がむけて痛かったのはいい思い出
0295名前は開発中のものです。
2009/02/25(水) 18:05:48ID:cuEKcEeQ今度は Irrlicht の各種ノードを参考にツリー構造で行こうと思ってるけど、
なんか他にもっといい実装あったら教えてくんろ。
0296名前は開発中のものです。
2009/02/25(水) 18:14:03ID:DAnxa36yそんでまずベタで組めコピペ上等で貼り付けまくれ
んでそのソースを見渡して共通化できると思ったらしてみればいい
なんもやらないで他人の言葉ばかり鵜呑みにしてると
自分で検証して正しいことをもぎ取る力がまったく付かない
そんなクズだからやねうらおなんかに騙される
0297名前は開発中のものです。
2009/02/25(水) 18:23:26ID:e6Xk0r8c多分らねうらおはじゃんけんに負けたんだろう
0298名前は開発中のものです。
2009/02/25(水) 18:24:07ID:e6Xk0r8c0299名前は開発中のものです。
2009/02/25(水) 23:08:43ID:cuEKcEeQなんでタスクシステムに色々問題があることはわかってるし、
いろいろ試行錯誤重ねたけど、
どうも元のタスクシステムに毛が生えたようなものから離れられない。
もう5スレ目らしいし、なんかいい案とか出てないかなって思ったわけさ。
ちなみに前スレ>>641は俺がやねう本に出会う前のゲームと同じ書き方だった。
やっぱ自分でがんばるしかないかね。
0300ID:EEKBitmg
2009/02/25(水) 23:23:42ID:etgl0JxG具体的にどういう問題にぶつかった?もし良かったら聞かせてほしい
短期間でザクザクッと作って忘れ去るような作り捨てゲームプログラミング
ばかりしてる俺だけど、何かの役に立てるかもしれない
(もしHSP使いごときにアドバイスされたくないと思ったら先に拒絶してね!)
>なんかいい案とか出てないかなって思ったわけさ
タスクシステムに毛の生えたものどころか、そんなものハナから不要だったりする
ゲームプログラム全体からすれば、あんなものは溶けて無くなるほど瑣末な存在
0301ID:EEKBitmg
2009/02/25(水) 23:27:40ID:etgl0JxG○ あれが提供する機能は溶けて無くなるほど瑣末なもの
0302名前は開発中のものです。
2009/02/25(水) 23:43:36ID:cuEKcEeQありがとう。
0303名前は開発中のものです。
2009/02/25(水) 23:47:12ID:ZsJ8JDoSここで質問しても時間の無駄だよ。
0304名前は開発中のものです。
2009/02/25(水) 23:51:40ID:DU+zP8O30305名前は開発中のものです。
2009/02/25(水) 23:53:11ID:vilybvcH個人開発ならこのスキルを高め続ければ問題ない。
0306名前は開発中のものです。
2009/02/25(水) 23:59:28ID:Grn8C1eAまず、一度ベタ(正攻法の意味、グローバル変数・関数を使ってしまっているとダメ)で
書いてみてそれから共通化しても全然遅くない
なのにいきなり答えを求めて妙な汎用システムの構築からはじめるのが無駄過ぎる
たいした経験もないくせにはじめから答えを求めすぎなんだよ
まずはきちんとした正拳突きを出してみせろ
回し蹴りやかかと落しはそれからでいい
0307名前は開発中のものです。
2009/02/26(木) 00:03:33ID:PfUL4d8d0308ID:EEKBitmg
2009/02/26(木) 00:12:50ID:7Y6iXMQmぶっちゃけて書いちゃうよ
↓ここ
>どうも元のタスクシステムに毛が生えたようなものから離れられない。
>もう5スレ目らしいし、なんかいい案とか出てないかなって思ったわけさ
ナニを作るのか定かでないのに、(ナニを作るのか書いてないのに)
何かを、おそらくは万能の超すごいものを求めてるんじゃないかしら
厨がこういうナマ言うとブッ叩かれるかもだけど
タスク信者にしろ、タスクシステムの先を行く先進次世代タスクシステムを
求める人にしろ、共通する特徴は
・ナニを作りたいのか決まってない。(or明らかにしない)
・(おおまかな)仕様も決まってない。(or明らかにしない)
・だから設計のプロセスに至ってない。設計図がない。(or明らかにしない)
・なのに何にでも使える万能の先進的something systemを求めて彷徨う
結果として万能の矛を求めて、>>2みたいな何だか意味不明な他人の竹槍を借りて
ボトムアップで無軌道なコーディングを開始して、壁に当たって撃沈するんじゃない?
モノづくりの超重要なプロセスを端折ってるよね
0309名前は開発中のものです。
2009/02/26(木) 00:27:26ID:xEclDb9K0310ID:EEKBitmg
2009/02/26(木) 00:30:06ID:7Y6iXMQmSTGを作るという前提でーとか言ってるけど、ぶっちゃけSTG好きじゃないでしょ
どうせSTGならこんな機能を求めてんじゃねーの?みたいな、かなーりナメた態度だよね
ぶっちゃけ、作りたいSTGなんて無いんだけど、次世代タスクシステムの記事を書く口実に
適当にSTG作るという前提ってことにしとけー、みたいな。その程度の考えでしょ
0311ID:EEKBitmg
2009/02/26(木) 00:34:31ID:7Y6iXMQm目的も目標(ゴール)もゲームと無関係のところにあるから、手段が目的化してるから
彼の語るsomething systemが何をするためのものなのかが見えない。記事全体の論旨がボケてる。
0312名前は開発中のものです。
2009/02/26(木) 00:35:58ID:44i95qjG0313名前は開発中のものです。
2009/02/26(木) 00:53:08ID:x0WKrfKoHSPerただのゴミクズだと思ってたら
なかなかわかってるじゃん
そうなんだよね
タスクシステムになにかを求めてる奴って
目的がボヤケてて作りたいものがまったく見えないし
その状態でゲームなんて作ったら完成なんてしないと思うぜ
まず、目的をはっきりさせることだよね
ちゃんと自分の力量もわかった上で
0314ID:EEKBitmg
2009/02/26(木) 00:57:13ID:7Y6iXMQmでも実は彼らの言う、将来の仕様変更に備えて、てのは全くの嘘っぱち
仕様が全く決まってないから、ロクでもない冗長な設計しかできない
本来ならコード上で確定できるはずのことが確定できない。静的に記述できない
だから何でも動的にしようとする。上の自動並列化云々の話もそう
コードでできるはずの処理の静的スケジューリングを嫌うのは仕様が全く決まってないから
仕様が全く決まってないからER図みたいなものも作れないんじゃない?
0315名前は開発中のものです。
2009/02/26(木) 00:59:43ID:44i95qjGHSPerもお前もただのゴミクズだろ
0316名前は開発中のものです。
2009/02/26(木) 01:38:17ID:aQvkhPESこれは正しいから、この通りにしなさい、と言える。
書いている人達は、OSの無いハードに実装する事を意味している、
例えば、MS-DOS系、Win9x系列、ゲーム機などです。
CPUの100%をユーザーが自由に使える時に、これがあると便利ですね
但し、最近のWindowsNT系列、WindowsXpなどは、マルチスレッドOSです、
DirectXも描画の管理を行う。そして、ゲームエンジンの中にも組み入れられています。
多重に管理領域を増やす事は、CPUの無駄な負荷を増やすだけで逆効果です。
最近のOSは負荷変動が大きくて使いづらい、それに加えて悪害を増やすのは良くない。
Windowsもシングルタスクに切り替える新しい機能を備えたなら
このゲーム管理モニターが生きてくるのだろうが.....
0317名前は開発中のものです。
2009/02/26(木) 01:40:06ID:CAxZukGM> 例えば、MS-DOS系、Win9x系列、ゲーム機などです。
MS-DOS はともかく、他をOSないと言い切っちゃうのが素敵だ。
0318名前は開発中のものです。
2009/02/26(木) 01:47:27ID:xEclDb9K0319名前は開発中のものです。
2009/02/26(木) 01:52:58ID:CAxZukGMしたかったからでしょ。目標明確だと思うが。
0320名前は開発中のものです。
2009/02/26(木) 03:26:53ID:xEclDb9K目標明確だが。ゲームに向いているかどうかはともかくとして。
0321名前は開発中のものです。
2009/02/26(木) 07:27:23ID:rj/WaPVeゲームになんで必要なの?
苦し紛れの戯れ言やめろよ
0322名前は開発中のものです。
2009/02/26(木) 07:27:40ID:Hzlx12FS今まで読んできた中で一番わかりやすかった
0323名前は開発中のものです。
2009/02/26(木) 09:40:41ID:3E2CBvtD>グローバル変数・関数を使ってしまっているとダメ
そんなことは無いよ
まとめられてる物を分割するのに比べれば
グローバル変数やグローバル関数をクラスにまとめるのなんて大した手間では無いし
複数人プロジェクトだとうかつに大きなリファクタリングができないから、
予めある程度まとめておく必要があるけど
一人なら神経質になる必要はないと思うよ
0324名前は開発中のものです。
2009/02/26(木) 10:29:00ID:rnaK5RQgそういう意味でも今使用するメリットは無いなー
0325名前は開発中のものです。
2009/02/26(木) 10:46:49ID:CAxZukGM具体的に言うと
・タスクとは何?
・マネジメントとは何?
0326名前は開発中のものです。
2009/02/26(木) 12:46:33ID:rj/WaPVeそれもやってみてから判断すればいい
ま、フルーツジュースをアップルジュースとオレンジジュースに
簡単に分離できる人はいないと思うけどね(笑)
0327名前は開発中のものです。
2009/02/26(木) 21:35:08ID:xEclDb9K>・マネジメントとは何?
好きにすれば?
0328名前は開発中のものです。
2009/02/26(木) 22:10:59ID:QErBxQHp0329ID:EEKBitmg
2009/02/27(金) 00:11:32ID:mKrjKgVb>目標明確だが。
よくわかってるじゃないか。そう、彼らはsomething systemや
something managerを作るのが目標(ゴール)になってしまってるわけ
もはや彼らにとってはその先がどうなろうがどーでもいーわけ
彼らも当初は人間だった。ゲームで人を楽しませたかったのだろう
それが目的で、目標は何らかのゲームを完成させることだったのだろう
ところが月日が経ち、いつの間にかゲームプログラミングをすることが目的に
タスクシステムを作ることが目標に摩り替わってしまって怪物に変わってしまった
夢のタスクシステムを追い求めて彼らは今日も徘徊する。それがタスク信者
>ゲームに向いているかどうかはともかくとして。
↑こういう結果であっても彼ら怪物は意に介さない。人間と相容れるはずない
怪物と闘う者は、その過程で自らが怪物と化さぬよう心せよ
おまえが長く深淵を覗くならば、深淵もまた等しくおまえを見返すのだ
フリードリヒ・ニーチェ
0330名前は開発中のものです。
2009/02/27(金) 01:12:33ID:AbjSLDmbHSPでろくにゲーム作った経験すらない基地外が吠えんな
0331名前は開発中のものです。
2009/02/27(金) 06:04:35ID:OlkjxfL30332名前は開発中のものです。
2009/02/27(金) 07:31:15ID:8/3i+eFW目的を果たすための手段でしかないはずなのにな
経験積んだらこういう俺々システム痛々しくて見てらんなくなった
0333名前は開発中のものです。
2009/02/27(金) 07:49:45ID:AbjSLDmbミドルウェアのほとんどすべてが俺々システムなんだが。頭大丈夫か?
0334名前は開発中のものです。
2009/02/27(金) 08:55:30ID:+G2+ogqDスレッド一つで1MBも使うし重過ぎる(1000個で1GB)から、
何とかしようとしてタスクシステムを使ってるわけなんだが
0335名前は開発中のものです。
2009/02/27(金) 10:47:50ID:LUGZFvabま、ミドルウェアつーてもピンキリだわな
>>332の言う俺俺システムってのは、ロクな経験もない雑魚がやたら作りたがるイカ臭いオナニーシステムとか
オナニーフレームワークとかオナニーミドルウェアとかオナニーライブラリの類のことだろ
すんげーショボくてしょっぱい機能しか提供しないくせに、やたら独りよがり&でしゃばり&余計な
お節介してくる謎仕様の糞インターフェースを押し付けといて、『どや?えーか?えーのんか?』
みたいな得意げな表情を浮かべる。そういう厨二病時代を経験して大人の階段登るのはよくあること
タスク信者ってのはその状態が過渡的なものではなく、そこで停滞・永続化・ライフワーク化した
永遠の厨二時代を手に入れたモンスターなのさ
0336名前は開発中のものです。
2009/02/27(金) 13:35:02ID:NNk3J3ow0337名前は開発中のものです。
2009/02/27(金) 15:19:55ID:lChaxYTzPG個人で仕様が決められないからこそ、柔軟性を高く磐石につくるんだよ。
0338名前は開発中のものです。
2009/02/27(金) 15:56:47ID:DlxdBLtOタスクシステムはその点有用。ミドルウェア作るほどのことかは別として。
ゲームとは余り関係ないけど、次のようなものもある。
タスクシステムでActionScriptに擬似スレッドを実現したライブラリ
ActionScript Thread Library 1.0 (そうめん)
http://www.libspark.org/wiki/Thread
0339名前は開発中のものです。
2009/02/27(金) 17:05:24ID:lChaxYTzIntel Threading Building Blocks
http://www.xlsoft.com/jp/products/intel/threading/tbb/index.html
あと.net4でもタスク採用だ。
http://eetimes.jp/article/22699/
どれも並列化についてばかりだ。並列化においてタスクは有用。
ゲームにタスクが向いているのかどうかは知らないが、
タスク「システム」なんて大層な名前をつけているのはゲームだけだな。
0340名前は開発中のものです。
2009/02/27(金) 18:03:11ID:8/3i+eFWタスクシステムのタスクは並列化できない
前もでたけどいつどんなときでもデータにさわれるごった煮だから
並列に処理を走らせることができない
並列化とタスクシステムはタスクって名前だけでなんの関係もないし
タスクシステムのタスクと普通のタスクも違うものであることを忘れちゃ駄目
0341名前は開発中のものです。
2009/02/27(金) 18:54:40ID:lChaxYTzゲームのタスク≠一般のタスクなのは百も承知だよ。
ゲームにも「一般のタスク」を取り入れて、積極的に並列化していけってことだよ。
ゲームと並列化の相性はいいよ。
0342名前は開発中のものです。
2009/02/27(金) 19:06:02ID:NNk3J3ow「タスクシステムがタスクと称しているもの」が全然違うといって攻撃してるんでさw
0343名前は開発中のものです。
2009/02/27(金) 19:37:54ID:HQmvfwr6このスレの「タスクシステム」ってのは>>2のことなのか?
0344名前は開発中のものです。
2009/02/27(金) 19:53:27ID:LUGZFvab0345名前は開発中のものです。
2009/02/27(金) 21:03:41ID:ZQTPwJtlわざわざ出てきて余分な敵作って何がしたいのかと。
0346名前は開発中のものです。
2009/02/27(金) 21:08:45ID:72hC8Fkfそうそうこのスレのタスクシステムは>>2のこと
0347名前は開発中のものです。
2009/02/27(金) 21:56:14ID:HQmvfwr6みんな幸せになれる気がする
0348名前は開発中のものです。
2009/02/27(金) 22:49:26ID:Upzb5jnGどこからそんな話が出てきたんだ?
0349名前は開発中のものです。
2009/02/27(金) 22:58:48ID:+G2+ogqD0350名前は開発中のものです。
2009/02/27(金) 22:59:22ID:+G2+ogqD0351名前は開発中のものです。
2009/02/27(金) 23:32:29ID:SVtT1/dnTBBとタスクにどういう関係が…?
0352名前は開発中のものです。
2009/02/27(金) 23:37:28ID:YRzIhVXjこういうレベルの人が言ってるだけでしょ。
どうすればゲーム作れるんですか?
タスクシステムってなんですか?
タスクシステム使うとどんなゲームでも作れるんですか?
0353名前は開発中のものです。
2009/02/28(土) 00:10:20ID:CpUs6IOM> つーか別に誰も万能タスクシステム作りたいなんて言ってないよな・・・
> どこからそんな話が出てきたんだ?
自己矛盾
0354名前は開発中のものです。
2009/02/28(土) 00:24:00ID:mfxCbPbKアンチは自分自身の心と戦っているのか。ご苦労さん。
次は上手くいくといいね。
0355ID:EEKBitmg
2009/02/28(土) 00:28:51ID:riSKV9Ltゲーム作りたいなーと思う人間が、皆が皆、汎用と万能の違いを理解していれば
そういう話にはならないわけ。現実には、タスクシステムに吸い寄せられる人って
学力偏差値的にかなーり多様でしょ。俺のように下から数えたほうが早い子も沢山いるの
いわゆるベテランと称するオッサン共に注文がある
まず「タスクシステムって何?」と思ってる後続のリテラシーの問題に配慮してほしい
あんたらのギョーカイって頭の出来が比較的どうかと思う層が結構沢山働いてんだろ?
人数構成的にさ。
高専を中退して東京のゲーム専門学校に通ってる先輩が昨夏に帰郷した際
「おまえタスクシステムも知らないの?プッヒー」と俺に言いやがった
まともなゲームを一本も作ったことが無かった彼がなぜ発作的にゲーム専門学校に行ったのか
謎に満ちていたが、まぁとにかく彼は数ヶ月間東京に居た間に何かを学んできたらしい。そして
タスクシステムというのは万能だと俺に力説してくれた。東京ってのは魔窟だなぁと俺は思った
0356ID:EEKBitmg
2009/02/28(土) 00:33:17ID:riSKV9Lt調べてわかった事。ゲームオブジェクト(シーンオブジェクト)をタスクと呼ぶ>>2
タスクシステムを説明するオッサン共は汎用性だの再利用性だのの言葉を駆使するの大好き
やねうらおって人のページでも何度となく登場した。うさんくせーなと思いながら読ませてもらった
TaskSystemという名称が発する独特の嫌な臭気。それが汎用性だの再利用性だのの言葉と
化学反応して万能という幻覚作用を呈するのではないか。そう厨房は思う
無理やり何にでも使うのを汎用というのはどうかと思ったが、まぁとにかく汎用らしい。たいしたもんだ
そのくせSTGを例にあげてるとこばっかなのは何で?みたいに思ったし
弾一発一発になんでこんな仕組み使うのか理解できなかったし、無意味な管理オーバーヘッドが
目障りで俺は使う気しなかったが、まぁとにかく汎用らしい。だが万能にはとても見えなかった
ビジーウェイトでオブジェクトのコンテナを周期的に舐めてるだけの仕組みの何が珍しくて
何が素晴らしいのか皆目見当がつかなかった。いろんなタスク解説記事を読んで
昭和生まれの人とのギャップを感じた
0357名前は開発中のものです。
2009/02/28(土) 00:43:24ID:mfxCbPbKこだわりすぎ。
0358名前は開発中のものです。
2009/02/28(土) 00:48:02ID:RB9P0VSw0359名前は開発中のものです。
2009/02/28(土) 00:59:52ID:TAywFnWh0360ID:EEKBitmg
2009/02/28(土) 01:02:46ID:riSKV9Lt0361名前は開発中のものです。
2009/02/28(土) 01:08:51ID:TAywFnWh相手が議論できる先輩なら、そこは戦えと言いたい。
リアルでこんなしょうもないタスク議論をしているのを想像するだけで笑えるわ。
0362名前は開発中のものです。
2009/02/28(土) 01:13:15ID:EXb+i3RSゲーム業界でタスク使ってるプログラマーに別のやり方を押し付けたいのか?
0363ID:EEKBitmg
2009/02/28(土) 01:16:56ID:riSKV9Lt「すげっすね。俺もゲーム専門学校生きたいなー」
とか棒読みで相槌打つだけだよ。寝る
0364名前は開発中のものです。
2009/02/28(土) 01:20:32ID:TAywFnWh好きにしたらいいよ!
グループ開発ではタスク利用者なんて居ないし、タスク利用者は個人製作でしょ。
個人が何使ってても俺は何も言わん。好きにしませう。
誰かに押し付けるのであれば、スクリプト(動的リロード&コルーチン利用)+ノード型のシーングラフが、
割と汎用なのでオススメしている。実装するまでがメンドクサイのが難点だが。
0365名前は開発中のものです。
2009/02/28(土) 01:30:14ID:Yb+qou2I0366名前は開発中のものです。
2009/02/28(土) 01:52:05ID:mfxCbPbK0367名前は開発中のものです。
2009/02/28(土) 02:08:55ID:/3zp3UqN全然違う会話に入ってくんなキメェ
0368名前は開発中のものです。
2009/02/28(土) 02:08:58ID:UiY4RCmuススメてるものがどんなものでタスクとはどう違うのか
ちゃんと具体的に書かないとまた信者にタスクの一種にされちゃうぞw
0369名前は開発中のものです。
2009/02/28(土) 02:53:25ID:TAywFnWhhttp://blog.scriptionary.com/2009/02/17/simple-scene-graph-in-c/
3Dならシーングラフは便利なんだけど、2Dゲームでシーングラフは必要かといわれると疑問だけどね。
ノードが(必要であれば)コルーチンを持ってる。
あと、ノードが描画コマンド発行してstd::listでソートして出してるかな。
本当に普通過ぎて、ネタにすらならなくてすまん。
こんな具合で3DSTGを1本と今2DRPG作ってるが、今のところ必要十分です。
0370名前は開発中のものです。
2009/02/28(土) 03:23:11ID:mfxCbPbK結局俺俺フレームワークでしょ。
listで管理するかtreeで管理するかの違いでしかないからね。
本質的には同じだよね。
0371名前は開発中のものです。
2009/02/28(土) 03:33:11ID:TAywFnWhノード型のシーングラフはただのtreeで、全然違う。
そもそも、この程度で俺俺フレームワークっていうのが理解できん。
じゃあ、>>370はTCBやlistやtree以外でオブジェクト管理してんの?と逆に問いたい。
0372名前は開発中のものです。
2009/02/28(土) 03:34:59ID:Yb+qou2IHSPしか使えない基地外は、フレームワークの存在自体を否定してるんだろう。
本当、頭おかしい。
0373名前は開発中のものです。
2009/02/28(土) 03:50:30ID:TAywFnWhフレームワークを否定されてしまったらもう返す言葉がないわ……。
0374名前は開発中のものです。
2009/02/28(土) 03:52:52ID:mfxCbPbK沸点が低いな。どうしようもないな・・まったく。一つ一つ答えてあげるから。
>>>2で言うような、タスクシステムはTCBでのごった煮リストでしょ?
>>369のシーングラフもNodeのごった煮ツリー。リストかツリーか、違いはそれだけ。
>ノード型のシーングラフはただのtreeで、全然違う。
タスクシステムもただのリストだ。
>そもそも、この程度で俺俺フレームワークっていうのが理解できん。
理解できないから叩かれてる。名前付けるほどのものかと。
>じゃあ、>>370はTCBやlistやtree以外でオブジェクト管理してんの?と逆に問いたい。
俺はアンチタスカーじゃないから知らん。
聞くところによると、アンチタスカーたちは静的な管理をしているらしい。
動的な管理じゃないから、Nodeとかといった高等な概念はいらんと。
オブジェクトの一元管理を嫌うらしい。
0375名前は開発中のものです。
2009/02/28(土) 03:59:11ID:mfxCbPbKアンチタスカーは、ゲームごときにフレームワークなんていらないでしょ、という立場。
あ、おれはアンチタスカーじゃないよ。でも気持ちは分からんでもない。
0376名前は開発中のものです。
2009/02/28(土) 04:01:09ID:TAywFnWhいろいろ答えてくれてありがとう。
とりあえずlistであれtreeであれ、動的なオブジェクトの管理をしていれば、
アンチタスカーに叩かれる対象なわけね。
こりゃ厄介だ。根本的にコーディングに対するスタンスが違いすぎるわ。
ちなみに、シーングラフは一般的な言葉だよ。
国内じゃあまり聞かないけど、最近はたまに出てくるようになった。
0377名前は開発中のものです。
2009/02/28(土) 04:12:34ID:mfxCbPbK0378名前は開発中のものです。
2009/02/28(土) 04:20:46ID:TAywFnWhでもアンチタスク派の人々は3Dになると相当オブジェクトの相互作用が働くから、
静的に管理するのはかなり骨だよね? どうやって書いてるんだろ?
フレームワークを作らずに3Dでなんとか実装できるのは、よほどの天才だと思う。
0379名前は開発中のものです。
2009/02/28(土) 04:32:36ID:mfxCbPbK相互作用といっても、多種多様だから、枠に収めるべきでないと。
0380名前は開発中のものです。
2009/02/28(土) 04:41:31ID:TAywFnWh枠に収めなくても相互作用が発生しているのならどこかにコード記述しないといけないから、
アンチタスカーはグローバルな視点(シーン全体からみた視点)で記述するってわけかな。
それで3Dボーンの記述しようとおもうと気が遠くなるな。
Node視点で相互作用が簡単に書けるのならそうした方がいいと思うのは俺だけ?
0381名前は開発中のものです。
2009/02/28(土) 04:47:30ID:Yb+qou2I3Dなんか夢のまた夢だろJK
0382ID:EEKBitmg
2009/02/28(土) 06:45:54ID:98PwVc1b>フレームワークの存在自体を否定してるんだろう。
どうしてそうなるのかな?ほれ、作文書け
0383名前は開発中のものです。
2009/02/28(土) 07:11:22ID:mfxCbPbKあ、もう一人ポエマーが居たか。
0384ID:EEKBitmg
2009/02/28(土) 08:21:24ID:98PwVc1b逃げるなよ。根拠を書けと言っている
俺がわざわざIDコテ付けてるんだから
過去発言から逃げられないように
縛ってるんだからさ
0385名前は開発中のものです。
2009/02/28(土) 08:55:50ID:TaZCwQfk>>じゃあ、>>370はTCBやlistやtree以外でオブジェクト管理してんの?と逆に問いたい。
>俺はアンチタスカーじゃないから知らん。
>聞くところによると、アンチタスカーたちは静的な管理をしているらしい。
なにこの捏造。どこで聞いたんだ? アンカーよろしく。
0386名前は開発中のものです。
2009/02/28(土) 09:02:57ID:mfxCbPbK近いところでは >>314 とか。
0387名前は開発中のものです。
2009/02/28(土) 09:07:23ID:mfxCbPbK>タスク擁護派は、将来の仕様変更に備えて、と称して何でも動的にしようとする
>でも実は彼らの言う、将来の仕様変更に備えて、てのは全くの嘘っぱち
と言ってるが、実は、汎化する過程で動的になっちゃうだけなんだけどね。
でも彼には内緒ね。
0388名前は開発中のものです。
2009/02/28(土) 09:16:32ID:TaZCwQfk静的なのはループや分岐の構造であって、その対象ではないだろ。
過去ログ読めよ。
0389名前は開発中のものです。
2009/02/28(土) 09:46:11ID:mfxCbPbK>>374の最後にも「オブジェクトの一元管理を嫌うらしい。」と書いてあるだろ。
0390名前は開発中のものです。
2009/02/28(土) 22:28:23ID:DCXcqJeMタスクシステム厨は必死にシーングラフを調べてると予想
0391名前は開発中のものです。
2009/02/28(土) 23:45:25ID:M6Ochz+0反対者たちはどれほどのゲーム製作経験があって、
どんな問題に直面して、そしてどんな手法に移行したんだろう。
他人を罵倒するかタスクシステムを貶すかばっかりで、
本当に知りたいそれらが見えてこない・・・。
0392名前は開発中のものです。
2009/02/28(土) 23:56:55ID:BYhOCIGjそうだよな。
へたれ詐欺グラマが、経験者から知見を盗み出すために必死に煽っていると憶測。
いずれにせよ、基地害アンチは色んな意味で底辺の人間だろな。
0393名前は開発中のものです。
2009/03/01(日) 00:06:53ID:+vpbHykN(笑)
0394名前は開発中のものです。
2009/03/01(日) 00:26:11ID:kmmpN5+qわかりそうなものなのに、それすらわからないのは、本当どうしようもない底辺プログラマだからか
HSPしか使えない基地外だからだろうな
0395名前は開発中のものです。
2009/03/01(日) 00:38:58ID:MIErf48Uそーやって煽ってごまかさないで、
具体的に自分の言葉で説明してくれよ。
0396名前は開発中のものです。
2009/03/01(日) 00:40:28ID:kmmpN5+q馬の耳に念仏だろ
510を見てわからないならプログラマの資格すらないだろJK
0397名前は開発中のものです。
2009/03/01(日) 00:41:06ID:eMlF6q92後からグズグズと、見苦しいからやめれ。
自分の説明力の無さ、能力の無さを必死で誤魔化している様に見えるぞ。
0398名前は開発中のものです。
2009/03/01(日) 00:53:42ID:3fQv+45S説明出来ないなら理解できてないのと同じなんだけどな
0399名前は開発中のものです。
2009/03/01(日) 01:02:26ID:FvZKbICmタスクなんか使わないほうが良いって事が。
0400名前は開発中のものです。
2009/03/01(日) 01:16:57ID:Q0b0e5s4後輩とペアプログラミングしてて分かった。指摘し辛いわ。
0401名前は開発中のものです。
2009/03/01(日) 01:18:07ID:kmmpN5+q510のプログラムに説明がいるような理解力のない奴には何を説明しても無駄。
プログラマとして最低条件すら満たしていない。
0402名前は開発中のものです。
2009/03/01(日) 01:21:35ID:MIErf48U説明してくれ、と言っているのだが日本語が通じなかっただろうか?
煽って逃げないで、出来ないなら出来ないと言ってくれ。
ちなみに俺は出来ないし、分からないから答えを求めてここに居る。
出来ない分からない人間に説明しないなら、このスレはなんのためにある?
>>399
是非その苦労を語って欲しい。
参考にしたい。
0403名前は開発中のものです。
2009/03/01(日) 01:32:36ID:eMlF6q92何でいきなり前スレの話を持ち出すんだ?
しかも言いたいことは、自己弁護だけだろ?
だから見苦しい。誤魔化してるだけ。
面倒だな。
0404名前は開発中のものです。
2009/03/01(日) 01:35:40ID:Q0b0e5s4「複雑な書き方してるよね。stlやboost使えば1行だよね」という表面上のコメントは出来る。
んで、社内特有のコーディングスタイルについても指導できる。変数や関数名はハンガリアン準拠やgoogle準拠で書いてねとか。
しかしだ。ペアプログラミングで新人の書いたコードを読み終えて、自分が内容を理解した頃には、
「まあそういう書き方も有りだよね」という感想になる。
局所的な赤ペンを入れるのは簡単だが、完成したコード全体に赤ペンを入れて1から書き直すのは難しいという感じ。
実装のセンスについては教育のしようがないんだ。PG個人に染み付いてしまっている。
0405名前は開発中のものです。
2009/03/01(日) 01:43:36ID:kmmpN5+qメリットもデメリットも前スレ見ればわかるだろう。
お前は本当に前スレを読んだのかと問いたい。
0406名前は開発中のものです。
2009/03/01(日) 01:58:43ID:MIErf48U会話が成り立たねぇ。
もーいいや、そうやって一生逃げ続けてれば?
0407名前は開発中のものです。
2009/03/01(日) 02:00:39ID:XFHzOPV1この事実だけでもうこのスレ終了でいいんじゃね。
今週いっぱいまともな議論になってないし。
骨のあるタスカーが居たのは先週までだな。
0408名前は開発中のものです。
2009/03/01(日) 02:11:59ID:kmmpN5+q前スレ読んでわからないのはぶっちゃけ池沼だろ。
0409名前は開発中のものです。
2009/03/01(日) 02:17:31ID:xuNYhNP20410名前は開発中のものです。
2009/03/01(日) 02:55:36ID:g9LGhZvF394 :名前は開発中のものです。[sage] :2009/03/01(日) 00:26:11 ID:kmmpN5+q
前スレの510のプログラムだけでも見れば普通は、タスクシステムの良さも悪さも
わかりそうなものなのに、それすらわからないのは、本当どうしようもない底辺プログラマだからか
HSPしか使えない基地外だからだろうな
396 :名前は開発中のものです。[sage] :2009/03/01(日) 00:40:28 ID:kmmpN5+q
>>395
馬の耳に念仏だろ
510を見てわからないならプログラマの資格すらないだろJK
401 :名前は開発中のものです。[sage] :2009/03/01(日) 01:18:07 ID:kmmpN5+q
>>397
510のプログラムに説明がいるような理解力のない奴には何を説明しても無駄。
プログラマとして最低条件すら満たしていない。
405 :名前は開発中のものです。[sage] :2009/03/01(日) 01:43:36 ID:kmmpN5+q
>>402
メリットもデメリットも前スレ見ればわかるだろう。
お前は本当に前スレを読んだのかと問いたい。
408 :名前は開発中のものです。[sage] :2009/03/01(日) 02:11:59 ID:kmmpN5+q
>>406
前スレ読んでわからないのはぶっちゃけ池沼だろ。
0411名前は開発中のものです。
2009/03/01(日) 04:05:15ID:9dNNEqpmその理屈だと幼稚園生に因数分解を理解できるように説明できない人は
因数分解を理解できていないことになるな。
地球上には因数分解を理解できてる人が居ないってことかな?
0412名前は開発中のものです。
2009/03/01(日) 04:17:44ID:9dNNEqpmそんなことが出来るならそもそも学校教育なんて不要ってことになる。
ネットで「説明して」ってだけでそーいった知識が理解できると思ってて
理解できないことは自分に必要な知識や経験が無いからじゃなくて相手が悪いって考えではねぇ…
そんな人間に必要なのは「説明」ではなく「教育」だけど、それをネットに求めるのは無理があるな。
ネットで出来るのは知ることだけ。理解はまた別物だよ。
理解したきゃ自分で学習しなきゃね。
0413名前は開発中のものです。
2009/03/01(日) 04:34:09ID:MIErf48U説明できなかった以上、説得力皆無なんだけどなあ。
0414名前は開発中のものです。
2009/03/01(日) 04:35:59ID:MIErf48U説明の甲斐とか質とかじゃなくて、できるかどうか聞いてんのにさ。
0415名前は開発中のものです。
2009/03/01(日) 04:43:30ID:xuNYhNP2でも前スレの>>510と>>641の比較みて>>510のが
いいって奴って勉強不足どころか
頭が悪いよ
0416名前は開発中のものです。
2009/03/01(日) 05:00:42ID:9dNNEqpmいままでの過去スレで利点も欠点もほぼ説明され尽くしてるけど。
「自分に理解できない」=「説明されてない」では無いことをまず「理解」しなさい。
0417名前は開発中のものです。
2009/03/01(日) 05:02:11ID:lmuwAfAn0418名前は開発中のものです。
2009/03/01(日) 05:53:50ID:xuNYhNP2ほとんど嘘だったけどな
自動化なんてないしごった煮がDBとか言い出す恥ずかしい奴もいたし
タスク信者どもも統制がとれてるとは思えなかった
そんな中でたのが>>510と>>641だしこれはループのカッコを
マクロに変えただけのような恥ずかしい代物
そろそろ誰か説明してもいいだろ
0419名前は開発中のものです。
2009/03/01(日) 05:58:08ID:xuNYhNP2引数が使えないことでグローバル変数・関数が野放しになる危険がある
っていう話題も出たな
欠点ばっかりは覚えてるな
利点はごった煮にしてデータすべてにアクセルできるとか言ってたけど
正直、プログラムのプも字知らないような素人の書き込みっぽくてタスク信者の
総意とか思えないんだよね
データすべてにアクセスできるから自動並列化の話とは矛盾するね
並列に処理するもんだけはどうしたってデータは分離しないと動かないからね
0420名前は開発中のものです。
2009/03/01(日) 05:59:35ID:MIErf48U>>510が良いなんて一言も言ってねぇーw
なんでそう平気で話を捏造するの?アンチの習性なの?死ぬの?
>>416
「自分の言葉」で説明できない負け犬に用はありません。
お前に限らないが、
過去スレで議論し尽くされたソレを見て
ソレを理解できた連中ならさらっとここで説明できるだろうに。
過去の連中にばっか振って、自分じゃ語れないなんて、
何も作ったことないし理解もしてない口だけなのがバレバレじゃないか。
0421名前は開発中のものです。
2009/03/01(日) 05:59:50ID:xuNYhNP2会社で理詰めの議論を要求される場面で問い詰められたら
発狂するしかねーよマジで
0422名前は開発中のものです。
2009/03/01(日) 06:37:02ID:kmmpN5+q0423名前は開発中のものです。
2009/03/01(日) 10:09:48ID:XFHzOPV1抽出 ID:YgfxUXIw (3回)
抽出 ID:keyUucFf (2回)
抽出 ID:5sdzoLlH (4回)
抽出 ID:44i95qjG (2回)
抽出 ID:AbjSLDmb (2回)
抽出 ID:Yb+qou2I (3回)
抽出 ID:kmmpN5+q (6回)
こんな役に立たない奴を抱えているタスカーは大変だな。
アンチで良かった。
0424名前は開発中のものです。
2009/03/01(日) 10:16:22ID:XFHzOPV1ID:kmmpN5+qはウンコちゃんと命名してあげよう。
別にコテハンにならなくてもいいよ。
言ってる内容でウンコちゃんだとすぐに分かるから。
0425名前は開発中のものです。
2009/03/01(日) 10:48:12ID:kmmpN5+q基地外はお前だよ、お前。
0426名前は開発中のものです。
2009/03/01(日) 12:46:52ID:I7MayTRiうち頭悪くていいから。長くても4レスぐらいでまとまるでしょ?
0427名前は開発中のものです。
2009/03/01(日) 18:00:32ID:+HiGpNcL>264
0428名前は開発中のものです。
2009/03/01(日) 18:45:16ID:3VRI83Xk少なくともポインタを理解できる頭は必要。
"使える" と "理解できる" は違うよ。
0429名前は開発中のものです。
2009/03/01(日) 18:48:07ID:xuNYhNP2なにその使っていけばレベルがあがるみたいな言い方?
タスクシステム自体プログラム言語の進化を完全に否定してるものなのにw
型も引数も否定して彼等はどこへいくのか・・・
0430名前は開発中のものです。
2009/03/01(日) 19:17:01ID:lmuwAfAn0431510
2009/03/01(日) 19:35:00ID:lmuwAfAn作りかけだけど。
前スレで言ってた参照構造を実装した。
オブジェクトの参照構造がreference_structure.cppで定義されてる。
タスク内において、それの定義にしたがってオブジェクトが参照される。
今日はここまで。
0432名前は開発中のものです。
2009/03/01(日) 19:36:50ID:bNWlMx7s>CodeZine:本格的なシューティングゲームを実現するタスクシステム(タスクシステム,シューティング,ゲーム)
>http://codezine.jp/a/article.aspx?aid=297
このコードはひどいね
重複してるし 未使用領域もある
メンバ関数も無駄にstaticで意味がない
もっと調べればもっと叩くところはでるだろう
で タスク信者に言う ソースで語れ
嫌なのか?さらしたくないのか?逃げるだけか?ライバルを作りたくないのか?逃げるのか?
答えろ
0433名前は開発中のものです。
2009/03/01(日) 19:43:26ID:3VRI83Xk使っていけばレベルがあがるとは言ってない。
http://local.joelonsoftware.com/wiki/%E3%82%B2%E3%83%AA%E3%83%A9%E7%9A%84%E9%9B%87%E7%94%A8%E9%9D%A2%E6%8E%A5%E3%81%AE%E3%81%99%E3%81%99%E3%82%81
>どうやら大部分の人々はポインタを理解するための脳の一部分を持たずして生まれてくるようだ。
俺にはこれを否定できない。
同じ大学で勉強したはずの友人の例を見てきてるから。
0434名前は開発中のものです。
2009/03/01(日) 19:44:25ID:aHmLTao6これはひどい
0435名前は開発中のものです。
2009/03/01(日) 20:39:37ID:/NI8vJIH> このコードはひどいね
> 重複してるし 未使用領域もある
どれが未使用領域?
0436ID:EEKBitmg
2009/03/01(日) 20:42:30ID:MlhdTCDSそんな馬鹿な!世界は広大だな
PICのプログラムを組む実習とかあったが
HWIトリガーにしてアドレス入りレジスタ
使ってROMエリアのデータ(配列)読んで
所定の計算して出力とか、脳筋体育系も
ヤンキーも出来てたぞ。出来なきゃ留年
チョンボして他人のソース丸パクできない
やればひどい制裁を受けるから
ポインタ使えないんじゃなくて、そういうのを
使う必要がない言語や環境しか経験してないから
単に不慣れなだけじゃないの?
0437名前は開発中のものです。
2009/03/01(日) 20:56:06ID:1CyuAS5Y不慣れとかそういう話でなく、ポインタの仕組みは理解できても、
(コーディング上において)ポインタを使うメリットが理解できない。ってタイプ。
知り合いに、値渡しで関数に与えていて、わざわざ冗長なコードを書いていたから指摘したら、
本人いわく、ポインタは知っていてもあえて使わないんだとさ。
0438ID:EEKBitmg
2009/03/01(日) 21:18:09ID:MlhdTCDSんー。そうかー
値渡しで組んでも動くからいいやーって人かな
CPUパワーもRAM容量も余りまくりでジャブジャブ
使ってもいいよーっていうターゲット(ハードウェア)
を使える環境だからそういうふうになるんじゃないかな
貧弱環境でタイムクリティカルな処理しろって
状況に放り込めば参照渡し使うと思うけど
0439名前は開発中のものです。
2009/03/01(日) 21:24:04ID:1CyuAS5Y彼のとった選択肢は"ポインタは分かり辛いから使わない"だとさ。
だったらCやめればいいのにと思った。
0440名前は開発中のものです。
2009/03/01(日) 21:24:27ID:aHmLTao6前に ACM Newsletter か何かで読んだが、教育レベルとか計算機環境に
よらず、一定割合でプログラミングがダメな人は存在するそうだ。
いい大学の CS に入ってくるような人間でも、適性ない人間はどうにもダメ
らしい。
0441名前は開発中のものです。
2009/03/01(日) 21:25:01ID:aHmLTao6っつか、ゲームプログラミングやめれば良いのにな。
0442名前は開発中のものです。
2009/03/01(日) 21:34:18ID:bNWlMx7s読めばよい
0443名前は開発中のものです。
2009/03/01(日) 21:38:28ID:XFHzOPV1#include "Tasksystem.h"
#include "reference_structure_macro.h"
このヘッダがzipに入ってないね。
0444名前は開発中のものです。
2009/03/01(日) 22:03:38ID:1CyuAS5Yゲームプログラマには、大別してクリエイター型とエンジニア型が居ると思うわけよ。
■クリエイター型(C型)
ゲーム製作を美術・芸術・メッセージ表現の一種と捉え、作品の完成を目指して鍛錬する。
ゲームが完成することを最終目標としているために、エンジニア型に対して結果が全てと見下している。
ゲームとしての表現力を増すのような技術がローコスト(手間要らず)で導入であれば積極的に採用したいが、
ゲーム製作において足枷になるような技術については、嫌悪する傾向がある。
駆け出しの頃はスクリプター寄りの傾向。将来的にはPDに向いている。
プログラミング能力は低いので他業種での潰しが利き辛い。
■エンジニア型(E型)
ゲーム製作を自己のプログラミング能力向上のための試金石と捉え、ライブラリの完成を目指して鍛錬する。
フレームワーク作りに熱中し、何時まで経ってもゲームは完成しない。
新規技能・技巧をいち早く取り入れる風潮があり、汎用性・完成度・移植性などを重視する傾向がある。
技術的に稚拙なクリエイター型について、プログラム知識の無さに嫌悪することがある。
駆け出しの頃はライブラリ製作+サンプルゲームを作る傾向。将来的にはメインPGに向いている。
プログラミング能力が高いので他のSE業種に移行しやすい。
0445名前は開発中のものです。
2009/03/01(日) 22:04:44ID:1CyuAS5Yアンチタスク派は、ずっとC型でPG経験の浅い若年層が多い気がする。
・コンシューマ開発で、C++も無かったASM時代において、タスクシステムが成した業績と歴史を認めない。
・プログラム技能が未熟で、TCBなり、関数ポインタによるスケジューリングを理解できない/扱えない。
・実際にタスクシステムを使ったコーディングに従事したことがあり、タスクシステム特有の束縛された記述方法に嫌悪感を示す。
・ただタスク派をおちょくって遊びたいだけ。
一方、タスク派は、ずっとE型でPG経験の長い壮年層が多い気がする。
・OOP時代を迎え言語もコンパイラも発達し、タスクが過去の遺産であることを認めない。未だにタスクシステムをプロの技巧と賞す。
・タスクによるスケジューリングが完全汎用であると勘違いし、これを理解できない人を煽る。
・ゲーム内容の実際の記述において、タスク管理によるコーディングがどれほど厄介なのか理解できない。
・ただアンチタスク派をおちょくって遊びたいだけ。
と見ている。
個人的には、中庸が一番。
始めはE型で自作ライブラリが完成してから、C型に移行するプログラマーが理想なんだがね。
もしくはPG2名で完全分業し、E型がライブラリとスクリプトを提供して、C型がゲーム内容を記述するのでも良いと思ってる。
0446名前は開発中のものです。
2009/03/01(日) 22:59:06ID:aHmLTao6> ・コンシューマ開発で、C++も無かったASM時代において、タスクシステムが成した業績と歴史を認めない。
若者でも、/* You are not expected to understand this */ とか読んだことあれば
十分だよ。
0447名前は開発中のものです。
2009/03/02(月) 01:17:33ID:Ggk4JG/+>432
> 嫌なのか?さらしたくないのか?逃げるだけか?ライバルを作りたくないのか?逃げるのか?
0448名前は開発中のものです。
2009/03/02(月) 02:04:32ID:qNJJjYLTいろいろあれの欠点で苦労するから純粋なタスク信者ってのはありえないけどね。
でも単純なアンチってのもまた無い。
ジャンルや環境によっては今でも十分使い物になるから。というか今の携帯機クラスの性能のゲーム機で
動いてるゲームのかなりの数がいわゆるタスク改で実装されてる。
それに純粋なタスクシステムの欠点はそれぞれ回避方法があるので使い分けができる。
ジャンルによってはタスク改ではない違う作り方のものもあるけど、アクション系ではいわゆるタスクの進化系以外の
実装はあんまりお目にかかったことが無いな。
少なくとも日本産に限っては。海外産はあんまりソース見る機会無いから知らんが…
0449名前は開発中のものです。
2009/03/02(月) 07:26:29ID:N5eJa8sNこんなマイナーシステム普通使わねぇだろ
0450名前は開発中のものです。
2009/03/02(月) 15:49:57ID:2YZpDjg8同じインターフェースで全く遊び方の違うゲームを数十個つくらにゃいけない場合とか
一つ一つにかかるコストを大幅に削減できる
0451名前は開発中のものです。
2009/03/02(月) 17:55:09ID:N5eJa8sNごった煮だから弾の処理で何が呼ばれててもおかしくない
ということは弾だけなにかほかに使おうと考えても
ソースの癒着が酷くて切り出して使うということはできないというわけだよ
わかったかね
0452名前は開発中のものです。
2009/03/02(月) 18:02:00ID:hIPGPAIGタスク間のアクセスはタスクシステムが間に入るから
癒着がひどいっておかしくないか
0453名前は開発中のものです。
2009/03/02(月) 18:16:36ID:N5eJa8sNどこからでも呼び出したかったんじゃないの?
つまりそれは、すべてを呼び出している可能性だってあるということだよ
だってそのためにごった煮にしたんでしょ?
ミサイルのターゲットをポインタの保持で解決したかったんじゃないの?(笑)
0454名前は開発中のものです。
2009/03/02(月) 18:25:42ID:hIPGPAIGミサイル以外のタスクをソースから排除しても
ターゲットが見つからずにまっすぐ飛んでくだけでしょ
ターゲットのポインタなんて抽象クラスへのウィークポインタか
インクリメンタルIDのどっちかだし
0455名前は開発中のものです。
2009/03/02(月) 18:33:27ID:N5eJa8sN全部呼び出せるってことは全ヘッダーファイルが必要になるってことだろが
それとも今更カプセル化守って弾のクラス内には他のゲームオブジェクトは一切入ってこない
って方向転換するか?それでもいいぜ(笑)
0456名前は開発中のものです。
2009/03/02(月) 18:48:04ID:hIPGPAIG派生先のポインタが欲しければ各自でキャストすればいい
それが嫌ならビジター作ってタスクシステム内のタスク全部なめればいい
なんで弾のクラス内に他のゲームオブジェクトが入ってくるんだ
そんな話出てきたか?めんどいんで方向転換ってことでいいです。
0457名前は開発中のものです。
2009/03/02(月) 18:56:46ID:N5eJa8sNさすがにそのレベルはかつてないな(笑)
0458名前は開発中のものです。
2009/03/02(月) 19:19:04ID:hIPGPAIG0459名前は開発中のものです。
2009/03/02(月) 19:32:05ID:Rv93cI1M面白いからもっとやって(笑)
0460名前は開発中のものです。
2009/03/02(月) 19:36:16ID:wHsdSnqf0461名前は開発中のものです。
2009/03/02(月) 19:57:05ID:VFyVP2iTなにも進歩ないなw
0462名前は開発中のものです。
2009/03/02(月) 20:14:04ID:iymFeNpw全部は必要なくね
0463ID:EEKBitmg
2009/03/02(月) 20:44:58ID:0jBbfc+eC型なのかな。肝炎みたいだね。「おまえの場合は脳炎だろ」とか言われそうだけど
助教授に言われたことがある
『例えばお前が作ってるゲームなんてものは技術的には枯れた要素技術の集合体であり
CASEツールで機能分析すれば、その大半は汎用のコンポーネントを結合したものとして
表現される。』と
『開発工程全体を見たとき、お前はおそらく遊び・面白さの部分を煮詰める反復作業に
時間の多くを費やしているのだろう。ならば、ワークフロー・データフローの設計も
そこを優先するだろ常識的に考えて。与えられてる状況(道具、人、時間、etc)にあわせて
構造化設計すれば、最終的な結論はH**は神言語となる。わかったな?』
私は心を打たれた。この人はC型のようなE型のようなH型だ
助教授はいわゆるベーマガ世代というものらしい。本人に言わせれば『PIOとかRAMとかテクノ(何とか)を
知らないようなガキにベーマガ世代とか言われるとイラっと来る』ということらしいけど、まぁとにかく
そういう世代らしい
助教授にタスクシステム(>>2)のページを見せた。反応は「組み込みシステムを劣化猿真似してるのか」
みたいなかなり淡白なものだった
『ワークRAMが少ないゼッパチマシンでこんな贅沢な組み方してたのか?』
『70年代にこれやってたって本当か?』『メガドラとか16ビットのアーケードゲームの話じゃないのか?』
と聞き返された。そんなことは厨の俺が知るはずもないし答えられるはずもなかったから
「だってこの人(LogicianLordの人)がギャラクシアンはこうだって言ってるからそうなんじゃないすか><」
と知能障害・思考停止な返事をしたら『ふーん。あっそう』と言われた
むかつく。誰か教えて
0464ID:EEKBitmg
2009/03/02(月) 21:27:36ID:0jBbfc+e『俺にとっては雲の上のプロプライエタリな世界だったから。そういうプロの世界の隠語なのかな。』
『しかし30年以上経過して陳腐化したからって吹き出物みたいに今更出てきても仕方ないだろこんなもの』
『PCでさえベクトルプロセッサ化したビデオチップにマルチコア化したCPUが普及した現代においてこんな一本道の
逐次処理コードを使ってたんじゃハードは遊び放題だな。お前らのゲームボーイ(←DSのことらしい)で使ってるテクか』
『ステートマシンの逐次処理用の優先度付きキューを手作りしてたのか。今ならboostか次期C++標準のライブラリ
から出来合えのコンテナでも引っ張ってくればいいんじゃないの。あと、機能分析すればこの実装になる必然性はない』
『型システムを否定している。コンパイラによる最適化を阻害してる。自作ジャンプテーブルで条件分岐は高速化される
という先人のチョイテク・豆知識を天下り式に真似ているのではないか。それは太古の簡素なCPUアーキテクチャに
依存した公式に過ぎない。定理ではない』
『くだらない話をふってないで、お前は早く課題レポートを提出しなさい』
うぜぇオヤジだ
0465名前は開発中のものです。
2009/03/02(月) 23:57:02ID:j9iR0+6m> マイコン雑誌
この辺の単語の使い方に、世代を感じるなぁ。
0466名前は開発中のものです。
2009/03/03(火) 00:35:53ID:RAMjL7VZアダルトゲーム雑誌になってからしか知らないや
0467名前は開発中のものです。
2009/03/03(火) 00:54:38ID:nTxu8UVE何…?このポエム
今もタスク進化系が使われ続けてる現実を前にして
現実逃避してるのかな?
0468名前は開発中のものです。
2009/03/03(火) 01:06:03ID:gnPoJpgiならなくなるとか言っていた例の基地外だろ。
こんな低脳がアンチタスカーだから、アンチはみんな頭がおかしいと思われるんだ。
こんな奴、プログラマですらないので、この板から出てけよ。
0469名前は開発中のものです。
2009/03/03(火) 01:43:30ID:e/qFL/0Jシーングラフはタスクシステムの外国版(笑)
タスクシステム改(笑)
タスク進化系(笑)
出るわ出るわ。怪しげな僕んちのソフトウェアアーキテクチャ発展史
萎びた僻地で密教みたいにひっそりやってきた「俺んちのベストプラクティス」
そいつがお前にとってのプライスレスなのはわかるけどな
何の具体的な情報も開示せずに世間に認知してもらおうなんて考えちゃダメ
世の中そんなに甘くない
公にされず標準化もされないド田舎・ローカルのソフトウェアアーキテクチャや
ベストプラクティスと自認している者は、何の資料も出せない状態で世間の前で
顔真っ赤にして反論したりしない。黙ってる。そこを分かれ。出てくんな。みっともねー
幾つだよお前。誰だよ
反論するならお前の言うタスク進化系って奴が世間に認知される
ソフトウェアアーキテクチャ、ベストプラクティスとなるよう、きちんと文書にして
発表すべきだ
現在、世間の前に出てるタスクシステムに関する文献の中で唯一
書いた人間の出自が現場出身であることが垣間見えるのは秀和の
逆引きゲームプログラミングだけ。これを超えるものをお前が書けばいい
0470名前は開発中のものです。
2009/03/03(火) 01:50:47ID:e/qFL/0Jあー、やっぱあいつだよな
ヘッダーがどうのとか言い出した瞬間にイカ臭かったもんな
0471名前は開発中のものです。
2009/03/03(火) 02:03:06ID:nTxu8UVE>ベストプラクティスと自認している者は、何の資料も出せない状態で世間の前で
アンチじゃなくてもあんな原始的な仕組みをベストプラクティスと自認している人はいないと思うぞ。
あぁ、アンチって実はタスクシステムに過度に期待してる人たちなのかもね。
「こんな自分でもタスクシステムが理解できたらゲームが作れる…」って。
だから資料出せ、教えろ、説明しろってうるさいのか。
0472名前は開発中のものです。
2009/03/03(火) 02:09:19ID:e/qFL/0J>「こんな自分でもタスクシステムが理解できたらゲームが作れる…」って。
>だから資料出せ、教えろ、説明しろってうるさいのか。
今度はアンチは実は信者論か。がんばるねー
アクロバティックな発想に翻弄されちゃうねー
生ゴミの臭いを好き好んでかぎ回るのは信者なんだけど
アンチは臭いものは臭いんだからとっとと捨てればー?
とアドバイスしてあげてる分まだ常識があるねー
0473名前は開発中のものです。
2009/03/03(火) 02:22:24ID:e/qFL/0J今更開陳したところで世間に八つ裂きにされるのが目に見えてるからな
俺は絶対に晒さない。何年も前に廃棄したゴミアーキテクチャだから
とっくに葬り去ってお墓に入れたものをわざわざ引っ張り出して晒す
なんてマゾっけたっぷりの趣味は無い
0474名前は開発中のものです。
2009/03/03(火) 02:37:34ID:gnPoJpgi0475名前は開発中のものです。
2009/03/03(火) 02:42:58ID:e/qFL/0Jタスクシステムを叩く材料が不足したら呼んでね。補給してあげるよ
アンチ応援してるよ。あーねみー。ばいばーい
0476名前は開発中のものです。
2009/03/03(火) 02:53:26ID:eCcH4IzT0477名前は開発中のものです。
2009/03/03(火) 02:57:23ID:eCcH4IzT>とっくに葬り去ってお墓に入れたものをわざわざ引っ張り出して晒す
>なんてマゾっけたっぷりの趣味は無い
要するに、お前は過去の自分と戦ってるのか?
お前の暗い過去を皆に押し付けないで欲しい。
0478名前は開発中のものです。
2009/03/03(火) 07:34:27ID:NIkO1+LIタスクシステム使ってるなら総合ヘッダーに全部インクルードしてあると思うよ
仮に必要なものだけだとしても関連をもったものは全部インクルードしてやる必要があるから
この構造で作ったら切り離すのは容易じゃないよ
0479名前は開発中のものです。
2009/03/03(火) 07:50:27ID:NIkO1+LIポインタの保持を関連タスクに強制するうえ
パラが一つでも必要になったらタスクを新しく作らなければならない
折角、ごった煮にした意味がまるでないけどそれでいいの?
だんだんタスクなんて作らないほうがいいって結論になりそうで俺は満足だけどね
0480名前は開発中のものです。
2009/03/03(火) 08:19:58ID:gnPoJpgiお前が頭がおかしくて、プログラムの組めないド素人なのはよくわかったから
もうこの板に来んな
0481名前は開発中のものです。
2009/03/03(火) 08:53:25ID:HSt7mZciんなこたない
アンチな俺でも同意できる箇所が見当たらない
0482名前は開発中のものです。
2009/03/03(火) 10:09:41ID:T2e1Wx7e全レス内容無しってのが凄い。
0483名前は開発中のものです。
2009/03/03(火) 12:43:55ID:NIkO1+LIまあ、これは無理でしょ
タスク信者が必要な分だけインクルードしてるなんて考えられないから
ごった煮を表現するために総合ヘッダー絶対あるだろ
だからタスク信者の書くソースは分離できない
さらにタスク信者は引数使えないから総合ヘッダーにグローバル変数の塊もあるだろうし
奴らのソースはカプセル化なんて不可能と言っていい
テンプレートは使いたがるくせにオブジェクト指向は欠片もわかってない
0484名前は開発中のものです。
2009/03/03(火) 13:04:10ID:gnPoJpgi> ごった煮を表現するために総合ヘッダー絶対あるだろ
ない。お前はOOPの基本すらわかっていない。もう死んで。
0485名前は開発中のものです。
2009/03/03(火) 13:09:30ID:fc1Nudspなんでそこでテンプレートがでてくるのか理解できない
総合ヘッダにグローバル変数ときたら次はマクロだろ
0486名前は開発中のものです。
2009/03/03(火) 13:11:42ID:HSt7mZciOOPは関係ないだろ…
0487名前は開発中のものです。
2009/03/03(火) 13:11:56ID:UVBLimNu>総合ヘッダー
その発想は無かったwwwwwwwww
お前のコーディングすごいなwwwwwwwwwww
0488名前は開発中のものです。
2009/03/03(火) 13:14:20ID:HSt7mZci携帯からだったから483よく読んでなかったぜ
すまんこ
>>483
根拠の無い話ばかり並べても叩かれるだけ
0489名前は開発中のものです。
2009/03/03(火) 18:22:34ID:NIkO1+LI少なくともごった煮をデータベースとか言ってた馬鹿のソースには確実にあるね
そもそもそいつは制限や型を言語の進化の過程でできたものという認識がまったくなかった
タスク信者の大半がこんな奴ら
関連をタスクにするなんて言ってるけど
関連クラスとどうやってやりとりする気なんだよ
グローバル変数かポインタの保持くらいしかないだろ
また、無駄に問題が増える(笑)
使わないって選択肢は選べないのかね
0490名前は開発中のものです。
2009/03/03(火) 18:25:01ID:NIkO1+LIお前等馬鹿は
0492名前は開発中のものです。
2009/03/03(火) 18:34:43ID:gnPoJpgiこんな馬鹿、久しぶりに見た。
悪いこと言わないから、OOPの基礎から勉強しなおしなよ。
0493名前は開発中のものです。
2009/03/03(火) 18:57:02ID:NIkO1+LIタスク信者の組み方じゃ絶対分離なんて不可能
グローバルインスタンスホルダーが絶対にある
0494名前は開発中のものです。
2009/03/03(火) 19:09:12ID:gnPoJpgi仮想関数すら知らなさそうだな。本当、生きてて恥ずかしくないか?
0495名前は開発中のものです。
2009/03/03(火) 19:19:33ID:NIkO1+LIいまの話題と全く関係無いけど頭おかしいの?
弾クラスで自機クラス呼んだら自機クラスのヘッダーが必要になるんだぜ
基底クラスじゃ自機クラス呼べないんだぜ
もしかしてしらなかった?
0496名前は開発中のものです。
2009/03/03(火) 19:22:49ID:gnPoJpgi> 弾クラスで自機クラス呼んだら自機クラスのヘッダーが必要になるんだぜ
呼ぶ必要なんか全くないんだが。ほんと、馬鹿だよね。
0497名前は開発中のものです。
2009/03/03(火) 19:27:56ID:NIkO1+LIだからタスクシステムに固執してるんでしょ?
嘘はよくない(笑)
0498名前は開発中のものです。
2009/03/03(火) 19:31:36ID:gnPoJpgi本当、馬鹿すぎて泣ける。
ソース書いてみな。俺が添削してやるから。
0499名前は開発中のものです。
2009/03/03(火) 19:38:27ID:NIkO1+LI俺はごった煮とかやってる馬鹿なタスク信者をぶん殴ってるところなんだよ
俺がなんのソースをだすんだよ
日本語大丈夫かよ(笑)
ああ、頭悪いのか
それじゃしょうがないな
0500名前は開発中のものです。
2009/03/03(火) 19:42:26ID:gnPoJpgiだからお前の糞タスクシステムのソースを出せと言ってるんだ。
全タスクのヘッダをincludeしているところを書き直してやる。
0501名前は開発中のものです。
2009/03/03(火) 19:58:25ID:NIkO1+LI俺、タスクシステムなんて使わないんだけど?
だいたいソース書きたきゃ自分で書けよ
仮想関数とか明らかにズレた話題だしてる格下のお前の相手なんかしなきゃいけないんだよ
0502名前は開発中のものです。
2009/03/03(火) 20:10:55ID:gnPoJpgi仮想関数わかってないのお前。
> タスク信者が必要な分だけインクルードしてるなんて考えられないから
> ごった煮を表現するために総合ヘッダー絶対あるだろ
何度でも言うが、そんなものはないし、そんなことをする必要すらない。
まあ、このスレでわかってないのお前だけだろうから、俺はもう帰る。
基地外の相手してても仕方ないんでな。
0503名前は開発中のものです。
2009/03/03(火) 20:38:10ID:fQh6ZhSe0504名前は開発中のものです。
2009/03/03(火) 21:24:23ID:NIkO1+LIまさか全部ゲームオブジェクトにもたせんの?(笑)
ああ、お前等のごった煮ってそこまで腐ってんだ
0505名前は開発中のものです。
2009/03/03(火) 21:37:48ID:fQh6ZhSeとりあえず総合ヘッダー(笑)については、必要ないことを分かったかい?
まずはそこからだ。
0506名前は開発中のものです。
2009/03/03(火) 21:39:53ID:I1ftq2040507名前は開発中のものです。
2009/03/03(火) 21:48:44ID:gnPoJpgiお前は、OOPの基本がわかってない。
腐ってんのはお前の頭。
0508名前は開発中のものです。
2009/03/03(火) 21:54:48ID:gnPoJpgi糞野郎ばっかりなんだろうかね・・
0509名前は開発中のものです。
2009/03/03(火) 21:57:27ID:fQh6ZhSe同じPG職なら陰口叩かれてもいいレベル。
0510名前は開発中のものです。
2009/03/03(火) 22:01:20ID:I1ftq2042009年ゲ製痛い(ノ∀`)ニュース第1位確定だな。
道理でアンチタスク厨とは、マトモな会話が成り立たないわけだ。
0511名前は開発中のものです。
2009/03/03(火) 22:11:53ID:NIkO1+LIどうせ総合ヘッダーよんでんだろ
そうじゃなきゃごった煮の意味ないもんな
悔しかったら総合ヘッダー無しでプログラム組んでみろよ
データベースなんだろデータベース(笑)
0512名前は開発中のものです。
2009/03/03(火) 22:14:31ID:fQh6ZhSe使ったこともないのに想像だけで総合ヘッダーや癒着云々と否定しているのは滑稽すぎるわ。
0513名前は開発中のものです。
2009/03/03(火) 22:16:25ID:NIkO1+LI0514名前は開発中のものです。
2009/03/03(火) 22:21:10ID:AybnbhgS敵ワークx16 弾ワークx16 とか固定長バッファを用意して、使用中フラグのビットマップで管理して動かしてた
ワークエリア内にポインタを書いてリストや仮装関数を実現するには500kHz程度クロックのCPUには重荷だった
今はもうゲームとして動いてるならなんでもいいやって感じ
0515名前は開発中のものです。
2009/03/03(火) 22:41:02ID:I1ftq204総合ヘッダー(笑)って何だよ!
総合病院にでも診てもらってこい。
C++入門者未満のくせに、デカイ顔してノイズ垂れ流しやがって。
タスクシステムを語るには20年早いわ。
0516名前は開発中のものです。
2009/03/03(火) 23:02:20ID:Gs0swA+Hどこからでも #include "main.h" をすればコンパイルは通る
分割コンパイルの意味の分かっていないバカのやることだよ
ええ そうですよ 私の講師がそうだったように・・・
0517名前は開発中のものです。
2009/03/03(火) 23:13:28ID:KhkzCgZ3C++で実現している
ソース晒そうか?
0518名前は開発中のものです。
2009/03/03(火) 23:28:24ID:UfdUZfM/0519名前は開発中のものです。
2009/03/03(火) 23:37:31ID:UfdUZfM/本元のクラスでなくて、抽象クラスを、includeするということ?
/*総合.h もしくはそれの#include*/
class IHoge : public ITask
{
virtual SomeFunc() = 0;
};
/*Hoge.cpp*/
class CHoge: public IHoge
{
SomeFunc();
};
ということ?
多分、総合ヘッダといった人は、IHogeを抜いて考えていたと思う
もしくは、それでもIHogeを利用するところからIHogeが見えないといけないジャンという
ことを言いたかったのかも
タスクとマルチコアとかの関連っぽい記事を発見したので張っとく
理解はしていないので、賢い人解説して
そして建設的な話をして
http://www.gamasutra.com/view/feature/3941/sponsored_feature_designing_the_.php?page=1
0520名前は開発中のものです。
2009/03/03(火) 23:38:58ID:UfdUZfM/0521名前は開発中のものです。
2009/03/03(火) 23:47:42ID:YUVx5SHcタスクと言う言葉を軽々しく使わないで下さい
0522名前は開発中のものです。
2009/03/03(火) 23:52:38ID:NIkO1+LI馬鹿はどっかいけよ
0523ID:EEKBitmg
2009/03/04(水) 00:02:09ID:vv/UkwCS総合ヘッダーさん(ID:NIkO1+LI)と引数さんは同じ人だと思うが、まぁそれはそれとして
総合ヘッダーさんはCodeZineの記事に出てくるようなタスクシステムのことを言ってるんだろ?
CodeZineの記事を書いた人は俺と同い歳くらいの学生さんだと思う。叩くつもりはないが
グチャグチャに絡み合ってる反面教師的なコードとしてはなかなか秀逸だなーと思う
task.hに
自機、敵機、自機の弾、敵機の弾 狙い撃ち、爆発、自機の制御、敵の出現制御
ステージ制御、ライフバー管理、スコア管理、タイトル画面、ゲームオーバー画面
といったTaskEx派生クラス全ての宣言をまとめてぶちこんでいる
で、例えば自機弾クラスのソースコードの中を見る。まず先頭でtask.hをインクルードしている
次に自機弾クラスの当たり判定メソッドの中を見る。こいつの中では
int 敵数=GetCount(ENEMY); // 敵の数よこせ (循環リストを総舐め)
for(int i=0;i<count;i++){
敵クラス *task=(敵クラス*)GetTask(ENEMY , i ); //i番目の敵よこせ (ヒットするまで循環リストを舐める)
…
}
という感じで 『"グローバルインスタンスホルダー"の検索結果 3 件中 1 - 3 件目』
に対して、『敵を全部くれ』と要求して、敵クラス型にキャスト(static_cast)している
循環リストを舐めまくりでびびった。HSPでこんなコード組んだら重くて普通に死ねる
C/C++を使うメリットを遺憾なく発揮してると思った
0524名前は開発中のものです。
2009/03/04(水) 00:18:28ID:43lD+2sKアンチだけれども、別にごった煮にして、
全てをなめるような実装にしなくてもいい気がする
最初から型ごとにリストを持ってそれごと返せばいい訳だし
ヘッダに全部宣言を入れていたのも、サンプルとしてそうしていただけで、
ヘッダが必要な個々の実装でincludeさせてそこでキャストさせればいい
そうすると、型ごとリストへ割り振りは、本当の型で判断できないので
別の情報で型を識別させるようにして型ごとリストを持たせればいいのでは?
タスクシステムに入れる時に型名を文字列で渡すとか
ここらへんは、タスクシステムの弱点ではない気がする
何回も語られているけれど、本当の弱点は、
静的に片付くものをわざわざ動的にして問題を複雑にしている点だと思う
素人考え?
0525名前は開発中のものです。
2009/03/04(水) 00:23:18ID:w8Rwmagw意味がわからない。例えば?
0526名前は開発中のものです。
2009/03/04(水) 00:31:05ID:mN9/jFMxそれなら、最初からふつーにメンバ変数で持たせて終わりじゃない?
class Scene {
Player player_;
Enemies std::list<Enemy> enemies_;
...
};
0527名前は開発中のものです。
2009/03/04(水) 00:40:31ID:43lD+2sK静的というのは、シーンクラスのメンバもしくはそのメンバに
自機、敵機、自機弾、スコア管理、ステージ制御などを階層を持たせて
配置しているということ
動的というのは、(少なくともインターフェイス越しには)ごった煮の
グローバルなリストから個々のインスタンスが勝手に互いを参照し合って
どうも統制が取れてなさそうに見えないこと
上の静的でも崩壊させることができるけれど、上手く設計すれば問題は起こらないはず
で、ごった煮はその問題をただ先延ばしにしてしまっているようなイメージを持っている
だからアンチ
>>524
そう。そう思う。
だからアンチ
0528名前は開発中のものです。
2009/03/04(水) 00:48:30ID:43lD+2sKどうも統制が取れているように見えないこと
0529名前は開発中のものです。
2009/03/04(水) 02:40:49ID:hHE159vFタスク進化系がいまだにコンシューマゲーム開発の現場で生き残っているのは単純に無駄が無いから、ってのも理由の一つ。
スーファミからPS1へ、PS1からPS2へ、PS2からPS3へ移行するたびに、こんな大量のメモリ使い切れん、と思ったものだが
なぜかマスター寸前の修羅場になるといつもメモリも速度も足りなくなりチューニングに明け暮れる日々が続く。
これはメモリ128Kのスーファミ時代から256MBのPS3まで、コンシューマ開発では変わらん定例行事。
そして常にメモリとコードの無駄を減らす圧力にさらされるんだけど、タスクみたいに毎フレーム相当数呼ばれる処理に
無駄が見つかると真っ先に削られる。
この修羅場では「可読性が…」とか「OOP的に…」なんて甘い理由よりも少しでも軽量なコードで動かすことが優先される。
で、PS3時代にもタスク進化系が生き残ってる、というわけだね。
仮想メモリつんでてスペックはユーザ毎にばらばらのPC環境では特定ハード向けにガリガリにチューニングなんて意味ないので
PC環境でしか作ったことの無い人間には理解できんだろうけど、
コンシューマ開発や組み込み系とみたいに固有のハード性能を120%使い切る開発スタイルではよくあること。
0530名前は開発中のものです。
2009/03/04(水) 02:55:00ID:43lD+2sKなるほど。全くコンシューマーを知らないけれど、説得力がある
では潤沢過ぎる程のメモリと、無限の演算能力がもしあったとしたら
喜んでタスクシステムは棄て去る?
0531ID:EEKBitmg
2009/03/04(水) 03:04:13ID:vv/UkwCS厨だけどさすがにこれは真似できないな
お前は凄い。俺は頭痛がしてきた。寝る
0532名前は開発中のものです。
2009/03/04(水) 03:13:07ID:43lD+2sK>>530は、タスクシステムが貧困な環境で使えるという>>529に対して、
ならば、十分豊かな環境だったらそうではないのか?という質問。
無限〜は *話を簡単にするため* の誇張した表現。
0533名前は開発中のものです。
2009/03/04(水) 03:29:05ID:hHE159vF無限のメモリと無限の演算能力があったら…?
それでも小規模なアクションゲーム系1人で作るならタスク進化系の管理システム使うと思う。
タスク系は下手に使うとバグの温床になるけど使いどころを間違えなければ便利だし。
まぁこれは慣れの問題なので、この手のゲームならこの手法で…とかだいたいやり方の想像つくし
タスク系固有のバグで苦しんだ結果、バグの温床にならない作り方が出来るようになってるから、ってのもある。
慣れた人間にとっては開発効率いいんだよね、あれ。
まぁでも新人込みのプログラマ数十人で大規模オンラインゲームを作る、とかならたぶん違う方法取るけどね。
0534名前は開発中のものです。
2009/03/04(水) 04:55:07ID:ll33Ou9u無限の資源があってもリスクと教育コスト考えれば結局C++使うだろうねー
無限の納期と無限の人材があるなら・・・遊んで暮らすだろうなー
0535名前は開発中のものです。
2009/03/04(水) 05:47:21ID:kXQL8zXxプロセスがタスクじゃないのね
ではマルチプロセス対応というのは真っ赤な嘘になるわけだ
0536名前は開発中のものです。
2009/03/04(水) 06:56:53ID:m+X+Qg7jタスクシステムはsingletonじゃねぇぞ。
タスクのなかに別のタスクシステムをcompositionで配置してタスクを
階層化できるが、お前本当にOOPわかってんのか?
0537名前は開発中のものです。
2009/03/04(水) 07:31:28ID:NGMxgsfOだいたいそんなのやるならはじめから分けてもてよ
0538名前は開発中のものです。
2009/03/04(水) 07:34:46ID:NGMxgsfO並列にするなら少なくとも並列にするデータは分けないと動かない
ごった煮でできるわけない
0539名前は開発中のものです。
2009/03/04(水) 08:44:10ID:mN9/jFMxメモリ使用量の大半を占めるのはテクスチャ・モデル・モーションなどのデータで、
CPU使用時間の大半を占めるのはヒット判定や AI 処理。
いわゆるゲームオブジェクト (プレイヤーとか) で多少削ったところで、誤差にもならない。
0540名前は開発中のものです。
2009/03/04(水) 08:48:07ID:m+X+Qg7j> そんなの全く意味がないじゃん
そんなこたあ、ない。
0541名前は開発中のものです。
2009/03/04(水) 08:49:26ID:2ryo6+k/でもそれを超えると破綻すると思う。
0542名前は開発中のものです。
2009/03/04(水) 08:49:27ID:m+X+Qg7j阿呆すぎて泣ける。
前スレ510のプログラム、あれ並列化できないの?
本当に1行でもプログラム書けるの?
タスクシステム使わなくていいから、前スレ510のプログラム、並列化してみなよ。
0543名前は開発中のものです。
2009/03/04(水) 08:51:55ID:m+yO0HqN彼を養護してるアンチはいないようだが
そこまでして印象操作したいの?
0544名前は開発中のものです。
2009/03/04(水) 08:52:16ID:m+X+Qg7j> それなら、最初からふつーにメンバ変数で持たせて終わりじゃない?
そのメンバ変数が指しているオブジェクトが生きていることを誰がどうやって保証するんだ?
0545名前は開発中のものです。
2009/03/04(水) 08:54:00ID:m+X+Qg7jこのスレのアンチタスカーのレベルが総じて低すぎる。
タスクシステムに限らずフレームワークなんて、使える範囲で使えばいいだけのことなのに
完全否定する奴は完全肯定する奴と同罪で、頭おかしい。
0546名前は開発中のものです。
2009/03/04(水) 08:55:29ID:mN9/jFMx> 前スレ510のプログラム、あれ並列化できないの?
そもそも、あれは名前がタスクなだけで、>>2 と設計全然違うけど。
いずれにせよ、データに依存性があり並列化はできない。
> m_vx = m_vx*m_m/(m_m+Star2.m_m) + Star2.m_vx*Star2.m_m/(m_m+Star2.m_m);
> m_vy = m_vy*m_m/(m_m+Star2.m_m) + Star2.m_vy*Star2.m_m/(m_m+Star2.m_m);
たとえばこのコード、複数の Star インスタンスの m_vx, m_vy を同時に読み書きしている。
複数スレッドで走らせた場合、値が保障できなくなる。
0547名前は開発中のものです。
2009/03/04(水) 08:57:09ID:m+yO0HqN> 完全否定する奴は完全肯定する奴と同罪で、頭おかしい。
つ鏡
0548名前は開発中のものです。
2009/03/04(水) 09:08:31ID:mN9/jFMx526のコードは、ポインタではなく実体で持たせているから、保障も何も要らんと思うが。
いずれにせよハンドルクラス (整数値とインスタンスの対応付け) は用意したほうが
便利だが、その場合でもプレイヤー・敵は別の ID 体系にしておくな。
たとえば、最大 2 プレイヤー同時プレイ可能なゲームで、プレイヤーに向かって
進む敵を作りたい場合。
class PlayerID { int id_; friend class Scene; }; class EnemyID { int id_; friend class Scene; };
class EnemyEnv {
virtual ~EnemyEnv() {};
virtual PLAYER_ID GetNearestPlayer(ENEMY_ID enemy_id) const = 0;
virtual Vec3 GetPlayerPos(PLAYER_ID player_id) const = 0;
};
class Scene : public EnemyEnv {
Player player_[2];
std:::list<Enemy> enemies_;
public:
void Update() { player_.Update(*this); enemy_.Update(*this); }
virtual PLAYER_ID GetNearestPlayer() const { ... }
virtual bool GetPlayerPos(PLAYER_ID player_id, Vec3* pos) const {
// 実際には、ここで player_id.id の値チェックを行い、生存していなかったら false 返す
*pos = player_[player_id.id_].GetPos(); return false;
}
}
void Enemy::Update(EnemyEnv& env) {
PLAYER_ID player_id = env.GetNearestPlayer(this.GetID());
Vec3 pos = env.GetPlayerPos(player_id);
// あとは pos に向かって自分の位置を調整
}
0549名前は開発中のものです。
2009/03/04(水) 09:09:02ID:m+X+Qg7j> たとえばこのコード、複数の Star インスタンスの m_vx, m_vy を同時に読み書きしている。
その言い方は不正確だし、並列化の本質をわかっていない。
そのコード、そもそも元コードがすこしおかしいのだが、タスクシステムを使おうと使うまいと
Starオブジェクトの集合から任意の2体を取り出して、その振る舞いを書きたいとする。
foreach(var star1 , star2 in stars)
{
star1.m_vx = star1.m_vx*star1.m_m/(star1.m_m+Star2.m_m) + Star2.m_vx*Star2.m_m/(star1.m_m+Star2.m_m);
star1.m_vy = star1.m_vy*star1.m_m/(star1.m_m+Star2.m_m) + Star2.m_vy*Star2.m_m/(star1.m_m+Star2.m_m); }
}
これは、次のようにかきかえる。
foreach(var star1 , star2 in stars)
{
star1.m_vx_new = star1.m_vx*star1.m_m/(star1.m_m+Star2.m_m) + Star2.m_vx*Star2.m_m/(star1.m_m+Star2.m_m);
star1.m_vy_new = star1.m_vy*star1.m_m/(star1.m_m+Star2.m_m) + Star2.m_vy*Star2.m_m/(star1.m_m+Star2.m_m);
}
foreach(var star in stars)
{
star1.m_vx = star1.m_vx_new;
star1.m_vy = star1.m_vx_new;
}
これは、コリジョン判定とそれに対するアクションを切り離すときもそう。
これをきちんと切り離しておかないと並列化できない。
前スレでコリジョン判定は並列化できないとか言ってた馬鹿がいたけど、アクションを切り離さないから出来ない。
0550名前は開発中のものです。
2009/03/04(水) 09:11:17ID:mN9/jFMxその指摘は正しいが、前スレ 510 を使うかどうかとまったく無関係だよね。
タスクとやらを使ったから並列化できるようになるわけじゃないし、並列化が
楽になるわけでさえない。
けっきょく、同じ労力を咲く必要がある。
0551名前は開発中のものです。
2009/03/04(水) 09:11:22ID:m+X+Qg7j> いずれにせよハンドルクラス (整数値とインスタンスの対応付け) は用意したほうが
そんなものあえて作る意味があるか?boost::weak_ptrで済むだろ。
そもそも、548のソースは典型的なタスクシステムで記述するよりはるかに複雑なんだが、
あんたは、タスクシステムの否定派なのか肯定派なのか何なんだ?
0552名前は開発中のものです。
2009/03/04(水) 09:15:37ID:m+X+Qg7j> タスクとやらを使ったから並列化できるようになるわけじゃないし、並列化が
> 楽になるわけでさえない。
それは違うね。タスクシステムの側に並列化する部分を担当してもらう。
タスクシステムを使う側は、それを利用すればいいだけ。
タスクシステムは底辺の馬鹿プログラマが書かなくとも、別の、もっと優秀なプログラマが書けばいい。
並列化効率とか、メモリcacheとか、シェーダーに対するタスクの分配とか、そういうのを考慮して効率の
いい並列化プログラムを書ける奴がな。
こうして、はじめてゲームの分業が成立するんだが。
あんたはちょっとはまともなプログラマに見えるが、大規模なゲーム開発に取り組んだことはないのか?
0553名前は開発中のものです。
2009/03/04(水) 09:17:40ID:m+X+Qg7j脱字。「ゲーム開発における分業」の間違い。
いま読み返したら549は
>foreach(var star in stars)
>{
> star1.m_vx = star1.m_vx_new;
> star1.m_vy = star1.m_vx_new;
>}
ここ、左辺はstar1ではなくstarだ。ごめん。
0554名前は開発中のものです。
2009/03/04(水) 09:24:16ID:mN9/jFMx> そもそも、548のソースは典型的なタスクシステムで記述するよりはるかに複雑なんだが、
以前から同じようなコード例書いてるんだけどな。前スレ 748 とか。
・コンポジションで良いじゃん
・規模が大きいプログラムだと、どのタイミングで何が呼ばれるか、変更されるかが
分かることが重要。
この例だと Enemy::Update 時には EnemyEnv 経由で Scene のメンバ関数が呼ばれる
だけと確定する。Enemy::Draw みたいな処理があったときに、EnemyEnv const& 使うか
別のクラスを用意するかは要検討(場合による)。
> そんなものあえて作る意味があるか?boost::weak_ptrで済むだろ。
スクリプトと連携するときに楽
boost::shared_ptr 使ってるとは限らない
別に weak_ptr 使える場合には、使えば良いと思うけど。
0555名前は開発中のものです。
2009/03/04(水) 09:25:22ID:mN9/jFMx> タスクシステムの側に並列化する部分を担当してもらう。
名前がタスクシステムなだけで、前スレ 510 とも >>2 ともまったく違う設計・実装について
語ってるということで FA?
0556名前は開発中のものです。
2009/03/04(水) 09:26:54ID:m+X+Qg7jforeach(var star1 , star2 in stars)
{
star1の新しく情報を書き込む領域 ← star1とstar2相互計算によって得る。
}
foreach(var star in stars)
{
starの新しく情報を書き込んだ領域をcommitする。
}
で、これをタスクシステム側に並列化する部分を受け持ってもらう。
例えば>>546であれば、次のように書けば上のプログラム(>>549)と等価になる構文を用意する。
foreach_parallel (var star1 , star2 in stars)
{
star1.m_vx = star1.m_vx*star1.m_m/(star1.m_m+Star2.m_m) + Star2.m_vx*Star2.m_m/(star1.m_m+Star2.m_m);
star1.m_vy = star1.m_vy*star1.m_m/(star1.m_m+Star2.m_m) + Star2.m_vy*Star2.m_m/(star1.m_m+Star2.m_m);
}
このとき、左辺は、shadow(m_vx_new , m_vy_new ) に対してアクセスしていて、実際はforeachを抜けてから
foreach(var star in stars)
{
star.m_vx = star1.m_vx_new;
star.m_vy = star1.m_vx_new;
}
これが実行される。この仕組みをタスクシステム側に提供してもらう。これなら簡単に並列化できる。
ゲームで使うコリジョン判定などはたいていこのように並列化できる。
0557名前は開発中のものです。
2009/03/04(水) 09:31:11ID:m+X+Qg7j> 名前がタスクシステムなだけで、前スレ 510 とも >>2 ともまったく違う設計・実装について
> 語ってるということで FA?
並列化とタスクシステムとは直交する概念だから、例えば>>2のタスクシステムを並列化することも出来るし
前スレ510のタスクシステムを並列化することも出来る。
どちらかと言えば、前スレ510のほうが>>2よりはある型のオブジェクト集合のうち任意の2体に対する
振る舞いが書けるのでその部分が並列化する価値が高いだけのこと。
そもそも、タスクに対して列挙したり、任意の型の2体を取り出したりする仕組みがどこにもない状態で
並列化なんて出来ないだろう。
俺がタスクシステムと呼んでいるのは、最低限、タスクシステムと名がつくなら、タスクに対する基底
クラスが存在して、それくらいの機能はあるんじゃねーの?と思うからだ。
0558名前は開発中のものです。
2009/03/04(水) 09:32:48ID:m+X+Qg7j>> そんなものあえて作る意味があるか?boost::weak_ptrで済むだろ。
>スクリプトと連携するときに楽
ふむ、それならok。
0559510
2009/03/04(水) 11:11:12ID:5viq5cgMshadowのアイデアもーらい。
transaction( hoge )//shadow初期化
{
task2_parallel( hoge, hoge )
{
_hoge1.x += hoge2.x;//例えば、変数の頭にアンダーバーがついていたらshadowとか。
//rollback;//ロールバックも出来るよ
}
task_parallel_end;
}
commit;//shadowコミット
あと、何か頭が統合ヘッダ?の人が来てたみたいだけど、
アップロードしたプログラムのヘッダファイルがごった煮だったのは
単にサンプルプログラムだったからだ。
0560510
2009/03/04(水) 11:23:44ID:5viq5cgM0561名前は開発中のものです。
2009/03/04(水) 11:43:23ID:4u8TV8ZG>俺がタスクシステムと呼んでいるのは、最低限、タスクシステムと名がつくなら、タスクに対する基底
>クラスが存在して、それくらいの機能はあるんじゃねーの?と思うからだ。
あー、やはりな。以下の内容は煽り抜きだから気を悪くしないでくれ
結局これはローカル用語の解釈を巡る相違でしかない
例えばウチの社内ではあんたの解釈を振りかざしても
意思疎通はうまくいかないだろう
ここでは色んな名無しが俺定義・俺解釈のローカル用語を
公衆の場に持ち出して一人相撲してる。あんたもそう
タスクシステムは権威不在の定義不明瞭なローカル用語だ
ということをまず再確認し、意思疎通を円滑にするために
それぞれがより確かな一般的な計算機用語に換言する努力を
すべきだ。でなければ、この実に不毛なすれ違いは無くならない
0562510
2009/03/04(水) 11:50:03ID:5viq5cgM皆各々ソースコードアップすればよいと思うよ。
0563名前は開発中のものです。
2009/03/04(水) 12:38:40ID:4u8TV8ZG君のコードにはもっと相応しい個性的でカッコイイ名前を付けてあげなさい
手垢で汚れたタスクシステムなんて臭い名前では>>2と勘違いされてしまう
君のコードは泣いているぞ。不敏でならない
エターナル自動並列ブリザードデータベースでもなんでもいい
革新的であることを世の馬鹿共に知らしめる努力をすべきだ
0564並列さん ◆dPfetnROQg
2009/03/04(水) 15:46:36ID:m+X+Qg7jなかなかいいね。
俺、そろそろコテハンにしとくわ。
ちなみに前スレ510に対して、C++としては素人の書き方だと指摘したのは俺な。
原則煽り専門だから、よろしく。
0565名前は開発中のものです。
2009/03/04(水) 18:27:15ID:NGMxgsfOごった煮でどうやってヒット判定の並列化をするって?
値を後で更新すると折角優先順位をつけても古い値でヒット判定をすることになるからおすすめできない
並列化を狙うならオクツリーにして位置で切らないと多分無理
0566名前は開発中のものです。
2009/03/04(水) 18:45:20ID:4u8TV8ZG移動フェーズと衝突検出フェーズと衝突応答フェーズに
分割してそれぞれのフェーズでいっせーのーせでやる
物理エンジンなんかもそう
もちろん空間領域分割もする
0567名前は開発中のものです。
2009/03/04(水) 18:51:51ID:NGMxgsfO衝突は即座に補正かけないとそれだけでバグる
移動して衝突判定をすぐにしないと壁の向こうの敵と接触することになるぞ
しかし壁の当たりの優先順位はおそらく最後だろ?
でないと抜けるしね
しかしそうすると壁の向こうの敵と接触する
この辺をタスク縛りにするのは正直うまくない
やるならなにはなくともオクツリー
0568名前は開発中のものです。
2009/03/04(水) 19:02:10ID:sCGilUsr0569名前は開発中のものです。
2009/03/04(水) 19:02:19ID:TXLFx8i5考えるならなにはなくともまずはサーベイ
0570名前は開発中のものです。
2009/03/04(水) 19:04:26ID:F+dIxfjwしかもタスクを使えば並列化できると主張してる人はいない。
今の話は並列化に対応したタスクがもし作れるとするなら
どんなものになるかという感じ。並列化に関する部分は一般論をしてる。
つか並列化はそろそろ別スレ立てた方がいいんじゃね。
並列化が目的でタスクは手段に過ぎないんでしょ。
0571名前は開発中のものです。
2009/03/04(水) 19:08:59ID:4u8TV8ZG上のは(Id Software系のエンジンでいうところの)エンティティ対エンティティ
のみに絞った話。相互作用。
壁抜けや床抜けに対するケア、これはブラシとの衝突(相互ではなく一方的作用)は
当然これは即座に補正される
0572名前は開発中のものです。
2009/03/04(水) 19:18:42ID:4u8TV8ZG即座に、ではなく、衝突検出フェーズにおいて、ブラシとの作用が先に反映される
だな
0573並列さん ◆dPfetnROQg
2009/03/04(水) 19:25:13ID:m+X+Qg7j> 衝突は即座に補正かけないとそれだけでバグる
俺物理エンジン書いたことあるが、そんなこたぁない。
どうせお前のプログラム、移動させて同時に衝突判定してぶつかってたら逆方向に移動とか
阿呆なことやってんだろ。本当、このスレは底辺プログラマ集まってんのな。
0574名前は開発中のものです。
2009/03/04(水) 19:26:40ID:4u8TV8ZGついでに、高速移動体に対するケアの話もここでは割愛している
あと、俺は強烈なアンチだ
0575並列さん ◆dPfetnROQg
2009/03/04(水) 19:30:44ID:m+X+Qg7jしかし、ID:NGMxgsfOは、底辺以下だな。俺的には、ゴミ扱い。
タスクシステムを使うと総合ヘッダが必要になるとか言ってる基地外と一緒。
ああ、ID:NGMxgsfOがその基地外なのか?
0576並列さん ◆dPfetnROQg
2009/03/04(水) 19:33:21ID:m+X+Qg7jあんたは、強烈なアンチなのか。それは意外だ。
俺はじゃあ、強烈なタスク信者ってことでヨロシク!
まあ、あんたとは仲良くできそうだけどな。
0577名前は開発中のものです。
2009/03/04(水) 19:44:25ID:4u8TV8ZG俺とあんたとの間に争点があるとすれば、それはタスクシステムという呼称だろうな
俺はあのローカル用語から発せられる腐敗臭が大嫌いなんだ
0578名前は開発中のものです。
2009/03/04(水) 19:50:16ID:sCGilUsrと
強烈なアンチ(なにに対してなのか自分でも解っていない)
か。
0579並列さん ◆dPfetnROQg
2009/03/04(水) 20:28:42ID:m+X+Qg7jああ、それは同感。
まあ、俺のなかでは、タスクシステムは少なくともstd::listよりは少しはマシなことが
出来るように工夫してあんだろ、みたいな思い込みはある。
std::list以下のものなら、タスクシステムなんて大層な名前つけなくても黙って
std::list使っときゃいいわけで。
0580名前は開発中のものです。
2009/03/04(水) 23:21:38ID:m+yO0HqN結局パフォーマンス向上しないだろコレ
0581名前は開発中のものです。
2009/03/04(水) 23:55:44ID:NGMxgsfO何を並列化したのかさっぱりわからん
あたりでやるとしたら全く関わることのない範囲を同時に・・・
ぐらいしかないけどな
こんなパラ単位で並列化なんて意味ねーよ
0582名前は開発中のものです。
2009/03/05(木) 00:22:53ID:eF6P+SnVforeach の部分を OpenMP とかで並列処理できれば、まぁ多少は。
しかし、そもそも並列化するならゲームロジックが絡むところより、モーション計算
とかエフェクト(特にパーティクル)だろう。ゲームロジックは依存関係がキツいし、
仕様変更が頻繁に起こりうるからリスク大きすぎる。
もっとも PS2 のときから、技術力があるところは VU1 に持っていってたけどな。
0583名前は開発中のものです。
2009/03/05(木) 01:46:15ID:EYYtQjTlID:NIkO1+LI祭に乗り遅れた!
書き込み規制が憎い
0584並列さん ◆dPfetnROQg
2009/03/05(木) 07:31:17ID:2NL1rK1fするよ。
>>581
阿呆すぎて泣ける。どこの阿呆かと思ったら、
「衝突は即座に補正かけないとそれだけでバグる」とか言ってた阿呆か。
全然話にならんわ。
まともな物理エンジンのソース見たことないんだろうな。
0585名前は開発中のものです。
2009/03/05(木) 07:49:58ID:DNYGW2s8間に壁がないかみて判定しなきゃならんときもある
この辺をタスク縛りにされるのは正直やりにくいにも程がある
ゲームやオブジェクトによってすり抜けがどうでもいいものもあるだけに一般化はできない
リングアウトだけ起こらないでは済まない場合は結構多い
べつに速度がとんでもない場合じゃなくても問題は起こる
0586並列さん ◆dPfetnROQg
2009/03/05(木) 08:24:43ID:2NL1rK1fあんたは、ID:NGMxgsfOか?
それとも、ID:NGMxgsfO級の阿呆が何人もいるのか?
いい加減、コテハンにしてくれ。
まともな幾何的なconstraint solverを書いたことすらない奴が物理エンジンを語るなよ。
0587名前は開発中のものです。
2009/03/05(木) 09:31:58ID:eF6P+SnVここで物理エンジン語るのも、どうかと思うが。
0588名前は開発中のものです。
2009/03/05(木) 09:41:46ID:NLOFzCy8何故 >>585 の問題が起こらないのか教えて欲しい
0589名前は開発中のものです。
2009/03/05(木) 09:52:09ID:W/Wu7C9wタスク以外でも585の問題をどうやって解決しているのか知りたい。
結局両方の例が無いと比較できないし評価を下すこともできない。
0590名前は開発中のものです。
2009/03/05(木) 10:27:56ID:rvhMBE/z敵との当り判定を取れば良いだろ。
0591並列さん ◆dPfetnROQg
2009/03/05(木) 10:33:57ID:2NL1rK1f何度でも言うが阿呆共はコテハンつれてくれ。
>>590
そんなことをするとコリジョン判定を並列化できない。
0592名前は開発中のものです。
2009/03/05(木) 10:56:14ID:rvhMBE/zparallel { 壁との当り判定&補正処理 }
parallel { 敵との当り判定 }
0593名前は開発中のものです。
2009/03/05(木) 11:00:40ID:eQbdbaUx0594並列さん ◆dPfetnROQg
2009/03/05(木) 11:53:25ID:2NL1rK1f素人すぎて話にならん。なんだよ、壁と敵って。動くか動かないかでわけてんの?馬鹿じゃねーの。
0595名前は開発中のものです。
2009/03/05(木) 13:24:53ID:rvhMBE/z壁=動かない、敵=動く、という固定観念でもおあり?
>>592 は、
あらかじめ、物理的に問題の無い状態に落ち着けてから、
あらためて、ゲーム進行上ひつような当り判定を行う。
ということ。
0596名前は開発中のものです。
2009/03/05(木) 13:26:57ID:rvhMBE/z0597並列さん ◆dPfetnROQg
2009/03/05(木) 13:50:52ID:2NL1rK1f> 壁=動かない、敵=動く、という固定観念でもおあり?
この議論の大元となっているのは、>>155で、そこには
> 衝突解決には、たとえば「壁は動かない」「プレイヤーが壁に当たったら押し戻される」
と書いてあるから俺はその定義に従っただけなのだが。
この流れで、オレオレ定義の「壁」とか「敵」を持ち出すなら、言葉の定義ぐらい先に書いて欲しいんだが。
0598名前は開発中のものです。
2009/03/05(木) 14:02:23ID:TJw/foDe共通認識を積み上げる作業をさぼったらコミュニケーション取れんよ。
そんな面倒なことは省略して結果を気にせずに出会い頭の辻切り対辻切り
みたいなやりとりを日常的にしてるのが2chでもあるけど。
0599名前は開発中のものです。
2009/03/05(木) 14:03:36ID:rvhMBE/z>>592の壁とか敵はオレオレ定義ではなく、>>585で出現しているそれ。
7つ上のレスも見れない池沼さんですか?
で、揚げ足取りは結構なんだけど、本文への反論は?
0600並列さん ◆dPfetnROQg
2009/03/05(木) 14:18:31ID:2NL1rK1f> >>592の壁とか敵はオレオレ定義ではなく、>>585で出現しているそれ。
>>585に定義らしきことは書いてないじゃん。
> で、揚げ足取りは結構なんだけど、本文への反論は?
「壁」と「敵」についてきちんと定義を書いてくれ。話はそれからだ。
0601名前は開発中のものです。
2009/03/05(木) 14:45:45ID:eQbdbaUxこいつは何を並列処理しようとしてるの?
0602名前は開発中のものです。
2009/03/05(木) 14:56:23ID:rvhMBE/z自分は7レス前の今朝の関係のあるレスも見れないのに、
他人には439レス前の12日前の無関係なレスを覚えていることを要求する並列さんが何か言ってるな)
>>600
ちょっともう、どうしたらよいの?国語やりなおせとしか言いようが無いのだが。。
>>585をよめば、
・壁とは、敵との当りを防ぐもの。
・敵とは、当たりをとる対象。
ということぐらい普通分かるだろ。
同時に、>>155が今件になんら関係ないことも分かるだろ。
結論から言うと、お前が一人で勘違いして勝手に煽ったりファビョったり一人相撲してただけだ。
0603名前は開発中のものです。
2009/03/05(木) 15:05:28ID:rvhMBE/z>>585は、
衝突解決の途中でゲーム進行用の当たり判定を取ると、
ゲーム進行用の当たり判定がバグる、
と主張し、
それに対して俺は、
衝突解決が完了してからゲーム進行用の当たり判定を取ればよい、
と主張をしている。
予め言っておくが、衝突解決の優先順位の問題とは全く別の話。
0604並列さん ◆dPfetnROQg
2009/03/05(木) 15:17:15ID:2NL1rK1f> ・壁とは、敵との当りを防ぐもの。
> ・敵とは、当たりをとる対象。
> ということぐらい普通分かるだろ。
それはわかるが、敵同士は重なっている状態が許容されるかどうかが>>585からはわからない。
もし許容されないなら、敵とか壁とか分けて考える必要はなく、どちらも対等な単なるオブジェクトだから
用語をわざわざ分ける必要がない。
それを >>592 のように処理を分けているというのは、あんたが勝手に敵同士の交差は許容されると
>>585 から解釈したとしか思えない。要するに>>585を拡大解釈しているのはあんただろ。
0605並列さん ◆dPfetnROQg
2009/03/05(木) 15:20:29ID:2NL1rK1f> 衝突解決が完了してからゲーム進行用の当たり判定を取ればよい、
「ゲーム進行用の当たり判定」なんて、誰も話題にしてなくて
幾何的に重なりをもつ状態をいかに防ぎつつ処理を並列化するかしか
問題にしてないと思うんだが。
あんたは日本語が不自由以前に頭が不自由みたいなんで、
俺はあんたの相手はしないことにする。
0606名前は開発中のものです。
2009/03/05(木) 15:41:13ID:eQbdbaUxID:2NL1rK1f が正しい。
ID:rvhMBE/z は間違っている。
なぜならここはタスクシステム(^^;)スレだから。
今は並列処理(笑)をどこまでシステムを組み込めるか議論する場なので、(たとえば整数のみで実数計算するにはどうするのが一番いいかのような)
ID:rvhMBE/zのように並列処理(笑)を使わない最も効率的で扱いやすい無駄の無い設計はスレ違い。
みんなそれが最善手段と知ってる上で議論している。
(まぁ>>604の敵同士の交差がどうこうというのは並列処理(笑)時の話であって交差しようがしまいが別に処理させているID:rvhMBE/zの設計に対するツッコミ(ボケ?)は意味不明だが)
0607名前は開発中のものです。
2009/03/05(木) 15:51:13ID:rvhMBE/z>>585にはプレイヤーという主語が抜けてるんだよ。
それぐらい行間読めよな。
だから、
>敵同士は重なっている状態が許容されるかどうか
は関係ない。
さかのぼってみれば、>>567が発端で、これは、
>演算器いっぱいのベクトルプロセッサにやらせる場合
>移動フェーズと衝突検出フェーズと衝突応答フェーズに
>分割してそれぞれのフェーズでいっせーのーせでやる
に対してレスされている。
内容は、それぞれのフェーズの呼び出し順が固定だから、
衝突検出フェーズ内で拾う値は必ず補正前の値になってしまうので、
壁の向こうの敵に接触してしまうなどの不具合が出る、というもの。
つまり、古典的タスクシステム固有の問題で、実は並列化は関係がない。
0608名前は開発中のものです。
2009/03/05(木) 16:09:30ID:Ld676bZP壁薄くね?
0609並列さん ◆dPfetnROQg
2009/03/05(木) 16:37:36ID:2NL1rK1f実際は、紙みたいな壁も存在して、単なる衝突判定でやってしまうと
次フレームでは通り抜けてることもある。
だから、まともな物理エンジンでは、そういうオブジェクトに対しては、
連続体として扱うようになっているのだが、この取り扱いは結構難しい。
これに関しては最近、いろいろ論文が発表されるなど、比較的hotなテーマだ。
0610名前は開発中のものです。
2009/03/05(木) 18:58:37ID:/7Ei5x6Qhttp://www.youtube.com/watch?v=A7xiK-snyJk
そんな古臭い話が最近の論文なんて信じられないが
論文あるならソースだしてくれよ
多分読めないが
話変わって >>2 のタスクシステムのソースって
慣れてないと難しいね
拡張も慣れが必要
ちょっと自分流の方が早い気がしてきた
0611ID:EEKBitmg
2009/03/05(木) 19:12:57ID:CwokJJKn0612ID:EEKBitmg
2009/03/05(木) 19:50:12ID:CwokJJKn>つまり、古典的タスクシステム固有の問題で
なんでそうなるんだよ
0613ID:EEKBitmg
2009/03/05(木) 20:33:20ID:CwokJJKn壁とか言ってるから違うだろ。隣部屋同士の誤判定の話くさいんだけど
空間分割された隣部屋同士なら『ドア(窓)を経由しない限り当たらない』
ドア(窓)を経由して侵入してくる疑いがある奴は移動フェーズの時点で
バレてんだから、移動フェーズが終わった時点で同期的処理かませれば
いいだけだろ。バカくせ
0614ID:EEKBitmg
2009/03/05(木) 20:40:46ID:CwokJJKnそんなクズシステムの話を持ち出す時点で駄目だ
タスクバカ=>>2信者=直列バカはやっぱりバカだ
0615名前は開発中のものです。
2009/03/05(木) 20:52:25ID:LpIMNDbi0616ID:EEKBitmg
2009/03/05(木) 20:54:34ID:CwokJJKnそういや壁抜きでぶっ殺したら升使ってるとか言われたな
これだからnoobは困る
0617名前は開発中のものです。
2009/03/05(木) 21:49:16ID:/7Ei5x6Qそういうツールありますから
あなたの方がnoobですよ
0618ID:EEKBitmg
2009/03/05(木) 21:51:32ID:CwokJJKn並列君は銃弾も人も同じエンティティとして平等に扱うのか
マジで狂ってるな。どんだけ無駄なことすりゃ気が済むんだよ
0619名前は開発中のものです。
2009/03/05(木) 21:54:16ID:eQbdbaUxだから効率を求めてるんじゃなくて、並列でどうやって対処するか議論してるんだってば
0620ID:EEKBitmg
2009/03/05(木) 21:57:28ID:CwokJJKnは?誰だよお前。名無しに用はねーんだよ
効率を度外視した糞システムなんてみんな糞だ
お前らタスクバカはそうやって何でもツクールを目指すバカだから
並列処理も効率度外視とかウンコくさい話をしたがるんだろ
バカは氏ね。思想レベルで詰んでる
0621名前は開発中のものです。
2009/03/05(木) 22:03:48ID:okJUxEhs日 ▽ U 日 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
≡≡≡≡≡≡ | IDさん今日は荒れてるなあ。
V ∩ [] 。〇 \____________
____ ∧∧゚______
□ ( )
―――― | ヽ――――――
(____)〜
━┳━ ━┳━ ━┳━
 ̄┻  ̄ ̄ ̄┻ ̄ ̄ ̄ ┻ ̄ ̄
0622ID:EEKBitmg
2009/03/05(木) 22:07:27ID:CwokJJKnカッとなって、今度は極度に逆方向にふれて究極の並列コードを
目指すし始めた一部の先進次世代タスクバカ。>>510が代表だな
お前らタスクバカはさ、いい加減『ナニを作るのか』具体的に書けよ
何でもツクール目指すから『ナニを作るのか』書けません、だとか
ミラクルドリーマーみたいな事をほざくなよ
0623ID:EEKBitmg
2009/03/05(木) 22:19:07ID:CwokJJKn俺、一応未成年だからお酒でそういう大人っぽいお店にいって
酩酊してウサ晴らすとかそういうことできないんだよね
これは芸風だから。昨日の並列君のお前らみんなバカ宣言
に対する報復である
0624ID:EEKBitmg
2009/03/05(木) 22:20:46ID:CwokJJKn○そういう大人っぽいお店にいってお酒で酩酊して
0625561
2009/03/06(金) 00:00:33ID:4YMxwutE0626名前は開発中のものです。
2009/03/06(金) 07:47:43ID:+3ldVLU9そんなの無理だろ
タスク信者は動いてるプログラムにタスクウィルスを入れて
自分しかメンテできないようにして、自分の居場所を確保する
犬の小便的行動が本来の目的なんだから
0627ID:EEKBitmg
2009/03/06(金) 10:06:54ID:xP4A6jxvこれだからこのスレはやめられないw
0628名前は開発中のものです。
2009/03/06(金) 13:01:17ID:FjTUznzx0629名前は開発中のものです。
2009/03/06(金) 14:33:08ID:YCUPWfAP>427
>>626
そのくらいで地位を守れるなら失うよりはずっとマシだと真剣に思う、この不況。無職を叩く側から叩かれる側になるなんてやだもん。
0630名前は開発中のものです。
2009/03/06(金) 18:02:43ID:+3ldVLU90631並列さん ◆dPfetnROQg
2009/03/06(金) 18:18:57ID:oTJ018DT0632名前は開発中のものです。
2009/03/06(金) 19:15:57ID:oLiuTYViタスクシステムが直列処理だとは思わんが。
どっちかっていうと、並列かと。
0633ID:EEKBitmg ◆HSP4mee/SU
2009/03/06(金) 23:46:34ID:aRzhzssBちょっとー。何なのおまえ誰なのおまえそこへ直れよおまえ!このイジメっ子ザザ虫!
平日の朝っぱら10時から暇そうに2ちゃんで厨のIDコテ使って何ふんぞり返ってるの?
イイ歳した大人が虎の威ならぬ厨の威を借りて一段高くなれるの?低くならないの?恥ずかしくない?
お前、今まで俺のことをHSPしか使えない基地外とか繰り返し叫んでたウンコ君でしょ?
気になるあの子が振り向いてくれないからって、あの子の目の前であの子の名札つきの
体操服を着てあの子のピアニカをチュアパチュパしゃぶりながらあの子のリコーダーに
ポークビッツを差し込んで教室で待ち構えて本人登場したらポークビッツが健気に膨張
圧迫されて抜けなくなって保健室に運ばれちゃう変態、超ド変態の子供時代を繰り返すの?
タスクバカのことをバカバカエンガチョって指差してきたけど流石にトリップ無しIDコテ厨を
騙るほど堕ちちゃいないだろうと信用してたのに買いかぶりだったみたい。もう大嫌い
0634並列さん ◆dPfetnROQg
2009/03/06(金) 23:55:00ID:oTJ018DT>627は偽物だったのか・・。まあ、もとより俺には、本物が誰なのかよくわからないのだが。
>633を見る限り、なんか内容は支離滅裂だが、それでもあんたの日本語は他の奴よりは
断然読みやすいのでまだ許せる。
日本語の不自由な奴は、ゲームなんか作ってる場合じゃなくて、
もっと先に勉強すべきことがあるだろ、とか思うんだけどな。
0635ID:EEKBitmg ◆HSP4mee/SU
2009/03/06(金) 23:56:33ID:aRzhzssB正確には並行処理じゃないの?
0636ID:EEKBitmg ◆HSP4mee/SU
2009/03/06(金) 23:59:28ID:aRzhzssB支離滅裂なんだ!ちなみに昨日の書き込みには大変な矛盾があるので
訂正したかったが、>>627は俺らしいから彼にやらせてみようと思う
0637名前は開発中のものです。
2009/03/07(土) 00:46:01ID:ZZNOCL1s優先順位がつくばあいもあるから正確には並列とは言えないだろうな。
0638並列さん ◆dPfetnROQg
2009/03/07(土) 00:55:26ID:cewi3IDnその理屈はおかしい。
マルチスレッドのプログラミングでもセマフォで他のスレッド待ったり普通にするじゃん。
処理に順序があろうが無かろうが、並列なものは並列だ。
>>635が並行と言ってるのは、タスクを実行しているスレッド(プロセス)が通例、
1つだけだという理由からだろう。
0639名前は開発中のものです。
2009/03/07(土) 01:06:43ID:ZZNOCL1s並列さんの言ってることは意味が分からん。
処理に順序があれば、同時に実行できないのだから、並列でないだろ。
マルチスレッド≠並列。
煽り専門と名のってたが、嘘ばかりを書き込んでスレの機能を麻痺させる気?
名前変えたら?
0640並列さん ◆dPfetnROQg
2009/03/07(土) 01:17:59ID:cewi3IDn> マルチスレッド≠並列
言葉の定義の問題だから、まあどうでもいいが、まあ普通は
マルチスレッドで実行されている以上、並列だし、あるスレッドが他のスレッドを
待っていてスループットが悪かろうが、並列なものは並列。
処理順序が厳密に定められていて、まったく逐次実行しか出来ないなら、
シングルスレッドと同じか、それ以下のパフォーマンスしか出ないけどな。
実際はゲームのタスクはそこまで処理順序に関しては制約が厳しくないので
いくらでも並列化できる。
0641名前は開発中のものです。
2009/03/07(土) 01:37:59ID:ZZNOCL1s並列ではない。並列な部分もあるってだけ。
今は、「正確には並行処理じゃないの?」と問われていたわけで、
純粋に並列でないなら、正確には並列とは言えない。
だいたい、マルチスレッド云々は実装レベルでの話しだし。
タスクシステムがアーキテクチャ的に並列処理かどうかとは関係ない。
0642名前は開発中のものです。
2009/03/07(土) 01:42:09ID:ZZNOCL1sコーヒー牛乳は正確には牛乳か→NO
タスクシステムは並列的か?→YES
タスクシステムは正確には並列か?→NO
0643並列さん ◆dPfetnROQg
2009/03/07(土) 01:58:35ID:cewi3IDn> 今は、「正確には並行処理じゃないの?」と問われていたわけで、
> 純粋に並列でないなら、正確には並列とは言えない。
この文章、意味不明だ。この文章、俺の解釈では↓こうだ。
今は、「正確には並行処理じゃないの?」と問われている。
スループットが1以下の並列実行なんて並列実行には含まれないので
「正確には並列」とは言えないので、単なる「並行処理」と見なすべきだから、
この「正確には並行処理じゃないの?」は正しい。
もし、そういう意味で書いているなら、俺は別に反対意見は唱えていない。
しかしそれなら>>637の書き方が悪い。
「優先順位がつくばあいもあるから正確には並列とは言えない」
だと、「優先順位がときどき偶発的について、そのときに限り並列性が落ちるから
並列とは言えない」と読める。だから俺は>>638のように反論した。
>>637は、正しくは
「優先順位がつく場合、並列化が難しく、並列度が極端に低下して、単一スレッドで実行
しているのと変わらないから、並列と呼ぶべきではない」と言うべきだっただろう。
しかし、俺はそうは思わない。
処理に優先順位がついていようが並列度を上げることは十分可能だからだ。
0644名前は開発中のものです。
2009/03/07(土) 02:03:29ID:LbywpZ2h0645名前は開発中のものです。
2009/03/07(土) 02:08:20ID:cMprZFoi見苦しいです
0646並列さん ◆dPfetnROQg
2009/03/07(土) 02:10:52ID:cewi3IDn見苦しいか?ふむ。
それなら、日本語の不自由そうな奴に絡むのはもうやめるわ。疲れるだけだ。
0647名前は開発中のものです。
2009/03/07(土) 02:23:08ID:ZZNOCL1s>だと、「優先順位がときどき偶発的について、そのときに限り並列性が落ちるから
>並列とは言えない」と読める。
優先順位がときどき偶発的について、そのときに限り並列性が落ちることがあるから、
正確には並列とは言えない、であってるよ。
タスクシステムは正確には並列か?という命題に対して、
タスクに優先順位が付く場合を判例に挙げたまで。
処理に優先順位が付く場合、理論的にピュアな並列処理とは言えないからな。
完全な並列性とは、なにをどの順で実行しても構わない場合のみ。
0648名前は開発中のものです。
2009/03/07(土) 02:47:03ID:ZZNOCL1s自分がまともに日本語を扱えないくせに。
>>643とか、これ日本語ですか?
Q:タスクシステムは正確には並列か?
A:タスクの処理の優先順位をサポートするタスクシステムの場合には、
タスクの処理に順序が出来るので、この場合は正確には並列とは言えない。
たったこれだけのことが何で分からないのか。
彼はこの問題を実装レベルの並列度の話に持ち込もうとするが、
そもそも、すべてのタスクを同時に実行できるハードが存在しない現状で、
実装レベルでの並列性をもってして、
「タスクシステムが正確には並列かどうか」を判断するのはナンセンス。
なぜならタスクシステム自体による制限よりも、
ハードウェアによる制限の方が先に現れるから。
0649並列さん ◆dPfetnROQg
2009/03/07(土) 02:49:57ID:cewi3IDn> タスクシステムは正確には並列か?という命題に対して、
だが、あんたは、>>635を誤解している。
635は
> 正確には並行処理じゃないの?
と書いてあって、並行ということはconcurrentなのだから、スループットは1倍を絶対に超えない。
635を書いた本人は、「タスクシステムの構造ではスループットは1倍を絶対に超えない」ので
「並行処理と呼ぶほうが正しいのではないか」と言ってるわけ。
それなのにそれに対する受け答えとして、あんたは、>637で「スループットがN倍になっていなければ
pureな並列とは呼べないので並行ではない」と言っている。あんたが「並列度1.0(そんなもの現実的に
存在しないんだが)ではない並列」を「並列」とみなさないのはあんたの勝手だが、635に対する返答として
637は、おかしい。
0650並列さん ◆dPfetnROQg
2009/03/07(土) 02:52:08ID:cewi3IDn> Q:タスクシステムは正確には並列か?
> A:タスクの処理の優先順位をサポートするタスクシステムの場合には、
> タスクの処理に順序が出来るので、この場合は正確には並列とは言えない。
> たったこれだけのことが何で分からないのか。
Qが間違っている。誰もそんなQをしていない。詳しくは>>649
0651並列さん ◆dPfetnROQg
2009/03/07(土) 03:03:47ID:cewi3IDnどうか、ID:EEKBitmg ◆HSP4mee/SU は、 ID:ZZNOCL1sの相手をしてやって欲しい。
ID:EEKBitmg ◆HSP4mee/SU の書く内容は、技術的に間違ってることも多々あるし、態度も生意気だけど、
日本語は意味明瞭だし、技術用語の使い方も比較的正しいので俺としてはかなり好感が持てる。
まあ、勉強熱心なんだろうな・・。
0652名前は開発中のものです。
2009/03/07(土) 10:03:00ID:8u/3vapKhttp://docs.sun.com/app/docs/doc/819-0390/mtintro-6?l=ja&a=view
0653名前は開発中のものです。
2009/03/07(土) 10:21:13ID:ZZNOCL1s逆に、並列化不可能なら、並行でない。
というか、むしろ今まで並行の意で並列と言っていたのだが。
>スループットがN倍になっていなければ
>pureな並列とは呼べないので並行ではない
は正しい。
順序がある処理は並行ではない。
0654名前は開発中のものです。
2009/03/07(土) 10:22:50ID:ZZNOCL1s俺はこっちかな。
0655名前は開発中のものです。
2009/03/07(土) 10:43:57ID:8u/3vapK同じだとおもうけどw
>順序がある処理は並行ではない。
いや、順序があっても並行は並行だろう。
ID:ZZNOCL1sは効率的でない並行/並列は役に立たないんだから、
仰々しく「並行」だの「並列」だの言うな、と主張しているように見えるなあ。
ID:ZZNOCL1sは実践的な話をしていて、
並列さんは字面通りの一般的な並列の定義に沿って話しているだけに見える。
というのは深夜の時点で並列さんも悟っているように見える。
0656名前は開発中のものです。
2009/03/07(土) 10:53:23ID:ZZNOCL1s>「タスクシステムの構造ではスループットは1倍を絶対に超えない」ので
並行化によって待ち時間が減ったりするので、スループットは向上するが、
1倍の基準点が不明。
0657並列さん ◆dPfetnROQg
2009/03/07(土) 10:57:38ID:cewi3IDn> というか、むしろ今まで並行の意で並列と言っていたのだが。
あんたは、全然話にもならない。
専門用語を勝手に本来と違う意味で使っておいて
相手に日本語が読めないだの何だの言うのは本当、勘弁して欲しい。
0658名前は開発中のものです。
2009/03/07(土) 11:06:08ID:ZZNOCL1s順序がある処理は並行化できないよ。
例えば、処理Aと処理Bがあって、
BはAの後でないと実行不可だとする。
この場合、AとBを並行に処理することは出来ない。
0659名前は開発中のものです。
2009/03/07(土) 11:06:20ID:cMprZFoi> ID:ZZNOCL1sは効率的でない並行/並列は役に立たないんだから、
そんな話じゃないでしょうに…
あと
>並列さん
>悟っている
なんか気持ち悪いです
0660並列さん ◆dPfetnROQg
2009/03/07(土) 11:13:36ID:cewi3IDn> 順序がある処理は並行化できないよ。
それぞれのタスクを逐次処理しようが、それは並行処理って言うんだが。
ある瞬間に一つしか実行していなければ並行。それがconcurrentの定義。
本当、専門用語を勝手に意味を作り替えんなと言いたい。
>>659
気持ち悪いのはお前。お前はいらない子だから死んでくれ。
0661名前は開発中のものです。
2009/03/07(土) 11:17:08ID:ZZNOCL1sお前も、並列処理は並行処理の部分集合だということをおさえられていなかっただろ。
>並行ということはconcurrentなのだから、スループットは1倍を絶対に超えない。
↑何に対する1倍かはしらないがな。
0662並列さん ◆dPfetnROQg
2009/03/07(土) 11:25:40ID:cewi3IDn>>並行ということはconcurrentなのだから、スループットは1倍を絶対に超えない。
>↑何に対する1倍かはしらないがな。
そこが読めてないのお前だけだろう。
「concurrentな処理は、Nコアであっても、単一コアで実行したときの1倍以上のスループットが出ない」の意味。
0663並列さん ◆dPfetnROQg
2009/03/07(土) 11:31:14ID:cewi3IDn> お前も、並列処理は並行処理の部分集合だということをおさえられていなかっただろ。
どこをどうやればそう読めるのか俺は知りたい。
並行処理と並列処理との差はある瞬間に、タスクを実行しているスレッド(プロセス)が
単一か複数かの差のみ。そんなことは誰でもわかっている。
その用語を勝手に違う意味に使ってたのはあんただろ。
俺には、頭がおかしいとしか思えない。
その頭のおかしいあんたを唯一擁護しているのは ID:cMprZFoi だけ。
こいつは、あんたが書き込みした直後にしか出てこない。どうせこれもあんただろ。
0664名前は開発中のものです。
2009/03/07(土) 11:36:14ID:92TsYx3Xフレームワークなら並列云々の話になると思うが…
あれもタスク進化系の一種なのか?ちょっとタスクって守備範囲広すぎ。
あれはコア数がパフォーマンスに直結する造りだね。
順序の依存性のある処理と無い処理をグループ分けして、並列で問題ないケースは複数コアで同時計算。
順序の依存性がある処理との同期スケジューリングをフレームワークが管理って感じで。
ゲーム中には依存性のある処理と無い処理があるから、まぁ複数コアを有効に使おうと思うと
こんな感じな設計に行き着くんだろうね。
0665並列さん ◆dPfetnROQg
2009/03/07(土) 11:40:55ID:cewi3IDnHSP使いのプログラミング経験の浅い世間知らずのクルクルパーだが、
そのわりには用語の使い方はまともだし、勉強もよくしていると思っていた。
俺は専門用語を勝手に俺解釈の用語とすり替えて話す奴とは
面倒くさいので話をしたくない。
このスレはどうせみんな常駐してるようなもんなんだから、みんなコテハン
にすればいい。それそれぞれが嫌な奴をNGリストに入れておけばいいと思うんだがな。
そんなわけで ID:ZZNOCL1sは俺をNGリストに入れておいてくれ。
お前と話をするのは疲れる。
0666名前は開発中のものです。
2009/03/07(土) 11:49:53ID:ZZNOCL1sいや、単純に考えて、処理に依存関係があると、並行処理できないだろ。
実際OSなんかは各スレッド間に依存関係が無いものと見なして並行処理しているわけで。
0667名前は開発中のものです。
2009/03/07(土) 11:52:30ID:8u/3vapKそれが実質直列だってことは分かるんだけど。
とりあえず、俺が何を考えているのかと言うと、
動き方が実質直列であっても、それぞれ別のスタック領域を持ってる点が違うだろ?
別々のコンテキストを持っている。
その辺を区別するのに「実行効率ゼロの並行」も俺は並行と呼んでただの直列と区別していた。
要するに俺はコアが何個でそのPCがどこ指してるのって部分だけで並行か並列かって言ってた。
んで、一般的定義はどうなのと思ってググった先を見てみると、
コンテキストがどうのというのは論点じゃ無いような気がしてきた。
もうちょい調べてみるわ。
0668並列さん ◆dPfetnROQg
2009/03/07(土) 12:05:02ID:cewi3IDn> いや、単純に考えて、処理に依存関係があると、並行処理できないだろ。
あんたの「並行処理」について持ってる勝手なイメージは知らんが、
優先順位がついていてそれぞれのタスクを逐次的に処理していく場合も
(そのタスクが終了後に消滅しないなら)「並行処理」と呼ぶ。
http://en.wikipedia.org/wiki/Concurrent_computing
> Concurrent programs can be executed sequentially on a single processor
> by interleaving the execution steps of each computational process
「並行プログラムは、それぞれの計算プロセスを実行箇所をインターリーブしながら
シングルプロセッサによって逐次的に実行される」
計算プロセス間の依存性とか、効率とかそんなことは並行処理の定義とは
何ら関係がない。
・実行箇所をインターリーブしながら(タスクからリターンしてもタスクは
通例存在していて)
・シングルプロセッサによって(ある瞬間を見たときにつねにひとつの
プロセッサしかタスクを実行していない)
この二つを満たしているなら、並行処理。
0669名前は開発中のものです。
2009/03/07(土) 12:09:24ID:ZZNOCL1sどこにそんな定義があるんだ?
0672名前は開発中のものです。
2009/03/07(土) 12:26:24ID:ZZNOCL1shttp://ja.wikipedia.org/wiki/%E4%B8%A6%E8%A1%8C%E8%A8%88%E7%AE%97
>タスク群は1つのプロセッサ上で動作する場合、複数プロセッサ上で動作する場合、
>ネットワークを介した分散システムで動作する場合が考えられる。
663 名前:並列さん ◆dPfetnROQg [sage] 投稿日:2009/03/07(土) 11:31:14 ID:cewi3IDn
並行処理と並列処理との差はある瞬間に、タスクを実行しているスレッド(プロセス)が
単一か複数かの差のみ。そんなことは誰でもわかっている。
Wikipediaの人は分かってないみたいですよ。
注意してきたらどうなんですかね。
0673名前は開発中のものです。
2009/03/07(土) 12:42:43ID:ZZNOCL1s>計算プロセス間の依存性とか、効率とかそんなことは並行処理の定義とは
>何ら関係がない。
だから、並行処理では処理の依存性は考えない=依存性は扱わない=依存性は扱えない。
扱わないのは扱えないから扱わないの。
実際のOSなんかでも、スレッド間の処理の依存性は扱わない。というか扱えない。
各スレッドを並行と見なして実行する。
処理に依存性がある場合はプログラマが自前で同期オブジェクトとかつかってシコシコやる。
一方、タスクシステムでは処理の依存を優先順位という形で明示的に扱うのが一般的。
各タスクを並行とみなしているわけではない。
0674名前は開発中のものです。
2009/03/07(土) 12:44:25ID:92TsYx3X並行・並列処理の単語の定義のスレになってるな。
自然言語の単語の定義なんてどこまでいっても曖昧なのに…
自分の言う「臭い」と他人の言う「臭い」が同じという保障なんて誰にも出来んよ
確かなのは人工言語で書かれたソースのみ。
0675並列さん ◆dPfetnROQg
2009/03/07(土) 12:44:25ID:cewi3IDnざっと見たけど日本語のwikipediaのほうは、ひどいな。
これとか
> 並行性のための構造を備えた最も一般的な言語はJavaとC#である。
なんでだよと突っ込みを入れたくなる。
これ書いてる奴は、thread生成が出来るからJavaとC#を入れてるんだろうけどひどいにもほどがある。
C#のyieldによるcontinuationは確かに並行スレッドなんだが、それならJavaを含めるのはおかしい。
日本語のwikipediaの「並行性」の項目もひどいな。なんだよこれ。
ちょっとwikipedia行って暴れてくるわ。
0676並列さん ◆dPfetnROQg
2009/03/07(土) 12:47:15ID:cewi3IDn> 自然言語の単語の定義なんてどこまでいっても曖昧なのに…
専門用語は、限りなくstrictに定義されてるべき。
そうじゃなきゃ論文とか意味のないものになってしまう。
0677名前は開発中のものです。
2009/03/07(土) 12:50:58ID:ZZNOCL1swikipediaを引用しているようだが、途中で切れているようだが。
>「並行プログラムは、それぞれの計算プロセスを実行箇所をインターリーブしながら
>シングルプロセッサによって逐次的に実行される」
の後ろには、実際には
or executed in parallel by assigning each computational process to one of a set of processors
that may be in close proximity or distributed across a network.
が続いている。
自分の都合の良いところだけを掻い摘んで引用する根性の悪さ。
結局、
>並行処理と並列処理との差はある瞬間に、タスクを実行しているスレッド(プロセス)が
>単一か複数かの差のみ。そんなことは誰でもわかっている。
は間違い。
0678並列さん ◆dPfetnROQg
2009/03/07(土) 12:52:11ID:cewi3IDn> 実際のOSなんかでも、スレッド間の処理の依存性は扱わない。というか扱えない。
それはダウト。
実際のOSにはプロセスのpriorityがあって、それに従ってスケジューリングされる。
割り込みなんか特にそう。あるプロセスの実行が他プロセスの実行より優先されることは多々ある。
キーボードイベントが発生したら、その処理が優先される。そこには明確な実行順序がある。
そんな機能すらない、もっとprimitiveなOSの話をしているなら、まあそれはそれでいいけど
「実際のOS」と書かれるとWindowsやらLinuxやらを想定しているのかと俺は思ってしまう。
0679名前は開発中のものです。
2009/03/07(土) 13:02:13ID:ZZNOCL1sお前がひどいという日本語版の、
「並行性のための構造を備えた最も一般的な言語はJavaとC#である。」
は英語版のページにある
「Today, the most commonly used programming languages that
have specific constructs for concurrency are Java and C#. 」
の訳なわけだが。
そしてその英語版のページを引用して、
「これが並行処理の定義だ!」と言っていたのがお前なのだが。
さらにその引用も自分の都合のいいところだけを引用するという正確の悪さ。
「〜又は〜」と書いてあるのに、「又は」以降をバッサリカット。
0680名前は開発中のものです。
2009/03/07(土) 13:05:44ID:ZZNOCL1sプロセスのプライオリティーは必ずしも守られるわけではない。
あれは、CPUリソースに対する優先順位であって、処理に対する依存関係を表すものではない。
現にマルチプロセス環境だと、プライオリティーの高いものと低いものが同時に実行される。
0681並列さん ◆dPfetnROQg
2009/03/07(土) 13:05:45ID:cewi3IDnそれなぁ、「executed in parallel」以下は敢えて省略した。
これを「根性の悪さ」と言われるのはわからないではないが、いま俺が問題としているのは、
「concurrent thread」 とか「parallel thread」というときのconcurrentとparallelの意味の違いだ。
「concurrent computing」という学問分野があって、その学問分野は広範で
いわゆる分散コンピューティングみたいなことまで研究対象としている。
本来、concurrentの定義にparallelとか出てくるのはおかしいのだが(それだとconcurrentとparallelとの
差が無くなってしまう)、「concurrent computing」の分野においては、「concurrent program」の意味は、
かなり拡大解釈されている。だから、その部分をはしょった。
「concurrent computing」のconcurrentを援用するのがあまり良くなかったと言われれば、まあ、それはそうなのだが。
0682名前は開発中のものです。
2009/03/07(土) 13:09:34ID:Fbn5zOAB並列(parallel)は、複数の計算を物理的に同時に実行できることを表す。
んじゃないの?
独立した概念(関連はあるけど)なんだから、>>660の
>ある瞬間に一つしか実行していなければ並行。それがconcurrentの定義。
はおかしいと思う。
concurrentに作っておけば、parallelに実行しやすいんだし。
0683並列さん ◆dPfetnROQg
2009/03/07(土) 13:17:17ID:cewi3IDnうむ、それは正しい。
>>682
ああ、そうか。そういう意味では、660はおかしいし、書き方が悪いな。
これについては反省。すまんかった。> ID:ZZNOCL1s
0684名前は開発中のものです。
2009/03/07(土) 13:19:11ID:ZZNOCL1s0685名前は開発中のものです。
2009/03/07(土) 13:20:00ID:ZZNOCL1s0686並列さん ◆dPfetnROQg
2009/03/07(土) 13:24:11ID:cewi3IDn> 並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。
> 並列(parallel)は、複数の計算を物理的に同時に実行できることを表す。
この定義に基づいて古典的なタスクシステムのタスクについて語ると
・古典的なタスクシステムのタスクは、「並行」。
・実行順序に厳しい制約があるとみなすなら、「並列」化はできない。
ところが実際のゲームでは、タスク間に依存関係がない部分が結構あるので
部分的に「並列」化できる。
この「並列」化によって、コア数N×0.7ぐらいのパフォーマンスは出る。
で、この「並列」化を古典的タスクシステムを進化(?)させて書けるようにすれば
いいということだな。
0687並列さん ◆dPfetnROQg
2009/03/07(土) 13:24:58ID:cewi3IDn俺のことは、NGリストに入れておいてくれ。
最初に682のように書いてもらえれば、俺はすぐに理解できたのだが。
0688名前は開発中のものです。
2009/03/07(土) 14:32:04ID:NOayWFQU0689名前は開発中のものです。
2009/03/07(土) 14:39:01ID:ZZNOCL1s>並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。
これに付け加えて、並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、
必要だと考えている。
並行性
http://ja.wikipedia.org/wiki/%E4%B8%A6%E8%A1%8C%E6%80%A7
だから、
1.並行でなければ並列化できない。
2.タクスの処理順位を考慮するようなタスクシステムは、すべてのタスクが互いに並行というわけではない。
3.ゆえに、タスクシステムを並列化するならば、並行なタスク同士を抽出する必要がある。
と考え、
さらに、タクスの処理順位を考慮するようなタスクシステムは「並行でない」と考える。
0690名前は開発中のものです。
2009/03/07(土) 15:29:42ID:8u/3vapK俺もこう思ってた。
んでそうハッキリ書いてある資料を探してるんだけど、見つからない。
>並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、必要
次からこっちの定義で話すわ。
0691名前は開発中のものです。
2009/03/07(土) 15:37:28ID:92TsYx3X>さらに、タクスの処理順位を考慮するようなタスクシステムは「並行でない」と考える。
MTフレームワークは処理順の依存の有無でタスク分けてマルチコアで同時に複数タスク動かしてるけど
これは処理順位を考慮するシステムだから「並行でない」のかな?
0692名前は開発中のものです。
2009/03/07(土) 15:42:35ID:ZZNOCL1s>並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。
だと、いわゆるオブジェクトと呼ばれるものは全部並行ってことになっちまうだろ。
コンテキストが同時に存在できないオブジェクトなんて、まあ無いからな。
言葉としての意味が無くなる。
0693名前は開発中のものです。
2009/03/07(土) 15:56:08ID:ZZNOCL1sもしはじめから並行なら、MTフレームワーク自体いらないでしょ。
0694名前は開発中のものです。
2009/03/07(土) 16:00:29ID:92TsYx3X>もしはじめから並行なら
どこにそんな前提が?
0695名前は開発中のものです。
2009/03/07(土) 16:36:27ID:E0xOAlNR>これに付け加えて、並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、
ある計算の、ある時点における実行状態を表現したものを、コンテクストと呼ぶんじゃないの?
>並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。
と同じ事を言ってるだけのような。
>1.並行でなければ並列化できない。
は違うと思う。
並行でない命令列も、依存関係が無ければ並列化できる。
現にCPUの中でシリアルセマンティクスを満たしつつ並列実行が普通におこなわれている。
そういう命令列は本質的に並行だった?違うでしょ?スーパースカラで並列に実行される命令は、
異なるコンテクストを持ってるわけじゃないんだから。
あと細かいことだけど、順位と順序は全然意味違うんだから、
ちゃんと使い分けてくれないと読み辛いよ。
0696名前は開発中のものです。
2009/03/07(土) 18:22:05ID:UcXZ5wF9くる値によって依存関係があるかもわからんしないかもわからん
ごった煮だとそういうソースになってしまうな
0697名前は開発中のものです。
2009/03/07(土) 18:30:21ID:rbzzI5lu↑(・∀・)↑
ウンコちゃんインしたお
0698名前は開発中のものです。
2009/03/08(日) 18:34:25ID:ryll+mdy> >これに付け加えて、並行の条件には、複数のコンテクストが論理的に同時に実行可能であることも、
> ある計算の、ある時点における実行状態を表現したものを、コンテクストと呼ぶんじゃないの?
> >並行(concurrent)は、複数のコンテクストが論理的に同時に存在できることを表す。
> と同じ事を言ってるだけのような。
例えば、コンテクストが共有されている場合などでは、
コンテクストは同時に存在できるが、同時に実行はできない。
具体的には、オブジェクトAがオブジェクトBの参照を内部に保持している場合など。
オブジェクトAはオブジェクトBとコンテキストを共有しているということになり、
オブジェクトAとオブジェクトBは同時に存在できるが、同時に実行は出来ない。
>並行でない命令列も、依存関係が無ければ並列化できる。
並行でない命令列の中でも、依存関係が無い並行な部分だけは並列化できる。
並列化とは、並行に処理することだから、並行な処理しか並列化できない。
自動並列化
http://ja.wikipedia.org/wiki/%E4%B8%A6%E5%88%97%E5%8C%96
>プロセッサで「並行」に実行されるようにする。
スーパースカラ
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%A9
>プロセッサ内の冗長な実行ユニットを使って「並行」して処理される。
0699名前は開発中のものです。
2009/03/08(日) 18:39:37ID:ryll+mdyヒント:背理法
0700698
2009/03/08(日) 19:26:02ID:ryll+mdyコンテクストが共有されていても、read-onlyな場合は並列化可能だね。
書き込みするとアウトだけど。
0701名前は開発中のものです。
2009/03/08(日) 19:27:58ID:0j+yjPijなんか色々と変だよ。
>例えば、コンテクストが共有されている場合などでは、
>コンテクストは同時に存在できるが、同時に実行はできない。
共有されているのに同時に存在するってどういう意味?
コンテクストはいくつあるの?
>具体的には、オブジェクトAが(以下この段落略)
オブジェクトとコンテクストがごっちゃになってる。
オブジェクトAがオブジェクトBへの参照を内部に保持していても、
コンテクストがいくつあるのかという問題とは関係無いよ。
オブジェクトAとBを同時に実行はできない?オブジェクトを実行するってどういう意味?
この辺は、>>692の勘違いと同じ匂いがする。
てか>>692さんなのかな。
0702名前は開発中のものです。
2009/03/08(日) 19:30:14ID:0j+yjPij701の続き。
>並行でない命令列の中でも、依存関係が無い並行な部分だけは並列化できる。
「依存関係が無い部分」を「並行な部分」とは呼ばないよ。
いや呼ぶのは自由だけど、少なくとも聞いたことないよ。
いや聞いたことないだけかもしれないけど。
>並列化とは、並行に処理すること(以下略)
×。
もうちょっと詳しく言うと・・・
「並列化とは、並行に処理すること」
という言葉それだけを見るなら、○。
でも、そこに出てくる「並行」という言葉は、並列という言葉を説明するための
「(同時)並行」という意味であって、このスレでここまで長々と議論してきた
並行(concurrent)とは意味が違うよ。
(「並列」を説明するのに「並列」と言っても仕方が無いからね)
二つ挙げてくれたwikipediaの説明に出てくる「並行」も、同じように「並列」を
説明するための「並行」であって、ここに引っ張り出してきても意味が無いよ。
0703名前は開発中のものです。
2009/03/09(月) 12:41:05ID:2btSBxrR0704名前は開発中のものです。
2009/03/09(月) 13:31:41ID:+h98nuCN0705名前は開発中のものです。
2009/03/09(月) 14:16:42ID:EugqMYhT0706ID:EEKBitmg ◆HSP4mee/SU
2009/03/10(火) 01:19:32ID:W7jNDZ1N=『擬似並列動作』のことを云いたかったの!微妙に書き間違えてた?と書こうと思ったら
>>637-以降で怖いおじちゃん達が深夜の泥沼バトルが展開されてあれよあれよと言う間に
みんな深淵の彼方へ飛んでいってしまった。ニーチェの警告に耳を傾けない者はみんな
闇に飲まれちゃうんだ。恐ろしいことだ
0707ID:EEKBitmg ◆HSP4mee/SU
2009/03/10(火) 01:20:59ID:W7jNDZ1Nところが>>632のタスクシステムは直列処理ではなくどっちかっつーと『並列』らしい。
たぶん>>632の云うタスクシステムは>>2とは別物か、あるいは並列ではなくて
『擬似並列動作』とか『並行動作』のことをいってるのかなーとESPした。それが>>635
>>2の『システム(笑)』部分が提供するものは
・粗末な侵入式の連結リスト
・それを周期的にナメナメしてディスパッチするショボイ仕掛け
だけ。>>2はこの『システム』部分をユーザー定義の逐次処理・直列処理に使ってるけど
ユーザー定義の並行動作に使うこともできるっちゃできる
例えば組み込みシステムでは、異なる割り込みハンドラからの指示でスリープ状態から
復帰するタスクとかあるからね
0708ID:EEKBitmg ◆HSP4mee/SU
2009/03/10(火) 01:36:39ID:W7jNDZ1Nタスクとして登録してるとする。(そんな無駄なことしたくないけど、する奴もいるだろう)
破片・パーティクルのタスクは他のタスクとの作用なんてないとする。ならばこれらは
確実に並行動作してる
逐次処理・直列処理で並列動作してる。だが並列動作じゃない
0709ID:EEKBitmg ◆HSP4mee/SU
2009/03/10(火) 01:37:17ID:W7jNDZ1N×逐次処理・直列処理で並列動作してる。だが並列動作じゃない
○逐次処理・直列処理で並行動作してる。だが並列動作じゃない
0710ID:EEKBitmg ◆HSP4mee/SU
2009/03/10(火) 02:18:01ID:W7jNDZ1N一本の連結リストにみんなチャンポンにしてぶち込んでる時点で
別スレッドで同時並行的に弄繰り回されるということを考えてないだろ
タスク間通信に必要な同期のメカニズムを提供していないのもそう
シングルスレッドで逐次処理するという前提だからバッサリ省いてる
次に、>>2のTCB(笑)とかいう構造体のプライオリティというパラメータは
priority-rankingではなくpriority-sequenceとして使われており、異様。
これは処理順序を表しており、この順序でソートして順次処理される
そういう前提でタスク(ジョブ)の内容を記述してる。順序が狂ったら動かない
0711名前は開発中のものです。
2009/03/10(火) 12:53:53ID:GPL7IZe+>ユーザー定義の並行動作に使うこともできるっちゃできる
できるっちゃできる、じゃなくて、ゲームオブジェクトの並行動作を記述することが
そもそもタスクシステムの目的なんじゃないの?
オブジェクトごとのデータとコンテクストをひとまとめにして自律的な行動を
自然(←人によって感じ方は違うだろうけど)な形で書ける(気分になれるw)ことと、
オブジェクトの生成破壊が多くてフラグメントを起こしがちなゲームにおいてデフラグを扱えること、
の2点を、素朴な形で実装したのがタスクシステムの良い点だったと思うんだけど。
>>710
>>>2のシステム(笑)はなんで並列動作できないの?
特定プライオリティがついているオブジェクト群は他との相互作用が無いと決めておいて、
それらを並列動作させることはできるんじゃないの?
(そういう番号をプライオリティと呼ぶことの是非は別として)
別に誰も、全てのタスクを並列動作させることなんか最初から期待してないと思うけど。
かなり上の方に出てた自動的に並列動作させる云々の話も、そういうプライオリティの
タスクに限って、プロセッサ数に合わせて並列でディスパッチするような拡張も考えられる
のではないか、という話だったと理解してたんだけど。
0712名前は開発中のものです。
2009/03/10(火) 14:14:14ID:arIRXx6m> ゲームプログラム本体のコードは、OSのコードと同じように、
> 整数演算中心で小さな範囲での並列しかできず、
> 基本的には逐次実行しなければならないコードがほとんどだ。
これが古臭いタスクのことを指しているとは考えられないし
並列ネタはタスク関係無くね?
0713名前は開発中のものです。
2009/03/10(火) 17:38:59ID:DtkxsGymシングルプロセッサが前提の時代に書かれた物に難癖つけるのも大人げないと思う
ていうか俺は現在でもマルチスレッドなんてやりたくない
0714名前は開発中のものです。
2009/03/10(火) 18:22:37ID:9N7ATqdV裏でローディングしながらゲーム動かすなんて別に難しくもなんともねーし
ただ、ゲームオブジェクトにやる意味は無さそうだけどね
0715名前は開発中のものです。
2009/03/10(火) 18:42:31ID:+MsrlA3X0716名前は開発中のものです。
2009/03/10(火) 19:16:57ID:9N7ATqdVやってみりゃいいじゃん
0717名前は開発中のものです。
2009/03/10(火) 19:47:23ID:+MsrlA3Xやってみた
ガックガクになった
0718名前は開発中のものです。
2009/03/10(火) 20:01:50ID:9N7ATqdV0719名前は開発中のものです。
2009/03/10(火) 21:27:13ID:LXtgug0h0720名前は開発中のものです。
2009/03/10(火) 22:07:24ID:OHC3eltB普通非同期アクセスするだろ。
JK
0721名前は開発中のものです。
2009/03/10(火) 22:48:52ID:GPL7IZe+>特定プライオリティがついているオブジェクト群は他との相互作用が無いと決めておいて、
は、オブジェクト群じゃなくてタスク群と書くべきだったね。
なんか混ざっちゃった。
>>715
自分も昔から気になってた。
ゲーム機で、ディスク(に限らず)からのデータ転送を非同期にやったりすると、
消費されるメモリ(あるいはバス)バンド幅の変化が計算しづらくなったりしないのかな。
それともDMAとかで消費されるバンド幅は、割と安定して予測できるもんなんだろうか。
その辺を実際にいじった経験が無いし、Web上でも情報を見た覚えが無いから分からないんだ・・・。
0722名前は開発中のものです。
2009/03/10(火) 23:19:25ID:DFTfic3i> ゲーム機で、ディスク(に限らず)からのデータ転送を非同期にやったりすると、
> 消費されるメモリ(あるいはバス)バンド幅の変化が計算しづらくなったりしないのかな。
もちろん、なる。
だから RPG のように「どうしても間に合わなかったらフレーム描画をスキップしてもおk」な
ゲームでは使うが、対戦格闘とかだと避ける。
0723名前は開発中のものです。
2009/03/10(火) 23:58:04ID:OHC3eltB0724ID:EEKBitmg ◆HSP4mee/SU
2009/03/11(水) 00:28:43ID:xmrBPpjK厨はそもそものタスクシステムなんて知らないから、そもそもの目的も知らない
厨が目にすることができる資料から分かること。それは
ジョブ1を分割したものをタスクT11,T12,T13,…,T1jとし、ジョブ1を逐次処理したい
ジョブ2を分割したものをタスクT21,T22,T23,…,T2jとし、ジョブ2を逐次処理したい
ジョブ3を分割したものをタスクT31,T32,T33,…,T3jとし、ジョブ3を逐次処理したい
・・・
ジョブi を分割したものをタスクTi1 ,Ti2 ,Ti3 ,…, Tijとし、ジョブi を逐次処理したい
──順次処理─→
WAIT_VBLANK then execute[T11,T21,T31,…,Ti1] │逐
WAIT_VBLANK then execute[T12,T22,T32,…,Ti2] │次
WAIT_VBLANK then execute[T13,T23,T33,…,Ti3] │処
… │理
WAIT_VBLANK then execute[T1j ,T2j ,T3j ,…,Tij] ↓
以上が>>2の『システム』部分がやってくれること
0725ID:EEKBitmg ◆HSP4mee/SU
2009/03/11(水) 00:38:10ID:xmrBPpjKこれだけ見ると協調的に並行動作させることが「できる」仕組みと分かる
でも、>>2で紹介されるこれの使い方のお手本、つまりタスクの中身を見ると
何か怪しげなことしてる。走査回数とメモリ消費をケチるためにプライオリティ
というものを使ってる。以前に出てた話だけど、something(t+Δt)を求めるために
参照する外部情報が狂ってる。上図の横方向の前後関係に依存させてしまってる
本来なら並行であるはずの関係を直列の関係にしてるというか、なんていうの?
並列化してリプレイ情報を食わせたら結果が変わってしまうでしょ
並行動作というかフェイク並行動作してるんだよね
0726ID:EEKBitmg ◆HSP4mee/SU
2009/03/11(水) 00:58:38ID:xmrBPpjK>オブジェクトの生成破壊が多くてフラグメントを起こしがちなゲームにおいてデフラグを扱えること
これって何?GCしてるの?どういうタイミングで?
それってメモリアロケータの都合じゃないの?関係ねー気がする
0727ID:EEKBitmg ◆HSP4mee/SU
2009/03/11(水) 01:12:12ID:xmrBPpjK> ──順次処理─→
>WAIT_VBLANK then execute[T11,T21,T31,…,Ti1] │逐
>WAIT_VBLANK then execute[T12,T22,T32,…,Ti2] │次
>WAIT_VBLANK then execute[T13,T23,T33,…,Ti3] │処
>… │理
>WAIT_VBLANK then execute[T1j ,T2j ,T3j ,…,Tij] ↓
タスクシステムとか仰々しい名前の割りに、それが提供する機能を分析すると
↑みたいな、限りなくどうでもいいことしかしてないということがわかる
これがやりたいなら初めからそう書けばいい。>>2みたいなチンポコリンな実装を
21世紀にもなってタラタラ書くなバーカって思う。寝る
0728ID:EEKBitmg ◆HSP4mee/SU
2009/03/11(水) 02:02:53ID:xmrBPpjK0729名前は開発中のものです。
2009/03/11(水) 02:51:56ID:QLymkmBo>厨はそもそものタスクシステムなんて知らないから、そもそもの目的も知らない
えっとまず始めに確認したいんだけど、「厨」ってのはID:EEKBitmgさんのことでいいのかな?(違ってたらゴメン)
で、「そもそものタスクシステム」の話なんてしてないよ。知ってても知らなくてもどうでもいいよ。
でも「そもそもの目的」は>>2を見れば理解できるでしょ。どれもすごく丁寧で分かりやすい記事だし。
以降、改行箇所は適宜勝手に変更する。ごめん。
>>725
>走査回数とメモリ消費をケチるためにプライオリティというものを使ってる。
いや、走査回数とメモリ消費をケチるためにプライオリティを使ってるわけじゃないと思うんだけど・・・。
>以前に出てた話だけど、something(t+Δt)を求めるために
>参照する外部情報が狂ってる。上図の横方向の前後関係に依存させてしまってる
これはつまり、タスクAの処理結果を見てタスクBの処理をしないといけない場合、タスクシステムだと
AとBのどちらが先(>>724の図で言えば左)にくるのか分からないので困る、って意味かな?(違うかな?)
でもタスクシステムには、Aを必ずBより先に実行させる方法があるよね。それは分かってるよね?
で、タスクBがタスクAに依存してるのだとしたら、それはタスクBの問題(あるいは性質)であって、
タスクシステムの問題とは全く別の話だよ。
>並列化してリプレイ情報を食わせたら結果が変わってしまうでしょ
なんで突然、並列化の話が出てくるの? タスクシステムの目的は並行動作だよね。
これは>>710のおかしい点でもあるんだけど、>>2では最初から並列動作なんか考えてないんだから、
同期処理とかが組み込まれてないのは当たり前だよね。
>並行動作というかフェイク並行動作してるんだよね
並行とフェイク並行の違いって何なんだろう。なんか並行と並列の違いを理解してない匂いがする。
0730名前は開発中のものです。
2009/03/11(水) 02:53:04ID:QLymkmBo>>726
>これって何?GCしてるの?どういうタイミングで?
え、ちょっと待って、>>2の話をしてるんだよね? 本当に>>2読んだ??
ID:EEKBitmgさんの言う>>2って、>>2のうちのどれのこと?
>>2を読んだのかどうかって話で思い出した。>>464の、この部分。
>『型システムを否定している。コンパイラによる最適化を阻害してる。自作ジャンプテーブルで条件分岐は
> 高速化されるという先人のチョイテク・豆知識を天下り式に真似ているのではないか。それは太古の簡素な
> CPUアーキテクチャに依存した公式に過ぎない。定理ではない』
断言してもいいけど、ID:EEKBitmgさんとこの助教授さんは>>2をちゃんと読んでないか、あるいは
頭のネジが足りてないよ。それとも助教授ってこんなもんなのか。知り合いにいないから知らんけど。
ところで課題レポートはちゃんと提出した?
>>727
>タスクシステムとか仰々しい名前の割りに、それが提供する機能を分析すると
ちっとも分析できてないよ・・・。
>↑みたいな、限りなくどうでもいいことしかしてないということがわかる
全く分かってないよ・・・。
0731名前は開発中のものです。
2009/03/11(水) 04:20:03ID:yoM2Y43z若干正確さに欠ける点に目をつむって処理を端しょってたことに勘付いたか
0732名前は開発中のものです。
2009/03/11(水) 07:22:34ID:nhOwJy5wただ、現実はそれに立ちはだかると言うことは知っておいた方がいい。
0733名前は開発中のものです。
2009/03/11(水) 07:26:19ID:NK6nIuY50734名前は開発中のものです。
2009/03/11(水) 08:32:00ID:74bG+9Wettp://www.nicovideo.jp/watch/sm2078250
0735名前は開発中のものです。
2009/03/11(水) 13:15:27ID:wSuVQdvJ適当にクラス作ってリストにして順番に実行
内部では各自カウンタとステート持って勝手にやる、死んだり生きたりはおかしなことにならないようにシステムでええ感じに処理してねー
とまぁ簡単なものならこんなのでいいじゃろ
複雑なのはしらん
0736名前は開発中のものです。
2009/03/12(木) 07:22:55ID:7byKm2pB0737名前は開発中のものです。
2009/03/12(木) 11:49:54ID:Rx7RnDpA0738ID:EEKBitmg ◆HSP4mee/SU
2009/03/12(木) 23:06:36ID:SEPBaONy>なんで突然、並列化の話が出てくるの?
それは『ボクのタスクシステムはどっちかっつーと並列!』と言っていた
>>632のおじちゃんに言ってよね。CodeZineなんて初っ端で並列処理と言い切ってる。
あと生協で逆引きゲームプログラミングとかいう本をパラパラーっと立ち読みしたら
『並列動作システム』とか書いてあったし。『並列処理動作』してるんだって。ゲラゲラゲラー
もうさ、ハッタリかましすぎだよね。説明してる内容と、それを一言で表現するときに
どこかから引っ張ってきた用語が全く一致してないんだよね。厨房を騙くらかそうと必死でしょ
今さっき覚えてきた単語をとりあえずあててみました。みたいな。ちょっとね、おかしいとおもう
その点Logician Lord、White Paper、けんもほろろのページは並列なんて一言も言ってない
上に比べたらまだマシな部類なのかなーと思える。タスクシステム解説つっても千差万別だね
0739ID:EEKBitmg ◆HSP4mee/SU
2009/03/12(木) 23:11:52ID:SEPBaONy知識を広めた人がいたんだろう、というのは厨の俺でもなんとなくわかる。それがギョーカイ
とかいうよく分かんない謎の秘密結社みたいな世界で伝播する過程でおかしなことになって
ミュータントみたいになっちゃってるんじゃない?この人たちが言ってるTCBとかタスクとか
ちょっと変わってるよね
TCBって、ゲーム機よりショボい組み込み機器でもプログラムカウンタとかスタック
アドレスが入ってる。リエントラントな仕組みを提供すんだよね。だから周期タスクは
periodictask()
{
while(1){
dosomething();
rot_rdq();
}
}
みたいな感じで書く。タスクは並行動作できるんだ。でも>>2の『タスク』はできない。
サブルーチンの処理を全て完了しないと処理を返せない。タスク同士は完全に
逐次処理なんだ。擬似並列動作ができない
0740ID:EEKBitmg ◆HSP4mee/SU
2009/03/12(木) 23:24:44ID:SEPBaONyタスクの作り方によっては、複数のジョブ同士の並行動作はできるかもね
>タスクシステムの目的は並行動作だよね。
>>2の話?んなこと俺が知るかっつーカンジ
俺は>>632のどっちかっつーと並列とかいう謎のタスクシステムが
並行動作してるのかなーとESPしてみただけだしー。推測でしかないしー
>>2はふたを開けてみればゲームオブジェクトのUpdateメソッドのディスパッチャー
単なるレディキューだからどうとでも使えるわけだしー
このメソッドの分け方次第で並行動作もできるんだろうね。でも
ゲームオブジェクト一個につきタスク一個とか言ってるページもあるから
ちょっと怪しいね。Update()一個じゃあ、>>725で書いた矛盾にぶつかると思う
0741ID:EEKBitmg ◆HSP4mee/SU
2009/03/12(木) 23:39:16ID:SEPBaONy>>384
>厳密にやるならワークをそれぞれ2つ持って、フレームごとにフリップだろ。
>面倒だったら一つ一つ更新して、n+1がnを参照してもn+1を参照しても対して問題が無い様にするさ。
>どこまで誤差を容認できるか知らんけど。
なんか臭いなぁ、と思ってたのがここ。CodeZineはこの誤差を容認するほうを選んでるよね。
具体的にはEnemyとMyShotの関係。これタスクリストとかいうものの中でごちゃ混ぜになってるでしょ
当たり判定のときに、自機弾って移動速度速いからさ、敵と当たったり当たらなかったりすると思うよ
ぜったい気持ち悪い現象が起きる理不尽ゲーになると思う
0742ID:EEKBitmg ◆HSP4mee/SU
2009/03/12(木) 23:53:29ID:SEPBaONy× 当たり判定のときに、自機弾って移動速度速いからさ
○ 自機弾って移動速度速いからさ
この不快な現象を発生させたくないなら
EnemyとMyShotの実行順序をごちゃ混ぜにしちゃ駄目でしょ
ごちゃ混ぜのままならせめて当たり判定タスクと移動タスクを分けないと
あとさ、必要は無いけど、外部参照されるパラメータは前フレームの状態を
保持したほうがいいよ
例えばロックオンして置き撃ちするときに、targetposition(t)を得るか
targetposition(t+Δt)を得るかがpriorityとかいうものによって変わるって
おかしいでしょ
0743ID:EEKBitmg ◆HSP4mee/SU
2009/03/13(金) 00:03:15ID:w7sHy3uX× priorityとかいうものによって変わる
○ タスクリストの前後関係とかpriorityとかいうものによって変わる
>>730
>>これって何?GCしてるの?どういうタイミングで?
>え、ちょっと待って、>>2の話をしてるんだよね? 本当に>>2読んだ??
>ID:EEKBitmgさんの言う>>2って、>>2のうちのどれのこと?
俺と同い年の人が書いたと思しき記事だからボコりたくなかったけど
流れでそうなっちゃったから堰を切ったように書いてるけどさ
CodeZineの記事は他と比べて相当違うんだよね
メモリ割り当てなんて関係ないのにさ、糞みたいなGCかましてるし
STGであんな処理をかますフレームが不定期に存在するって変でしょ
糞みたいな自前のメモリ割り当てやってるからあんなGCが必要に
なるんでしょ。何のための自前アロケータなんだか分からない
厨的には、あんな糞実装は氏んじゃえって思う
0744名前は開発中のものです。
2009/03/13(金) 00:16:52ID:kkRWD5W+雰囲気つかむだけのサンプルにアホとか言っちゃうのはどうよ?
こういうものは思想だけ頂いて自分の好きなように組んでくれって物じゃないのかね・・・
GCがどうのっていうのも処理落ちしたときにはじめて考えればいい所だし、
ただたんに自分の流儀に合わないから貶すと見えますよ。
0745ID:EEKBitmg ◆HSP4mee/SU
2009/03/13(金) 00:24:04ID:w7sHy3uX>>>2では最初から並列動作なんか考えてないんだから、
>同期処理とかが組み込まれてないのは当たり前だよね。
性格悪いレスになるけど書いちゃえ!
ぶっぶー。並列動作じゃないから同期処理が要らないってのは間違い
>>730
CodeZineの記事のコードってさ、生存中のゲームオブジェクトのアドレスが不定期に変わっちゃうんだよね
あのサンプルってさ、あるゲームオブジェクトのレーダーシステムが特定の目標をロックオンして追跡するとき
どうすんの?
例えばあのサンプルの敵弾ってさ、毎回Playerをタスクリストから探してるんだよね。バカだからさ
priority=1.0のPlayerはタスクリストの一番最後に入ってるのに、先頭からナメて探すの。バカだよね
こんな調子で、ロックオンターゲットも、毎フレーム、タスクリストから探し出すわけ?
多目標同時対処能力を保有する機体が入り乱れたら愉快な処理量になりそうだね
こんなアホなことになるのはさ、糞アロケータの都合で不定期に糞GCかますからでしょ?
あんた>>711で『デフラグができること』を取り上げて
これを素朴な形で実装したのがタスクシステムだとか言ってるけど、素朴って何よ?
明らかに必要ねーことしてるし。バカじゃねーのくたばれバーカバーカって言いたかったけど
ずっと我慢して黙ってたんだ。でももう書いちゃった。
0746ID:EEKBitmg ◆HSP4mee/SU
2009/03/13(金) 00:30:00ID:w7sHy3uXだからずっと黙ってたんじゃん。心情的にはCodeZineの記事は
放置したかったんだけど、擁護派がデフラグデフラグとかいうから
書かざるを得なくなった。HSP使いとしては同じ厨を攻撃するのは遺憾
遺憾の意です。本意じゃありません。ごめんなさい><
0747名前は開発中のものです。
2009/03/13(金) 00:40:01ID:idYT2cwA> だからずっと黙ってたんじゃん。
バカには現実を突きつけてやるしかないんだよ。
0748名前は開発中のものです。
2009/03/13(金) 00:45:14ID:9zwO86zu突きつけても、見えない or 見ようとしないけどな。大抵。
0749名前は開発中のものです。
2009/03/13(金) 01:00:19ID:bP/yrlKMID:EEKBitmgの方が筋は良さそうだが。
>>744
CodeZineの記事は昔論争になったことがあって擁護派らしき人からの批判も多かった。
批判の方が多かったような。
とにかく駄目なものを技術的な説明を沿えて駄目と言うのは良いでしょう。
0750名前は開発中のものです。
2009/03/13(金) 07:26:08ID:2Nwh1Ok5この仕組みじゃどう味付けしたって並列化なんてできやしねぇから
0751名前は開発中のものです。
2009/03/13(金) 10:49:20ID:t4cURNWAまとまってていいね!
ぐらいの感覚なんじゃないの?
腕である人ならいい感じにまとめられるでしょうに
ギャーギャー噛み付くほどのものかねぇ
もしかして、今時のゲームにも導入されたりして被害被ってるの?
0752名前は開発中のものです。
2009/03/13(金) 12:37:20ID:2Nwh1Ok50753並列さん ◆dPfetnROQg
2009/03/13(金) 16:18:33ID:nlP2vU3h> priority=1.0のPlayerはタスクリストの一番最後に入ってるのに、先頭からナメて探すの。バカだよね
それは別にhash使えばO(1)で検索できるんだし、本質的な欠陥じゃないと思うが。
> これを素朴な形で実装したのがタスクシステムだとか言ってるけど、素朴って何よ?
> 明らかに必要ねーことしてるし。
まあターゲット環境とゲームの規模によるけど、何らかの形でデフラグはあったほうがいいと思うよ。
working setを縮小したほうがプロセッサのcache効率が上がるのが普通だし、
タスクシステムはプライオリティ順にタスクに対してアクセスしていくのだから
プライオリティ順にメモリ上に配置されて、アクセスするメモリが連続しているほうが
(memory cacheの観点から見て)断然速い。
タスクシステムどうのという話はおいとくとして、ひょっとして、みんなmemoryのcompactionとか処理を書いてないの?
これを無用の長物みたいに言われると、もう議論の前提が違うとしか言いようがないんだけど。
0754名前は開発中のものです。
2009/03/13(金) 21:00:36ID:kAszbGcIタスクシステムの構造を見れば、これは並行動作を目的としたものだと分かるよね?(分からない?)
その文脈で「並列」という言葉が出てきても、それは並行のことを意味しているとは思わないのかな?
それを書いた人が勘違いしてるのかもしれないし、意識してないのかもしれないし、並行と並行の違いを
知らないのかもしれないし、あるいは文脈上区別の必要が無いと判断したのかもしれない。
いずれにせよ、「並列って言ってるけど並列じゃないじゃん」という批判は、「並列」という言葉を
持ち出した人に対しては当たるかもしれないけど、タスクシステムへの批判としては的外れだよね。
それともID:EEKBitmgさんは、誰かがタスクシステムのことを並列だと書いただけで、タスクシステムの
目的が並列動作だと考えたのかな?
それってタスクシステムのことを理解したうえで批判していると言えるのかな?
あと、用語の使い方が適切でないという点に関しては、ID:EEKBitmgさんも全く人のこと言えないよ。
私自身のスタンスとしては、他人が多少変な言葉を使ったとしてもできるだけその意を汲もうとするし、
逆に自分の言葉はできるだけ分かりやすく正確になるようにしていつもり(あくまでつもりw)だけど、
ID:EEKBitmgさんは全く逆のスタンスなのだろうか? 言葉が不正確なのに、他人の言葉尻は捕らえるよね。
>>739
マルチタスクOS等におけるタスクと、タスクシステムのタスクは設計も目的も意味も違うのに、
それを混同してしまっている、のか混同させようとしているのか分からないけど、このレスはまるまる無意味。
擬似並列動作とかいう怪しげな言葉の意味も分からない。
0755名前は開発中のものです。
2009/03/13(金) 21:03:23ID:kAszbGcI>>タスクシステムの目的は並行動作だよね。
>>>2の話?んなこと俺が知るかっつーカンジ
>俺は>>632のどっちかっつーと並列とかいう謎のタスクシステムが(以下略)
つまり>>2を読んでも、タスクシステムの目的が理解できなかったってこと?
というか、この話の流れを>>729,>>725,>>724,>>711と遡っていけばID:EEKBitmgさんが>>2の話を
しているのは明らかなのに、いきなり>>632を引っ張り出してきて言い訳するのは見苦しいと思う。
それとも単に文脈を追えてないの?何の話をしているのか分かってないの?
>>>725で書いた矛盾にぶつかると思う
矛盾ってどれのことだろう。最後の二行のこと?
だとしたらやっぱりタスクシステムの動作を理解できてないよね・・・。
0756名前は開発中のものです。
2009/03/13(金) 21:04:17ID:kAszbGcI全体的に言えることだけど、ID:EEKBitmgさんは>>2のサンプルコード個別の事例を批判したいんだろうか。
それともタスクシステムのことを批判したいんだろうか。サンプルコードは、単なるサンプルなんだから
色々な不具合や足りない部分があって当たり前だよね。実際に使いたい人が、実際に使えるように
直せばいいだけで。それができないような構造的な欠陥であれば、タスクシステム自体が駄目だという話に
なるのだろうけど。(そういう話が聞きたいんだけどなぁ・・・。)
で、>>729に答えてもらえなかったから改めて聞くけど、EnemyとMyShotの実行順序をごちゃ混ぜに
したくないなら、ちゃんと順序つけてごちゃ混ぜにしないようにタスクシステムを使うことはできるよね。
その仕組みがちゃんとタスクシステムにはあるよね。それは分かってる?分かってないの?どっち?
0757名前は開発中のものです。
2009/03/13(金) 21:10:36ID:2Nwh1Ok5メリットを説明してよ
0758756の続き
2009/03/13(金) 21:35:33ID:gk02bKgy>性格悪いレスになるけど書いちゃえ!
>ぶっぶー。並列動作じゃないから同期処理が要らないってのは間違い
詭弁。
「並列動作じゃないから同期処理が要らないってのは間違い」という言葉だけは一般論として正しいけど、
「並列動作じゃないから同期処理が要らない」なんて話は誰もしてないよ。並列動作を前提としていないから
並列動作のための同期処理は書かれていない。一般論としては、並列でなくとも同期処理が必要な場合も
あり得るけど、>>2においてはそういう同期処理も必要無いから書かれていない。それだけの話。
詭弁と分かって書いているのなら、確かに性格が悪いね。
これで反論の体をなしているとでも思っているのなら、悪いのは性格ではなくて頭の方。
0759名前は開発中のものです。
2009/03/13(金) 21:38:57ID:gk02bKgy>あんた>>711で『デフラグができること』を取り上げて
>これを素朴な形で実装したのがタスクシステムだとか言ってるけど、素朴って何よ?
うーん確かに、CodeZineの実装は>>749さんの言うとおり、賛否両論起こるだろうことは分かる。
一応、>>2を前提にスレが進んでると思ったから、デフラグもタスクシステムの利点に入れちゃったけど、
得失もあることだし、単純にタスクシステムの利点として挙げるのは無理があったかな。
というかずっと昔に初めてタスクシステムを知ったときには、デフラグの仕組みは無かったなそういえば。
てなわけで>>711での「タスクシステムの良い点」の記述からは、デフラグの件は除くよう訂正させてください。
素朴って何よ?と言われると困るなぁ・・・。特に高度な管理や複雑な手法を使わず、メモリを直接
いじくりまわすあたりを素朴だと感じたんだけど。人によっては全然素朴だとは感じないかもね。
あと余談というか一つ忠告だけど、GCとコンパクションはきちんと区別した方がいいよ。
ここでならいいだろうけど、真面目な議論の場で混同してたらバカと言われちゃうよ。
>明らかに必要ねーことしてるし。バカじゃねーのくたばれバーカバーカって言いたかったけど
得失の「得」の部分も考えずに、明らかに必要無いとしてしまうのは、考えが足りてないからだよ。
0760名前は開発中のものです。
2009/03/13(金) 21:43:42ID:gk02bKgyこれ以降はちょっと自重します。みなさん長々と書いてごめんなさい。
あと今読み返して気付いたけど、>>754の「並行と並行の違い」は「並行と並列の違い」の書き間違いです。
恥ずかしw
0761名前は開発中のものです。
2009/03/13(金) 21:54:09ID:2Nwh1Ok50762名前は開発中のものです。
2009/03/13(金) 21:59:22ID:idYT2cwA0763名前は開発中のものです。
2009/03/13(金) 22:59:53ID:IbELy54y>427
0764ID:EEKBitmg ◆HSP4mee/SU
2009/03/14(土) 01:05:18ID:lcPBznJ3ごめんなさい><
厨房はガベージコレクションとコンパクションを混同してた。ご指摘どうもありがとう
>それは別にhash使えばO(1)で検索できるんだし、
そうだろ?メモリコンパクションの重要な目的のひとつがリニアアクセスによる高速化ならば
その利得を殺すようなGetTask()の実装じゃお話にならないよね。初心者用ったってありゃないよ
無い方がマシな盲腸みたいな機能付けといて初心者向けサンプルもへったくれもない
サンプルってのは反面教師じゃない。サンプルってのはゴミじゃない
あのサンプルはPC用。OSはページング方式で仮想アドレスに実アドレスを割り当ててる
ページサイズは4KB単位?で、CPUのキャッシュはキャッシュラインサイズってのがあって
これがL3だのL2だのL1だのでいろいろあるんだよね?実際、仮想アドレス上でバランバランでも
うろたえるほどの速度低下はない。むしろゴマ粒みたいな小さな処理をごちゃ混ぜ連結リストに
投げ込んで、リストを走査しながら関数アドレスで処理を呼び出すっていう仕組みを捨てる
ほうが高速化する
0765ID:EEKBitmg ◆HSP4mee/SU
2009/03/14(土) 01:13:57ID:lcPBznJ3×むしろゴマ粒みたいな
○高速化したいなら、むしろゴマ粒みたいな
0766ID:EEKBitmg ◆HSP4mee/SU
2009/03/14(土) 01:25:14ID:lcPBznJ3固定長メモリプールでいいじゃん。boost::poolとかさ
0767ID:EEKBitmg ◆HSP4mee/SU
2009/03/14(土) 01:46:18ID:lcPBznJ3つーかお前、前>>510だろ。当たってる?当たってたらなんご褒美ちょうだい
チョー陰険だし、やたらどうでもいいことで噛み付いてくるし、顔真っ赤になると
言ってること滅茶苦茶になるから多分当たってるだろ。な。陰険アマチュア野郎。タスクシステム=DB君。
俺が性格悪い?まぁアンタほどじゃないよ
>>730みたいな内容ゼロのハッタリゴミクズチンカスレスして悦に浸る中年には適わないね
俺が頭悪い?それ既出ジャン?>>355で既に認めてっからよく嫁カス。何今更言ってんだ
>>>2では最初から並列動作なんか考えてないんだから
ま、この点でアンタとの争点ないのは分かってるから。せいぜい無視したら?
あんたさ、それが分かってるのに何でそこんとこで噛み付くの?俺が気に入らないだけだろ
0768ID:EEKBitmg ◆HSP4mee/SU
2009/03/14(土) 02:33:21ID:lcPBznJ3連結リストのメモリ配置を整えましたー。速くなりましたーっていうけどさ
そんなことするならいっそのこと配列にしてダブルバッファリングしたほうがいい
0769名前は開発中のものです。
2009/03/14(土) 02:33:35ID:nYYNsR/20770名前は開発中のものです。
2009/03/14(土) 02:44:33ID:JpSKv17wでもこの辺のメリットは”知る”ものじゃなくて”理解”するものだから、実際にゲーム作った経験の無い人には
分からないかもしれん。
なんかアンチタスクって独身スレにいる「結婚のメリット教えてくれ!」ってのと同じ感じ。
「絶対に幸せになる保証が無い限り結婚しない!」ってのがいたけど、あれととても似ている…
タスクはゲーム作るときに使うもので、ゲーム作らないならタスクにこだわる必要ないし
実際にタスク以外の方法でゲームつくってるならそれはそれでタスクなんて気にしなくてよい。
アンチはなんでタスクシステムに粘着してるんだろう?
0771名前は開発中のものです。
2009/03/14(土) 03:17:55ID:wqRDNWfrプロ気取りがしたり顔で出鱈目いっちゃ駄目よん
0772並列さん ◆dPfetnROQg
2009/03/14(土) 03:19:14ID:Nif8vd+k> 実際、仮想アドレス上でバランバランでもうろたえるほどの速度低下はない。
その部分に限って言えば、バランバランにメモリをアクセスするのと、
リニアにアクセスするのとでは数倍以上変わると思うけど。
全体に占める割合は…ゲームによるけど、何万パーティクルも表示するつもりなら致命的だと思うけど。
なんか同人規模のシューティングとかしか作ったことのない人が何か言っても説得力ないよ。
0773名前は開発中のものです。
2009/03/14(土) 03:29:59ID:wqRDNWfrゲームをよく作ってる感じがするのねん
0774名前は開発中のものです。
2009/03/14(土) 06:17:22ID:QgvbbJg3なんでおまえはそんな偉そうなんだよw
このスレで一番あてにならないのは具体的なことは言わないくせに
妙に偉そうにしてるやつだとおも
擁護アンチ問わず
0775名前は開発中のものです。
2009/03/14(土) 13:16:45ID:nGWrBYC8タスクシステムを使って書かれたプログラムを引き継ぐ羽目になって(バグが収束せずに
メインプログラマ交代)、散々苦労した。
0776名前は開発中のものです。
2009/03/14(土) 16:42:18ID:TdAuyVy6>つーかお前、前>>510だろ。当たってる?当たってたらなんご褒美ちょうだい
ぶっぶー。チョー陰険だから前510だろってのは間違い!
初出は>>682で、以下ID:E0xOAlNR、ID:0j+yjPij、ID:GPL7IZe+、ID:QLymkmBo、
ID:kAszbGcI、ID:gk02bKgy、かな。抜けてるかもしんないけど多分こんだけ。
てか、あらためてスレを斜め読みしてみたら、ID:EEKBitmgさんて高専の人だったのね。
道理で、知識だけはあっても、考え方も物言いも子供っぽいわけだ・・・。
なんかもうすでにガキの喧嘩の捨て台詞みたいなレスになっちゃってるから、>>767に
いちいち突っ込むのはやめるけど・・・「俺が気に入らないだけだろ」みたいに、
下らない衝動を私に投影するのはやめてね。
上のリスト見れば分かると思うけど、おかしなことを書いてると思った人に対して
それはおかしいんじゃない?って書き込みしてるだけだよ。
0777名前は開発中のものです。
2009/03/14(土) 18:34:28ID:rFb0Dzvp0778名前は開発中のものです。
2009/03/14(土) 19:02:02ID:DOdjkrEe0779名前は開発中のものです。
2009/03/14(土) 19:07:02ID:C4Fq/WX8>763
0780名前は開発中のものです。
2009/03/14(土) 20:18:24ID:JpSKv17w”タスクシステム”を”C言語”とか”ポインタ”に置き換えても成立するな。
バグが収束せずにメインプログラマ交代って時点で既に…
0781名前は開発中のものです。
2009/03/14(土) 21:24:01ID:QgvbbJg30782名前は開発中のものです。
2009/03/14(土) 22:13:43ID:DOdjkrEeただ単にコーディングレベルの問題ではないか?w
0783名前は開発中のものです。
2009/03/15(日) 00:16:39ID:fq8JV7Q3は?何もかいてないけど?
馬鹿がわかりもしないでレスつけないでくれない?
0784510
2009/03/15(日) 02:45:36ID:4et5xcyh書いてみればすぐ分かること。
タスクシステム並列化版
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8978.zip
各スレッドでタスク群の添え字をInterlockedIncrementしつつループまわすだけ。
なお、並列化に関係ない部分は手抜き実装。
0785510
2009/03/15(日) 02:57:48ID:4et5xcyh並列化に処理順序の話を持ち込むのはナンセンスだと考えるが。
並列化しないからといって、処理順序がどうでも良いというわけではない。
0786名前は開発中のものです。
2009/03/15(日) 06:19:12ID:fq8JV7Q3VTuneでも使って一度みてみろマジで
0787名前は開発中のものです。
2009/03/15(日) 08:59:48ID:Osu85aea0788510
2009/03/15(日) 09:15:14ID:4et5xcyh0789名前は開発中のものです。
2009/03/15(日) 11:45:56ID:a+EQhixt#include <boost/lambda/lambda.hpp>
#include <boost/lambda/bind.hpp>
#include <cassert>
#include <vector>
#include <pstade/oven/parallel_for_each.hpp>
#include <pstade/oven/forall.hpp>
struct test_task{
int m_counter;
test_task() : m_counter(0) {}
};
int main(int argc, char *argv[]){
namespace ov = pstade::oven;
namespace ll = boost::lambda;
const size_t N = 10000;
const size_t THREADS_SIZE = 4;
std::vector<test_task> v(N);
ov::parallel_for_each(THREADS_SIZE, v, ll::bind(&test_task::m_counter, ll::_1) += 1);
assert( ov::forall(v, ll::bind(&test_task::m_counter, ll::_1) == 1) );
ov::parallel_for_each(THREADS_SIZE, v, ll::bind(&test_task::m_counter, ll::_1) += 2);
assert( ov::forall(v, ll::bind(&test_task::m_counter, ll::_1) == 3) );
return 0;
}
>>784のmainの動作を真似するだけなら、boostやovenを使ってこう書けたりする。
んで、並行動作するオブジェクト間の依存を上手く消してTBB等のparallel algorithmで一発というのが、
一番簡単な並行プログラミングだろうなと思った。
boost threadはただのマルチスレッドだけどTBBのだと強烈な並列化もしてくれるみたいだしね。
しかし、こういうのは参照透明性の保証が容易な関数型言語の十八番のように思うわ。
0790名前は開発中のものです。
2009/03/16(月) 00:25:10ID:zPsQiR9lゲームに限らんが、並列化しやすい部分としにくい部分がある。描画周りとかパーティクルなどの
エフェクト系、モーション計算とかを並列化したほうが、依存関係が複雑で仕様変更が多発する
プレイヤーやら何やらを並列化するよりよほど現実的だと思うんだが。
0791名前は開発中のものです。
2009/03/16(月) 00:41:01ID:4SuKIn/y優先順位とグローバル変数(シングルトン含めて)問題の冴えたやりかたを検討しようぜ
0792ID:EEKBitmg ◆HSP4mee/SU
2009/03/16(月) 02:18:40ID:9YyKMei6ちょっとちょっとちょっとー。ハッタリ自動並列メタボDBオヤジは本当に大丈夫なの?
『ボクが作ったこのコードにもタスクシステムって名前付けたからこれもタスクシステムですし
ついでに言うとこれDBですし自動並列処理もできますしお前らはボクのコードが並列化に
向いてないって言いたいんだろうけどそれは全くの誤りだしどうしてそれが分からないの?』
こういうことなの?頭の中がお花畑なの?公序良俗に反するポピーの花が自生してるの?
お前がひりだしたウンコがどう陳列され得るかなんていう前衛美術の話なんて誰もしてないから
安心していいよ
それとオッサン、あんたは何で配列にぶち込んだ1万個の鼻糞みたいなちっさな処理を一個一個
処理する度にsleepしたりクリティカルセクションかまして次に処理する要素番号をゲットすんの?
スレッドの数で配列を等分して粗粒度並列化でもしときなさいよ
sleepなんか噛ましたらインストラクションレベルの自動最適化の妨げになっちゃうじゃないの
あんたのコード使うくらいなら直列番長の>>2のほうがまだ速いよ
0793ID:EEKBitmg ◆HSP4mee/SU
2009/03/16(月) 02:40:43ID:9YyKMei6イベント(シグナル)で同期とったりするのは何の冗談なの?
ベンチ取った?アホ?
もしかしてワーカースレッドが目覚める前にメインスレッドが全部処理
しちゃったりしてない?あとさ、最初のTASK1(hage)が終わって
次のTASK1(hoge)が始まる頃には何ms経過してるの?
なんかもう自動並列とか以前に足元がグラグラのヘボヘボな気がする
おやすみ
0794ID:EEKBitmg ◆HSP4mee/SU
2009/03/16(月) 02:44:52ID:9YyKMei6ウソだろ?サンプルだからってこれはないと思う。聳え立つウンコだ
0795ID:EEKBitmg ◆HSP4mee/SU
2009/03/16(月) 08:13:22ID:McZ+hNsyよく見たらtasksystemはグローバル変数だからスレッドは使い回してるから
そびえ立つウンコてのは言い過ぎか
0796名前は開発中のものです。
2009/03/16(月) 13:07:05ID:ah3HB55u0797名前は開発中のものです。
2009/03/16(月) 21:21:55ID:JRonhFLP雑魚とドラム缶を合わせて4つまでしか画面に表示しないように制限するシステム
0798名前は開発中のものです。
2009/03/16(月) 22:00:19ID:/VT9KBYC0799ID:EEKBitmg ◆HSP4mee/SU
2009/03/16(月) 22:53:40ID:McZ+hNsy俺そんなに大人びて見えるか?もしかして俺褒められてる?
このマス掻き童貞夜更かししてないでエロゲでシコって糞して寝てろ、とか
罵倒されるんじゃないかとビクビクしてたんだけど杞憂だったのかな
0800名前は開発中のものです。
2009/03/17(火) 00:41:33ID:0PbiXi361章を読んだだけでタスクシステムのだめな点が指摘されているような気がした。
「継承」対「階層化」では階層化の勝ちで、
理由は階層化の方がはるかに一般的=依存性が少ないからって話みたい。
タスクシステム(なんちゃってC++版)のタスクは継承使ってるよね。
タスクの次にどこに進めばいいか分からないとか、
抽象的な話に飽きた、デザパタとか眉唾ーって人は
これ読むとおもしろいかもよ。おれはおもしろい。当たり前のことが書いてある。
0801名前は開発中のものです。
2009/03/17(火) 01:59:53ID:kxFrGMdGまあ多態性を使わない場面ならすべて包含でいける。
包含だと結合が緩やかだから見通しが良いって話だなそれは。
何段も深くなければよいんじゃないかね?
0802名前は開発中のものです。
2009/03/17(火) 07:25:27ID:VzljBEPwdelegateのリストでも使っとけ。
0803名前は開発中のものです。
2009/03/17(火) 11:28:02ID:b6S1HRLy範囲指定で自殺してくれるの最高。
0804名前は開発中のものです。
2009/03/17(火) 13:49:55ID:hOnodYrQその範囲は何を意味してるの?
何かの値なんだろうけど。
0805名前は開発中のものです。
2009/03/17(火) 14:04:47ID:eriEEpX/0806名前は開発中のものです。
2009/03/17(火) 17:56:34ID:zLwES14L0807名前は開発中のものです。
2009/03/17(火) 21:56:42ID:kxFrGMdGタスクシステムのExecやRunやProcなんかは
まさにそういう用途の窓口じゃないのかね?
0808名前は開発中のものです。
2009/03/18(水) 00:44:43ID:lM4akplnその窓口を誰が用意するかという話。
本人なのか、本人と取り引きする別の人なのか。
どっちがいいかはよくわからん。
もっと条件を絞れば考えやすくはなるが、俺の思考が正しいとは限らん。
0809ID:EEKBitmg ◆HSP4mee/SU
2009/03/20(金) 00:38:03ID:0dULYU21クソガキの俺がそろそろ総括しちゃおっかなーっと
結局21世紀にもなってタスクシステムだタスクシステムだなんて叫んでるおじちゃん達って
相当に不勉強なロートルちゃんが混じってるんだよねー。不勉強なまま頭がコチコチに
固まっちゃったガンコなお年寄りに限って声がデカイもんだから迷惑してる人もいるだろうね
・タスクバカは、たかが実行待ちキューに得意げにお名前を付けてることにいつまでも気付かない
・タスクバカは、タスクシステムが何なのか一般化して説明するだけの知能がない。だから、ハハン、
想像力の問題だね、とかハハン、自分で考えな、みたいに居丈高に振舞って誤魔化すしかない。
・タスクバカは、>>2で使われてる用語のTASKやらTCBやらが実はOSやらMONITORから拝借されて
きた用語であることを知らない。知らないフリをし続ける。指摘されても『アーアー聞こえない聞こえない』
の知能障害で逃げまくる。で、『>>2はOSとは設計も目的も意味も違うから混同するのはおかしい』
だとか、『OSとの比較は無意味』、だとか臆面も無く言ってのける。もはや介護が必要な知的水準だ
・タスクバカは、>>2がOSやMONITORの仕組みを劣化猿真似しただけの代物であることを
どうしても認めたくない。プライドの高い彼らにとって>>2とは、タスクシステムとは
ボクらのギョーカイが編み出したプライスレスでオンリーワンなミラクルテクノロジー
でなければならないらしいのだろう。タスクシステム誇らしいですねホルホルホル
0810名前は開発中のものです。
2009/03/20(金) 00:47:14ID:NOe63qNyただの学生なのにここまで熱心に煽れるエネルギーってなんなんだろうw
0811名前は開発中のものです。
2009/03/20(金) 00:55:34ID:S9RgoUXb人によって場合によって色々前提違うのに、自分の世界の話ばかりだし
リアルならお近付きになりたくないタイプ
ウザすぎる
0812名前は開発中のものです。
2009/03/20(金) 01:11:51ID:gGNkZ3FNおっさんのタスクバカだが>>2がOSやMONITORの仕組みを
劣化猿真似しただけの代物と思ってるぜ。良い意味で。
学問的には屑だがシンプルでちゃんと動くぜというか
微妙なたとえかもしれないが大学に対する高専みたいな。
0813名前は開発中のものです。
2009/03/20(金) 01:37:27ID:7TQPewAA実装する窓口を作るのが本来の仕事だと思います。
タスク間メッセージのやり取りなどで汎用化とか考えがちだけど、
結局は時間的コストがばかにならないのでたいてい失敗に終わる。
メッセージのやり取りなら上位の管理役オブジェクトに
取得するメソッドを経由するほうが効率的だと思います。
で、タスクシステムが何を作るのに有用かと言うと、
上で書いたとおり1実行単位で必ず1回実行したい処理です。
たとえばGameの進行を管理するためのGameMaster、
入力機器などのステータスのアップデート、ゲーム内ステータスの表示(UI)、
プレイヤーが操作するキPC、NPCなどのAIなどが一般的。
当たり判定などはこれらを実行しつつあたり判定用の
データベース(ハッユや4分木)に登録する。
一通りシステムタスクやキャラクタタスクの実行が終わった後、
当たり判定を行いゲーム内物理に応じた反応を計算。
このあとジオメトリ計算やレンダリングが行われるわけです。
0814名前は開発中のものです。
2009/03/20(金) 01:40:55ID:7TQPewAA実装してみれば分かると思いますが、ゲームシステムにおいて
1実行単位で必ず1回実行したい処理ってのは割りとあります。
いろんな所で使うためおもわず「システム」といいたくなるのでしょう。
ツリー構造や処理依存関係を考慮したタスクの
生存管理を行うとよりシステムらしくなるでしょうね。
まあ、すべてタスクで行うの愚かでしょう、
しかしタスクを全く使わないのも非効率ですね。
パーティクルなどはタスクで実装すると、
非効率なのでべつの処理系を僕は作っています。
弾幕ゲーム程度の弾数ですとタスクで処理しちゃいますけどね。
0815510
2009/03/20(金) 18:07:47ID:BbcMOz7M普通に仕事してるので、一週間に一回程度しかスレを確認できないから亀レスすまん。
>配列にぶち込んだ1万個の鼻糞みたいなちっさな処理を一個一個
>処理する度にsleepしたりクリティカルセクションかまして次に処理する要素番号をゲットすんの?
Sleepを入れているのは、明示的にスレッドの切り替えを発生させ、並列動作をテストするため。
だから、本来は入らない。
それから、クリティカルセクションは使ってない。
0816並列さん ◆dPfetnROQg
2009/03/20(金) 20:09:54ID:CF/qt1oOいまさらかも知れないが
名前の「510」は、「前スレ510」とか「タスクシステム改良君」とかにしたほうがいいような気がした。
ところで、>>792だが、俺もちょっと的外れな気がする。
ID:EEKBitmg は、サンプルプログラムを読み解く力に乏しいのか、ケチの付け方が毎度しょーもない。
0817名前は開発中のものです。
2009/03/20(金) 20:40:49ID:a30Oap5a0818名前は開発中のものです。
2009/03/20(金) 23:37:12ID:nTzU835n> ケチの付け方が毎度しょーもない。
仕方ないよ。知識も経験も乏しいセンセイに教わってる学生サンなんだから。
0819ID:EEKBitmg ◆HSP4mee/SU
2009/03/21(土) 00:37:19ID:q+0mNzyTクリティカルセクションじゃなくてインターロックだった。なんか書き間違えた
>>816
うぜぇよハゲ
ちいさな処理をひとつこなしたら排他制御かけて次に処理する要素を決定、とか
こんなチマチマとロックをかけるくらいなら
thread1 execute task[0〜10000/4-1]
thread2 execute task[10000/4〜10000*2/4-1]
thread3 execute task[10000*2/4〜10000*3/4-1]
thread4 execute task[10000*3/4〜10000-1]
のほうがはえーんだけど
0820名前は開発中のものです。
2009/03/21(土) 00:47:27ID:Lt5z4CxY大量のパーティクルとかは、1つのタスクに配列を持たせて管理するでしょ。
0821ID:EEKBitmg ◆HSP4mee/SU
2009/03/21(土) 01:01:55ID:q+0mNzyTてめぇ、質問するときは言葉を選べよボンクラ
俺にタスクシステムの実装を聞いてどうすんだよ
>お前らタスクバカはさ、いい加減『ナニを作るのか』具体的に書けよ
>何でもツクール目指すから『ナニを作るのか』書けません、だとか
>ミラクルドリーマーみたいな事をほざくなよ
何度も何度もいってんだろ。バカが
毎度毎度てめぇのに都合に合わせて俺様実装を引っ張り出して
『当然だけど』、とかほざくなっつってんだよ
0822ID:EEKBitmg ◆HSP4mee/SU
2009/03/21(土) 01:08:12ID:q+0mNzyT>>820
>>2のタスク一個一個でパーティクル一粒一粒を作るようなことをせず
配列でやるというのはとても清々しい実装だと思うね。タスカーっつっても色々だね
ところでそれはタスクシステム派としては多数派の意見なの?
全てをタスクにしないと気がすまない人がいたような気がするんだけど
0823名前は開発中のものです。
2009/03/21(土) 02:41:56ID:NSoih+ibまともに相手にしてんなよ
0824名前は開発中のものです。
2009/03/21(土) 10:47:01ID:pH6WTk/t>全てをタスクにしないと気がすまない人がいたような気がするんだけど
お前の頭の中に仮想敵作って必死にどっかの誰かと戦ってますね
0825名前は開発中のものです。
2009/03/21(土) 10:52:49ID:NSoih+ibタスクシステムなんて使ってるアフォからしてみたらそれはすごく面倒なことなんじゃないの?
引数作ってもってくるみたいなことしてるとも思えないし
0826名前は開発中のものです。
2009/03/21(土) 12:14:38ID:hWHfUpnE>毎度毎度てめぇのに都合に合わせて俺様実装を引っ張り出して
>『当然だけど』、とかほざくなっつってんだよ
てめぇの都合に合わせて俺様実装するのが当たり前だろうが
そういうのが当然だっつってんだよ
お前本当に高専か? 老害連中より頭固いじゃねぇか
教科書読むしか能の無いサルは社会に出てくんなよ迷惑だから
0827名前は開発中のものです。
2009/03/21(土) 13:37:52ID:Lt5z4CxY他の人がどうしてるか知らないけど、普通に考えて、
数千、数万のリストを作る人はいないと思う。
>>825
1つのタスクの中に、複数のオブジェクトのデータがあるだけだよ。
アクセスは引数使ってもできるし、引数なしでもできる。
0828名前は開発中のものです。
2009/03/21(土) 16:58:12ID:aPX2P6NL処理の単位がタスクなだけであって、すべての要素がタスクな訳じゃないだろ
0829名前は開発中のものです。
2009/03/21(土) 17:09:54ID:NSoih+ibでもわざわざ引数なんて使いたくないんでしょ?
0830名前は開発中のものです。
2009/03/21(土) 21:25:16ID:xOJ60zOt俺的にはメソッドに常に self を渡すのは当然
0831名前は開発中のものです。
2009/03/22(日) 05:18:44ID:TvrDIaqh何かアンチタスクは思い込みの激しいタイプみたいだな…
0832名前は開発中のものです。
2009/03/22(日) 05:30:54ID:0jTqsTen引数使う人間がごった煮をメリットだと思うかね・・・馬鹿かね君は
0833名前は開発中のものです。
2009/03/22(日) 05:32:36ID:5NogUcs2どんな状態なんだろうか
0834名前は開発中のものです。
2009/03/22(日) 05:37:34ID:TvrDIaqhやはり何かに取り付かれてるな
見えない何かと戦うのは疲れないかい?
0835名前は開発中のものです。
2009/03/22(日) 10:27:25ID:2tpyojUU0836名前は開発中のものです。
2009/03/22(日) 11:10:41ID:0jTqsTenそれは>>2を読んでないな
とりあえずこのスレのタスクシステムは>>2なんだから会話に参加するなら
まず>>2を読むべき
0837名前は開発中のものです。
2009/03/22(日) 13:18:05ID:5NogUcs20838名前は開発中のものです。
2009/03/22(日) 13:21:33ID:0jTqsTen奴は議論の過渡期にわざわざ見当違いな記事書いて意味不明なフェードアウトしただけ
0839名前は開発中のものです。
2009/03/22(日) 13:34:52ID:2tpyojUU0840名前は開発中のものです。
2009/03/22(日) 13:41:41ID:NwxqzLgyタスクシステムは>>2にあるものがすべてって考えはどうかしてる。
ゲームに合わせて実装は変えるのが普通。
教えられた通りのことしかできないプログラマはゴミ。
0841名前は開発中のものです。
2009/03/22(日) 13:49:52ID:IncocYZRなんでもかんでもごった煮リスト(wに頼らないとやっていけないとか考えてるお子様が未だに存在する
というのがちょっとした脅威。
0842名前は開発中のものです。
2009/03/22(日) 13:51:32ID:DNLKor45そこまで想像できないんだろう。
0843名前は開発中のものです。
2009/03/22(日) 14:18:45ID:0jTqsTenだったらまずは>>2のメリットデメリットを説明した上で
自分の改良版の>>2との相違点を説明するべき
それがこのスレに参加する条件だろ
0844名前は開発中のものです。
2009/03/22(日) 14:44:30ID:B5iuRYmF0845名前は開発中のものです。
2009/03/22(日) 14:50:58ID:IncocYZR人に教えてもらったところで、それを理解できなければ意味が無いだろwww
0846名前は開発中のものです。
2009/03/22(日) 14:51:40ID:DNLKor45具体的な前提条件が無いとメリットデメリットの説明は抽象的なものにしかならんだろうなぁ…
まぁ、抽象的なものでも経験のあるゲームプログラマならだいたい暗黙知で分かるんだけど
タスクの仕組みを聞いただけではその辺がまったく想像すらつかないってレベルなら、
理解できるだけのプログラム能力や経験が不足してるか、そもそもプログラマとしての適正がないんでないかな。かわいそうだけど。
0847名前は開発中のものです。
2009/03/22(日) 16:32:43ID:0jTqsTen一番PGとして適正のない人間ってちゃんと比較検討ができない人間だと思うぜ
数字出してちゃんとメリットとデメリットを掲示できない、
ちゃんと検討もしたことないのに勘でいいものだと信じる
あたりを見回して楽に手の届くところにあるもんをテキトーにつまんで
勉強した気になってるような奴は詐欺師に騙されてしまう
ソフトウェア工学はクズが多すぎたよ
海外の人間からいってウンコみたいな奴等ばっかりだし
グローバル変数・関数が平気で使ってあるもんが褒め称えられてる異常事態
ちゃんと自分で判断できる人間が周囲にいるかどうかも正直微妙だしね
環境によっては糞を受け付けられてしまってもしょうがない
0848名前は開発中のものです。
2009/03/22(日) 16:42:26ID:qn7xQRxP他人にキャンキャン噛み付いてるのを見てると結構面白い
0849名前は開発中のものです。
2009/03/22(日) 16:45:24ID:eDzO8au2抽象的な説明に、ひとつの具体例でもついてれば十分だよ。
デザインパターンの説明なんて、みんなそんなもんだ。
抽象的な説明にしかならないからって、説明しない理由にはならないよね。
0850名前は開発中のものです。
2009/03/22(日) 17:09:32ID:iwp01Fauこのスレ見てると、いつもアンチ側がタスカー側に対して、
説明しろだの具体例を挙げろだのと一方的に要求してるよな。
アンチ側は、自分の方からタスクシステムより良い具体的な実装例を挙げて、
これこれこうだからタスクシステムは駄目なんだ、っていう比較をしようとは思わないのか?
なんか見てて不思議なんだが。
0851名前は開発中のものです。
2009/03/22(日) 17:13:17ID:2tpyojUUすべて個別に実行用のメソッドをもったオブジェクトを、
用途に合わせたコンテナに突っ込んでまわすとかいってた希ガス。
0852名前は開発中のものです。
2009/03/22(日) 17:31:36ID:OM4BCGYz比較対象の無い文脈でメリットやデメリットを問うのは論理的におかしい。
>846ば偉そうにしてる割にそんなこともわからんのか。
>>849
デザインパターンの説明は目的と構造だけだろ。
例えばVisitorパターンのメリット、デメリットは?と問われて答えられる?
0853名前は開発中のものです。
2009/03/22(日) 18:26:41ID:eDzO8au2じゃぁとりあえず個人的な興味で、話の流れに合ってるかどうかは知らないけど、
↓の比較で前者の方針にメリットがあるのかどうか、教えてもらえるとうれしい。
- 「タスクシステム」的方針
まず、毎フレーム実行される処理のコンテナ(リストなど)が在ることが前提。
毎フレーム実行される処理はまず「タスク」と考え、上記のコンテナに登録する。
大量のパーティクルなど、不都合が現れた場合は「タスク」としない。
- そうでない方針(個人的にはこっちが「ふつう」)
とりあえず必要な処理は関数呼び出しで並べる。
動的な寿命や複数インスタンスの一括処理などが必要になったら
リストなどのコンテナを必要な場所に用意して使う。
ここで「アンチタスク」として書き込みしている人は、たぶん前者の方針が
我慢できないんだと思うんだ。
0854名前は開発中のものです。
2009/03/22(日) 18:46:43ID:mHB0TcPPそれってどっちにしても毎フレーム実行コンテナは使ってんだな。
つまり
・常に毎フレーム実行コンテナ
・必要になったときに毎フレーム実行コンテナ
この2派がここまで醜い争いしてんの?w
0855名前は開発中のものです。
2009/03/22(日) 19:20:29ID:eDzO8au2個人的にはそういうことだと思って見てる。たぶんシューティングゲームや
アクションゲームを作れば結果として同じような構造が(必要に迫られて)現れるだろう
と思う。
タスクシステムが「どんなゲームでも基本になる」とか「(メリットが)暗黙知」とか言う人は、
きっとシューティングゲームやアクションゲームなどを作った割合が多いんだろうな、とか。
ただ、後者であればコンテナは複数種使うのがあたりまえだし、ましてグローバルでは
ありえない。
これに対して前者では単一のコンテナ(これが「タスクシステム」と呼ばれたり)だったり、
それがさらにグローバルになったりしやすい。
0856名前は開発中のものです。
2009/03/22(日) 19:30:04ID:mHB0TcPP論争は解決するんじゃね
0857名前は開発中のものです。
2009/03/22(日) 22:42:54ID:DN2untcT>動的な寿命や複数インスタンスの一括処理などが必要になったら
同じような構造がプログラム中に複数表れる場合は
共通化できる部分を抽象化して共通のシステムにできないか、と考えるのが普通だと思うが
アンチは必要な箇所全てにコピペなりで同じような実装を個別に持つのがいい、という理屈か?
まぁ共通化できそうな箇所が2箇所ぐらいならいいけど、アクション系ゲームとかではかなり出てくるだろうし
そーなると共通化したほうがマシでない?
0858名前は開発中のものです。
2009/03/22(日) 22:49:10ID:IncocYZR0859名前は開発中のものです。
2009/03/22(日) 23:14:54ID:eDzO8au2同じ構造のコードを共通化することに異論は無いよ。
共通化できるはずということ(なのかどうか知らないけど)で最初から根っこにひとつ
「タスクシステム」が存在してるのが >853 でいう「タスクシステム」的方針。
共通化できる部分を見つけてから実装を括りだすのが >853 でいう「ふつう」の方針。
前者だと何か構造的な変更を考えたときに、根っこをいじることになって影響が
広がりやすいというデメリットが考えられる。別の言い方をすると、たくさんの
プログラムから共用されているということは変更が難しくなる、という至極当然の話。
これに対して、大きなメリットは思い当たらない。
0860名前は開発中のものです。
2009/03/22(日) 23:22:45ID:IncocYZR> 前者だと何か構造的な変更を考えたときに、根っこをいじることになって影響が
> 広がりやすいというデメリットが考えられる。
いわゆる『タスクシステム』も含めて、それらはただの実行巡回コレクションなのだから、それ以上の
機能を持たせようとするのが間違い。なんでもかんでも一つの構造に押し込めるのがおかしい。
実装をくくりだす後者の場合でも、当然共用されているところに変更が入ったらその機能の調停に
手間がかかるのは同じだ。
機能を絞り込めないなら、前者でも後者でも変更が難しくなるのは変わらないよ。
0861名前は開発中のものです。
2009/03/22(日) 23:24:30ID:eDzO8au2C++ 初期以前の時代なら、すべての要求に対する単一のコンテナをあらかじめ
持っておくという方法に大きなメリットが感じられたのかもしれないけど、今となっては
基本的なコンテナは標準テンプレートから即座に作れてしまうわけで、大きな違いには
ならない。
C++ 標準コンテナの利用という点にメリット・デメリットの感じ方の分岐点があるのだと
考えれば、 C++ 標準コンテナのゲームプログラマ内での普及率とあわせて、
タスクシステムの恩恵を感じる人が多いことも納得できる。
0862名前は開発中のものです。
2009/03/22(日) 23:24:32ID:DN2untcT>共通化できるはずということ(なのかどうか知らないけど)で最初から根っこにひとつ
>「タスクシステム」が存在してるのが >853 でいう「タスクシステム」的方針。
タスクシステムの定義に根っこ一つなんてあったかな?
前々スレあたりに出てた
メイン遷移状態・メニュー階層・ゲームオブジェ・エフェクト…
って粒度単位で分かれてる階層タスクシステムってのもあるみたいだけど。
>共通化できる部分を見つけてから実装を括りだすのが >853 でいう「ふつう」の方針。
そこで括りだされた共通実装って一般にタスクシステムと言われるものでは?
0863名前は開発中のものです。
2009/03/22(日) 23:27:38ID:2tpyojUU>たくさんのプログラムから共用されている
継承が浅ければたいした問題じゃないよ。
その理論からいったら.NETが提供する「Object」なんて、
すべてのオブジェクトから継承されるので論外って話になるんじゃないかね?
0864名前は開発中のものです。
2009/03/22(日) 23:34:22ID:eDzO8au2> いわゆる『タスクシステム』も含めて、それらはただの実行巡回コレクションなのだから、それ以上の
> 機能を持たせようとするのが間違い。なんでもかんでも一つの構造に押し込めるのがおかしい。
そういう立場で言うと、「タスクシステム」と呼ぶほどの構造はどこにも現れないはず。
つまり「タスクシステム」が存在していること自体が、なにか不適切な機能の押し込みの
存在を示している(或いは感じさせる)ということになる。
> 実装をくくりだす後者の場合でも、当然共用されているところに変更が入ったらその機能の調停に
> 手間がかかるのは同じだ。
後者の方針では、共用されていることで変更が面倒になるようなら共用しないという選択が
簡単にできる。だって元々共用することが前提じゃなかったんだから、元に戻すだけの話。
括りだした実装を、結局ひとつの場面でしか使わないことになったとしても何も問題は無い。
0865名前は開発中のものです。
2009/03/22(日) 23:41:47ID:eDzO8au2根っこにひとつという定義は無いと思う。逆に、根っこにひとつとか、共用が前提とかいう
方針でなければ「タスクシステム」と名前がついていても、あまり否定するポイントは無いよ。
名前を改めることを強くお勧めする程度。
0866名前は開発中のものです。
2009/03/22(日) 23:42:38ID:IncocYZRオマエの頭の中には、機能の階層構造が『タスク』と『タスクを継承した何か』しか無いのか?
そもそも『タスクシステム』なんて仰々しい名称が付いてるが、あんなのはただのイディオムでしか
ないぞ。教条的に従うものでもなんでもない。
> そういう立場で言うと、「タスクシステム」と呼ぶほどの構造はどこにも現れないはず。
『タスクシステムとよほどのもの』は無いかもしれないが、そういう『構造』は確かに存在するし、
>859の後者の方針だって、例えば敵なら敵でまとめてコレクションを作って実行巡回する
んだろ? それは敵という機能をベースにした「タスク」のコレクション以外の何だというんだ?
0867名前は開発中のものです。
2009/03/22(日) 23:43:24ID:IncocYZR○『タスクシステムと呼ぶほどのもの』
0868名前は開発中のものです。
2009/03/22(日) 23:44:55ID:2tpyojUU実行巡回リストに、実行の依存関係の解決や、
ライフタイムの管理などを加えてやるとシステムといって良い物になるともうけどな〜。
上記のような実装があると便利な処理にはこれを継承させるといいよ。
割と継承する機会が多いから「システム」と呼んでいるんだと思うのだが・・・。
0869名前は開発中のものです。
2009/03/22(日) 23:48:03ID:eDzO8au2比較して欲しいのは、共用が前提になっている方針とそうでない方針のメリット・デメリットね。
共用を前提にしたうえで「たいした問題じゃない」と言われても「はぁそうですか」としか言えない。
.NET が提供する Object は、明確な目的があって共用されるべく作られたのであって、
これがなければいろいろ困るというのはすぐわかる。これがあるから「タスクシステム」も
同じことだ、なんてまるで思えない。
0870名前は開発中のものです。
2009/03/22(日) 23:56:38ID:eDzO8au2> 『タスクシステムとよほどのもの』は無いかもしれないが、そういう『構造』は確かに存在するし、
> >859の後者の方針だって、例えば敵なら敵でまとめてコレクションを作って実行巡回する
> んだろ? それは敵という機能をベースにした「タスク」のコレクション以外の何だというんだ?
???
「敵のコレクション」に決まってる。
どこから「タスク」が出てくるの?自分で言ってておかしいと思わないの?
0871名前は開発中のものです。
2009/03/23(月) 00:09:13ID:LvfAcAqg> ???
> 「敵のコレクション」に決まってる。
> どこから「タスク」が出てくるの?自分で言ってておかしいと思わないの?
頭の悪いレス返すなよw
『敵のコレクション』のなかに、『タスクのコレクション』と同質な構造を読み取れないなら
プログラマとしての才能無いよ。
0872名前は開発中のものです。
2009/03/23(月) 00:10:00ID:V2ED/dbEうん。そこまでいくと「〜システム」と名を付けてもいいかもしれないと思う。
で、そこまで手の込んだものを全体で共用するという方針を採ってしまうと、
>859 で挙げたデメリットが出てくる。ってことで >853,859 の話に戻ってね。
0873名前は開発中のものです。
2009/03/23(月) 00:10:18ID:LvfAcAqg名前に惑わされてるだけ。
0874名前は開発中のものです。
2009/03/23(月) 00:20:29ID:EDktN1ia「あぁ、敵タスクの集まりね」って言うだろうし。
結局タスクなりコレクションなりの方言の違いだけで内容はたいして違わないような…
でも「敵」とか「アイテム」とかの単位で括ってしまうのは仕様変更したとき地獄を見そうだから嫌だな
おえらいゲームデザイナー様の頭の中にしか無い仕様次第で、「この敵はイベント起こるとアイテム扱いで取得できるようになるから」
とか仕様ころころ追加されるし。
移植みたいに仕様が完全に動かないものなら初めから分類して設計できるけど、一般的にゲームはマスター寸前でも
つまらないと基礎構造からちゃぶ台返しがあって入れ替わりがあるから、そんなガチガチに固定した構造で作るのはかえって危険。
0875名前は開発中のものです。
2009/03/23(月) 00:27:49ID:V2ED/dbE仕様追加されてから変更すればいいじゃん。
誰も予知能力なんか期待してないってのに、そのために不要な依存関係やバグを
増やすのは嫌だよ。
http://www.google.co.jp/search?q=YAGNI
0876名前は開発中のものです。
2009/03/23(月) 00:31:25ID:LvfAcAqg> 一般的にゲームはマスター寸前でも
> つまらないと基礎構造からちゃぶ台返しがあって入れ替わりがあるから、
今まで面白いと勘違いしてきたクソ仕様を、そんな土壇場でひっくり返した糞プランナーに
唯々諾々と従うのはただのバカだ。
仕事なら、キチンとその糞プランナーに責任取らせろ。趣味で作ってるなら、バカにはきちんとバカと
逝ってやれ。
> そんなガチガチに固定した構造で作るのはかえって危険。
敵である『敵』と、アイテムである『敵』は、別に別タスクでも問題ないだろ。内部で参照しあって
リンクしてるとか、双方を子に持つ親が居るとか、色々管理方法はあるだろ。
しかしそんな『敵』であり同時に『アイテム』でもあるような敵が居るなら、そんなクソ仕様で本当に
面白いのかどうかプランナーを小一時間問い詰めたいところだな。
0877名前は開発中のものです。
2009/03/23(月) 00:35:14ID:bJ5OKMfvありがとう、なんか閃いた!
このスレ見てて初めて新しい何かに触れた
0878名前は開発中のものです。
2009/03/23(月) 00:38:56ID:LvfAcAqg礼を言われるようなことは何も書いてはいないが、その閃きが何か形として昇華されることを望むよ。
0879名前は開発中のものです。
2009/03/23(月) 00:42:42ID:lCjH8IyBそしてマップでも背景でも障害物でもあるんだな
そしてごった煮ができたと
0880名前は開発中のものです。
2009/03/23(月) 01:00:17ID:EDktN1ia君はゲーム会社でのプログラマの地位をわかっていないな…
普通よほど小さい会社でもない限りプログラマがゲーム仕様に口出しなんて出来んよ。
ごった煮が見苦しいことは作ってるプログラマが一番よくしってるんだけど
仕様が固まらないまま「とりあえず今あるだけの仕様を作って、細かいことはそれで遊んで決めるから。あ、でもつまんなかったらチーム解散ね。」
とか言われると、基礎システムは変えずに何でもできちゃう「ごった煮」以外の選択肢が無かったりするんだよね…
大作作ってる大手とか、外注に仕事投げる元受系はきっちり仕様書切るみたいだけど、
ゲームデザイン用のプロトタイプとかを本編と別に作れるほど人員も期間も無かったりする中小の中途半端なゲーム開発ではそういうこともあるってことで。
0881名前は開発中のものです。
2009/03/23(月) 01:04:52ID:UXdp0kDTおれの会社は小さいからプログラマーの地位が一番いいよ。
0882名前は開発中のものです。
2009/03/23(月) 01:22:45ID:LvfAcAqgそんなクソな会社辞めちまえ。
ウチは500人以上社員が居るが、糞プランナの言うことをホイホイ聞くようなプログラマも
デザイナもサウンドもディレクターも居ないぞ。
0883名前は開発中のものです。
2009/03/23(月) 03:23:53ID:pfOFwfs9単なる役割であって、地位が高いとか低いとかって話じゃないよね。
>>880の会社は単にプランナが仕事してないだけって気がする。
というか、例が下手なせいで話がずれてるが、プログラマの地位(というか
発言力?)の高さと、「仕様変更」が発生するかどうかは関係ないと思うが。
元仕様の不備だろうが、実際に動かしてみて生じた新しいアイディアだろうが、
ゲーム製作において(まともな)仕様変更は普通にあり得るし、それを
「そういう作りじゃないので変更は出来ません」と突っぱねるわけには行かないわけで。
で、その仕様変更に対してタスクシステムが有用かどうかということだけど……。
俺の経験上、同じような変更であっても、多少、修正する箇所が少なくて済むような気が
するけど、「仕様変更に備えるためにタスクシステムを使う」というほどの差はないと思う。
どんな方法だろうと、大抵の記述はオブジェクトやシーン単位で完結してるし。
>>875
この場合YAGNIは的外れじゃないか?
タスクシステム(>>2だろうがそれの発展系だろうが)を使って組んでいるなら、
既にタスク周りのコードは組みあがっているわけで、依存関係やバグが増えることはないよ。
タスク処理そのものを新しく作るとしても、初期仕様からそれを利用するわけだし。
0884名前は開発中のものです。
2009/03/23(月) 08:30:26ID:5GNmNI21> 前々スレあたりに出てた
> メイン遷移状態・メニュー階層・ゲームオブジェ・エフェクト…
> って粒度単位で分かれてる階層タスクシステムってのもあるみたいだけど。
何でもかんでもタスクシステムと呼ばないで欲しい。タスクシステムとか
名前付けるほどのものではなくて、普通に書いたらああなるという例だから。
アレにたいそうな名前付けたら、それこそ for ループに○○システムとか
呼び始めることになるぞw
0885名前は開発中のものです。
2009/03/24(火) 01:03:10ID:Rj9TsTRsタスクシステムを改良した物で作った本人が階層タスクシステムと命名したなら
別にタスクシステムって名前がついててもいいんでない?
0886名前は開発中のものです。
2009/03/24(火) 05:58:46ID:U0cCvZZ8だったら、>>2との相違点を説明するべきだよね?
少なくともこのスレでいきなり出すのはNGだと思うね
0887名前は開発中のものです。
2009/03/24(火) 06:34:43ID:okF9YnFL> この場合YAGNIは的外れじゃないか?
> タスクシステム(>>2だろうがそれの発展系だろうが)を使って組んでいるなら、
> 既にタスク周りのコードは組みあがっているわけで、依存関係やバグが増えることはないよ。
それは既存の「タスク周りのコード」への依存を増やしているということ。
そういった共用コードが >840,846 が言うようにゲーム合わせて変更を
加えられていくと考えると、やっぱり >859 みたいなデメリットにつながる
ことが考えられる。
>874 で、そのデメリットをあえて受け入れる理由が「ちゃぶ台返し」への
予防策だというのだからまさに YAGNI の出番だ(そんな予防策は要らない)、と。
0888名前は開発中のものです。
2009/03/24(火) 06:36:03ID:okF9YnFLメリットを挙げる人は居ないみたいだ。
個人的には後者が「ふつう」だと思ってたんで驚くべき結果じゃないんだけど、
過去に見てきた「タスクシステム」の実例のせいで、「タスクシステム」と聞くと
やたらごてごてといろんなゲームや画面の都合が押し込められた
自作コンテナクラスや、さらにそいつがグローバル変数になってる状態を
想像して嫌な予感しかしないのが正直なところ。
現存する「タスクシステム」は名前がおかしいだけで、構造としては
挙げたような問題を持たないようなものだけが生き残ってる、ってことだと
理解しておくよ。
0889名前は開発中のものです。
2009/03/24(火) 07:08:53ID:bIbLUBOz全部ID:okF9YnFLの個人的感想と推測でしかないな。
0891名前は開発中のものです。
2009/03/24(火) 07:21:57ID:bIbLUBOz実行巡回リストを作って統一的に運用している会社が殆ど。
今まで20社以上の下請けにソースコード納品させてて、それで確認しているから、すくなくとも
その範囲内では間違いない。
毎回毎回基礎部分からワンオフで作ってる時間も予算も、下請けにはないからな。判ってる
人たちだけで使うなら、基礎部分を固めてその上で工夫する方がよほど効率がいいという
ことだ。
0892名前は開発中のものです。
2009/03/24(火) 07:34:12ID:lE32YVAM日記帳に書いてろよ
0893名前は開発中のものです。
2009/03/24(火) 07:37:26ID:bIbLUBOzいわゆる『シーンタスク』には継続機能を持ったものを使って、できるだけシーケンシャルに記述
できるように、ゲーム内オブジェクトはFMSを使用、といった具合に使い分けてる。
0894名前は開発中のものです。
2009/03/24(火) 07:57:17ID:bIbLUBOzソース公開されてる海外のゲーム見ても、普通にこういう構造は使われてるぞ。
EntityとかActorとかいった構造を内包するか継承するかしてコレクションしてる。
0895名前は開発中のものです。
2009/03/25(水) 03:06:34ID:L7D8ecXi敵とかアイテムとか地形とかの仕様上の扱いは最後まで決まらないんだから
敵でも何でもタスクてごった煮実装して、最後に仕様が固まって分類わけできる
ような仕様に落ち着いたなら、その段階で初めて分ける作業をすればいいわけで。
0896名前は開発中のものです。
2009/03/25(水) 04:07:28ID:Lr2HI9E7> 敵とかアイテムとか地形とかの仕様上の扱いは最後まで決まらないんだから
ここが間違い。
本当に決まっていないのであれば、そもそもコードを書くべきじゃない。
0897名前は開発中のものです。
2009/03/25(水) 07:51:20ID:4mzxhtmM手を動かしてる方が進んでる感あるから決まってない仕様には触れずに色々やり出すんだろうけど
明らかにこれが間違いの元
現実には全く進んでないし余計なコードを入れただけ
本当にやらなくてはならないことは、決まっていないから早く決めて欲しい仕様リストの作成と
それに対する仕様の提案や仮に決まらなかったときの強行策の練り上げ等であって
プログラムを組むことではない
すべてをやりつくしたら昼寝でもして待つか仕様が決まっている箇所のバグ潰しが仕事
プログラムを組むことではない
プログラムを組む仕事に逃げるなと言いたい
0898名前は開発中のものです。
2009/03/25(水) 11:24:38ID:CbSm4PZy0899名前は開発中のものです。
2009/03/25(水) 12:49:30ID:4mzxhtmM現場で一番使えない奴はプログラミングしかしてない奴
出世もしないし心当たりない奴は働いたことないだろ
0900名前は開発中のものです。
2009/03/25(水) 23:53:40ID:pW6Hh/Rgタスクシステムと何か関係あんの?
0901名前は開発中のものです。
2009/03/26(木) 00:04:17ID:koP5FPqt0902ID:EEKBitmg ◆HSP4mee/SU
2009/03/26(木) 01:24:52ID:B4kinADxくっくっく
0903名前は開発中のものです。
2009/03/26(木) 01:30:56ID:JMiA0s090904名前は開発中のものです。
2009/03/26(木) 19:29:08ID:5m/Hn+Tm一番使われてるじゃんw
0905名前は開発中のものです。
2009/03/26(木) 20:42:18ID:t4iRSZvEある程度は数字で行動が決定できない人間じゃないと邪魔にしかならない
0906名前は開発中のものです。
2009/03/26(木) 21:24:16ID:5m/Hn+Tm言いたいことは分かるが、その表現は適切なんでしょうかww
0907名前は開発中のものです。
2009/03/26(木) 21:27:34ID:sNdn6b+Yわかったならいいじゃん
お前なんか何が言いたいかわからないし
タスクシステム流行らせたいの?
0908名前は開発中のものです。
2009/03/27(金) 15:45:50ID:iW3jYp680909名前は開発中のものです。
2009/03/27(金) 19:28:50ID:82f41tp0http://www.sbcr.jp/books/products/detail.asp?sku=4797352290
また出るよ
0910名前は開発中のものです。
2009/03/27(金) 22:56:31ID:RoIWJt/F0911名前は開発中のものです。
2009/03/28(土) 07:13:43ID:3WHtXnJbそんなふうに考えていた時期が俺にもありました
0912名前は開発中のものです。
2009/03/28(土) 10:04:32ID:GGppowTV>>896以下ループ
書くべきじゃないと思うよ
っていうか書いても意味がない
PG経験10年だけど俺も未熟な頃は色々できることないか考えてたけど
ソースに関してはまるで意味がない
絶対に書いてはダメ
それより「決まってないから決めてくれ仕様リスト」の作成に力を入れろ
0913名前は開発中のものです。
2009/03/28(土) 10:09:25ID:8c8Vy+u+俺はこういう空白時間はそう使ってる。
0914名前は開発中のものです。
2009/03/28(土) 12:19:58ID:iRlTudQl0915名前は開発中のものです。
2009/03/28(土) 13:29:16ID:Sx0Nlejd0916名前は開発中のものです。
2009/03/28(土) 14:08:59ID:3WHtXnJb>仕様が決まってないうちは自分のライブラリ整備に時間を入れる時期じゃね?
仕事中に”自分”のライブラリ整備なんてしてたら普通に職務上横領だっての。
学生気分が抜けない新人か?
0917名前は開発中のものです。
2009/03/28(土) 14:14:01ID:8c8Vy+u+趣味のライブラリというわけじゃないぞ
0918名前は開発中のものです。
2009/03/28(土) 14:50:06ID:NO4+g0CQ社内の機材を使って社内で作成したモノは全て会社の所有物なワケだが、
自分用のライブラリを会社で作るって常識ナシのやることだぞ。
0919名前は開発中のものです。
2009/03/28(土) 14:54:47ID:NO4+g0CQちなみにうちの会社はタスク使ってるよ。C++の場合はベースクラスの名前がITaskで、Cの場合は
タスクの先頭に必ずTCBというものを置くようにルール付けされてる。
まぁ、それでもミリオン逝くソフトは作れるってこと。
0920名前は開発中のものです。
2009/03/28(土) 15:22:24ID:LQ4LeJzd売上がミリオン$ってこと?
0921510
2009/03/28(土) 16:20:14ID:J75Q9/vXタスクシステム
= 特定の型のインスタンスを高速に列挙する仕組み
+ 列挙したインスタンスに対する処理を並列化するためのマクロ群
ってことでいいでしょ。
0922名前は開発中のものです。
2009/03/28(土) 17:14:29ID:u3m/NTOQ0923名前は開発中のものです。
2009/03/29(日) 06:46:59ID:Yd51Jaj0やっとタスクがゲーム開発現場で使われ続けてるって現実を
理解できたのかな。
0924名前は開発中のものです。
2009/03/29(日) 07:16:40ID:+VmeKXw4と思ったけど春休みに宿題は無いな
0925名前は開発中のものです。
2009/03/29(日) 09:15:00ID:QIE0mUQn0926名前は開発中のものです。
2009/03/29(日) 11:55:25ID:A8GBNU1dどこで誰が何を論破したって?
0927名前は開発中のものです。
2009/03/29(日) 12:36:10ID:t8KnpuP8アンチがタスクを理解できなくて、飽きただけじゃね?
0928名前は開発中のものです。
2009/03/29(日) 12:47:00ID:F8b6hXRU0929名前は開発中のものです。
2009/03/29(日) 12:50:48ID:t8KnpuP8最初から理解する気の無い者に、何を言っても無駄だからな。
0930名前は開発中のものです。
2009/03/29(日) 13:31:46ID:A8GBNU1d何かしら目的や必要性があって作ってるんじゃないの?
0931名前は開発中のものです。
2009/03/29(日) 14:04:25ID:seNawTSIfor_eachのようなアルゴリズムで一元的に扱う為のインタフェース
みたいなことが書いてあるところが結構あった
0932名前は開発中のものです。
2009/03/29(日) 18:03:57ID:t8KnpuP8ゲーム制作用のドキュメントには使い方しか書いてないな。
毎フレーム実行するものがあるばあいはITaskを継承してTaskManager::Append()とかでリストに
ブッ込めば、次のフレームから実行される、とかいう感じで。タスク同士の関係性やタスクを殺す時
タスクが死ぬ時の注意点なんかも書かれてる。
ゲーム毎に異なる部分と、プロジェクト別でも共通して使える部分を分けるのも目的のうちの一つ
だから、技術開発系のドキュメントとゲーム制作系のドキュメントと2つある。
0933名前は開発中のものです。
2009/03/29(日) 18:39:55ID:Yr0oXSYT> 何かしら目的や必要性があって作ってるんじゃないの?
そういうのはメリットとは言わない。
このスレにある回答らしきものを先に読め。例えば >264,852
0934名前は開発中のものです。
2009/03/29(日) 21:43:33ID:Yd51Jaj0同じ実装いくつもコピペした方がわかりやすいって人間に
タスクのメリットが理解できるとは思えんのだが…
0935名前は開発中のものです。
2009/03/29(日) 21:44:46ID:F8b6hXRUまあ、とりあえず言ってみろよ
どんなご高説が聞けるのか楽しみにしてっからよ
0936名前は開発中のものです。
2009/03/29(日) 21:52:33ID:Yd51Jaj0最低限フレームワークやライブラリのメリットは理解できる頭はあるのかな?
0937名前は開発中のものです。
2009/03/29(日) 22:03:14ID:F8b6hXRUいいからさっさと説明しろよ
0938名前は開発中のものです。
2009/03/29(日) 22:03:44ID:A8GBNU1dたった一人相手に説明するわけじゃないんだ。みんな待ってんだよ。
誰か一人にでも伝わればいいじゃないか。ほら、たのむよ。おねがいします。
0939名前は開発中のものです。
2009/03/29(日) 22:06:44ID:Yd51Jaj0つまり、それすら理解できない…と。
0940名前は開発中のものです。
2009/03/29(日) 22:16:03ID:CEz25h5J・1フレームに1回実行すするための窓口提供
・依存関係の解決
上記の二つはゲーム内のいたる所で
使われるパターンと機能だと思う。
まあこれを基盤にライブラリを構築するところから、
タスク「システム」と呼ばれているんじゃないか?
0941名前は開発中のものです。
2009/03/29(日) 22:24:54ID:A8GBNU1dあなたは >853 の前者の方針をとる人ですか?
0942名前は開発中のものです。
2009/03/29(日) 22:30:58ID:CEz25h5J基本的に前者で構築してるよ。
パーティクル類はタスクにはしないけど。
後者の方針を取ると、似たような処理が
いたるところに散乱することになるからね。
早い話タスクパターン(名前は何でも良い)を
適用したほうが良いものはそっちで実装。
ソースは小さく富豪的に書いて速度的問題や、
メモリ的問題が出てからつどそれらについて対応かな。
0943名前は開発中のものです。
2009/03/29(日) 22:38:03ID:A8GBNU1dありがとう。
0944名前は開発中のものです。
2009/04/02(木) 00:01:47ID:v5MWlQvGアンチタスクがやっとメリットを理解できたのか?
0945名前は開発中のものです。
2009/04/02(木) 03:04:56ID:GjL5wpHY>891,942 で挙げられてるようなメリットとの大小を自分で見積もって選べ
ってことじゃないかな。
0946ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 18:16:13ID:mhRpa/ALネットの普及により、誰もが容易く素早く安価に優良な情報に(情報へのリファレンス)に
アクセスできるというのに、それでもなおタスクバカ(頭の悪いほうのタスクシステム擁護者)
は殻に閉じこもり世界を見ようとしない。タスクバカというのは停滞し続ける盲目・無知・
怠惰な人間であると看破する
タスクシステムに関する情報は検証可能性ゼロの欺瞞情報にあふれているが、それに
適切に突っ込む存在は彼らの中にはいない。ベテラン風を吹かせてる擁護者がたまに
出没するが、具体性を帯びた有効な反論は全く無く、具体性を加えろというと口を噤む。
それどころか検証可能性ゼロの胡散臭い情報を垂れ流してタスクシステムの存在理由の
補強を試み、初心者を煙に巻こうとする。なんだかとっても残酷な情報封鎖された村社会
次のステップを進めず無駄に年を重ねただ老いさらばえていくだけの老人にとって
後ろからどんどん現れる新手・後続の若者というのはもはや蹴落とすべき脅威でしか
ないのだろう。後続を煙に巻くことで僅かでも時間稼ぎをして自己の保身ができればと
努めているのかと思うと、あまりにも哀れで相手する気もなくなる
0947名前は開発中のものです。
2009/04/02(木) 18:24:19ID:cFzYggklしょせんチラ裏の匿名掲示板に、
なぜそこまでこだわる?
0948ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 18:28:37ID:mhRpa/ALタスクシステムが攻撃されているのに、彼らはタスクが攻撃されている、という
対立構造に話をすり替えようと試みる
何らかの時間ステップで多数のFSM(VM)をシングルプロセッサで駆動させる
プログラム全てにおいて、タスクという処理単位は必ず存在するというのに
彼らは『アンチは処理単位を否定しようとしている』などと叫ぶ
『アンチはフレームワークを否定しようとしている』というふうに話をスライドさせる
手口も同じ。彼らは自分たちが守るべきもの(タスクシステム)が、守るに値しない
守ることが不可能な、存在理由の実に希薄な、実につまらない車輪の再発明
既出の何かの劣化猿真似であることを悟ってしまったから、擁護する対象を
摩り替えることで、自己の立場を確保しようとしているに過ぎない
彼らはもはやタスクシステム擁護者ではなくなっている。彼らが現在守ろう
としているものの実態、それは別の何かに換言される。それに
タスクシステムという名前を無理やり与え(レッテルを張り)、擁護しているに過ぎない
タスクシステムというお名前を擁護しているだけなのだ
0949名前は開発中のものです。
2009/04/02(木) 20:15:49ID:18fDyK6Nで、結論は?
0950名前は開発中のものです。
2009/04/02(木) 20:51:49ID:Qv40Br8C田原総一郎は噛み付くだけで解決策なんて出さないよ。
0951名前は開発中のものです。
2009/04/02(木) 21:19:46ID:r/tHXhvd0952名前は開発中のものです。
2009/04/02(木) 21:23:46ID:8AeCm7l50953ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:13:03ID:mhRpa/ALタスクシステムの実装上の不合理が、現実の開発プロセスの不合理の上で
成り立っているとこの人は説明しているんだ
こういうの見るとタスクシステムを攻撃する気なくすよね。あまりにも正直すぎて
本来なら是正すべき問題が何なのか分かっているけど立場ゆえにできないと。
叔父さん(オヤジの兄貴)が大手自動車会社の下請け部品工場やっていて
実家に遊びに来るたびにオヤジが愚痴を聞いていた
なーんにも分かってないクライアントのヒヨッコ担当者から超理不尽な協力とか努力
要求を付き付けられると本当に参ると。理に適った上申・具申をしても相手が
理解できないオツムの人だと全く意味がないと苦笑いしていた
>>874、>>880は正直であるがゆえにタスクシステム擁護者から攻撃されたようだね
タスクシステムを擁護する人ってのは見栄っ張りが多いよね
不合理で悲惨な現実の中で仕方なく編み出された不合理な仕組みを正当化するには
不合理で悲惨な現実を曝け出すしかないというのに、それを嫌がるのだから呆れる
不合理な開発プロセスと無縁な恵まれた境遇の人間(趣味の人、学生の人)にとって
タスクシステムなんてものが実は全く無用の長物であることを勘付かれたくないのだろうか
目の前に高速道路が通ってるのに今更こんな草ボーボーの泥道を這いずり回らせよう
なんて趣味が悪いよね。スポ根大好きの昭和の人なのかしら
0954名前は開発中のものです。
2009/04/02(木) 22:14:56ID:yXIvxvr/真のアホというのはID:EEKBitmgのように『誰かが答えを知っていて、それを自分に教えてくれる』と
マジで思ってるヤツのこと。
世の中には答えなんて無いもののほうが圧倒的に多いし、人から言われたことを検証するだけの力が
なければ教えてもらうことに何の意味もない。
そのことに気づかないのが真のアホ。
0955ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:18:25ID:mhRpa/ALなーんか胡散臭い。バケットソートしてるだけの手作りコンテナを
回りくどく説明してる。ダミータスクとかアホじゃねーのと思った
ただの番兵じゃん。みたいな
0956ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:21:39ID:mhRpa/ALバカじゃん。個人的には全く説明してもらう必要性なんて皆無なんだよね
たかが実行待ちキューにアホみたいに独自のお名前付けて然もそれが
個性的な、ゲーム業界が編み出した秘術みたいに吹いて回ってるタスクバカが
ネタでやってるのか本気でやってるのが知りたいから説明を要求してるわけで
0957名前は開発中のものです。
2009/04/02(木) 22:26:43ID:yXIvxvr/オマエにとって『タスクシステム』とやらがその程度にしか見えていないなら、そういうもんだと思っとけwww
ただ、その拙い理解で周りに吹聴してまわるとメチャクチャ恥ずかしいけどな。
学生さんらしいけど、『学ぶ』ってことを知らないで学生やってて面白いのか?
世の中には物事を上手く活用出来る人も、できない人もいる。
0958ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:31:56ID:mhRpa/AL妨害し、これの足を引っ張り、繋ぎ止め、縛る。そのためにグダグダとエセ科学みたいな
胡散臭い話をし続けるタスクバカに何度も問いかけるよ
『何で何を作るお話なのか、話を絞れ』とずっと言ってるよね。にも関わらず、タスクバカは延々と逃げ続ける
適当でいいから仕様を出しなさいよ。既存の○○(ゲームタイトル)みたいなもの、とかでいいからさ。
開発環境とかターゲットを明らかにしなさいよ。本気で素人を説得する気なら、携帯機器とか
疎結合マルチコアの死にハードなんて引っ張り出すよりは、万人が触れられるもの、5万円以下で
自作できるPC(密結合マルチプロセッサ(マルチコア)な環境)を前提にお話でもしてみたら?
>>2である必要性が微塵も無いことが露見するのをあなた方は恐れているから無理だろうけどね
タスクバカは自分が作ってるものが一体何なのかを端的に【説明しない】あるいは【説明できない】
ふたを開けてみれば彼らがタスクシステムだという>>2は、実につまらない、既存の、既出の、
ありふれたものとして説明されるわけだが、彼らは然もそれが比類ない新規性にあふれたもの
であるかのように吹くし、何だかとても怪しげな、とてもセンスの悪いお名前を付ける
そうやって後続の初心者を煙に巻こうとしている
この手の臭い人間の戯言に惑わされる情報弱者にも聞いてみたいんだけどさ
http://f3a.sakura.ne.jp/radiocontroll/other/globalenergy/globalenergy01.html
こういう似非科学の似非理論を吠える詐欺会社にワクワクしちゃうのかな?
ちょっとでも物理が分かれば推力重量比1以上なら何でも空を飛べるって分かるよね?
これに太鼓判を押してるのが層化大学で講義をしてる胡散臭い弁護士ってのが凄いよね
カルトとエセ科学は仲良しなんだよ
『分かる人にしか分からない』だの『信じたがらない人には分からない』などの説明しかしない人は
エセ科学提唱者といわれても仕方がない
0959名前は開発中のものです。
2009/04/02(木) 22:37:10ID:yXIvxvr/ホントにバカだなw
そういう似非科学にワクワクしちゃうのは、自分でものを考えることを知らない人間だろw
きちんとモノを考えられるやつは、「自分の作り方には『タスクシステム』は必要ない」とか
「『タスク』として動くものを統一的に扱えれば楽になる場面があるな」とか、利点欠点を
理解して使うか使わないかを自分で決められる。
自分でものを考えられないID:EEKBitmgのようなバカだけが、何時までたっても無用論
ばかり唱えてるんだよ。
選択できるやつは選択すればいい。バカはとっとと去れw
0960ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:38:15ID:mhRpa/AL使ってなさそうだし、ここでは横においるよ
0961名前は開発中のものです。
2009/04/02(木) 22:48:31ID:TJNy3fkt0962名前は開発中のものです。
2009/04/02(木) 22:51:32ID:yXIvxvr/> タスクバカは固定機能パイプラインの描画にしか
> 使ってなさそうだし
バカここに極まれり、って感じで素晴らしいねwww
0963ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:52:52ID:mhRpa/AL俺みたいな糞ガキがタスクシステムのことをボコボコに貶すのが許せないんだろうね。
そんなに目障りなの?どうして?ずいぶん堪え性のないオジサンだね。何歳なの?
0964ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 22:55:27ID:mhRpa/AL面白いね。自分のことをタスクバカだと思わなければ否定も肯定もできないはずだよね?
俺は明らかに色分けしてるよ?
あなたは自分が『頭の悪いほうのタスクシステム擁護者』だと認めているの?正直な人だね
0965名前は開発中のものです。
2009/04/02(木) 22:55:44ID:yXIvxvr/仕事で合わせないといけないときは、タスク使って書いてるよwww
必要に応じてな。
ID:EEKBitmgの学生さんは、センセーに言われたことは何も考えずに真実だと思っちゃう方なのかな???
0966名前は開発中のものです。
2009/04/02(木) 22:57:01ID:yXIvxvr/自分が愚かだと知って、初めて分かることもあるんだよwww
若いと気づかないんだねぇwww
0967名前は開発中のものです。
2009/04/02(木) 23:01:38ID:yXIvxvr/> タスクシステム(笑)なんて華麗に無視して颯爽と追い越していく後続は何としても
> 妨害し、これの足を引っ張り、繋ぎ止め、縛る。そのためにグダグダとエセ科学みたいな
> 胡散臭い話をし続けるタスクバカに何度も問いかけるよ
> 『何で何を作るお話なのか、話を絞れ』とずっと言ってるよね。にも関わらず、タスクバカは延々と逃げ続ける
> 適当でいいから仕様を出しなさいよ。既存の○○(ゲームタイトル)みたいなもの、とかでいいからさ。
> 開発環境とかターゲットを明らかにしなさいよ。本気で素人を説得する気なら、携帯機器とか
> 疎結合マルチコアの死にハードなんて引っ張り出すよりは、万人が触れられるもの、5万円以下で
> 自作できるPC(密結合マルチプロセッサ(マルチコア)な環境)を前提にお話でもしてみたら?
> >>2である必要性が微塵も無いことが露見するのをあなた方は恐れているから無理だろうけどね
> タスクバカは自分が作ってるものが一体何なのかを端的に【説明しない】あるいは【説明できない】
> ふたを開けてみれば彼らがタスクシステムだという>>2は、実につまらない、既存の、既出の、
> ありふれたものとして説明されるわけだが、彼らは然もそれが比類ない新規性にあふれたもの
> であるかのように吹くし、何だかとても怪しげな、とてもセンスの悪いお名前を付ける
> そうやって後続の初心者を煙に巻こうとしている
> この手の臭い人間の戯言に惑わされる情報弱者にも聞いてみたいんだけどさ
> http://f3a.sakura.ne.jp/radiocontroll/other/globalenergy/globalenergy01.html
> こういう似非科学の似非理論を吠える詐欺会社にワクワクしちゃうのかな?
> ちょっとでも物理が分かれば推力重量比1以上なら何でも空を飛べるって分かるよね?
> これに太鼓判を押してるのが層化大学で講義をしてる胡散臭い弁護士ってのが凄いよね
> カルトとエセ科学は仲良しなんだよ
> 『分かる人にしか分からない』だの『信じたがらない人には分からない』などの説明しかしない人は
> エセ科学提唱者といわれても仕方がない
0968名前は開発中のものです。
2009/04/02(木) 23:03:04ID:yXIvxvr/>967は忘れてくれ。
ID:EEKBitmgよ、ホントにスマン。
他意はないんだ。ちょっと手違いでヤラカシタ。
0969ID:EEKBitmg ◆HSP4mee/SU
2009/04/02(木) 23:04:51ID:mhRpa/ALなんだ
>自分はタスクなんか使わずに書いてるよwww
>仕事で合わせないといけないときは、タスク使って書いてるよwww
タスクってのはタスクシステムのこと?
要するに使いたくて使ってる人じゃないわけか
君との間には争点は見出せないから君はどうでもいいよ
噛み付いてほしい標的じゃないから、ヨシヨシイイコイイコ飴あげよ
あっち行ってなさい
0970名前は開発中のものです。
2009/04/02(木) 23:10:41ID:r/tHXhvdタスクシステムのメリットはまだ説明できないの?
0971名前は開発中のものです。
2009/04/02(木) 23:11:27ID:QOxGW0vqスレが恥ずかしい空気になっちゃったじゃない
0972名前は開発中のものです。
2009/04/02(木) 23:14:00ID:r/tHXhvd「で?タスクシステムのメリットは説明できたの?」
この一言で元に戻す
これでこのスレは安定する
0973名前は開発中のものです。
2009/04/02(木) 23:26:39ID:8AeCm7l50974名前は開発中のものです。
2009/04/02(木) 23:33:15ID:r/tHXhvdログどころかずっといるっての
いままで一度もタスクシステムのメリットを説明できた奴はいない
タスクシステム(?)のソースに対して、タスクシステム使わないソースを上げてやったの俺だし
0975名前は開発中のものです。
2009/04/02(木) 23:47:26ID:8AeCm7l50976名前は開発中のものです。
2009/04/02(木) 23:49:17ID:yXIvxvr/> 君との間には争点は見出せないから君はどうでもいいよ
> 噛み付いてほしい標的じゃないから、ヨシヨシイイコイイコ飴あげよ
ハイハイ、学生さんは教わった知識をひけらかしたいだけなんですねwww
>974
理解力の無いヤツにナニを言っても無駄だろwww
0977名前は開発中のものです。
2009/04/03(金) 00:07:51ID:OC5t9pnG面白いじゃん、関数ポインタひとつで、単なるメモリブロックに
「クラス」と「状態」の両方の意味を与えてしまうあたりが。
状態に関しては、今ならStateパターンとかStrategyパターンとかって話に
なるんだろうが、昔はそんなの無かったしな。
関数ポインタで状態を表せることはタスクシステムの重要なメリットの一つだと
思ってるんで、>>2の3番目のリンクのやつは俺的にはタスクシステムとしては
激しくイマイチだなぁ感じる。
0978並列さん ◆dPfetnROQg
2009/04/03(金) 00:15:00ID:IkOXRAA5> いままで一度もタスクシステムのメリットを説明できた奴はいない
>103で十分だと思うけどな。
0979名前は開発中のものです。
2009/04/03(金) 00:37:37ID:faWc9wkqとりあえずお約束の >264
この一言で再び荒れるw
0980名前は開発中のものです。
2009/04/03(金) 00:51:02ID:i6WUMFvgそれだとループはずしたのと行数がちょっと少なくなる程度だけど
なにか思想的なことでメリットを主張する心算だったんじゃないの?w
0981ID:EEKBitmg ◆HSP4mee/SU
2009/04/03(金) 01:30:12ID:hG/oV8+gこのスレを窓口で検索かけると分かるが、窓口云々と言ってる人は
『これは周期タスクを突っ込んだレディキューですよね』と言ってるわけ
タスクシステムなんて超胡散臭い言葉を全く知らなくても使わなくても全く問題ないわけ
別の言い方をすれば、OSやらMONITORやらの実行待ちキューを何だか訳の分からない
独自用語を交えながらタラタラともったいぶって語るのがタスクバカってことなわけ
既存の何かとの対比をできないのか、したがらないのかよく分からないが
前者ならばただの無知(タスクバカ)であるし、後者は科学を否定するカルト野郎ないし詐欺師だ
タスクバカは知ろうとしないよね。むしろ知ることを恐れる。まるで、自分が何かの先駆者であるか
のような、誰も知らない宝石の所有者であるかのような、心地よい気分(錯覚)に浸り続けたいがために
その酔いを醒ましてしまうような、冷や水ぶっ掛けられるような既出情報には目耳を塞ぐ奇異な行動を取る。
不当な搾取を受け続けても偽本尊の写しを有難がってナンミョーホーレンゲーとブツブツ念仏を唱え続ける
盲目のカルト信者の行動が理解できないのと同じで、タスクバカの行動原理というのは全く理解できない
人類が営々と積み上げてきた知の蓄積を無視し続けるというのは科学の否定に等しい。カルト万歳
0982名前は開発中のものです。
2009/04/03(金) 01:48:18ID:sMcFBzq3そのなにかのインスタンスを作成してコンテナに登録すれば、後のことは気にしなくても
そのインスタンスがなくなるまで面倒見てくれるシステムのことじゃないの?
0983名前は開発中のものです。
2009/04/03(金) 01:54:30ID:jmB/LurD見たいものしか見れない人には無意味だね…
http://d.hatena.ne.jp/shi3z/20090304/1236180285
あたりがアンチタスクの本質を突いてるね。
「メリット説明して」って聞くだけで理解できると思ってるあたりが。
0984名前は開発中のものです。
2009/04/03(金) 02:12:41ID:toGlOB+Oプロジェクトをまたぐ場合は「タスクシステム」をコピペしてカスタマイズするのが前提みたいだし。
モジュールの独立性や最小の依存関係なんかを重視する人には受け入れられないだろうね。
大規模になるほど問題が起こるというのも >859 に挙げられた点から考えれば自然なこと。
0985名前は開発中のものです。
2009/04/03(金) 02:44:45ID:FLft9qyr0986名前は開発中のものです。
2009/04/03(金) 03:12:29ID:cWMM7gIHよし、まずは>>1を読んでから語ろうか
0987ID:EEKBitmg ◆HSP4mee/SU
2009/04/03(金) 06:07:32ID:hG/oV8+g清水さんて誰?やねうらおさんみたいなスーパーハッカーオジサンなのかな。よく知らないけど
口先だけのハッタリ野郎であるタスクバカの本質をよく突いてる文章だと思う。厨房だからすごく分かる。
>>2とか、訳の分からないCodeZineの情報を見て感動に震えてタスクシステムすごいすごいって思い込んで
疑うことも知らずに天下り式に猿真似てるだけで偉くなった気分になれるタスクバカって羨ましいよね
彼らは頭の中には糞でもつまってるのかしら。とても真似できない。すごいすごい
通常弾みたいな小さなタスクを手作りの線形リストに入れてなめるのは何故?バカだからだろうね
何でもチマチマとサブルーチンアドレス経由で処理を呼び出すのは何故?動的バカだからだろうね
実測したことないと分からないだろうなぁ。こういう言われ方されると不愉快だろうなぁ
タスクバカは測定しようとしないよね。むしろ測定することを恐れるよね。ベンチ結果が怖いんだろうね
関数ポインタを知っただけで嬉しくなっちゃって使いどころも分からず至るところで状態変数代わりに
使っちゃってるんだろうね。速いと信じてさ。無駄にあちこちにリフレクティブな仕掛けを入れ込みまくって
糞重い糞コードいっちょうあがりっと
0988ID:EEKBitmg ◆HSP4mee/SU
2009/04/03(金) 06:09:04ID:hG/oV8+g大してサイズの変わらないチマチマした短命オブジェクトを生成するために腐れ可変長アロケータを
わざわざ自作して使うから不定期にメモリコンパクションなんて必要になるだけなのにね
固定長メモリプールを使うとか、ヒープから確保した後に使用済みになったオブジェクトをプールして
使いまわすとかすればいいだけなのにさ。Linuxのスラブアロケータの真似でもすればいいのにさ。
チマチマした短命オブジェクトのタイムクリティカルな処理をするのに不定期なメモリコンパクションを
かけるなんてイカレてる。こんなもんがゲームプログラムに必要だなんて欺瞞情報の最たるものだ。
根っこから設計が腐ってんのにリニアアクセスによる僅かな高速化に期待しようだとかバカにも程がある
パーティクルはタスクにしないとか言ってる奴が混じってるのは何故?バカだからだろうね
どう組もうが何らかの時間ステップでパーティクル一粒一粒の更新処理はしなくちゃいけないわけで
つまり一粒一粒の処理ステップ(タスク)というのは必ず存在するわけ。なのにタスクは使わないんだとさ。
タスクバカは独善的な解釈を振り回す視野の狭い連中だからどうせ配列に入ってるものはタスクじゃねーだとか
連結リストに登録されない処理単位はタスクとは呼べない!だとか訳の分からないヘンテコ理論が
頭の中にウンコみたいにこびり付いてんだろうね
実行待ちキューのコンテナは連結リストだけだと思い込んでるようなこの手のバカが信奉するタスクシステム
ってのはちょっとした脅威。もう存在自体が毒素。この世から消えてなくなったほうが世のためだと厨房は思う
0989名前は開発中のものです。
2009/04/03(金) 07:15:49ID:4ENq10VK> 実行待ちキューのコンテナは連結リストだけだと思い込んでるようなこの手のバカが信奉するタスクシステム
> ってのはちょっとした脅威。もう存在自体が毒素。
バカはどうでもいいけど、この点だけは賛同する。なんでリストに突っ込もうとするんだろうね。問題を
解決するのに最適だとおもわれるコレクションはリストじゃないだろうに。
しかし>987,988は全然モノを理解して無いな。>2とかcodezineとか松浦本とか見て全部判った気に
なっちゃってるオバカが、間違った方向に向かって有頂天になってるだけだ。
0990名前は開発中のものです。
2009/04/03(金) 07:49:04ID:VHS30Mzg0991名前は開発中のものです。
2009/04/03(金) 07:55:33ID:VHS30Mzg最後に時間があったらタスクシステムのメリットもあげようか
0992名前は開発中のものです。
2009/04/03(金) 08:52:33ID:cHfo63oC0993名前は開発中のものです。
2009/04/03(金) 09:56:59ID:FLft9qyr0994名前は開発中のものです。
2009/04/03(金) 10:32:10ID:gSS0RY6A一部の反戦平和団体と同じ臭いがプンプンしてるな。
自分の「正義」にたてつくヤツが許せないんだろうな。
ID:EEKBitmgは自分で自分のことをアホの子と言ってるが、
別にアホの子ってわけじゃないんだよな。
あえて言うならダメな子だな。あるいは残念な子か。
0995名前は開発中のものです。
2009/04/03(金) 11:27:40ID:aSgRO8Wlhttp://pc11.2ch.net/test/read.cgi/gamedev/1238725539/l50
0996名前は開発中のものです。
2009/04/03(金) 14:57:30ID:OlKoVEZp0997名前は開発中のものです。
2009/04/03(金) 16:41:27ID:/shhFFlc0998名前は開発中のものです。
2009/04/03(金) 17:26:47ID:aSgRO8Wl文句があるなら過去ログ倉庫作ってくれ。
俺は過去ログとっといてないし、●も持ってないから協力できんが。
0999名前は開発中のものです。
2009/04/03(金) 19:38:34ID:O7VpCXAX1000名前は開発中のものです。
2009/04/03(金) 19:41:58ID:R7m6K7QE( ・ω・)=つ≡つ);:)ω・).,,';
(っ ≡つ=つ ⊂ ⊂)
__ (⌒(⌒ )ババババ(⌒(⌒ )
/\ ̄ ̄し' ̄ ̄ ̄ ̄ ̄ ̄し' ̄ ̄ ̄\
 ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄ ̄
/ \ / \
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。