タスクシステム総合スレ part5at GAMEDEV
タスクシステム総合スレ part5 - 暇つぶし2ch262:名前は開発中のものです。
09/02/24 00:14:58 RbpkAhSi
いやいや。いい風呂だった~。
さて明日も仕事だ。もう寝よう。
貴重な睡眠時間をID:EEKBitmgの相手で減らしたくないもんね。
>>257からは週末に暇があったら読んどくわ。
それじゃおやすみなさい。

263:名前は開発中のものです。
09/02/24 00:25:24 v/PA5fmM
>>262
> >>257からは週末に暇があったら読んどくわ。
読む価値無いぞ、先に言っておくが。

264:名前は開発中のものです。
09/02/24 00:29:53 8zHV9j87
>>253
タスクと書くだけで君のように異常な反応を示す人を釣ることができて
生産性を幾分かでも削ることができる。ライバルからすればいい武器だな。 そのライバルは他の国や民族かもしれん。

こんなスレを見てしまった段階で踊る阿呆に見る阿呆だが。

265:名前は開発中のものです。
09/02/24 02:27:20 bahkSke6
久しぶりにファミコン版キャプテン翼やったら今でも面白いわ。
何これ、名作なんですけど。
お前らもこんなところでアホな罵り合いしてる暇があったらキャプテン翼やるべき。

266:名前は開発中のものです。
09/02/24 02:31:56 ly11pYeX
>>264
なんだかよくわからないけど俺の文字を打つスピードはそこそこのものだから
たいした時間にはならないし、特に問題はない
挑発かどうかぐらいは見抜けるし
当分の間ここに常駐して遊ぶことを日課にすることに決めてあるから
特に問題はないよ
五人ぐらいが同じ意図を持つ発言を同じ時間帯に
ほぼ同時に書き込んでいるということは興味深いけど
それもたいした問題でもない
別に俺をおもちゃにして遊んでもいいぜ
その程度で怒り出すほど短気じゃないし
考え方を変えると、俺に反論できない連中がむきになって
必死に挑発しているようにも見えるから、逆に嘲笑できるので愉快だわ
おほほ

267:名前は開発中のものです。
09/02/24 02:48:33 uKN6ZEKt
その程度の生態系

268:名前は開発中のものです。
09/02/24 02:59:01 S0KDY/Ow
そういやWin32APIのHWNDをタスクIDと変えただけみたいな
自称タスクシステムみたことあるな

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が含まれててコリジョンチェックまでシステム管理してたけど

269:名前は開発中のものです。
09/02/24 03:06:19 ly11pYeX
>>265
へっへーんお前のパケットは見放題だぜってことだろ
URLリンク(oshiete1.goo.ne.jp)
怖いよー><

270:名前は開発中のものです。
09/02/24 07:33:43 yxyYaCYi
相変わらずタスクシステムのメリットとデメリットはあがらないのな
自動並列化なんて嘘っ八だろ
普通に考えてごった煮な時点で不可能
だってすべてのオブジェクトに関してアクセスされちゃう可能性があるだろ
並列に処理できるわけない
むしろ、まとめないほうがまだやりやすい

271:名前は開発中のものです。
09/02/24 10:21:51 5sdzoLlH
基地外ポエマー以外は前スレ510のソースを見ただけでメリットもデメリットも理解してると思うがな

272:名前は開発中のものです。
09/02/24 10:32:59 7ZNJKJuB
タスクにすると重くなるんですよね?

273:名前は開発中のものです。
09/02/24 12:49:47 yxyYaCYi
もちろん

274:名前は開発中のものです。
09/02/24 14:35:29 vC+RqJEN
>>270
>264

275:名前は開発中のものです。
09/02/24 16:11:46 ly11pYeX
アリにミサイルぶち込んでほど守る価値がタスクシステムにあるのかどうか
疑問だったけど、思い出した事がある
俺が興味を示していたのはやねちゃん方面なのであんたに関わるつもりはない
そっちの要求どおり書き込むのは辞めよう
その代わりそっちもこれ以上俺の周辺に出てこないで貰おう
俺は面倒事には関わりたくない
あんたはその強力なカードを無意味に無力化したいとは思ってないだろ
俺に関わって来さえしなければ特に何の問題も発生しないだろう

276:名前は開発中のものです。
09/02/24 16:26:14 5sdzoLlH
ID:ly11pYeXが基地外ポエマーだな
いい加減、コテハンにしてくれ。基地外なんだから。

277:名前は開発中のものです。
09/02/24 19:54:09 yxyYaCYi
やねうらおはタスクシステム論争はブログで敗北宣言したって聞いたよ

278:名前は開発中のものです。
09/02/24 19:59:52 RgOj9QY8
やねう先生は、にちゃんなんか読んでもないでしょうに・・

279:名前は開発中のものです。
09/02/24 20:15:46 yxyYaCYi
絶対読んでるよ
ここが激化したころとちょうどにブログ更新したし
ごった煮って言葉まで使ってるし
でも内容はまるでだめだったな
タスクシステムは駄目かもわからんね的ニュアンスはあった
だれか本人にあったらキモイからくるなって言っといて

280:名前は開発中のものです。
09/02/24 20:28:21 5sdzoLlH
俺は、>>277>>279 だけ見ても ID:yxyYaCYiは知能障害だと思うんだが。

お前みたいな低脳はみんなコテハンにしろ。

281:名前は開発中のものです。
09/02/24 20:55:59 yxyYaCYi
本人乙

282:名前は開発中のものです。
09/02/24 21:26:05 5sdzoLlH
前スレ510を見て、誰もがメリットもデメリットも理解できるというのに
一人、二人510のソースすら読めない馬鹿がいたが、そのうちの一人がID:yxyYaCYiだろ

あのソースすら読めないならプログラマやめて吊ってこいよ

283:名前は開発中のものです。
09/02/24 22:09:08 hCsahR0N
>>282
エーーーーーーーーーーーーーーーーーーーー!
ループとっただけなのにぃ!?
頭腐ってんじゃねーのおマえw

284:名前は開発中のものです。
09/02/24 23:29:44 ly11pYeX
>>265
反応がないので少し情報を出してみました
たぶんこれで間違いないと思うんだよ
というわけなので、>>275でよろしく

285:名前は開発中のものです。
09/02/24 23:56:24 bahkSke6
>>284
なんのこっちゃ。

286:名前は開発中のものです。
09/02/25 04:17:34 PfUL4d8d
正直、面接で「やねうらおさんの本で勉強しました」と言ったら bad signal だな


287:名前は開発中のものです。
09/02/25 05:04:34 DU+zP8O3
やねうらおはさっさとタスクシステムをどうにかしろ。

288:名前は開発中のものです。
09/02/25 11:06:07 EtznPQRO
PCの、しかも2Dエロゲどまりの天才大先生には荷が勝ちす・・
じゃなくて役不足でしょ女子高生

289:名前は開発中のものです。
09/02/25 13:33:32 e6Xk0r8c
タスクシステムなんて楽勝というか
単調すぎてやる気がそがれる女子高生

290:名前は開発中のものです。
09/02/25 13:34:25 5eKvyod9
やねう大先生の専門は3Dですが。

291:名前は開発中のものです。
09/02/25 14:10:22 TwM8Bcza
>>290
ソースみせろよ

292:名前は開発中のものです。
09/02/25 16:31:23 5eKvyod9
>>291
ひょっとしてブログ読んでないの?読まずに批判してるの?

293:名前は開発中のものです。
09/02/25 17:22:33 EtznPQRO
やねうらおさんのライブラリはいつになったらサンディー対応するの?

294:名前は開発中のものです。
09/02/25 17:58:25 AiYRS/nG
>>293
64乙。親指の皮がむけて痛かったのはいい思い出

295:名前は開発中のものです。
09/02/25 18:05:48 cuEKcEeQ
やねうらおのタスクシステムでゲーム作り覚えちゃったので今頃四苦八苦中。
今度は Irrlicht の各種ノードを参考にツリー構造で行こうと思ってるけど、
なんか他にもっといい実装あったら教えてくんろ。

296:名前は開発中のものです。
09/02/25 18:14:03 DAnxa36y
前スレ>>641を参考にでもして普通に組むことを覚えろ
そんでまずベタで組めコピペ上等で貼り付けまくれ
んでそのソースを見渡して共通化できると思ったらしてみればいい
なんもやらないで他人の言葉ばかり鵜呑みにしてると
自分で検証して正しいことをもぎ取る力がまったく付かない
そんなクズだからやねうらおなんかに騙される

297:名前は開発中のものです。
09/02/25 18:23:26 e6Xk0r8c
優秀な奴ほど出たがらない
多分らねうらおはじゃんけんに負けたんだろう

298:名前は開発中のものです。
09/02/25 18:24:07 e6Xk0r8c
女子高生

299:名前は開発中のものです。
09/02/25 23:08:43 cuEKcEeQ
いや、プログラム覚えて1年目で、もう何本かゲーム作ってるのさ。
なんでタスクシステムに色々問題があることはわかってるし、
いろいろ試行錯誤重ねたけど、
どうも元のタスクシステムに毛が生えたようなものから離れられない。
もう5スレ目らしいし、なんかいい案とか出てないかなって思ったわけさ。
ちなみに前スレ>>641は俺がやねう本に出会う前のゲームと同じ書き方だった。
やっぱ自分でがんばるしかないかね。

300:ID:EEKBitmg
09/02/25 23:23:42 etgl0JxG
>タスクシステムに色々問題があることはわかってるし

具体的にどういう問題にぶつかった?もし良かったら聞かせてほしい

短期間でザクザクッと作って忘れ去るような作り捨てゲームプログラミング
ばかりしてる俺だけど、何かの役に立てるかもしれない
(もしHSP使いごときにアドバイスされたくないと思ったら先に拒絶してね!)

>なんかいい案とか出てないかなって思ったわけさ

タスクシステムに毛の生えたものどころか、そんなものハナから不要だったりする
ゲームプログラム全体からすれば、あんなものは溶けて無くなるほど瑣末な存在

301:ID:EEKBitmg
09/02/25 23:27:40 etgl0JxG
× あんなものは溶けて無くなるほど瑣末な存在
○ あれが提供する機能は溶けて無くなるほど瑣末なもの

302:名前は開発中のものです。
09/02/25 23:43:36 cuEKcEeQ
いや、もうちょっと自分でがんばってみるからもういいよ。
ありがとう。

303:名前は開発中のものです。
09/02/25 23:47:12 ZsJ8JDoS
正しい選択だw
ここで質問しても時間の無駄だよ。

304:名前は開発中のものです。
09/02/25 23:51:40 DU+zP8O3
シカトされてやんの

305:名前は開発中のものです。
09/02/25 23:53:11 vilybvcH
>んでそのソースを見渡して共通化できると思ったらしてみればいい

個人開発ならこのスキルを高め続ければ問題ない。

306:名前は開発中のものです。
09/02/25 23:59:28 Grn8C1eA
そこが重要なんだよね
まず、一度ベタ(正攻法の意味、グローバル変数・関数を使ってしまっているとダメ)で
書いてみてそれから共通化しても全然遅くない
なのにいきなり答えを求めて妙な汎用システムの構築からはじめるのが無駄過ぎる

たいした経験もないくせにはじめから答えを求めすぎなんだよ
まずはきちんとした正拳突きを出してみせろ
回し蹴りやかかと落しはそれからでいい

307:名前は開発中のものです。
09/02/26 00:03:33 PfUL4d8d
そして、昇竜拳、真・昇竜拳と続くのですね。

308:ID:EEKBitmg
09/02/26 00:12:50 7Y6iXMQm
ごめんね。多分本人(ID:cuEKcEeQ)は薄々勘付いてると思うけど
ぶっちゃけて書いちゃうよ

↓ここ
>どうも元のタスクシステムに毛が生えたようなものから離れられない。
>もう5スレ目らしいし、なんかいい案とか出てないかなって思ったわけさ

