トップページgamedev
1001コメント529KB

タスクシステム総合スレ part4

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/02/01(日) 12:38:10ID:rVEgp4cM
タスクシステムについての議論、相談、質問、雑談などのスレです

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/
0569名前は開発中のものです。2009/02/14(土) 20:47:33ID:krP7oFWE
>>568
実装も思想レベルでもありふれたタスクシステムと変わらないと思うが。

510の実装のキーポイントは、型を指定しての列挙だろう。

タスクのinteractionを書けるが、それにしても2つの型を指定して列挙してforeachを2重に回して
書いているのと何ら変わりがない。

これらの必要性は従来のタスクシステムでも散々言われてきたことだ。
0570名前は開発中のものです。2009/02/14(土) 20:48:47ID:q8lA0UPY
>>567
そいつはうんこうんこ言う詩的な便意君だろ
うんこが詰まると思考も詰まる体質なのかしらんが言動の水準が不安定だな
0571名前は開発中のものです。2009/02/14(土) 20:49:11ID:vCXBLjPV
>>568
あれ?
いつのまにか俺俺タスクシステムは攻撃対象から外れたんだ。
まぁ、それなら話は早い。
今時>>2と同じコードを使った古典的実装の化石なんてまずお目にかかれない。
今使われてる自称タスクシステムはほとんど拡張された俺俺タスクシステム改だよ。

>>2だけが限定なら見えない敵と戦うだけ時間の無駄だからやめとけ。
0572名前は開発中のものです。2009/02/14(土) 20:54:30ID:ojCD6VCw
>>566
>ヒット判定は総当りではなく BSP なり何なりで空間分割しないと〜
型から判別するのが方針である以上、判別がそれと違う方法を取る空間分割は
確かにこれに入れないほうがいいと思う

>メンバ変数全部 public も辛いかなぁ。
これは上手くやればなんとかできないだろうか........できないか
列挙と処理を一緒にやっちゃってるから、ここらへんに歪みがでてるんだろうな
列挙だけやらせて、その結果を使ってその別の場所に放り込むように
したほうがいいかもしれない

見た目はとっても面白いんだけれどもなぁ
0573名前は開発中のものです。2009/02/14(土) 21:01:44ID:krP7oFWE
>>572
おいおい。書いた本人は、C++は素人なんだからそんなところ突っ込んでやるなよ。

本当は、2つの型の相互作用させるのにしても、510のソースのように単純に
ループを2重に回すと要素数の2乗に比例する時間がかかるから、
指定された2つの型のものを1回のtraverseで、個々のvectorにでも格納して、
そのvector同士に対してfunctorを呼び出してやったほうがいいに決まってる。

だけど、まあ、そのへんは、コンセプトデモってことで別にいいんでね?
0574名前は開発中のものです。2009/02/14(土) 21:06:12ID:krP7oFWE
>>566
> 最後に欠点じゃないけど、タスクの派生クラスをどう扱うかは悩みどころだ。たとえば
> Star を継承した Blackhole があったとして、こいつは TASK2(Star,Star) で参照される
> べきか無視されるべきかの指定はあったほうが良いと思う。

510は前者の実装。後者の実装にしたければ、dynamic_castしているところをtypeid
の比較に変更するだけ。

まあ、そのへんは突っ込んでも仕方ないかと。
0575名前は開発中のものです。2009/02/14(土) 21:08:48ID:krP7oFWE
ああ、すまん。>>573 は 572に言うべきことじゃないな。566に言うべきだな。

> メンバ変数全部 public も辛いかなぁ。アクセス保護の観点では、Star と Windows の
> 相互作用では m_x, m_y, m_w を readonly でアクセスしたいが、TASK1(Star) では
> メンバ変数全部 read/writeしたい。

これに対してな。
0576名前は開発中のものです。2009/02/14(土) 21:09:32ID:wj98RZ4C
>>573
>だけど、まあ、そのへんは、コンセプトデモってことで別にいいんでね?
>>510は目的なんか何も言ってないんだけど?
0577名前は開発中のものです。2009/02/14(土) 21:11:32ID:krP7oFWE
>>576
あのソースが本チャンで使えるものだと思ってるなら、お前は頭おかしい。
0578名前は開発中のものです。2009/02/14(土) 21:20:32ID:krP7oFWE
>>576
> for(size_t _i1=0; _i1<_size; ++_i1)\
> for(size_t _i2=0; _i2<_size; ++_i2)\
> {\
> if(NULL==dynamic_cast<Operand1 *>(Operand::OperandsList[_i1].Head())){ continue; }\
> if(NULL==dynamic_cast<Operand2 *>(Operand::OperandsList[_i2].Head())){ continue; }\

ここにしても、一つ目のifを2つ目のforより手前に書けばいいものをわざわざ内側に書いてるのは
わかりやすく見せるためだけであって、速度的な観点からすれば無駄以外の何ものでもないんだが。

これがコンセプトデモで無いなら何だと思うんだ?
0579名前は開発中のものです。2009/02/14(土) 21:22:55ID:UJelYgTf
>>571
アンチが反応するのは
「タスク=ゲームオブジェクト」システム

俺俺タスクシステムか、C++なんちゃってタスクシステムか、 >>2 かは関係無い。
0580名前は開発中のものです。2009/02/14(土) 21:26:00ID:krP7oFWE
アンチタスク派が>>510のプログラムを見て寝返ったのは面白いな。
まあ、510のプログラムすら読めないクルクルパーは論外としてな。

アンチタスク派はそもそもタスクシステムを何だと思ってたんだろうかな。

型を指定しての列挙は例えば、やねですら何度もしつこいぐらいに書いているのに。
http://d.hatena.ne.jp/yaneurao/20090203

やねの提唱するタスクシステムでも、510の書き方が出来るわけで、彼にしても
こういう書き方をすることも含みに持たせているのにそれすら
このスレのアンチタスク派はわかってなかったんだろうな。

まあ、結局、こうだろ。

俺>>(超えられない壁)>>やね>>510 >>(超えられない壁)>>このスレのアンチタスク派
0581名前は開発中のものです。2009/02/14(土) 21:27:52ID:vvv9+ke/
> ID:vCXBLjPV
バカな奴、墓穴を掘ったな
俺の言葉で語るということは、俺のフィールド上に上がるも同然

フレームワークを選択する場合に必要な情報というものもあるだろう
というわけで、タスクシステムのメリットとデメリット等を
教えてもらおうか
0582名前は開発中のものです。2009/02/14(土) 21:28:43ID:krP7oFWE
>>581
なんか知らんが510のプログラムすら読めないポエマーは引っ込んでろ。
0583名前は開発中のものです。2009/02/14(土) 21:35:46ID:q8lA0UPY
>>571
文盲妄想更年期障害脳軟化タスクオヤジか
てめえはまず俺の質問に答えろ

>あれ?
>いつのまにか俺俺タスクシステムは攻撃対象から外れたんだ。

おめえはまず両目の瞼と眉を洗濯バサミで挟んで>>527を100回読み返しな
巡回ナメナメは得意なんだろ?ナメるように読め
俺は、議論で窮すとてめえの都合で狭義(は?)だの広義(はぁ?)だのの
新解釈をクリエイトして逃げ回ってるタスカー気取りのカス共が大嫌いなんだよ
0584名前は開発中のものです。2009/02/14(土) 21:41:12ID:krP7oFWE
>>583
そいつはどうでもいいから、俺と遊んでくれ。

510のプログラムについてもっと建設的に語り合おうぜ。
0585名前は開発中のものです。2009/02/14(土) 21:41:39ID:q8lA0UPY
>>571
>まぁ、それなら話は早い。
>今時>>2と同じコードを使った古典的実装の化石なんてまずお目にかかれない。
>今使われてる自称タスクシステムはほとんど拡張された俺俺タスクシステム改だよ。

おい、また妄想か?てめぇの身の回りのローカル情報か?検証可能なのか?
悪いこた言わねー。黙って目を皿のようにして過去ログ読み返せ
ほれ、21世紀にもなって松浦本や逆引き本で嬉しい嬉しいて喜んでる奴いんじゃねーか
今もが泳いでそうな奴がそこらにいるんじゃないか?あ?

>>2だけが限定なら見えない敵と戦うだけ時間の無駄だからやめとけ。

てめえに都合の悪いクリーチャー共の存在を無かったことにしようとしても無駄だからやめとけ
0586名前は開発中のものです。2009/02/14(土) 21:45:21ID:vvv9+ke/
誰もタスクシステムのメリットデメリット、存在意義を教えてくれませんっ><
>>2を読んでみても実装方法しか書いてありませんっ><
しかも、>>2は違うとまで言われましたっ><
「それは広義のタスクシステムだよ」とわけのわからないことを言われましたっ><
フレームワークの話だと思っていたらイディオムの話でしたっ><
イディオムの話だと思っていたらやっぱりフレームワークの話でしたっ><
海外ではまったく見かけられません、有名な本にも載っていませんっ><
プログラム読めるのになぜか読めないことにされていますっ><
挙句の果てに、なぜか集中攻撃を食らいますっ><
0587名前は開発中のものです。2009/02/14(土) 21:45:31ID:krP7oFWE
>>585
誰と戦ってんだ。俺と戦おうぜ。俺と。
0588名前は開発中のものです。2009/02/14(土) 21:46:46ID:krP7oFWE
>>586
あんたは510のソースを読めなかったんだから、あと半年ほどROMってなよ。
0589名前は開発中のものです。2009/02/14(土) 21:49:41ID:q8lA0UPY
>>587
ちょっと待て
今ネトゲやりながらだから頭使うレスできない
0590名前は開発中のものです。2009/02/14(土) 21:51:10ID:wj98RZ4C
忘れてはならない

タスクシステムを使うことによって何のどんな問題が解決するの?
0591名前は開発中のものです。2009/02/14(土) 21:51:17ID:vCXBLjPV
木を切ったことのないやつに
ノコギリのメリットとデメリットを説明するには骨が折れるなぁ…

タスクシステムの考え方はゲーム作るうえで便利だから、というのは
自分で経験して体感するのがいいと思う。

数当てゲームとか○×ゲームみたいな小さいゲームじゃなくて
ステージ制シューティングとかそれなりに複雑なゲームを作ってみるといいんでないかな。
タスクシステムを使うにしろ使わないにしろ、そーいったシステムの必要性は理解できるようになると思う。
もっといい実装があるなら使わなきゃいいだけの問題だし。

ゲ製作技術に居るってことはゲーム作りたいんでしょ?
たぶんここで屁理屈こねてるより有意義だと思うぞ。

まぁ、それが出来ないコンプレックスからタスクシステム憎しになってるなら
もう何も言えんが…
0592名前は開発中のものです。2009/02/14(土) 21:54:10ID:wj98RZ4C
>>591
で?誰のなんの質問に答えた気になってるの?
馬鹿じゃないの
0593名前は開発中のものです。2009/02/14(土) 21:54:23ID:vvv9+ke/
>>565 ID:vCXBLjPV さんへ、お元気ですか、私は元気です

>あんた一つの目的を達成する方法は一つしか無い、と考えてるのかい?
俺は天才なので数多の戦術から最適な戦略を模索します

>別にタスクシステムの考え方は万能じゃない、一つの方法に過ぎんよ。
>使えるときには使う、他の方法がいいときは他の方法を使うって柔軟性が無いと
>プログラマなんてできんよ。
>方法はたくさん知ってるほうが有利だろ、
だから俺はずっとそう言ってるでしょうが

>タスクシステムを頭に入れたら
>頭の中それだけになって他の方法を入れられないような鶏頭なら別だが…
選択するときに必要な情報がない、全くない、誰も答えない
何度も聞いてるのにタスカーはみんな無視、誰も答えない
メリットとデメリットがわからないものを選択肢に入れろと?
何をバカなことを、わはは
それさえ答えてくれれば話は進む
さぁ、遠慮せずにメリットデメリット等の
タスクシステム特有の情報を惜しむことなく我輩に告げるがよい

チンチン、まだー?
0594名前は開発中のものです。2009/02/14(土) 21:54:38ID:krP7oFWE
>>591
そんなことどうでもいいから510読んだ感想でも書いてよ。
0595名前は開発中のものです。2009/02/14(土) 21:55:04ID:KRjtx6a7
>>577
問題は、コンセプトを維持したまま本チャンで使えるように改修できるかどうかだな。

俺は、あの"タスク”はネタとしては面白いが、使える場面は極めて限られると思う。
ちょっと複雑な処理をしようと思うと、逆に枷になる。

ネタとしては面白い。
0596名前は開発中のものです。2009/02/14(土) 22:00:50ID:vvv9+ke/
>>591
結局、答えられないんじゃん

うちの宗教に入るメリット?
うーん、とりあえず入っちゃって考えればいいよ
さぁ、入会だ
だってよ、ふぅ危ないところだったぜ

こっちは質問は明確でずっとそういい続けてきたのに
タスカーはみんな無視してきた、ずっとだ
何がいいたいかと言うと
ばーかばーかちんじゃえ
0597名前は開発中のものです。2009/02/14(土) 22:04:44ID:wj98RZ4C
お前等馬鹿どもにいいことを教えてやろう

何をやるにも目的をはじめにおかない
自分のとった行動の理由を後で考える
とった行動の優劣の判別ができない・させない

これらは他にどんなことができる奴であろうが技術者として最悪だ
何も生み出せない
この先素質や直感だけじゃ解決することができないような仕事をやるハメになるだろうよ
そんときにこの有様ではなにもできない
成長しねぇっつの
>>510が出てきたときにソースがあるってだけで飛びついて
目標もなにもねぇのに評価なんてはじめた馬鹿は何か考えて評価したのか?
目的がわからねぇのにてめぇ、何を評価しようとした?
0598名前は開発中のものです。2009/02/14(土) 22:07:49ID:KRjtx6a7
手段のためには目的を選ばず
0599名前は開発中のものです。2009/02/14(土) 22:09:18ID:ojCD6VCw
何か発見があったら儲けもん程度の軽い気持ち
0600名前は開発中のものです。2009/02/14(土) 22:09:48ID:krP7oFWE
>>597
目的って、あのソース見て目的がわからなければ相当の低脳だろ。

プログラム一行でも書けんのか?
プログラムかけねぇヤシはすっこんでろ。
0601名前は開発中のものです。2009/02/14(土) 22:15:03ID:UJelYgTf
>>510 のねらいって本当に達成できてる?
> 処理の流れが基本一本道なので、どこで誰がなにをしているかすぐ分かる。
これを達成しつつ、
> 処理の自動並列化。
これを実現したいということだよね。
そのためにデータ共有を制御したいということだよね。

> ・データベースへのリクエスト時はデータベース全体をジャイアントロック。
これは分かる。

> ・しかし、リクエストそのものは並列実行される。
意味不
ロックされてるのに?
もしロックしてるやつが書き込みしてたらReadOnlyですら保証されないよね

あと、
> すべてのデータがデータベースに登録されているので、データ構造が明確。
メモリ上の情報だけでなくデバイスもデータとして扱うとデータ間に依存関係あると思うんだ。
DirectXデバイスとTextureとか。その辺不明確では?

>>510 のコードの半分も理解してない(読めない)俺が間違ってる?
0602名前は開発中のものです。2009/02/14(土) 22:16:34ID:wj98RZ4C
>>600
そうやって明確に答えずに変な解釈ばっかりするからこのスレはこんな有様なんだよ
そうだと思ってたことが実は違うなんてことは頻繁に発生する
わかった気になるのが一番怖い

ためしにお前がどう考えたのか>>510に確認とってみろ(別人かどうかは知らんけどなw)
0603名前は開発中のものです。2009/02/14(土) 22:17:36ID:KRjtx6a7
>>601
できない。
0604名前は開発中のものです。2009/02/14(土) 22:17:56ID:LGQXbjlW
コードから読み取るにしても説明があった方が読み取り易くなるし誤解も減るからあった方がそりゃあった方がいいでしょう
同じコードから読み取れるものが皆同じってのはちょっとありえないと思うわぁ
0605名前は開発中のものです。2009/02/14(土) 22:19:14ID:wj98RZ4C
>>598
本気でその状態で怖いわ
ジャンプにナ○トってカオスな漫画があるけど
このスレも全く同じようなカオスな状態で全然笑えない
プログラマでこれかよって感じ

>>599
それは技術者にとって負債にしかならない
0606名前は開発中のものです。2009/02/14(土) 22:34:50ID:VBVBn6GZ
折角叩き台にソース張られたのに、
苦し紛れに罵倒するだけで、結局プログラム的な反論がほとんど無いのかよw
 
口汚くても有意義な情報が見られるかもと思ってpart1から見てたのに、
アンチタスク派にはホントがっかりだわ。最初から最後まで口だけか。
 
もーそうやって一生罵倒してろよ。
お前らはもうソレしか出来ないんだから。
やっぱゲ製板の住民だよ、お前ら。
0607名前は開発中のものです。2009/02/14(土) 22:37:58ID:wj98RZ4C
>>606
だからぁ
そうやって主旨を横にどかして感情だけでしゃべるなよ馬鹿
本当にプログラマかてめーは

今日の飲み会盛り上がりましたね!?

って妙な確認とってくる新人かてめーはw

ソース自体を公開するのはいいよ
でもそのソースの目的を明確にしてもらわなきゃなにも判断できないだろ
0608名前は開発中のものです。2009/02/14(土) 22:40:24ID:UJelYgTf
>>603
ども。やっぱり。

というかもう >>566 で危ないって書いてたんすね
さっき読んだ時はなんか難しいこと言ってんなー、位で理解できてなかった
0609名前は開発中のものです。2009/02/14(土) 22:49:40ID:segjkn8U
目的なら>>528に書いてあるんじゃないの
正直俺も>>601同様の疑問を持ったけど

C++は参照透明な純粋関数型言語ではないので、副作用だのオブジェクトの破棄だのが
色々ネックになりそうに見える

単なるISAMならともかく
まともなRDBなどでは読み取り一貫性のようなものを保障するためには
相当にしち面倒くさいことをやっているが
0610名前は開発中のものです。2009/02/14(土) 22:52:53ID:wj98RZ4C
>>609
は?
俺にはメリット(=目的でなきゃ駄目だろ?)がまったく見えねー
>>528に書いてあるのはただの処理内容だろ?
やりたいことは〜って文章からまったくつながってねぇよ
C言語やる前に日本語どうにかしろよレベルだろコレ
0611名前は開発中のものです。2009/02/14(土) 22:54:10ID:segjkn8U
>>610

>排他処理の自動化。データ構造に基づいてロックをかけるのでデッドロックしない。
>処理の自動並列化。
>すべてのデータがデータベースに登録されているので、データ構造が明確。
>処理の流れが基本一本道なので、どこで誰がなにをしているかすぐ分かる。

これはメリット=目的だと受け取っていいんじゃないの?
できてるかどうかはともかく、ね
0612名前は開発中のものです。2009/02/14(土) 23:04:48ID:vvv9+ke/
目的は一つが原則だよっ
それを達成するための手段はいくつあってもいいけど
その手段それぞれにメリットデメリットがある
タスクシステムも手段の一つに過ぎない

さっ、教えてくれ
0613名前は開発中のものです。2009/02/14(土) 23:16:26ID:wj98RZ4C
>>611
は?どれが?
そもそも1つじゃなくてなんでたくさんあるの?
例えばな

「自動化」

ってあるけど
自動化はわかった
で?何がいいの?
ってなるじゃん
機能を並べただけなんだよ
それとそのメリットって>>2と比べてこのソースは〜って話?
それとも普通の組み方と比べてこのソースは〜って話?
0614名前は開発中のものです。2009/02/14(土) 23:18:24ID:wj98RZ4C
この文の説明が抜けた
>そもそも1つじゃなくてなんでたくさんあるの?
まず、大まかにそんなにたくさん主旨があるのはおかしいだろ
それ、全部目的なの?
仮にそれのどれが欠けた場合に失敗なの?
それの1つでも残れば他にどんなデメリットが出ても成功なわけ?
一つに絞れよ
0615名前は開発中のものです。2009/02/14(土) 23:20:11ID:segjkn8U
んなこと俺に言われても知らんがなw

ちゃんとpros/consが網羅されいるとも、分析/評価としてちゃんとしてるとも
別に俺は思わないしね
つっかかる相手を間違ってないか?
0616名前は開発中のものです。2009/02/14(土) 23:35:14ID:vvv9+ke/
また止まる、実装の話のときは止まらないのに
確信に近づくと止まる、メリットデメリットを聞くと止まる
そして日付が変わってIDが変わる
今までの話はなかったことにして、話題を変えてまた実装の話
これの繰り返しだよ

代わりをよこせといってる人がいたからDSLを持ってきたのに
無視しやがるし、ちくしょうめ
0617名前は開発中のものです。2009/02/14(土) 23:39:06ID:UJelYgTf
>>610
俺の目的はゲーム作りの型を身に付けること。これで十分だろ。
まさか2chに来ておいて統一見解求めるつもりは無いよな?

修破離の修を独学でやるには既存の型を学ぶのが手っ取り早い。
そしてそこにC++なんちゃってタスクシステムがあった。だから飛びつく。
全くの初心者がいたとして、運しだいではこういったこともありえる。ただそれだけの話。

それこそ何を目的に何を問題として提起しているのか。
タスクシステムの根本思想が「タスク=ゲームオブジェクト」と腐っていようと、
規模の増大に耐えられない虚弱で捻じ曲がったシステムであろうと、
本当の初心者がたとえミニゲームであっても実際にゲームを完成させることが可能という点で
目的は達成可能な手段ではある。
目的を達成可能な手段がそれしか見つけられないならば、
たとえ先の無い最悪な手段でもあると分かっていても使うやつは使う。

他人ができるのはよりましな手段を残しておく位だと思うが
なぜその議論自体を止めようとするのか。
先達のいない孤独な入門者が必死にゲーム製作への道を模索してようやく腐れタスクシステムを見つけたときに、
それは糞だ。だから使うなと言い放ってまた路頭に迷わせるのと、
それは糞だ。だからもっとましなこっち使えと言うのと、
一体あなたはどちらを今実施しているのか。そういう話。

俺としては「タスク≠ゲームオブジェクト」な養成ギプスシステムを作ることまで邪魔するのは許せない
0618名前は開発中のものです。2009/02/14(土) 23:39:59ID:UJelYgTf
まちがえたwwwかっこ悪いwww
>>610 じゃなくて
>>612 ね
0619名前は開発中のものです。2009/02/14(土) 23:42:47ID:KRjtx6a7
>>617
ふつーに書けば良いだけだと思うんだが…

何をそんなに悩むのかが分からん。
06205102009/02/14(土) 23:44:17ID:V87nWtWS
ネタばらしすると、
・タスク → データに格下げ
・foreach → タスクに格上げ
ってだけなんだけどね。
なんせタスクシステムっていう名前が悪かった。
タスクなんて言うから、データに処理をくくりつけたくなってくる。
タスクなんて呼ばず、データなりリソースなりというもっと低レベルな名前にしておけば、
そこに処理を括り付けようなんていう厨発想は消える。
変わりにforeachをタスクと呼びかえ、適当なマクロ定義して、
「ここに処理を書けば自動で並列化できますよ」と提灯ぶら下げとけば、みんなそっちに書く。
かくして世の中は平和になる。タスクシステム論争終わり。めでたしめでたし。
0621名前は開発中のものです。2009/02/14(土) 23:46:58ID:UJelYgTf
for文わかったー!
配列とりあえずわかったー!(気がするー!)
定義と宣言の違い、わからないー!
ポインタ、全くわからないー!

というレベルを想定してみよう。そして頭は中か下程度。
頭いい人とか身近に先達がいるという幸運なケースは除いて考えるのがミソ。
0622名前は開発中のものです。2009/02/14(土) 23:53:19ID:vvv9+ke/
>>617
なんだかよくわからないけど
俺が知りたいのはタスクシステムのメリットデメリットであって
君の目的ではない
長々と書いてもらってすまないが見当違いなので
話題そらしされてるのかと錯覚してしまったよ
以下略>>564
0623名前は開発中のものです。2009/02/14(土) 23:58:01ID:krP7oFWE
>>622
お前はプログラマ失格なんだから出てくんな
0624名前は開発中のものです。2009/02/14(土) 23:59:22ID:vvv9+ke/
頭のいい人なら
目的と手段ぐらいは明確にできると思うよ
手段の利点欠点ぐらい明確に知っていると思うよ
頭のいい人はすごいからきっとできるよ、できるよ
俺は頭が悪いから教えて欲しいよ、欲しいよ

タスクシステムのメリットとデメリットを教えてください

また失格言われました><
0625名前は開発中のものです。2009/02/14(土) 23:59:31ID:g0on6kGh
>>616
おいおい、>>2は図も使って紳士的に説明努力もしているサイト群だぞ。

ドラゴンソルジャーLaw(笑)だかDouteiSeniorLoliconだか、何だか知らねえが、
キーワードだけって、なんじゃそりゃ?
全然、筋通してねえじゃねえか。
考え甘いんちゃうか?

>>2の説明努力が不足しているなら、それも補ってくれよ?
手前のクソは成分が違うって言いたいんだろ?
あぁ?
0626名前は開発中のものです。2009/02/14(土) 23:59:31ID:UJelYgTf
>>620
結構良かった
何人かこれで攻めていくんじゃないかと思う。
難しくて謎めいてるあたりもそそるかもしれないしね。

>>622
だから無意味で無害なパターンが必要とされてるの
初心者以外にとっては無意味でいいの。無意味で当たり前だから価値があるの。
0627名前は開発中のものです。2009/02/15(日) 00:20:01ID:/3SpaYGW
なんでタスクシステムのメリットデメリットを教えてくれないのさ
みんな俺だけ仲間はずれにして、泣くぞ

>>625
前に同じこと書いたけど>>2にはメリットデメリットが書いてないし
そのときも誰もメリットデメリットを教えてくれなかったし
推測しろという、不親切過ぎるだろ
補えって言うくらいだから、使ってる人は知ってるんでしょ?メリットデメリットを
まさか知らないで使っているわけないよね

誰でもいいからタスクシステムの
メリットとデメリットを教えてください
いじわるしないで教えてください、お願いします
0628名前は開発中のものです。2009/02/15(日) 00:24:05ID:h/ugUohb
ハハン、自分で考えろ
メリットデメリット→相対的な話
0629名前は開発中のものです。2009/02/15(日) 00:28:19ID:/3SpaYGW
Q.タスクシステムのメリットとデメリットを教えてください
A.ハハン、自分で考えろ



……俺はどうすればいいんだろう
0630名前は開発中のものです。2009/02/15(日) 00:28:29ID:pf6wVUPl
>>627
お前が一行もプログラムの書けないポエマーなのは十分わかったから、もう出てこなくていいよ
0631名前は開発中のものです。2009/02/15(日) 00:34:23ID:kIY9LVp/
>>630
メリット、デメリットを出せって奴は俺もいるぜ
0632名前は開発中のものです。2009/02/15(日) 00:38:02ID:h/ugUohb
比較対象が出てこない限り、
アドバンテージ云々って話にはならんだろ
0633名前は開発中のものです。2009/02/15(日) 00:45:37ID:kIY9LVp/
>>632
タスクシステムしか知らんの?
0634名前は開発中のものです。2009/02/15(日) 00:47:57ID:/3SpaYGW
>比較対象が出てこない限り、
>アドバンテージ云々って話にはならんだろ
DSL

タスクシステムがフレームワークに類するのかどうかわからないけど
フレームワークはいくつかある

比較対照はたくさんあるけど
タスクシステムの基本的な事がわからないのでなんとも言えない
それに比較対照がなくても、大きいメリット一つぐらいはわかりそうなものだが


Q.タスクシステムのメリットとデメリットを教えてください
A.ハハン、自分で考えろ
なんだかこのやりとりが気に入ったw
0635名前は開発中のものです。2009/02/15(日) 00:53:32ID:Oer16jPu
DSLつっても色々あんぞ
boost::protoでevalできるものは全てDSL(*)って言えるし、さらに(*)すらDSLの一部だぞ
0636名前は開発中のものです。2009/02/15(日) 00:55:04ID:h/ugUohb
タスクシステム的発想を継承していないゲーム用並列動作処理を、
比較対象として出してみ。
そうすればメリット、デメリットの話もできるだろう。
0637名前は開発中のものです。2009/02/15(日) 01:01:58ID:/3SpaYGW
>>635
DSLのメリットとデメリットはわかる
色々あるなら全部比較対照にすればいいから
比較してタスクシステムのメリットとデメリットを教えてもらいたい

>>636
タスクシステム的発想というものがさっぱりわからないけど
DSL
0638名前は開発中のものです。2009/02/15(日) 01:14:37ID:20MV6lUe
プログラム入門以前の人
・メリット:なんだこんな簡単な仕組みでゲーム作れるんじゃん。やっぱりな。これなら自分でも覚えられるぞ! とか、
     おれのSTG(もどき)が動いた! といったあたりまでゲーム製作が推進可能となる
・デメリット:わりと最悪の部類に入る設計思想でした。もう一歩も先に進めません。という時期が来る

ベテラン(?)
・メリット:デバッガとか周辺ツールが便利らしい
・デメリット:デバッガとか周辺ツールを自分で作るらしい。あと、抽象化を見極めるワザが必要らしい。

タスクシステムに設計パターンとしてのメリットは無いね。
Byアンチ
0639名前は開発中のものです。2009/02/15(日) 01:19:05ID:h/ugUohb
>>637
DSLとやらと比較したいんだったら、自分で比較作業やればいいじゃないか。
それを他人にさせようとするなよ。
ただしタスクシステム批判するなら、根拠となる比較作業結果を明示する。
0640名前は開発中のものです。2009/02/15(日) 02:50:31ID:FA9cfUTD
>532
> 『ローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー 』
> 脳みそに染み渡った?質問どうぞ

つまりアンチタスクシステム厨というのは、自分にとって理解できないものに対して『俺は何が理解できて
いないか理解できていないぞ』と公衆の場で叫ぶキチガイと言うことか?
0641名前は開発中のものです。2009/02/15(日) 03:05:29ID:kIY9LVp/
頑張って非タスク作ってみたぞw
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8884.zip
どこか変わったか?w

っていうか糞わかりにくいコードだったからバグってるかもしれない
まあ、雰囲気だけ受け取ってくれ

どうせやるなら
自機、敵、弾の3種類のクラスがあって
弾は追尾機能(関連を作るため)がついてるほうがいいな
0642名前は開発中のものです。2009/02/15(日) 08:39:51ID:OFTP7lcI
>>641
mainにwhileがあって中で星の数だけ処理をforで回す…と。
初心者がC言語習って最初に作るミニゲームとかはこーなるだろうなーと。

これでブラックホールとか自機とかさらに複数の要素が加わったら全部の要素をこのwhile内にハードコードで追加して巨大化していくのかな?
タスクシステムなら新しい要素をタスクに登録するだけで、スクリプトとかから動的に要素を増減できるけど。

さらに、ゲームだとタイトルとかコンフィグとか、デモとか、ボーナスステージとかステージ毎に違う仕掛けがあるケースはどう書くのかな?
一個のメインループの中にswitchとかで切り分けて無理やり全部詰め込む?
それとも全ての要素の組み合わせごとにメインループを分ける?
…ってことは見苦しいからやりたくない、って思ったプログラマがタスクシステムを作ったんだけどね。

タスクならメインループは一個。タイトルやゲームも要素の増減もタスクで処理可能。

頑張って非タスク作るって、結局アンチはその程度のことも分かってないプログラマだった、という証明になってるんだが…
まぁ、たまたまこのアンチのレベルが低いだけで、まさか全部のアンチがこんなレベルのプログラマじゃないよな?
0643名前は開発中のものです。2009/02/15(日) 08:49:10ID:5MvrWTvY
>>504
オレも最初そう思ったw
Squirrel可愛いよSquirrel
タスクからSquirrel呼んじゃうよ(まあ俺はタスク使わんけど)


んで、まじめにDSLという(Java/Ruby界隈中心に広まった?)言葉の定義を調べてみたが、
どうやら外部DSLはSquirrelやLua、XML、JRuby、Groobyのようないわゆる組み込み言語を指すらしい
で、内部DSLというのはyacc/bisonやboost::lambda、Lispのマクロ機能、
アスペクト指向トランスレータに見られるような言語自体のメタ的拡張手法を指すようだね

煽るつもりはないが、内部DSLがゲームのなにを解決するのか分からないなあ
しかもタスクの問題範囲と競合してるようにも見えない
どういう風にゲーム開発に活用しているんだろう?モナディウスとか?


>>642
売り言葉に買い言葉なのは分かるが、安全なところから他人のコードを叩くなよ
0644名前は開発中のものです。2009/02/15(日) 09:32:34ID:pf6wVUPl
>>643
まあ、アンチの代表格が、510のプログラムさえ読めなかった低脳ポエマーだったことが発覚したので仕方ないんじゃね?

あと説明責任君とか。510のプログラム見てわからないなら、プログラマを語るなと言いたいんだが。
0645名前は開発中のものです。2009/02/15(日) 10:15:31ID:kIY9LVp/
>>642
だから、こんなサンプルじゃそーゆーのを俺がどう書くのかわかんねーだろ?w
だから、自機、敵、弾のサンプルのがいいって言ってるのに
0646名前は開発中のものです。2009/02/15(日) 10:21:59ID:OFTP7lcI
>>645
ならこのサンプル出す意味無いんじゃね?
タスクシステムの比較対象にすらなってないし。
0647名前は開発中のものです。2009/02/15(日) 10:25:34ID:kIY9LVp/
>>646
ホント、その通りなんだけど
それは>>510にしかわからないw
0648名前は開発中のものです。2009/02/15(日) 10:30:58ID:/3uMAyPp
俺は>>641のほうが良いと思うぞ。
単純で読みやすい。
whieループの中の「〜タスク」は別関数に切り出して欲しいが。

こんな簡単な問題をなんで変なマクロでくくって、ややこしくするのかが理解できん。
>>510タスクシステムが理解できないのではなく、
簡単な問題をわざわざ複雑に解く理由が分からんと言っている。

事実、>>641のコード量は>>510の半分程度になってるだろ。
0649名前は開発中のものです。2009/02/15(日) 10:32:18ID:/3uMAyPp
抽象化コストがまるでペイしてないという実例として有意義だと思うが、どうかな。
0650名前は開発中のものです。2009/02/15(日) 10:39:55ID:hUQv8RGu
>>504
DSL具体例出してくれてありがとう。よく分かったよ。
Squirrelな俺にとってはいつのまにか外部DSL派だったわけね。
スクリプトにタスク概念入れると処理の一貫性や可読性やらの諸問題で、
タスク使わない派に戻りました。今のところコルーチンでFAな感じ。すげえし読みやすい/書きやすいよ。
もしコルーチンで記述できない/処理が重い問題にぶち当たればタスクに戻るよ。その辺は柔軟に考えている。

ゲームっつっても、小規模STGなのか大規模RPGなのか、2D/3Dなのかネットワーク対応/非対応なのかにもよって変わってくるだろうし
理論と実践は異なるってことだよだな。銀の弾丸は無いよ。
各自好きなの使えばいいじゃん。
0651名前は開発中のものです。2009/02/15(日) 10:44:27ID:kIY9LVp/
>>649
こんなんじゃ納得できないと思うな奴等w
結局オブジェクトも1種類しかないし
種類が増えたときにごった煮が役に立つを思ってる奴等でしょ?w
なんで>>510なんかに飛びついてたのかわからないけどw
0652名前は開発中のものです。2009/02/15(日) 10:45:34ID:OFTP7lcI
>>648
それは庭いじりしか知らない人がハサミで十分だから
ノコギリの必要性が理解できないと言ってるのと同じ。

サンプル規模のプログラムでタスクシステム使うのは庭いじりにノコギリ使うようなものだが
>>642 のような実際のゲーム規模では必ず遭遇する問題にはタスクシステムかそれに変わる何らかのシステムが無いと
こんなベタ組みじゃやってられんよね、ということだ。
0653名前は開発中のものです。2009/02/15(日) 10:52:37ID:kIY9LVp/
>>652
絶対、かわんねぇよ
だって書かなきゃいけない処理って決まってるじゃん
書かなきゃいけない処理の一覧書き出して
タスクシステムで書かなくてよくなる処理を○でもつけてみろw

自機、敵、弾ってあってそれぞれが関係するなら
自機x敵、自機x弾、敵x弾の関連の処理は絶対に省略できないってw
アフォでもわかるべ〜w
冷静になって考えてみろよw
0654名前は開発中のものです。2009/02/15(日) 10:58:26ID:OFTP7lcI
>>653
>タスクシステムで書かなくてよくなる処理を○でもつけてみろw
タスクシステムは書かなきゃいけない処理を書かなくてもよくするためのものじゃないぞ。
そもそもそんなシステムは無いだろ。

関係するオブジェクトの増減やゲームの状態推移を統一した扱いにできて便利、ぐらいのもの。

自機、敵、弾だけで完結できるほどシンプルなサンプルレベルのなら使わなくてもいいんでない?
0655名前は開発中のものです。2009/02/15(日) 10:59:18ID:pf6wVUPl
>>649
抽象化するコストって、TaskSystem自体は再利用できるんだから、たくさんゲームを作るなら
ゼロに近づいていくんだが。

まさかあんたは一本だけゲームを作って一生を終えるつもりか?
0656名前は開発中のものです。2009/02/15(日) 11:08:15ID:kIY9LVp/
>>654
>タスクシステムは書かなきゃいけない処理を書かなくてもよくするためのものじゃないぞ。
>関係するオブジェクトの増減やゲームの状態推移を統一した扱いにできて便利、ぐらいのもの。
はぁ?じゃ、何がメリットなんだよw
さっさと言えよ
とりあえず>>510のサンプルなんてなんの役にも立たないってわかった?
目的もなく動いたって無駄なんだよ
ホント馬鹿だな
無駄、呼吸してること自体が無駄
>>510のサンプルに飛びついてたゴミはすべて無能

>自機、敵、弾だけで完結できるほどシンプルなサンプルレベルのなら使わなくてもいいんでない?
だから、そういうだろwお前等w
>>510のサンプルはなんの意味もねーって言ってるのに
わかんねぇかなぁw
0657名前は開発中のものです。2009/02/15(日) 11:14:35ID:hUQv8RGu
>自機、敵、弾ってあってそれぞれが関係するなら
>自機x敵、自機x弾、敵x弾の関連の処理は絶対に省略できないってw
処理が似たり寄ったりなら、そこはクラスの「抽象化」の一言で済むんじゃない?
タスクの範疇じゃないでしょ。タスクについて勘違いしてるよ〜
0658名前は開発中のものです。2009/02/15(日) 11:14:44ID:OFTP7lcI
>>656
>はぁ?じゃ、何がメリットなんだよw
>>642 でタスク使えばこーかける、ってのが出てるけど。
これじゃ理解できないかな?

まぁ、メリットデメリットが理解できないなら使わなければいいだけなんだが。
誰か君にタスク使うよう強要してるの?
0659名前は開発中のものです。2009/02/15(日) 11:16:56ID:kIY9LVp/
>>657-658
うーん?
何?言ってることさっぱりわからない
苦し紛れに意味わかんないこと言わないでよw
0660名前は開発中のものです。2009/02/15(日) 11:19:37ID:hUQv8RGu
何を言っているのか分からないのなら、デザインパターン/クラス設計についてもうちょっと勉強してくれ。
GoFのデザインパターンとか、その辺から見てみるといいよ。
あくまでタスクは状態遷移のためのもので、データの抽象化等とか根本的に違うっしょ。
0661名前は開発中のものです。2009/02/15(日) 11:20:48ID:kIY9LVp/
>>660
えーだって結局>>510のサンプルはなんの意味もなしてないわけでしょ?
あのソースにあれこれ言ってた人はどこ行ったの?
0662名前は開発中のものです。2009/02/15(日) 11:22:49ID:OFTP7lcI
>>661
タスクシステムの実装の一例として
>>641のサンプルよりは意味があるんでない?
0663名前は開発中のものです。2009/02/15(日) 11:24:37ID:kIY9LVp/
>>662
おいおい>>641>>510がなんの意味もなくね?っていうのを表現するために作ったんだぜ
んでそれは納得できた?YES?orNO?
0664名前は開発中のものです。2009/02/15(日) 11:29:11ID:hUQv8RGu
俺はまだ510のサンプルはぱらっとしてしか読んでないが、
従来のタスクよりは、可読性について大幅に改善していると思うよ。
今までのタスクは処理が飛びまくるから目で追うのが大変だったからね。
0665名前は開発中のものです。2009/02/15(日) 11:33:51ID:OFTP7lcI
>>663
>>510 タスクシステムを使ったサンプル(実装例として意味ある)
>>641 何も使ってないサンプル(実装例として意味無い)

だけの話でしょ…

というか、タスクシステムごとき単純な考え方を煽りじゃなく本当に理解できないとしたら
プログラマとしてどーかと思うぞ。
0666名前は開発中のものです。2009/02/15(日) 11:34:44ID:/3uMAyPp
まあ、抽象化された部分がコストに見合った働きをするならOK。
扱う問題が巨大になったとき、>>510版と>>641版でどれほどの差が出るかなんだが。
なんかあるの?

単にタスクシステムの分だけオーバーヘッドになってるように見えるんだけど。
>>510を使えば使うほど何らかのコストが浮くのかな?

一体何がラクになるのだ。
どんな問題を解決しているのだ。

もともと制御部っていうのは本質的に複雑だから再利用は難しい。
汎用的にすればするほど中身がなくなっていく部分。
「ドラクエ風ゲームエンジン」「横シューエンジン」「スト2風格ゲーエンジン」「アンリアル風エンジン」
ここまで的を絞って3〜4本量産してようやくペイするってところじゃないか。
マルチスレッドに注目したMTフレームワークなんかは、デバッグのしやすさや移植しやすさも売りにして抽象コストをキッチリ回収している。
実行環境/開発環境として、実行/開発において誰もがぶち当たるありふれた問題を一手に引き受けて解決している。
単にforループで済む部分を別のやり方でやって偉ぶっているわけではないので混同しないようにな。

>>510
これはHOW。結局タスクシステムはどの問題を解決しているのか。
ただのforループ以上の何があるんだ。ただのforループに勝ってるのか。
そうでないならforループを使うほうが遥かに良い。単純明快説明不要でコスト0だ。


>>620
「ここに処理を書けば自動で並列化できますよ」

まず、何がどう自動なんだか分からない。
実のところ、何も自動化されていない。
0667名前は開発中のものです。2009/02/15(日) 11:35:19ID:pf6wVUPl
>>661
お取り込み中のところ横からで済まないが
>>641 のソースだが、明らかに元のソースより読みにくい。

forがロジック部に出てきてるのだとか、null判定してcontinueしているのとか
Starの空きを探す部分だとか。

結局、
・もし事前に510のタスクシステムが存在していてこの開発コストが0だと見なせるなら、
641のコードのほうが工数が多いのは明らか。

・もし事前に510のタスクシステムが存在していてこの開発コストが0だと見なせるなら、
が成り立たないなら641の書き方でいいんじゃね?とは思うけどな。
0668名前は開発中のものです。2009/02/15(日) 11:36:30ID:kIY9LVp/
>>665
で?>>510>>641は大して変わらないソースになったけど
これがオブジェクトの種類が増えていくとどう変わる?って展望があるのかな?
そーゆーことが言いたいなら少なくともそういう色の出てるソースじゃないと意味ないよね?
つまり、この時点では>>510はなんの意味もない、そういうことだよね?
■ このスレッドは過去ログ倉庫に格納されています