ナニを作るのか定かでないのに、(ナニを作るのか書いてないのに)
何かを、おそらくは万能の超すごいものを求めてるんじゃないかしら

厨がこういうナマ言うとブッ叩かれるかもだけど
タスク信者にしろ、タスクシステムの先を行く先進次世代タスクシステムを
求める人にしろ、共通する特徴は

 ・ナニを作りたいのか決まってない。(or明らかにしない)
 ・(おおまかな)仕様も決まってない。(or明らかにしない)
 ・だから設計のプロセスに至ってない。設計図がない。(or明らかにしない)
 ・なのに何にでも使える万能の先進的something systemを求めて彷徨う

結果として万能の矛を求めて、>>2みたいな何だか意味不明な他人の竹槍を借りて
ボトムアップで無軌道なコーディングを開始して、壁に当たって撃沈するんじゃない?

モノづくりの超重要なプロセスを端折ってるよね

309:名前は開発中のものです。
09/02/26 00:27:26 xEclDb9K
C言語の悪口はそこまでだ。

310:ID:EEKBitmg
09/02/26 00:30:06 7Y6iXMQm
やねうらおって人もそうだよね。日記読んだけどこの人って
STGを作るという前提でーとか言ってるけど、ぶっちゃけSTG好きじゃないでしょ
どうせSTGならこんな機能を求めてんじゃねーの?みたいな、かなーりナメた態度だよね
ぶっちゃけ、作りたいSTGなんて無いんだけど、次世代タスクシステムの記事を書く口実に
適当にSTG作るという前提ってことにしとけー、みたいな。その程度の考えでしょ

311:ID:EEKBitmg
09/02/26 00:34:31 7Y6iXMQm
極端な話、何も作りたいものなんてない。ただsomething systemが作りたいだけって人の駄文だ
目的も目標(ゴール)もゲームと無関係のところにあるから、手段が目的化してるから
彼の語るsomething systemが何をするためのものなのかが見えない。記事全体の論旨がボケてる。


312:名前は開発中のものです。
09/02/26 00:35:58 44i95qjG
基地外HSPerにボロクソ言われるやねうらおカワイソス

313:名前は開発中のものです。
09/02/26 00:53:08 x0WKrfKo
>>308
HSPerただのゴミクズだと思ってたら
なかなかわかってるじゃん

そうなんだよね
タスクシステムになにかを求めてる奴って
目的がボヤケてて作りたいものがまったく見えないし
その状態でゲームなんて作ったら完成なんてしないと思うぜ

まず、目的をはっきりさせることだよね
ちゃんと自分の力量もわかった上で

314:ID:EEKBitmg
09/02/26 00:57:13 7Y6iXMQm
タスク擁護派は、将来の仕様変更に備えて、と称して何でも動的にしようとする
でも実は彼らの言う、将来の仕様変更に備えて、てのは全くの嘘っぱち

仕様が全く決まってないから、ロクでもない冗長な設計しかできない
本来ならコード上で確定できるはずのことが確定できない。静的に記述できない
だから何でも動的にしようとする。上の自動並列化云々の話もそう
コードでできるはずの処理の静的スケジューリングを嫌うのは仕様が全く決まってないから

仕様が全く決まってないからER図みたいなものも作れないんじゃない?

315:名前は開発中のものです。
09/02/26 00:59:43 44i95qjG
>>313
HSPerもお前もただのゴミクズだろ

316:名前は開発中のものです。
09/02/26 01:38:17 aQvkhPES
リンクの資料を見て
これは正しいから、この通りにしなさい、と言える。
書いている人達は、OSの無いハードに実装する事を意味している、
例えば、MS-DOS系、Win9x系列、ゲーム機などです。
CPUの100%をユーザーが自由に使える時に、これがあると便利ですね

但し、最近のWindowsNT系列、WindowsXpなどは、マルチスレッドOSです、
DirectXも描画の管理を行う。そして、ゲームエンジンの中にも組み入れられています。
多重に管理領域を増やす事は、CPUの無駄な負荷を増やすだけで逆効果です。
最近のOSは負荷変動が大きくて使いづらい、それに加えて悪害を増やすのは良くない。

Windowsもシングルタスクに切り替える新しい機能を備えたなら
このゲーム管理モニターが生きてくるのだろうが.....




317:名前は開発中のものです。
09/02/26 01:40:06 CAxZukGM
>>316
> 例えば、MS-DOS系、Win9x系列、ゲーム機などです。
MS-DOS はともかく、他をOSないと言い切っちゃうのが素敵だ。


318:名前は開発中のものです。
09/02/26 01:47:27 xEclDb9K
ID:EEKBitmgは一生手動でシコシコやってろよ。

319:名前は開発中のものです。
09/02/26 01:52:58 CAxZukGM
C言語が生まれた理由は、アセンブリ以外の高級言語でシステムプログラミング
したかったからでしょ。目標明確だと思うが。

320:名前は開発中のものです。
09/02/26 03:26:53 xEclDb9K
タスクシステムはタスクのマネンジメントをしたかったから。
目標明確だが。ゲームに向いているかどうかはともかくとして。

321:名前は開発中のものです。
09/02/26 07:27:23 rj/WaPVe
は?マネジメント?
ゲームになんで必要なの?
苦し紛れの戯れ言やめろよ

322:名前は開発中のものです。
09/02/26 07:27:40 Hzlx12FS
>>306
今まで読んできた中で一番わかりやすかった

323:名前は開発中のものです。
09/02/26 09:40:41 3E2CBvtD
>>306
>グローバル変数・関数を使ってしまっているとダメ
そんなことは無いよ
まとめられてる物を分割するのに比べれば
グローバル変数やグローバル関数をクラスにまとめるのなんて大した手間では無いし

複数人プロジェクトだとうかつに大きなリファクタリングができないから、
予めある程度まとめておく必要があるけど
一人なら神経質になる必要はないと思うよ

324:名前は開発中のものです。
09/02/26 10:29:00 rnaK5RQg
タスクシステムのメリットは昔だと複数人で開発しやすいってのがあった

そういう意味でも今使用するメリットは無いなー

325:名前は開発中のものです。
09/02/26 10:46:49 CAxZukGM
>>320
具体的に言うと
・タスクとは何?
・マネジメントとは何?



326:名前は開発中のものです。
09/02/26 12:46:33 rj/WaPVe
>>323
それもやってみてから判断すればいい
ま、フルーツジュースをアップルジュースとオレンジジュースに
簡単に分離できる人はいないと思うけどね(笑)

327:名前は開発中のものです。
09/02/26 21:35:08 xEclDb9K
>・タスクとは何?
>・マネジメントとは何?
好きにすれば?

328:名前は開発中のものです。
09/02/26 22:10:59 QErBxQHp
タスクマネジメントっていう派遣会社が実在します(笑

329:ID:EEKBitmg
09/02/27 00:11:32 mKrjKgVb
>タスクシステムはタスクのマネンジメントをしたかったから。
>目標明確だが。

よくわかってるじゃないか。そう、彼らはsomething systemや
something managerを作るのが目標(ゴール)になってしまってるわけ
もはや彼らにとってはその先がどうなろうがどーでもいーわけ

彼らも当初は人間だった。ゲームで人を楽しませたかったのだろう
それが目的で、目標は何らかのゲームを完成させることだったのだろう
ところが月日が経ち、いつの間にかゲームプログラミングをすることが目的に
タスクシステムを作ることが目標に摩り替わってしまって怪物に変わってしまった
夢のタスクシステムを追い求めて彼らは今日も徘徊する。それがタスク信者

>ゲームに向いているかどうかはともかくとして。

↑こういう結果であっても彼ら怪物は意に介さない。人間と相容れるはずない




怪物と闘う者は、その過程で自らが怪物と化さぬよう心せよ
おまえが長く深淵を覗くならば、深淵もまた等しくおまえを見返すのだ

                              フリードリヒ・ニーチェ

330:名前は開発中のものです。
09/02/27 01:12:33 AbjSLDmb
>>329
HSPでろくにゲーム作った経験すらない基地外が吠えんな

331:名前は開発中のものです。
09/02/27 06:04:35 OlkjxfL3
something systemやsomething managerを求めるのはプログラマだからこそって気がするなぁ。

332:名前は開発中のものです。
09/02/27 07:31:15 8/3i+eFW
でもそれは的外れな気がするな
目的を果たすための手段でしかないはずなのにな
経験積んだらこういう俺々システム痛々しくて見てらんなくなった

333:名前は開発中のものです。
09/02/27 07:49:45 AbjSLDmb
>>332
ミドルウェアのほとんどすべてが俺々システムなんだが。頭大丈夫か?

334:名前は開発中のものです。
09/02/27 08:55:30 +G2+ogqD
>>316
スレッド一つで1MBも使うし重過ぎる(1000個で1GB)から、
何とかしようとしてタスクシステムを使ってるわけなんだが

335:名前は開発中のものです。
09/02/27 10:47:50 LUGZFvab
>>333
ま、ミドルウェアつーてもピンキリだわな

>>332の言う俺俺システムってのは、ロクな経験もない雑魚がやたら作りたがるイカ臭いオナニーシステムとか
オナニーフレームワークとかオナニーミドルウェアとかオナニーライブラリの類のことだろ

すんげーショボくてしょっぱい機能しか提供しないくせに、やたら独りよがり&でしゃばり&余計な
お節介してくる謎仕様の糞インターフェースを押し付けといて、『どや?えーか?えーのんか?』
みたいな得意げな表情を浮かべる。そういう厨二病時代を経験して大人の階段登るのはよくあること

タスク信者ってのはその状態が過渡的なものではなく、そこで停滞・永続化・ライフワーク化した
永遠の厨二時代を手に入れたモンスターなのさ

336:名前は開発中のものです。
09/02/27 13:35:02 NNk3J3ow
脳内「タスク信者」との闘いがライフワークの人が復帰した模様

337:名前は開発中のものです。
09/02/27 15:19:55 lChaxYTz
ゲーム開発で仕様が決まってない箇所なんていくらでもあるじゃん。
PG個人で仕様が決められないからこそ、柔軟性を高く磐石につくるんだよ。

338:名前は開発中のものです。
09/02/27 15:56:47 DlxdBLtO
経験上、性能を重視しないものは一時はやっても廃れる運命にある。
タスクシステムはその点有用。ミドルウェア作るほどのことかは別として。

ゲームとは余り関係ないけど、次のようなものもある。

タスクシステムでActionScriptに擬似スレッドを実現したライブラリ
ActionScript Thread Library 1.0 (そうめん)
URLリンク(www.libspark.org)

339:名前は開発中のものです。
09/02/27 17:05:24 lChaxYTz
俺も、ゲームとはあまり関係ないがタスク繋がりなら、以下のようなものを挙げる。
Intel Threading Building Blocks
URLリンク(www.xlsoft.com)
あと.net4でもタスク採用だ。
URLリンク(eetimes.jp)
どれも並列化についてばかりだ。並列化においてタスクは有用。
ゲームにタスクが向いているのかどうかは知らないが、
タスク「システム」なんて大層な名前をつけているのはゲームだけだな。

340:名前は開発中のものです。
09/02/27 18:03:11 8/3i+eFW
意味無いだろ
タスクシステムのタスクは並列化できない
前もでたけどいつどんなときでもデータにさわれるごった煮だから
並列に処理を走らせることができない
並列化とタスクシステムはタスクって名前だけでなんの関係もないし
タスクシステムのタスクと普通のタスクも違うものであることを忘れちゃ駄目

341:名前は開発中のものです。
09/02/27 18:54:40 lChaxYTz
始めにゲームとあまり関係ないと書いてるのに。
ゲームのタスク≠一般のタスクなのは百も承知だよ。
ゲームにも「一般のタスク」を取り入れて、積極的に並列化していけってことだよ。
ゲームと並列化の相性はいいよ。

342:名前は開発中のものです。
09/02/27 19:06:02 NNk3J3ow
だーら、「タスクシステム」攻撃ちゃんは、そーいう普通の「タスク」と、
「タスクシステムがタスクと称しているもの」が全然違うといって攻撃してるんでさw

343:名前は開発中のものです。
09/02/27 19:37:54 HQmvfwr6
最近読み始めたから流れについていけないんだけど、
このスレの「タスクシステム」ってのは>>2のことなのか?

344:名前は開発中のものです。
09/02/27 19:53:27 LUGZFvab
まったくだ!

345:名前は開発中のものです。
09/02/27 21:03:41 ZQTPwJtl
最近は擁護派のレスもアンチにしか見えないから困る
わざわざ出てきて余分な敵作って何がしたいのかと。

346:名前は開発中のものです。
09/02/27 21:08:45 72hC8Fkf
>>343
そうそうこのスレのタスクシステムは>>2のこと

347:名前は開発中のものです。
09/02/27 21:56:14 HQmvfwr6
「タスクシステム」って言わないで、ちゃんと「>>2」って言えば
みんな幸せになれる気がする

348:名前は開発中のものです。
09/02/27 22:49:26 Upzb5jnG
つーか別に誰も万能タスクシステム作りたいなんて言ってないよな・・・
どこからそんな話が出てきたんだ?

349:名前は開発中のものです。
09/02/27 22:58:48 +G2+ogqD
作れるし、もっとも効率的

350:名前は開発中のものです。
09/02/27 22:59:22 +G2+ogqD
すまん、誤爆した

351:名前は開発中のものです。
09/02/27 23:32:29 SVtT1/dn
>>339
TBBとタスクにどういう関係が…?

352:名前は開発中のものです。
09/02/27 23:37:28 YRzIhVXj
>>348
こういうレベルの人が言ってるだけでしょ。

どうすればゲーム作れるんですか?
タスクシステムってなんですか?
タスクシステム使うとどんなゲームでも作れるんですか?

353:名前は開発中のものです。
09/02/28 00:10:20 CpUs6IOM
>>348

> つーか別に誰も万能タスクシステム作りたいなんて言ってないよな・・・

> どこからそんな話が出てきたんだ?
自己矛盾

354:名前は開発中のものです。
09/02/28 00:24:00 mfxCbPbK
なるほど。
アンチは自分自身の心と戦っているのか。ご苦労さん。
次は上手くいくといいね。

355:ID:EEKBitmg
09/02/28 00:28:51 riSKV9Lt
>>348
ゲーム作りたいなーと思う人間が、皆が皆、汎用と万能の違いを理解していれば
そういう話にはならないわけ。現実には、タスクシステムに吸い寄せられる人って
学力偏差値的にかなーり多様でしょ。俺のように下から数えたほうが早い子も沢山いるの

いわゆるベテランと称するオッサン共に注文がある
まず「タスクシステムって何?」と思ってる後続のリテラシーの問題に配慮してほしい
あんたらのギョーカイって頭の出来が比較的どうかと思う層が結構沢山働いてんだろ?
人数構成的にさ。
高専を中退して東京のゲーム専門学校に通ってる先輩が昨夏に帰郷した際
「おまえタスクシステムも知らないの?プッヒー」と俺に言いやがった

まともなゲームを一本も作ったことが無かった彼がなぜ発作的にゲーム専門学校に行ったのか
謎に満ちていたが、まぁとにかく彼は数ヶ月間東京に居た間に何かを学んできたらしい。そして
タスクシステムというのは万能だと俺に力説してくれた。東京ってのは魔窟だなぁと俺は思った

356:ID:EEKBitmg
09/02/28 00:33:17 riSKV9Lt
タスクシステムなんて知らなかった俺はサクサクっとググった

調べてわかった事。ゲームオブジェクト(シーンオブジェクト)をタスクと呼ぶ>>2
タスクシステムを説明するオッサン共は汎用性だの再利用性だのの言葉を駆使するの大好き
やねうらおって人のページでも何度となく登場した。うさんくせーなと思いながら読ませてもらった

TaskSystemという名称が発する独特の嫌な臭気。それが汎用性だの再利用性だのの言葉と
化学反応して万能という幻覚作用を呈するのではないか。そう厨房は思う

無理やり何にでも使うのを汎用というのはどうかと思ったが、まぁとにかく汎用らしい。たいしたもんだ
そのくせSTGを例にあげてるとこばっかなのは何で?みたいに思ったし
弾一発一発になんでこんな仕組み使うのか理解できなかったし、無意味な管理オーバーヘッドが
目障りで俺は使う気しなかったが、まぁとにかく汎用らしい。だが万能にはとても見えなかった

ビジーウェイトでオブジェクトのコンテナを周期的に舐めてるだけの仕組みの何が珍しくて
何が素晴らしいのか皆目見当がつかなかった。いろんなタスク解説記事を読んで
昭和生まれの人とのギャップを感じた

357:名前は開発中のものです。
09/02/28 00:43:24 mfxCbPbK
タスク信者もアンチも同様にバカだということが良く分かる。
こだわりすぎ。

358:名前は開発中のものです。
09/02/28 00:48:02 RB9P0VSw
そうか、平成になってもう20年も経つのか orz

359:名前は開発中のものです。
09/02/28 00:59:52 TAywFnWh
ID:EEKBitmgはタスクの愚痴は先輩に直接言えばいいと思うよ

360:ID:EEKBitmg
09/02/28 01:02:46 riSKV9Lt
一応先輩だし、顔立てないとまずいっしょ。高専って上下関係厳しいんだよ

361:名前は開発中のものです。
09/02/28 01:08:51 TAywFnWh
だからってこんな掃き溜めで愚痴らんでもさ~。まあ見てる俺も俺だが。
相手が議論できる先輩なら、そこは戦えと言いたい。
リアルでこんなしょうもないタスク議論をしているのを想像するだけで笑えるわ。

362:名前は開発中のものです。
09/02/28 01:13:15 EXb+i3RS
アンチに聞きたいんだけど、結局どうしたいんだ?
ゲーム業界でタスク使ってるプログラマーに別のやり方を押し付けたいのか?

363:ID:EEKBitmg
09/02/28 01:16:56 riSKV9Lt
議論なんてするわけないじゃん。俺はそんなお人よしじゃない
「すげっすね。俺もゲーム専門学校生きたいなー」
とか棒読みで相槌打つだけだよ。寝る

364:名前は開発中のものです。
09/02/28 01:20:32 TAywFnWh
>>362
好きにしたらいいよ!
グループ開発ではタスク利用者なんて居ないし、タスク利用者は個人製作でしょ。
個人が何使ってても俺は何も言わん。好きにしませう。

誰かに押し付けるのであれば、スクリプト(動的リロード&コルーチン利用)+ノード型のシーングラフが、
割と汎用なのでオススメしている。実装するまでがメンドクサイのが難点だが。

365:名前は開発中のものです。
09/02/28 01:30:14 Yb+qou2I
ID:EEKBitmgはHSPしか使えず満足にゲームすら作ったことのない基地外のくせによく吠えるね

366:名前は開発中のものです。
09/02/28 01:52:05 mfxCbPbK
シーングラフとタスクシステムの違いが分からん。

367:名前は開発中のものです。
09/02/28 02:08:55 /3zp3UqN
>>366
全然違う会話に入ってくんなキメェ

368:名前は開発中のものです。
09/02/28 02:08:58 UiY4RCmu
>>364
ススメてるものがどんなものでタスクとはどう違うのか
ちゃんと具体的に書かないとまた信者にタスクの一種にされちゃうぞw

369:名前は開発中のものです。
09/02/28 02:53:25 TAywFnWh
どんなのって言われても、どこにでもあるノード型のシーングラフだよ。何の特徴も無い。
URLリンク(blog.scriptionary.com)
3Dならシーングラフは便利なんだけど、2Dゲームでシーングラフは必要かといわれると疑問だけどね。
ノードが(必要であれば)コルーチンを持ってる。
あと、ノードが描画コマンド発行してstd::listでソートして出してるかな。

本当に普通過ぎて、ネタにすらならなくてすまん。
こんな具合で3DSTGを1本と今2DRPG作ってるが、今のところ必要十分です。

370:名前は開発中のものです。
09/02/28 03:23:11 mfxCbPbK
あーこのスレでは、そういうのを総称してタスクシステムって呼んでるんだけどね。
結局俺俺フレームワークでしょ。
listで管理するかtreeで管理するかの違いでしかないからね。
本質的には同じだよね。

371:名前は開発中のものです。
09/02/28 03:33:11 TAywFnWh
>>2で言うような、タスクシステムはTCBでのごった煮リストでしょ?
ノード型のシーングラフはただのtreeで、全然違う。
そもそも、この程度で俺俺フレームワークっていうのが理解できん。
じゃあ、>>370はTCBやlistやtree以外でオブジェクト管理してんの?と逆に問いたい。

372:名前は開発中のものです。
09/02/28 03:34:59 Yb+qou2I
>>371
HSPしか使えない基地外は、フレームワークの存在自体を否定してるんだろう。

本当、頭おかしい。

373:名前は開発中のものです。
09/02/28 03:50:30 TAywFnWh
>>372
フレームワークを否定されてしまったらもう返す言葉がないわ……。

374:名前は開発中のものです。
09/02/28 03:52:52 mfxCbPbK
>>371
沸点が低いな。どうしようもないな・・まったく。一つ一つ答えてあげるから。

>>>2で言うような、タスクシステムはTCBでのごった煮リストでしょ?
>>369のシーングラフもNodeのごった煮ツリー。リストかツリーか、違いはそれだけ。

>ノード型のシーングラフはただのtreeで、全然違う。
タスクシステムもただのリストだ。

>そもそも、この程度で俺俺フレームワークっていうのが理解できん。
理解できないから叩かれてる。名前付けるほどのものかと。

>じゃあ、>>370はTCBやlistやtree以外でオブジェクト管理してんの?と逆に問いたい。
俺はアンチタスカーじゃないから知らん。
聞くところによると、アンチタスカーたちは静的な管理をしているらしい。
動的な管理じゃないから、Nodeとかといった高等な概念はいらんと。
オブジェクトの一元管理を嫌うらしい。

375:名前は開発中のものです。
09/02/28 03:59:11 mfxCbPbK
>>373
アンチタスカーは、ゲームごときにフレームワークなんていらないでしょ、という立場。
あ、おれはアンチタスカーじゃないよ。でも気持ちは分からんでもない。

376:名前は開発中のものです。
09/02/28 04:01:09 TAywFnWh
>>374
いろいろ答えてくれてありがとう。
とりあえずlistであれtreeであれ、動的なオブジェクトの管理をしていれば、
アンチタスカーに叩かれる対象なわけね。
こりゃ厄介だ。根本的にコーディングに対するスタンスが違いすぎるわ。

ちなみに、シーングラフは一般的な言葉だよ。
国内じゃあまり聞かないけど、最近はたまに出てくるようになった。

377:名前は開発中のものです。
09/02/28 04:12:34 mfxCbPbK
というより、シーングラフはタスクシステムの外国版かと。

378:名前は開発中のものです。
09/02/28 04:20:46 TAywFnWh
じゃあ自分はタスクのシーングラフ派で良いや。>>2よりも分かりやすいし。
でもアンチタスク派の人々は3Dになると相当オブジェクトの相互作用が働くから、
静的に管理するのはかなり骨だよね? どうやって書いてるんだろ?
フレームワークを作らずに3Dでなんとか実装できるのは、よほどの天才だと思う。

379:名前は開発中のものです。
09/02/28 04:32:36 mfxCbPbK
アンチタスカーは相互作用が働くからこそ、フレームワークを使うべきでないという立場。
相互作用といっても、多種多様だから、枠に収めるべきでないと。

380:名前は開発中のものです。
09/02/28 04:41:31 TAywFnWh
いわんとしていることは分かったが……。
枠に収めなくても相互作用が発生しているのならどこかにコード記述しないといけないから、
アンチタスカーはグローバルな視点(シーン全体からみた視点)で記述するってわけかな。
それで3Dボーンの記述しようとおもうと気が遠くなるな。
Node視点で相互作用が簡単に書けるのならそうした方がいいと思うのは俺だけ?

381:名前は開発中のものです。
09/02/28 04:47:30 Yb+qou2I
アンチタスカーは馬鹿だからフレームワークも作れないし、
3Dなんか夢のまた夢だろJK

382:ID:EEKBitmg
09/02/28 06:45:54 98PwVc1b
>>372
>フレームワークの存在自体を否定してるんだろう。

どうしてそうなるのかな?ほれ、作文書け


383:名前は開発中のものです。
09/02/28 07:11:22 mfxCbPbK
このスレで作文書くのはお前だけだ。
あ、もう一人ポエマーが居たか。

384:ID:EEKBitmg
09/02/28 08:21:24 98PwVc1b
>>383
逃げるなよ。根拠を書けと言っている
俺がわざわざIDコテ付けてるんだから
過去発言から逃げられないように
縛ってるんだからさ

385:名前は開発中のものです。
09/02/28 08:55:50 TaZCwQfk
>>374
>>じゃあ、>>370はTCBやlistやtree以外でオブジェクト管理してんの?と逆に問いたい。
>俺はアンチタスカーじゃないから知らん。
>聞くところによると、アンチタスカーたちは静的な管理をしているらしい。

なにこの捏造。どこで聞いたんだ? アンカーよろしく。


386:名前は開発中のものです。
09/02/28 09:02:57 mfxCbPbK
>>385
近いところでは >>314 とか。


387:名前は開発中のものです。
09/02/28 09:07:23 mfxCbPbK
あー補足しておくと、彼は

>タスク擁護派は、将来の仕様変更に備えて、と称して何でも動的にしようとする
>でも実は彼らの言う、将来の仕様変更に備えて、てのは全くの嘘っぱち

と言ってるが、実は、汎化する過程で動的になっちゃうだけなんだけどね。
でも彼には内緒ね。

388:名前は開発中のものです。
09/02/28 09:16:32 TaZCwQfk
>>314をどう解釈すれば「オブジェクトをlistやtree以外で静的に管理している」ことになるんだ?
静的なのはループや分岐の構造であって、その対象ではないだろ。
過去ログ読めよ。

389:名前は開発中のものです。
09/02/28 09:46:11 mfxCbPbK
ループや分岐の構造が静的ということは、オブジェクトを型の上で静的に管理しているということだろ。
>>374の最後にも「オブジェクトの一元管理を嫌うらしい。」と書いてあるだろ。

390:名前は開発中のものです。
09/02/28 22:28:23 DCXcqJeM
今日は静かだな…
タスクシステム厨は必死にシーングラフを調べてると予想

391:名前は開発中のものです。
09/02/28 23:45:25 M6Ochz+0
というより、ほんっとーに疑問なんだけど、
反対者たちはどれほどのゲーム製作経験があって、
どんな問題に直面して、そしてどんな手法に移行したんだろう。
他人を罵倒するかタスクシステムを貶すかばっかりで、
本当に知りたいそれらが見えてこない・・・。

392:名前は開発中のものです。
09/02/28 23:56:55 BYhOCIGj
>>391
そうだよな。
へたれ詐欺グラマが、経験者から知見を盗み出すために必死に煽っていると憶測。
いずれにせよ、基地害アンチは色んな意味で底辺の人間だろな。

393:名前は開発中のものです。
09/03/01 00:06:53 +vpbHykN
>知見を盗み出すために

(笑)

394:名前は開発中のものです。
09/03/01 00:26:11 kmmpN5+q
前スレの510のプログラムだけでも見れば普通は、タスクシステムの良さも悪さも
わかりそうなものなのに、それすらわからないのは、本当どうしようもない底辺プログラマだからか
HSPしか使えない基地外だからだろうな

395:名前は開発中のものです。
09/03/01 00:38:58 MIErf48U
聞き飽きた。
そーやって煽ってごまかさないで、
具体的に自分の言葉で説明してくれよ。


396:名前は開発中のものです。
09/03/01 00:40:28 kmmpN5+q
>>395
馬の耳に念仏だろ

510を見てわからないならプログラマの資格すらないだろJK

397:名前は開発中のものです。
09/03/01 00:41:06 eMlF6q92
>>394
後からグズグズと、見苦しいからやめれ。
自分の説明力の無さ、能力の無さを必死で誤魔化している様に見えるぞ。

398:名前は開発中のものです。
09/03/01 00:53:42 3fQv+45S
どんな簡単なことであろうが読めば解るという返答は説明になってない
説明出来ないなら理解できてないのと同じなんだけどな

399:名前は開発中のものです。
09/03/01 01:02:26 FvZKbICm
他人の作ったのを引き継いで、やっとわかったわ。
タスクなんか使わないほうが良いって事が。


400:名前は開発中のものです。
09/03/01 01:16:57 Q0b0e5s4
プログラムの良し悪しってなかなか具体的に表現できんもんだよね~
後輩とペアプログラミングしてて分かった。指摘し辛いわ。

401:名前は開発中のものです。
09/03/01 01:18:07 kmmpN5+q
>>397
510のプログラムに説明がいるような理解力のない奴には何を説明しても無駄。

プログラマとして最低条件すら満たしていない。

402:名前は開発中のものです。
09/03/01 01:21:35 MIErf48U
>>396>>401
説明してくれ、と言っているのだが日本語が通じなかっただろうか?
煽って逃げないで、出来ないなら出来ないと言ってくれ。
ちなみに俺は出来ないし、分からないから答えを求めてここに居る。
出来ない分からない人間に説明しないなら、このスレはなんのためにある?

>>399
是非その苦労を語って欲しい。
参考にしたい。

403:名前は開発中のものです。
09/03/01 01:32:36 eMlF6q92
>>401
何でいきなり前スレの話を持ち出すんだ?
しかも言いたいことは、自己弁護だけだろ?
だから見苦しい。誤魔化してるだけ。
面倒だな。

404:名前は開発中のものです。
09/03/01 01:35:40 Q0b0e5s4
新人君の書いているコードを最初見たときに、
「複雑な書き方してるよね。stlやboost使えば1行だよね」という表面上のコメントは出来る。
んで、社内特有のコーディングスタイルについても指導できる。変数や関数名はハンガリアン準拠やgoogle準拠で書いてねとか。

しかしだ。ペアプログラミングで新人の書いたコードを読み終えて、自分が内容を理解した頃には、
「まあそういう書き方も有りだよね」という感想になる。
局所的な赤ペンを入れるのは簡単だが、完成したコード全体に赤ペンを入れて1から書き直すのは難しいという感じ。
実装のセンスについては教育のしようがないんだ。PG個人に染み付いてしまっている。

405:名前は開発中のものです。
09/03/01 01:43:36 kmmpN5+q
>>402
メリットもデメリットも前スレ見ればわかるだろう。

お前は本当に前スレを読んだのかと問いたい。

406:名前は開発中のものです。
09/03/01 01:58:43 MIErf48U
>>405
会話が成り立たねぇ。
もーいいや、そうやって一生逃げ続けてれば?

407:名前は開発中のものです。
09/03/01 02:00:39 XFHzOPV1
タスカー:「見ればわかる」×4

この事実だけでもうこのスレ終了でいいんじゃね。
今週いっぱいまともな議論になってないし。
骨のあるタスカーが居たのは先週までだな。

408:名前は開発中のものです。
09/03/01 02:11:59 kmmpN5+q
>>406
前スレ読んでわからないのはぶっちゃけ池沼だろ。

409:名前は開発中のものです。
09/03/01 02:17:31 xuNYhNP2
ループのカッコにマクロ当てただけで喜んでるタスカーがいるスレはここですか?

410:名前は開発中のものです。
09/03/01 02:55:36 g9LGhZvF
抽出 ID:kmmpN5+q (5回)

394 :名前は開発中のものです。[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
前スレ読んでわからないのはぶっちゃけ池沼だろ。

411:名前は開発中のものです。
09/03/01 04:05:15 9dNNEqpm
>>398
その理屈だと幼稚園生に因数分解を理解できるように説明できない人は
因数分解を理解できていないことになるな。

地球上には因数分解を理解できてる人が居ないってことかな?

412:名前は開発中のものです。
09/03/01 04:17:44 9dNNEqpm
前程知識の無い人間にその前程から導き出された結果だけ理解することは不可能。
そんなことが出来るならそもそも学校教育なんて不要ってことになる。

ネットで「説明して」ってだけでそーいった知識が理解できると思ってて
理解できないことは自分に必要な知識や経験が無いからじゃなくて相手が悪いって考えではねぇ…

そんな人間に必要なのは「説明」ではなく「教育」だけど、それをネットに求めるのは無理があるな。
ネットで出来るのは知ることだけ。理解はまた別物だよ。

理解したきゃ自分で学習しなきゃね。

413:名前は開発中のものです。
09/03/01 04:34:09 MIErf48U
得意げになってるとこ悪いけど、極論で言い訳されてもね・・・。
説明できなかった以上、説得力皆無なんだけどなあ。

414:名前は開発中のものです。
09/03/01 04:35:59 MIErf48U
つーか説明できるかどうかは相手の理解力関係ないよ?
説明の甲斐とか質とかじゃなくて、できるかどうか聞いてんのにさ。

415:名前は開発中のものです。
09/03/01 04:43:30 xuNYhNP2
>>412
でも前スレの>>510>>641の比較みて>>510のが
いいって奴って勉強不足どころか
頭が悪いよ

416:名前は開発中のものです。
09/03/01 05:00:42 9dNNEqpm
>>414
いままでの過去スレで利点も欠点もほぼ説明され尽くしてるけど。
「自分に理解できない」=「説明されてない」では無いことをまず「理解」しなさい。

417:名前は開発中のものです。
09/03/01 05:02:11 lmuwAfAn
何くだらない議論してるんだよ。人間としてどうよ。

418:名前は開発中のものです。
09/03/01 05:53:50 xuNYhNP2
>>416
ほとんど嘘だったけどな
自動化なんてないしごった煮がDBとか言い出す恥ずかしい奴もいたし
タスク信者どもも統制がとれてるとは思えなかった
そんな中でたのが>>510>>641だしこれはループのカッコを
マクロに変えただけのような恥ずかしい代物

そろそろ誰か説明してもいいだろ

419:名前は開発中のものです。
09/03/01 05:58:08 xuNYhNP2
その前々スレあたりでは
引数が使えないことでグローバル変数・関数が野放しになる危険がある
っていう話題も出たな
欠点ばっかりは覚えてるな

利点はごった煮にしてデータすべてにアクセルできるとか言ってたけど
正直、プログラムのプも字知らないような素人の書き込みっぽくてタスク信者の
総意とか思えないんだよね
データすべてにアクセスできるから自動並列化の話とは矛盾するね
並列に処理するもんだけはどうしたってデータは分離しないと動かないからね

420:名前は開発中のものです。
09/03/01 05:59:35 MIErf48U
>>415
>>510が良いなんて一言も言ってねぇーw
なんでそう平気で話を捏造するの?アンチの習性なの?死ぬの?

>>416
「自分の言葉」で説明できない負け犬に用はありません。
お前に限らないが、
過去スレで議論し尽くされたソレを見て
ソレを理解できた連中ならさらっとここで説明できるだろうに。

過去の連中にばっか振って、自分じゃ語れないなんて、
何も作ったことないし理解もしてない口だけなのがバレバレじゃないか。

421:名前は開発中のものです。
09/03/01 05:59:50 xuNYhNP2
個人的にはタスク信者はもう詰んでると思うね
会社で理詰めの議論を要求される場面で問い詰められたら
発狂するしかねーよマジで

422:名前は開発中のものです。
09/03/01 06:37:02 kmmpN5+q
アンチはフレームワークとか一切使ったことのないただの基地外HSPerだろ。


423:名前は開発中のものです。
09/03/01 10:09:48 XFHzOPV1
ザ・基地外列伝

抽出 ID:YgfxUXIw (3回)
抽出 ID:keyUucFf (2回)
抽出 ID:5sdzoLlH (4回)
抽出 ID:44i95qjG (2回)
抽出 ID:AbjSLDmb (2回)
抽出 ID:Yb+qou2I (3回)
抽出 ID:kmmpN5+q (6回)

こんな役に立たない奴を抱えているタスカーは大変だな。
アンチで良かった。


424:名前は開発中のものです。
09/03/01 10:16:22 XFHzOPV1
しかし、ここまで惨めな奴は珍しいな。
ID:kmmpN5+qはウンコちゃんと命名してあげよう。
別にコテハンにならなくてもいいよ。
言ってる内容でウンコちゃんだとすぐに分かるから。

425:名前は開発中のものです。
09/03/01 10:48:12 kmmpN5+q
>>423-424
基地外はお前だよ、お前。

426:名前は開発中のものです。
09/03/01 12:46:52 I7MayTRi
もーいーよーだれか説明してよ、まとめてくれよー。
うち頭悪くていいから。長くても4レスぐらいでまとまるでしょ?

427:名前は開発中のものです。
09/03/01 18:00:32 +HiGpNcL
>>426
>264

428:名前は開発中のものです。
09/03/01 18:45:16 3VRI83Xk
ぶっちゃけると誰にでも理解できるものじゃないと思う。
少なくともポインタを理解できる頭は必要。
"使える" と "理解できる" は違うよ。

429:名前は開発中のものです。
09/03/01 18:48:07 xuNYhNP2
>>428
なにその使っていけばレベルがあがるみたいな言い方?
タスクシステム自体プログラム言語の進化を完全に否定してるものなのにw
型も引数も否定して彼等はどこへいくのか・・・

430:名前は開発中のものです。
09/03/01 19:17:01 lmuwAfAn
アンチタスカーの頭の悪さが目立つな。

431:510
09/03/01 19:35:00 lmuwAfAn
URLリンク(kansai2channeler.hp.infoseek.co.jp)
作りかけだけど。
前スレで言ってた参照構造を実装した。
オブジェクトの参照構造がreference_structure.cppで定義されてる。
タスク内において、それの定義にしたがってオブジェクトが参照される。
今日はここまで。

432:名前は開発中のものです。
09/03/01 19:36:50 bNWlMx7s
アンチタスカーですが
>CodeZine:本格的なシューティングゲームを実現するタスクシステム(タスクシステム,シューティング,ゲーム)
>URLリンク(codezine.jp)
このコードはひどいね
重複してるし 未使用領域もある
メンバ関数も無駄にstaticで意味がない

もっと調べればもっと叩くところはでるだろう


で タスク信者に言う ソースで語れ
嫌なのか?さらしたくないのか?逃げるだけか?ライバルを作りたくないのか?逃げるのか?

答えろ

433:名前は開発中のものです。
09/03/01 19:43:26 3VRI83Xk
>>429
使っていけばレベルがあがるとは言ってない。

URLリンク(local.joelonsoftware.com)
>どうやら大部分の人々はポインタを理解するための脳の一部分を持たずして生まれてくるようだ。

俺にはこれを否定できない。
同じ大学で勉強したはずの友人の例を見てきてるから。

434:名前は開発中のものです。
09/03/01 19:44:25 aHmLTao6
>>431
これはひどい

435:名前は開発中のものです。
09/03/01 20:39:37 /NI8vJIH
>>432
> このコードはひどいね
> 重複してるし 未使用領域もある

どれが未使用領域?

436:ID:EEKBitmg
09/03/01 20:42:30 MlhdTCDS
>>433
そんな馬鹿な!世界は広大だな
PICのプログラムを組む実習とかあったが
HWIトリガーにしてアドレス入りレジスタ
使ってROMエリアのデータ(配列)読んで
所定の計算して出力とか、脳筋体育系も
ヤンキーも出来てたぞ。出来なきゃ留年
チョンボして他人のソース丸パクできない
やればひどい制裁を受けるから

ポインタ使えないんじゃなくて、そういうのを
使う必要がない言語や環境しか経験してないから
単に不慣れなだけじゃないの?

437:名前は開発中のものです。
09/03/01 20:56:06 1CyuAS5Y
ポインタを使えない人は本当に居る。
不慣れとかそういう話でなく、ポインタの仕組みは理解できても、
(コーディング上において)ポインタを使うメリットが理解できない。ってタイプ。

知り合いに、値渡しで関数に与えていて、わざわざ冗長なコードを書いていたから指摘したら、
本人いわく、ポインタは知っていてもあえて使わないんだとさ。

438:ID:EEKBitmg
09/03/01 21:18:09 MlhdTCDS
>>437
んー。そうかー
値渡しで組んでも動くからいいやーって人かな
CPUパワーもRAM容量も余りまくりでジャブジャブ
使ってもいいよーっていうターゲット(ハードウェア)
を使える環境だからそういうふうになるんじゃないかな

貧弱環境でタイムクリティカルな処理しろって
状況に放り込めば参照渡し使うと思うけど

439:名前は開発中のものです。
09/03/01 21:24:04 1CyuAS5Y
どんな環境でもポインタで参照渡し使った方が軽いし、コード記述量も減るというのに、
彼のとった選択肢は"ポインタは分かり辛いから使わない"だとさ。
だったらCやめればいいのにと思った。

440:名前は開発中のものです。
09/03/01 21:24:27 aHmLTao6
>>438
前に ACM Newsletter か何かで読んだが、教育レベルとか計算機環境に
よらず、一定割合でプログラミングがダメな人は存在するそうだ。

いい大学の CS に入ってくるような人間でも、適性ない人間はどうにもダメ
らしい。



441:名前は開発中のものです。
09/03/01 21:25:01 aHmLTao6
>>439
っつか、ゲームプログラミングやめれば良いのにな。

442:名前は開発中のものです。
09/03/01 21:34:18 bNWlMx7s
>>435
読めばよい

443:名前は開発中のものです。
09/03/01 21:38:28 XFHzOPV1
>>431
#include "Tasksystem.h"
#include "reference_structure_macro.h"

このヘッダがzipに入ってないね。

444:名前は開発中のものです。
09/03/01 22:03:38 1CyuAS5Y
このスレ見て、身の回りのいろんなPGを見ていて思うに、
ゲームプログラマには、大別してクリエイター型とエンジニア型が居ると思うわけよ。

■クリエイター型(C型)
ゲーム製作を美術・芸術・メッセージ表現の一種と捉え、作品の完成を目指して鍛錬する。
ゲームが完成することを最終目標としているために、エンジニア型に対して結果が全てと見下している。
ゲームとしての表現力を増すのような技術がローコスト(手間要らず)で導入であれば積極的に採用したいが、
ゲーム製作において足枷になるような技術については、嫌悪する傾向がある。
駆け出しの頃はスクリプター寄りの傾向。将来的にはPDに向いている。
プログラミング能力は低いので他業種での潰しが利き辛い。

■エンジニア型(E型)
ゲーム製作を自己のプログラミング能力向上のための試金石と捉え、ライブラリの完成を目指して鍛錬する。
フレームワーク作りに熱中し、何時まで経ってもゲームは完成しない。
新規技能・技巧をいち早く取り入れる風潮があり、汎用性・完成度・移植性などを重視する傾向がある。
技術的に稚拙なクリエイター型について、プログラム知識の無さに嫌悪することがある。
駆け出しの頃はライブラリ製作+サンプルゲームを作る傾向。将来的にはメインPGに向いている。
プログラミング能力が高いので他のSE業種に移行しやすい。

445:名前は開発中のものです。
09/03/01 22:04:44 1CyuAS5Y
で、今までのレスの流れも見ていて、ここからは完全に独断だが、
アンチタスク派は、ずっとC型でPG経験の浅い若年層が多い気がする。
・コンシューマ開発で、C++も無かったASM時代において、タスクシステムが成した業績と歴史を認めない。
・プログラム技能が未熟で、TCBなり、関数ポインタによるスケジューリングを理解できない/扱えない。
・実際にタスクシステムを使ったコーディングに従事したことがあり、タスクシステム特有の束縛された記述方法に嫌悪感を示す。
・ただタスク派をおちょくって遊びたいだけ。

一方、タスク派は、ずっとE型でPG経験の長い壮年層が多い気がする。
・OOP時代を迎え言語もコンパイラも発達し、タスクが過去の遺産であることを認めない。未だにタスクシステムをプロの技巧と賞す。
・タスクによるスケジューリングが完全汎用であると勘違いし、これを理解できない人を煽る。
・ゲーム内容の実際の記述において、タスク管理によるコーディングがどれほど厄介なのか理解できない。
・ただアンチタスク派をおちょくって遊びたいだけ。

と見ている。

個人的には、中庸が一番。
始めはE型で自作ライブラリが完成してから、C型に移行するプログラマーが理想なんだがね。
もしくはPG2名で完全分業し、E型がライブラリとスクリプトを提供して、C型がゲーム内容を記述するのでも良いと思ってる。


446:名前は開発中のものです。
09/03/01 22:59:06 aHmLTao6
>>445
> ・コンシューマ開発で、C++も無かったASM時代において、タスクシステムが成した業績と歴史を認めない。
若者でも、/* You are not expected to understand this */ とか読んだことあれば
十分だよ。

447:名前は開発中のものです。
09/03/02 01:17:33 Ggk4JG/+
>>442
>432
> 嫌なのか?さらしたくないのか?逃げるだけか?ライバルを作りたくないのか?逃げるのか?

448:名前は開発中のものです。
09/03/02 02:04:32 qNJJjYLT
実際にタスク改みたいなシステムでゲーム何本か作ったことがあれば
いろいろあれの欠点で苦労するから純粋なタスク信者ってのはありえないけどね。
でも単純なアンチってのもまた無い。

ジャンルや環境によっては今でも十分使い物になるから。というか今の携帯機クラスの性能のゲーム機で
動いてるゲームのかなりの数がいわゆるタスク改で実装されてる。
それに純粋なタスクシステムの欠点はそれぞれ回避方法があるので使い分けができる。

ジャンルによってはタスク改ではない違う作り方のものもあるけど、アクション系ではいわゆるタスクの進化系以外の
実装はあんまりお目にかかったことが無いな。
少なくとも日本産に限っては。海外産はあんまりソース見る機会無いから知らんが…

449:名前は開発中のものです。
09/03/02 07:26:29 N5eJa8sN
ぜってーそんなことねぇよ(笑)
こんなマイナーシステム普通使わねぇだろ

450:名前は開発中のものです。
09/03/02 15:49:57 2YZpDjg8
ミニゲーム集みたいなゲームだとタスクシステムは向いてると思うけどね
同じインターフェースで全く遊び方の違うゲームを数十個つくらにゃいけない場合とか
一つ一つにかかるコストを大幅に削減できる

451:名前は開発中のものです。
09/03/02 17:55:09 N5eJa8sN
向いてねぇよ
ごった煮だから弾の処理で何が呼ばれててもおかしくない
ということは弾だけなにかほかに使おうと考えても
ソースの癒着が酷くて切り出して使うということはできないというわけだよ
わかったかね

452:名前は開発中のものです。
09/03/02 18:02:00 hIPGPAIG
よく>>451見たいな書き込みを見るけど
タスク間のアクセスはタスクシステムが間に入るから
癒着がひどいっておかしくないか

453:名前は開発中のものです。
09/03/02 18:16:36 N5eJa8sN
それじゃなんのためのごった煮なの?
どこからでも呼び出したかったんじゃないの?
つまりそれは、すべてを呼び出している可能性だってあるということだよ
だってそのためにごった煮にしたんでしょ?
ミサイルのターゲットをポインタの保持で解決したかったんじゃないの?(笑)

454:名前は開発中のものです。
09/03/02 18:25:42 hIPGPAIG
例えば全てを呼び出してるとして
ミサイル以外のタスクをソースから排除しても
ターゲットが見つからずにまっすぐ飛んでくだけでしょ
ターゲットのポインタなんて抽象クラスへのウィークポインタか
インクリメンタルIDのどっちかだし

455:名前は開発中のものです。
09/03/02 18:33:27 N5eJa8sN
そんな話してねぇよ馬鹿
全部呼び出せるってことは全ヘッダーファイルが必要になるってことだろが
それとも今更カプセル化守って弾のクラス内には他のゲームオブジェクトは一切入ってこない
って方向転換するか?それでもいいぜ(笑)

456:名前は開発中のものです。
09/03/02 18:48:04 hIPGPAIG
なんで全部呼び出せるなら全ヘッダーがいるんだ
派生先のポインタが欲しければ各自でキャストすればいい
それが嫌ならビジター作ってタスクシステム内のタスク全部なめればいい
なんで弾のクラス内に他のゲームオブジェクトが入ってくるんだ
そんな話出てきたか?めんどいんで方向転換ってことでいいです。

457:名前は開発中のものです。
09/03/02 18:56:46 N5eJa8sN
キャストするにはだな・・・え~そっから~(笑)
さすがにそのレベルはかつてないな(笑)

458:名前は開発中のものです。
09/03/02 19:19:04 hIPGPAIG
いやあ俺馬鹿だからさ優しく教えてよw

459:名前は開発中のものです。
09/03/02 19:32:05 Rv93cI1M
>>457
面白いからもっとやって(笑)

460:名前は開発中のものです。
09/03/02 19:36:16 wHsdSnqf
俺も見てるよ。面白い展開になりそうだからもっと熱く語り合ってほしい(笑)

461:名前は開発中のものです。
09/03/02 19:57:05 VFyVP2iT
まだごった煮言ってるのかw
なにも進歩ないなw

462:名前は開発中のものです。
09/03/02 20:14:04 iymFeNpw
キャストするクラスのヘッダーだけでいいだろ?
全部は必要なくね

463:ID:EEKBitmg
09/03/02 20:44:58 0jBbfc+e
>>444-445
C型なのかな。肝炎みたいだね。「おまえの場合は脳炎だろ」とか言われそうだけど

助教授に言われたことがある
『例えばお前が作ってるゲームなんてものは技術的には枯れた要素技術の集合体であり
CASEツールで機能分析すれば、その大半は汎用のコンポーネントを結合したものとして
表現される。』と

『開発工程全体を見たとき、お前はおそらく遊び・面白さの部分を煮詰める反復作業に
 時間の多くを費やしているのだろう。ならば、ワークフロー・データフローの設計も
 そこを優先するだろ常識的に考えて。与えられてる状況(道具、人、時間、etc)にあわせて
 構造化設計すれば、最終的な結論はH**は神言語となる。わかったな?』

私は心を打たれた。この人はC型のようなE型のようなH型だ

助教授はいわゆるベーマガ世代というものらしい。本人に言わせれば『PIOとかRAMとかテクノ(何とか)を
知らないようなガキにベーマガ世代とか言われるとイラっと来る』ということらしいけど、まぁとにかく
そういう世代らしい

助教授にタスクシステム(>>2)のページを見せた。反応は「組み込みシステムを劣化猿真似してるのか」
みたいなかなり淡白なものだった
『ワークRAMが少ないゼッパチマシンでこんな贅沢な組み方してたのか?』
『70年代にこれやってたって本当か?』『メガドラとか16ビットのアーケードゲームの話じゃないのか?』
と聞き返された。そんなことは厨の俺が知るはずもないし答えられるはずもなかったから
「だってこの人(LogicianLordの人)がギャラクシアンはこうだって言ってるからそうなんじゃないすか><」
と知能障害・思考停止な返事をしたら『ふーん。あっそう』と言われた

むかつく。誰か教えて

464:ID:EEKBitmg
09/03/02 21:27:36 0jBbfc+e
『当時は毎月、目を皿のようにしてマイコン雑誌を読み漁ったが"タスクシステム"なんて言葉は見た記憶無いな』
『俺にとっては雲の上のプロプライエタリな世界だったから。そういうプロの世界の隠語なのかな。』
『しかし30年以上経過して陳腐化したからって吹き出物みたいに今更出てきても仕方ないだろこんなもの』
『PCでさえベクトルプロセッサ化したビデオチップにマルチコア化したCPUが普及した現代においてこんな一本道の
 逐次処理コードを使ってたんじゃハードは遊び放題だな。お前らのゲームボーイ(←DSのことらしい)で使ってるテクか』
『ステートマシンの逐次処理用の優先度付きキューを手作りしてたのか。今ならboostか次期C++標準のライブラリ
から出来合えのコンテナでも引っ張ってくればいいんじゃないの。あと、機能分析すればこの実装になる必然性はない』
『型システムを否定している。コンパイラによる最適化を阻害してる。自作ジャンプテーブルで条件分岐は高速化される
 という先人のチョイテク・豆知識を天下り式に真似ているのではないか。それは太古の簡素なCPUアーキテクチャに
 依存した公式に過ぎない。定理ではない』

『くだらない話をふってないで、お前は早く課題レポートを提出しなさい』

うぜぇオヤジだ


465:名前は開発中のものです。
09/03/02 23:57:02 j9iR0+6m
>>464
> マイコン雑誌
この辺の単語の使い方に、世代を感じるなぁ。

466:名前は開発中のものです。
09/03/03 00:35:53 RAMjL7VZ
テクポリは最初技術系の雑誌だったんだね
アダルトゲーム雑誌になってからしか知らないや

467:名前は開発中のものです。
09/03/03 00:54:38 nTxu8UVE
>>463-464
何…?このポエム

今もタスク進化系が使われ続けてる現実を前にして
現実逃避してるのかな?


468:名前は開発中のものです。
09/03/03 01:06:03 gnPoJpgi
ID:N5eJa8sNはタスクシステムを使うとタスクシステムに全部のheaderをincludeしなければ
ならなくなるとか言っていた例の基地外だろ。

こんな低脳がアンチタスカーだから、アンチはみんな頭がおかしいと思われるんだ。

こんな奴、プログラマですらないので、この板から出てけよ。

469:名前は開発中のものです。
09/03/03 01:43:30 e/qFL/0J
>>467
シーングラフはタスクシステムの外国版(笑)
タスクシステム改(笑)
タスク進化系(笑)

出るわ出るわ。怪しげな僕んちのソフトウェアアーキテクチャ発展史
萎びた僻地で密教みたいにひっそりやってきた「俺んちのベストプラクティス」
そいつがお前にとってのプライスレスなのはわかるけどな
何の具体的な情報も開示せずに世間に認知してもらおうなんて考えちゃダメ
世の中そんなに甘くない

公にされず標準化もされないド田舎・ローカルのソフトウェアアーキテクチャや
ベストプラクティスと自認している者は、何の資料も出せない状態で世間の前で
顔真っ赤にして反論したりしない。黙ってる。そこを分かれ。出てくんな。みっともねー
幾つだよお前。誰だよ

反論するならお前の言うタスク進化系って奴が世間に認知される
ソフトウェアアーキテクチャ、ベストプラクティスとなるよう、きちんと文書にして
発表すべきだ

現在、世間の前に出てるタスクシステムに関する文献の中で唯一
書いた人間の出自が現場出身であることが垣間見えるのは秀和の
逆引きゲームプログラミングだけ。これを超えるものをお前が書けばいい




470:名前は開発中のものです。
09/03/03 01:50:47 e/qFL/0J
>>468
あー、やっぱあいつだよな
ヘッダーがどうのとか言い出した瞬間にイカ臭かったもんな

471:名前は開発中のものです。
09/03/03 02:03:06 nTxu8UVE
>>469
>ベストプラクティスと自認している者は、何の資料も出せない状態で世間の前で
アンチじゃなくてもあんな原始的な仕組みをベストプラクティスと自認している人はいないと思うぞ。

あぁ、アンチって実はタスクシステムに過度に期待してる人たちなのかもね。
「こんな自分でもタスクシステムが理解できたらゲームが作れる…」って。
だから資料出せ、教えろ、説明しろってうるさいのか。

472:名前は開発中のものです。
09/03/03 02:09:19 e/qFL/0J
>あぁ、アンチって実はタスクシステムに過度に期待してる人たちなのかもね。
>「こんな自分でもタスクシステムが理解できたらゲームが作れる…」って。
>だから資料出せ、教えろ、説明しろってうるさいのか。

今度はアンチは実は信者論か。がんばるねー
アクロバティックな発想に翻弄されちゃうねー
生ゴミの臭いを好き好んでかぎ回るのは信者なんだけど
アンチは臭いものは臭いんだからとっとと捨てればー?
とアドバイスしてあげてる分まだ常識があるねー


473:名前は開発中のものです。
09/03/03 02:22:24 e/qFL/0J
ま、タスカーは大人しくサンドバッグにされてろってこった
今更開陳したところで世間に八つ裂きにされるのが目に見えてるからな
俺は絶対に晒さない。何年も前に廃棄したゴミアーキテクチャだから
とっくに葬り去ってお墓に入れたものをわざわざ引っ張り出して晒す
なんてマゾっけたっぷりの趣味は無い

474:名前は開発中のものです。
09/03/03 02:37:34 gnPoJpgi
ポエマーもいらねーから出てってな

475:名前は開発中のものです。
09/03/03 02:42:58 e/qFL/0J
DSLポエマーと間違われるとは光栄だねー
タスクシステムを叩く材料が不足したら呼んでね。補給してあげるよ
アンチ応援してるよ。あーねみー。ばいばーい

476:名前は開発中のものです。
09/03/03 02:53:26 eCcH4IzT
顔まっかなのはお前だろうに

477:名前は開発中のものです。
09/03/03 02:57:23 eCcH4IzT
>俺は絶対に晒さない。何年も前に廃棄したゴミアーキテクチャだから
>とっくに葬り去ってお墓に入れたものをわざわざ引っ張り出して晒す
>なんてマゾっけたっぷりの趣味は無い

要するに、お前は過去の自分と戦ってるのか?
お前の暗い過去を皆に押し付けないで欲しい。

478:名前は開発中のものです。
09/03/03 07:34:27 NIkO1+LI
ヘッダー全部インクルードしないと必要なときに必要なものが呼び出せないから
タスクシステム使ってるなら総合ヘッダーに全部インクルードしてあると思うよ
仮に必要なものだけだとしても関連をもったものは全部インクルードしてやる必要があるから
この構造で作ったら切り離すのは容易じゃないよ

479:名前は開発中のものです。
09/03/03 07:50:27 NIkO1+LI
それと関連をすべてタスクにするとか嘘ついてるけど
ポインタの保持を関連タスクに強制するうえ
パラが一つでも必要になったらタスクを新しく作らなければならない
折角、ごった煮にした意味がまるでないけどそれでいいの?
だんだんタスクなんて作らないほうがいいって結論になりそうで俺は満足だけどね

480:名前は開発中のものです。
09/03/03 08:19:58 gnPoJpgi
>>478
お前が頭がおかしくて、プログラムの組めないド素人なのはよくわかったから
もうこの板に来んな

481:名前は開発中のものです。
09/03/03 08:53:25 HSt7mZci
>>478
んなこたない


アンチな俺でも同意できる箇所が見当たらない

482:名前は開発中のものです。
09/03/03 10:09:41 T2e1Wx7e
一番要らない子なのはウンコちゃんだろう。
全レス内容無しってのが凄い。

483:名前は開発中のものです。
09/03/03 12:43:55 NIkO1+LI
じゃヘッダー無しでどうやってキャストしてんだよ
まあ、これは無理でしょ

タスク信者が必要な分だけインクルードしてるなんて考えられないから
ごった煮を表現するために総合ヘッダー絶対あるだろ
だからタスク信者の書くソースは分離できない
さらにタスク信者は引数使えないから総合ヘッダーにグローバル変数の塊もあるだろうし
奴らのソースはカプセル化なんて不可能と言っていい
テンプレートは使いたがるくせにオブジェクト指向は欠片もわかってない

484:名前は開発中のものです。
09/03/03 13:04:10 gnPoJpgi
>>483
> ごった煮を表現するために総合ヘッダー絶対あるだろ

ない。お前はOOPの基本すらわかっていない。もう死んで。

485:名前は開発中のものです。
09/03/03 13:09:30 fc1Nudsp
>>483
なんでそこでテンプレートがでてくるのか理解できない
総合ヘッダにグローバル変数ときたら次はマクロだろ

486:名前は開発中のものです。
09/03/03 13:11:42 HSt7mZci
>>484
OOPは関係ないだろ…

487:名前は開発中のものです。
09/03/03 13:11:56 UVBLimNu
>>483
>総合ヘッダー
その発想は無かったwwwwwwwww
お前のコーディングすごいなwwwwwwwwwww

488:名前は開発中のものです。
09/03/03 13:14:20 HSt7mZci
>>484
携帯からだったから483よく読んでなかったぜ
すまんこ
>>483
根拠の無い話ばかり並べても叩かれるだけ

489:名前は開発中のものです。
09/03/03 18:22:34 NIkO1+LI
いいやあるね
少なくともごった煮をデータベースとか言ってた馬鹿のソースには確実にあるね
そもそもそいつは制限や型を言語の進化の過程でできたものという認識がまったくなかった
タスク信者の大半がこんな奴ら
関連をタスクにするなんて言ってるけど
関連クラスとどうやってやりとりする気なんだよ
グローバル変数かポインタの保持くらいしかないだろ
また、無駄に問題が増える(笑)
使わないって選択肢は選べないのかね

490:名前は開発中のものです。
09/03/03 18:25:01 NIkO1+LI
カプセル化もわからないから自機のクラスに弾の処理書いちゃうんだよ
お前等馬鹿は

491:名前は開発中のものです。
09/03/03 18:29:59 UVBLimNu
>>489
>>490
レスを二つにしてカプセル化したつもりですかwwww

492:名前は開発中のものです。
09/03/03 18:34:43 gnPoJpgi
>>489
こんな馬鹿、久しぶりに見た。

悪いこと言わないから、OOPの基礎から勉強しなおしなよ。

493:名前は開発中のものです。
09/03/03 18:57:02 NIkO1+LI
ムリムリ
タスク信者の組み方じゃ絶対分離なんて不可能
グローバルインスタンスホルダーが絶対にある

494:名前は開発中のものです。
09/03/03 19:09:12 gnPoJpgi
>>493
仮想関数すら知らなさそうだな。本当、生きてて恥ずかしくないか?

495:名前は開発中のものです。
09/03/03 19:19:33 NIkO1+LI
仮想関数?
いまの話題と全く関係無いけど頭おかしいの?
弾クラスで自機クラス呼んだら自機クラスのヘッダーが必要になるんだぜ
基底クラスじゃ自機クラス呼べないんだぜ
もしかしてしらなかった?

496:名前は開発中のものです。
09/03/03 19:22:49 gnPoJpgi
>>495
> 弾クラスで自機クラス呼んだら自機クラスのヘッダーが必要になるんだぜ

呼ぶ必要なんか全くないんだが。ほんと、馬鹿だよね。

497:名前は開発中のものです。
09/03/03 19:27:56 NIkO1+LI
でも、呼んでるんでしょ?
だからタスクシステムに固執してるんでしょ?
嘘はよくない(笑)

498:名前は開発中のものです。
09/03/03 19:31:36 gnPoJpgi
>>497
本当、馬鹿すぎて泣ける。

ソース書いてみな。俺が添削してやるから。

499:名前は開発中のものです。
09/03/03 19:38:27 NIkO1+LI
は?
俺はごった煮とかやってる馬鹿なタスク信者をぶん殴ってるところなんだよ
俺がなんのソースをだすんだよ
日本語大丈夫かよ(笑)
ああ、頭悪いのか
それじゃしょうがないな

500:名前は開発中のものです。
09/03/03 19:42:26 gnPoJpgi
>>499
だからお前の糞タスクシステムのソースを出せと言ってるんだ。
全タスクのヘッダをincludeしているところを書き直してやる。

501:名前は開発中のものです。
09/03/03 19:58:25 NIkO1+LI
は?
俺、タスクシステムなんて使わないんだけど?
だいたいソース書きたきゃ自分で書けよ
仮想関数とか明らかにズレた話題だしてる格下のお前の相手なんかしなきゃいけないんだよ

502:名前は開発中のものです。
09/03/03 20:10:55 gnPoJpgi
>>501
仮想関数わかってないのお前。

> タスク信者が必要な分だけインクルードしてるなんて考えられないから
> ごった煮を表現するために総合ヘッダー絶対あるだろ

何度でも言うが、そんなものはないし、そんなことをする必要すらない。
まあ、このスレでわかってないのお前だけだろうから、俺はもう帰る。

基地外の相手してても仕方ないんでな。


503:名前は開発中のものです。
09/03/03 20:38:10 fQh6ZhSe
俺も基底クラスに仮想関数つくってそれ呼び出せば、いちいち総合ヘッダーなんて必要ないと思う。

504:名前は開発中のものです。
09/03/03 21:24:23 NIkO1+LI
は?仮に基底がゲームオブジェクトだとして自機特有の処理はどうやって呼ぶんだよ
まさか全部ゲームオブジェクトにもたせんの?(笑)
ああ、お前等のごった煮ってそこまで腐ってんだ

505:名前は開発中のものです。
09/03/03 21:37:48 fQh6ZhSe
ああ凄いな。凄まじいなID:NIkO1+LIは。
とりあえず総合ヘッダー(笑)については、必要ないことを分かったかい?
まずはそこからだ。

506:名前は開発中のものです。
09/03/03 21:39:53 I1ftq204
ぬるぽ

507:名前は開発中のものです。
09/03/03 21:48:44 gnPoJpgi
>>504
お前は、OOPの基本がわかってない。

腐ってんのはお前の頭。

508:名前は開発中のものです。
09/03/03 21:54:48 gnPoJpgi
アンチタスカーって、なんで ID:NIkO1+LI みたいな OOPすらまともに使いこなせない
糞野郎ばっかりなんだろうかね・・

509:名前は開発中のものです。
09/03/03 21:57:27 fQh6ZhSe
さすがのアンチタスカーの俺も擁護できん。
同じPG職なら陰口叩かれてもいいレベル。

510:名前は開発中のものです。
09/03/03 22:01:20 I1ftq204
ID:NIkO1+LI
2009年ゲ製痛い(ノ∀`)ニュース第1位確定だな。
道理でアンチタスク厨とは、マトモな会話が成り立たないわけだ。

511:名前は開発中のものです。
09/03/03 22:11:53 NIkO1+LI
は?
どうせ総合ヘッダーよんでんだろ
そうじゃなきゃごった煮の意味ないもんな
悔しかったら総合ヘッダー無しでプログラム組んでみろよ
データベースなんだろデータベース(笑)

512:名前は開発中のものです。
09/03/03 22:14:31 fQh6ZhSe
アンチタスカーは、タスクシステムを使って知ったうえで、叩くべきだわ。
使ったこともないのに想像だけで総合ヘッダーや癒着云々と否定しているのは滑稽すぎるわ。

513:名前は開発中のものです。
09/03/03 22:16:25 NIkO1+LI
ハイハイ、自機のソースから弾のソースを取り払ってから言ってね

514:名前は開発中のものです。
09/03/03 22:21:10 AybnbhgS
大昔ポケコンでシューティングを作ってた時は
敵ワークx16 弾ワークx16 とか固定長バッファを用意して、使用中フラグのビットマップで管理して動かしてた
ワークエリア内にポインタを書いてリストや仮装関数を実現するには500kHz程度クロックのCPUには重荷だった
今はもうゲームとして動いてるならなんでもいいやって感じ

515:名前は開発中のものです。
09/03/03 22:41:02 I1ftq204
>>511
総合ヘッダー(笑)って何だよ!
総合病院にでも診てもらってこい。
C++入門者未満のくせに、デカイ顔してノイズ垂れ流しやがって。
タスクシステムを語るには20年早いわ。

516:名前は開発中のものです。
09/03/03 23:02:20 Gs0swA+H
main.h に extern 使いまくりで
どこからでも #include "main.h" をすればコンパイルは通る
分割コンパイルの意味の分かっていないバカのやることだよ

ええ そうですよ 私の講師がそうだったように・・・

517:名前は開発中のものです。
09/03/03 23:13:28 KhkzCgZ3
アンチタスカーだが俗に言うタスクシステムみたいな仕組みを
C++で実現している

ソース晒そうか?

518:名前は開発中のものです。
09/03/03 23:28:24 UfdUZfM/
j

519:名前は開発中のものです。
09/03/03 23:37:31 UfdUZfM/
仮想関数と総合ヘッダの話は
本元のクラスでなくて、抽象クラスを、includeするということ?
/*総合.h もしくはそれの#include*/
class IHoge : public ITask
{
virtual SomeFunc() = 0;
};
/*Hoge.cpp*/
class CHoge: public IHoge
{
SomeFunc();
};
ということ?
多分、総合ヘッダといった人は、IHogeを抜いて考えていたと思う
もしくは、それでもIHogeを利用するところからIHogeが見えないといけないジャンという
ことを言いたかったのかも

タスクとマルチコアとかの関連っぽい記事を発見したので張っとく
理解はしていないので、賢い人解説して
そして建設的な話をして
URLリンク(www.gamasutra.com)


520:名前は開発中のものです。
09/03/03 23:38:58 UfdUZfM/
戻り値書き忘れたけれど、突っ込まないで

521:名前は開発中のものです。
09/03/03 23:47:42 YUVx5SHc
>>519
タスクと言う言葉を軽々しく使わないで下さい

522:名前は開発中のものです。
09/03/03 23:52:38 NIkO1+LI
>>519
馬鹿はどっかいけよ

523:ID:EEKBitmg
09/03/04 00:02:09 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++を使うメリットを遺憾なく発揮してると思った





524:名前は開発中のものです。
09/03/04 00:18:28 43lD+2sK
>>523
アンチだけれども、別にごった煮にして、
全てをなめるような実装にしなくてもいい気がする
最初から型ごとにリストを持ってそれごと返せばいい訳だし
ヘッダに全部宣言を入れていたのも、サンプルとしてそうしていただけで、
ヘッダが必要な個々の実装でincludeさせてそこでキャストさせればいい
そうすると、型ごとリストへ割り振りは、本当の型で判断できないので
別の情報で型を識別させるようにして型ごとリストを持たせればいいのでは?
タスクシステムに入れる時に型名を文字列で渡すとか
ここらへんは、タスクシステムの弱点ではない気がする
何回も語られているけれど、本当の弱点は、
静的に片付くものをわざわざ動的にして問題を複雑にしている点だと思う
素人考え?

525:名前は開発中のものです。
09/03/04 00:23:18 w8Rwmagw
> 静的に片付くものをわざわざ動的にして問題を複雑にしている点だと思う

意味がわからない。例えば?

526:名前は開発中のものです。
09/03/04 00:31:05 mN9/jFMx
>>524
それなら、最初からふつーにメンバ変数で持たせて終わりじゃない?

class Scene {
 Player player_;
 Enemies std::list<Enemy> enemies_;
...
};

527:名前は開発中のものです。
09/03/04 00:40:31 43lD+2sK
>>525
静的というのは、シーンクラスのメンバもしくはそのメンバに
自機、敵機、自機弾、スコア管理、ステージ制御などを階層を持たせて
配置しているということ
動的というのは、(少なくともインターフェイス越しには)ごった煮の
グローバルなリストから個々のインスタンスが勝手に互いを参照し合って
どうも統制が取れてなさそうに見えないこと
上の静的でも崩壊させることができるけれど、上手く設計すれば問題は起こらないはず
で、ごった煮はその問題をただ先延ばしにしてしまっているようなイメージを持っている
だからアンチ
>>524
そう。そう思う。
だからアンチ

528:名前は開発中のものです。
09/03/04 00:48:30 43lD+2sK
>>どうも統制が取れてなさそうに見えないこと
どうも統制が取れているように見えないこと

529:名前は開発中のものです。
09/03/04 02:40:49 hHE159vF
>>448 の者だが、
タスク進化系がいまだにコンシューマゲーム開発の現場で生き残っているのは単純に無駄が無いから、ってのも理由の一つ。

スーファミからPS1へ、PS1からPS2へ、PS2からPS3へ移行するたびに、こんな大量のメモリ使い切れん、と思ったものだが
なぜかマスター寸前の修羅場になるといつもメモリも速度も足りなくなりチューニングに明け暮れる日々が続く。
これはメモリ128Kのスーファミ時代から256MBのPS3まで、コンシューマ開発では変わらん定例行事。

そして常にメモリとコードの無駄を減らす圧力にさらされるんだけど、タスクみたいに毎フレーム相当数呼ばれる処理に
無駄が見つかると真っ先に削られる。

この修羅場では「可読性が…」とか「OOP的に…」なんて甘い理由よりも少しでも軽量なコードで動かすことが優先される。
で、PS3時代にもタスク進化系が生き残ってる、というわけだね。

仮想メモリつんでてスペックはユーザ毎にばらばらのPC環境では特定ハード向けにガリガリにチューニングなんて意味ないので
PC環境でしか作ったことの無い人間には理解できんだろうけど、
コンシューマ開発や組み込み系とみたいに固有のハード性能を120%使い切る開発スタイルではよくあること。

530:名前は開発中のものです。
09/03/04 02:55:00 43lD+2sK
>>529
なるほど。全くコンシューマーを知らないけれど、説得力がある
では潤沢過ぎる程のメモリと、無限の演算能力がもしあったとしたら
喜んでタスクシステムは棄て去る?

531:ID:EEKBitmg
09/03/04 03:04:13 vv/UkwCS
ありえない仮定を持ち出すとかスゲェな
厨だけどさすがにこれは真似できないな

お前は凄い。俺は頭痛がしてきた。寝る

532:名前は開発中のものです。
09/03/04 03:13:07 43lD+2sK
突込みがあったので補足。
>>530は、タスクシステムが貧困な環境で使えるという>>529に対して、
ならば、十分豊かな環境だったらそうではないのか?という質問。
無限~は *話を簡単にするため* の誇張した表現。

533:名前は開発中のものです。
09/03/04 03:29:05 hHE159vF
>>530
無限のメモリと無限の演算能力があったら…?
それでも小規模なアクションゲーム系1人で作るならタスク進化系の管理システム使うと思う。
タスク系は下手に使うとバグの温床になるけど使いどころを間違えなければ便利だし。

まぁこれは慣れの問題なので、この手のゲームならこの手法で…とかだいたいやり方の想像つくし
タスク系固有のバグで苦しんだ結果、バグの温床にならない作り方が出来るようになってるから、ってのもある。
慣れた人間にとっては開発効率いいんだよね、あれ。

まぁでも新人込みのプログラマ数十人で大規模オンラインゲームを作る、とかならたぶん違う方法取るけどね。

534:名前は開発中のものです。
09/03/04 04:55:07 ll33Ou9u
>>533
無限の資源があってもリスクと教育コスト考えれば結局C++使うだろうねー
無限の納期と無限の人材があるなら・・・遊んで暮らすだろうなー

535:名前は開発中のものです。
09/03/04 05:47:21 kXQL8zXx
タスクシステムってソースがタスクなわけで
プロセスがタスクじゃないのね

ではマルチプロセス対応というのは真っ赤な嘘になるわけだ

536:名前は開発中のものです。
09/03/04 06:56:53 m+X+Qg7j
>>527
タスクシステムはsingletonじゃねぇぞ。

タスクのなかに別のタスクシステムをcompositionで配置してタスクを
階層化できるが、お前本当にOOPわかってんのか?

537:名前は開発中のものです。
09/03/04 07:31:28 NGMxgsfO
そんなの全く意味がないじゃん
だいたいそんなのやるならはじめから分けてもてよ

538:名前は開発中のものです。
09/03/04 07:34:46 NGMxgsfO
並列化はどう考えても嘘
並列にするなら少なくとも並列にするデータは分けないと動かない
ごった煮でできるわけない

539:名前は開発中のものです。
09/03/04 08:44:10 mN9/jFMx
>>529
メモリ使用量の大半を占めるのはテクスチャ・モデル・モーションなどのデータで、
CPU使用時間の大半を占めるのはヒット判定や AI 処理。

いわゆるゲームオブジェクト (プレイヤーとか) で多少削ったところで、誤差にもならない。

540:名前は開発中のものです。
09/03/04 08:48:07 m+X+Qg7j
>>537
> そんなの全く意味がないじゃん

そんなこたあ、ない。

541:名前は開発中のものです。
09/03/04 08:49:26 2ryo6+k/
数人で作るレベルなら擬似タスクでいいよ。
でもそれを超えると破綻すると思う。

542:名前は開発中のものです。
09/03/04 08:49:27 m+X+Qg7j
>>538
阿呆すぎて泣ける。

前スレ510のプログラム、あれ並列化できないの?

本当に1行でもプログラム書けるの?

タスクシステム使わなくていいから、前スレ510のプログラム、並列化してみなよ。

543:名前は開発中のものです。
09/03/04 08:51:55 m+yO0HqN
>>508
彼を養護してるアンチはいないようだが
そこまでして印象操作したいの?

544:名前は開発中のものです。
09/03/04 08:52:16 m+X+Qg7j
>>526
> それなら、最初からふつーにメンバ変数で持たせて終わりじゃない?

そのメンバ変数が指しているオブジェクトが生きていることを誰がどうやって保証するんだ?

545:名前は開発中のものです。
09/03/04 08:54:00 m+X+Qg7j
>>543
このスレのアンチタスカーのレベルが総じて低すぎる。

タスクシステムに限らずフレームワークなんて、使える範囲で使えばいいだけのことなのに
完全否定する奴は完全肯定する奴と同罪で、頭おかしい。

546:名前は開発中のものです。
09/03/04 08:55:29 mN9/jFMx
>>542
> 前スレ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 を同時に読み書きしている。
複数スレッドで走らせた場合、値が保障できなくなる。


547:名前は開発中のものです。
09/03/04 08:57:09 m+yO0HqN
>>545
> 完全否定する奴は完全肯定する奴と同罪で、頭おかしい。
つ鏡

548:名前は開発中のものです。
09/03/04 09:08:31 mN9/jFMx
>>544
526のコードは、ポインタではなく実体で持たせているから、保障も何も要らんと思うが。
いずれにせよハンドルクラス (整数値とインスタンスの対応付け) は用意したほうが
便利だが、その場合でもプレイヤー・敵は別の 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 に向かって自分の位置を調整
}

549:名前は開発中のものです。
09/03/04 09:09:02 m+X+Qg7j
>>546
> たとえばこのコード、複数の 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;
}

これは、コリジョン判定とそれに対するアクションを切り離すときもそう。
これをきちんと切り離しておかないと並列化できない。

前スレでコリジョン判定は並列化できないとか言ってた馬鹿がいたけど、アクションを切り離さないから出来ない。

550:名前は開発中のものです。
09/03/04 09:11:17 mN9/jFMx
>>549
その指摘は正しいが、前スレ 510 を使うかどうかとまったく無関係だよね。
タスクとやらを使ったから並列化できるようになるわけじゃないし、並列化が
楽になるわけでさえない。

けっきょく、同じ労力を咲く必要がある。

551:名前は開発中のものです。
09/03/04 09:11:22 m+X+Qg7j
>>548
> いずれにせよハンドルクラス (整数値とインスタンスの対応付け) は用意したほうが

そんなものあえて作る意味があるか?boost::weak_ptrで済むだろ。

そもそも、548のソースは典型的なタスクシステムで記述するよりはるかに複雑なんだが、
あんたは、タスクシステムの否定派なのか肯定派なのか何なんだ?

552:名前は開発中のものです。
09/03/04 09:15:37 m+X+Qg7j
>>550
> タスクとやらを使ったから並列化できるようになるわけじゃないし、並列化が
> 楽になるわけでさえない。

それは違うね。タスクシステムの側に並列化する部分を担当してもらう。
タスクシステムを使う側は、それを利用すればいいだけ。

タスクシステムは底辺の馬鹿プログラマが書かなくとも、別の、もっと優秀なプログラマが書けばいい。

並列化効率とか、メモリcacheとか、シェーダーに対するタスクの分配とか、そういうのを考慮して効率の
いい並列化プログラムを書ける奴がな。

こうして、はじめてゲームの分業が成立するんだが。
あんたはちょっとはまともなプログラマに見えるが、大規模なゲーム開発に取り組んだことはないのか?

553:名前は開発中のものです。
09/03/04 09:17:40 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だ。ごめん。

554:名前は開発中のものです。
09/03/04 09:24:16 mN9/jFMx
>>551
> そもそも、548のソースは典型的なタスクシステムで記述するよりはるかに複雑なんだが、
以前から同じようなコード例書いてるんだけどな。前スレ 748 とか。

・コンポジションで良いじゃん
・規模が大きいプログラムだと、どのタイミングで何が呼ばれるか、変更されるかが
 分かることが重要。
 この例だと Enemy::Update 時には EnemyEnv 経由で Scene のメンバ関数が呼ばれる
 だけと確定する。Enemy::Draw みたいな処理があったときに、EnemyEnv const& 使うか
 別のクラスを用意するかは要検討(場合による)。

> そんなものあえて作る意味があるか?boost::weak_ptrで済むだろ。
スクリプトと連携するときに楽
boost::shared_ptr 使ってるとは限らない

別に weak_ptr 使える場合には、使えば良いと思うけど。

555:名前は開発中のものです。
09/03/04 09:25:22 mN9/jFMx
>>552
> タスクシステムの側に並列化する部分を担当してもらう。
名前がタスクシステムなだけで、前スレ 510 とも >>2 ともまったく違う設計・実装について
語ってるということで FA?

556:名前は開発中のものです。
09/03/04 09:26:54 m+X+Qg7j
結局、並列化の本質は>>549なんだ。もう少し抽象化して書けば、こう。

foreach(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;
}

これが実行される。この仕組みをタスクシステム側に提供してもらう。これなら簡単に並列化できる。
ゲームで使うコリジョン判定などはたいていこのように並列化できる。

557:名前は開発中のものです。
09/03/04 09:31:11 m+X+Qg7j
>>555
> 名前がタスクシステムなだけで、前スレ 510 とも >>2 ともまったく違う設計・実装について
> 語ってるということで FA?

並列化とタスクシステムとは直交する概念だから、例えば>>2のタスクシステムを並列化することも出来るし
前スレ510のタスクシステムを並列化することも出来る。

どちらかと言えば、前スレ510のほうが>>2よりはある型のオブジェクト集合のうち任意の2体に対する
振る舞いが書けるのでその部分が並列化する価値が高いだけのこと。

そもそも、タスクに対して列挙したり、任意の型の2体を取り出したりする仕組みがどこにもない状態で
並列化なんて出来ないだろう。

俺がタスクシステムと呼んでいるのは、最低限、タスクシステムと名がつくなら、タスクに対する基底
クラスが存在して、それくらいの機能はあるんじゃねーの?と思うからだ。

558:名前は開発中のものです。
09/03/04 09:32:48 m+X+Qg7j
>>554
>> そんなものあえて作る意味があるか?boost::weak_ptrで済むだろ。
>スクリプトと連携するときに楽

ふむ、それならok。

559:510
09/03/04 11:11:12 5viq5cgM
>>556
shadowのアイデアもーらい。

transaction( hoge )//shadow初期化
{
  task2_parallel( hoge, hoge )
  {
    _hoge1.x += hoge2.x;//例えば、変数の頭にアンダーバーがついていたらshadowとか。
    //rollback;//ロールバックも出来るよ
  }
  task_parallel_end;
}
commit;//shadowコミット


あと、何か頭が統合ヘッダ?の人が来てたみたいだけど、
アップロードしたプログラムのヘッダファイルがごった煮だったのは
単にサンプルプログラムだったからだ。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch