タスクシステム総合スレ part7
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/05/07(木) 13:33:06ID:u3YZJr5Epart6 http://pc11.2ch.net/test/read.cgi/gamedev/1238725539/
part5 http://pc11.2ch.net/test/read.cgi/gamedev/1234977661/
part4 http://pc11.2ch.net/test/read.cgi/gamedev/1233459490/
part3 http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/
part2 http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/
・タスクと呼ばれる実装は、非常に多岐に渡ります
古典タスクシステムについての話題は「>>2」と明示してください
そうでない場合はカスタム版であることを明示してください
・人を憎んで言語を憎まず
0744名前は開発中のものです。
2009/07/28(火) 23:58:30ID:oX6frFU5ID:KvaJ18tR
ID:24mKledF
結局このタスクシステム=ファイルシステム君は知ったかの素人か学生ちゃんなのかな?
態度がでかい割りには協調的なマルチタスキングについての理解・実装経験が乏しそうなのは奇奇怪怪
タスクシステム親派なんだろうけど、学の無いプロでもヒューリスティック・アプローチで磨き上げた直感が
あるからコルーチンの使いどころは速やかに想起するものなんだがねぇ
ファイルシステム君は以前のスレの>>810と同一人物なんじゃないかな。あの自動並列化を意識した
タスクシステムとかいうオナニーソースの作者。彼ならタスクシステム=ファイルシステム論みたいな
珍説を唱えそうな気がする
0745名前は開発中のものです。
2009/07/28(火) 23:58:32ID:24mKledFだからそうなってくると、利用できるシチュなんてほとんどなくなる。
基本的にコルーチンってのは依存関係の少ない単純な処理向きなんだけど、
単純な処理なんだったらベタで書いても大差ない。
0746名前は開発中のものです。
2009/07/29(水) 00:00:36ID:wWM0N2O1○磨き上げた嗅覚が
0747名前は開発中のものです。
2009/07/29(水) 00:12:14ID:bs1jh/67なんかまた専門学校の学生さん? 授業じゃたいしたことやらないから、どんな場面で必要になるのか、
想像すらできないってところのかな。
コルーチン的に中断処理を入れられる方が書き易い場合と、FSM的に書いたほうが書き易い場合と
どっちもあるんだよ。
0748名前は開発中のものです。
2009/07/29(水) 00:42:17ID:YqP3xuRAだからこれは依存関係が少ない場合だろ。
でもそんなザコ処理なんてどうでもいいわ。普通に書いてもたいした苦にならん。
0749名前は開発中のものです。
2009/07/29(水) 06:55:01ID:bs1jh/67想像力が足りないって、ある意味うらやましいと思うよ…。
0750名前は開発中のものです。
2009/07/29(水) 10:11:20ID:s3gd1kGE0751名前は開発中のものです。
2009/07/30(木) 20:37:30ID:sE0pRSsd0752名前は開発中のものです。
2009/07/31(金) 00:30:00ID:oSukQgyZ0753名前は開発中のものです。
2009/07/31(金) 01:42:56ID:y5nRUlyV最近そういうの茶目っ気にも見えない
0754名前は開発中のものです。
2009/08/01(土) 01:38:41ID:wKF98idi>>674
でアンチ惨敗で決着しちゃってるから
もうコルーチンとかファイルシステムとか変てこな話題しか出ないね。
0755名前は開発中のものです。
2009/08/01(土) 02:48:14ID:v6OwA18Eそこには>>674の内容に異論のあるタスクシステム親派がいないという大前提があるようだが
それがそもそも無理というか幻想だということに気付いてるんだろうか
>Actorはタスク以上に「何でもあり」なんだがなぁ・・・
>メインループで「update」と「draw」のイベントシグナルを発行すればタスクと同じようなことできるし。
コンピュータ(orプロセッサ)間の非同期通信(非同期メッセージパッシング)を基本とする
アクターモデルが「何でもあり」というのはちょっと乱暴で手前勝手な拡大解釈だなと思う
アクターモデルは基本的に事象駆動(離散系シミュ)の考え方であり、時間駆動(周期駆動、連続系シミュ)
のプログラムに見られるメインループなんてものはそもそも必要ない。イベントキューとそれを巡回・処理
するループがあるとしても必須のものではない。そして巡回・処理する対象はアクターではなく事象(イベント)
時間駆動のプログラムが使うインターバルタイマーの周期的なトリガーをイベント(事象)のひとつとみなして
これを事象駆動の一種とする捉え方は可能ではなる。が、リアルタイムシステムや科学技術計算の分野では
明確に対比され区別されている
リアルタイムシステムではtime-triggered-systemとevent-triggered-system
科学技術計算ではcontinuous-simulationとdiscrete-event-simulation
といった感じでね
0756名前は開発中のものです。
2009/08/01(土) 02:55:51ID:v6OwA18E両者を組み合わせる形のシステムはちゃんと存在する
ゲームでは時間駆動型の基本システムの上にイベント駆動のシステムを
乗せているビデオゲームだ。画面更新はあくまでも時間駆動。ゲームの
シミュレーション部などが事象駆動。といったハイブリッド型の実装になってる
完全に一体になってるケースもないことはないが普通は層が分かれてる
0757名前は開発中のものです。
2009/08/01(土) 03:04:53ID:v6OwA18E>で2D弾幕STGとか、ACTとかかね。
「タスクシステム(>>2)」に適したゲーム、ということならまだ分かるけど、「タスク」は全く関係ないと思うなぁ
長期大規模開発用のミドルウェアの中にも「タスク」というのはちゃんと存在するし。ごく一般的な技術用語だし。
「タスク」に特殊な意味を与え、低スペックなターゲットの2DSTGやACTの少人数開発でしか使えない、といった
レッテルを勝手に貼られるのはちょっと困るかなぁ
0758名前は開発中のものです。
2009/08/01(土) 03:10:36ID:v6OwA18E>となるとタスクじゃね?となる。
これは>>674は悪くないんだが、ゲーム業界の一部で未だにStepという表現が
こういう特殊な意味で使われてることに驚かざるをえない
そもそも時間駆動型のプログラムは全て処理ステップを逐次実行してるわけで
これはステップ処理だがあれはステップ処理じゃねーなんていう珍妙な会話は
傍から聞いててもかなり馬鹿げている
0759名前は開発中のものです。
2009/08/01(土) 03:14:33ID:v6OwA18E△ 少人数開発でしか使えない、といったレッテルを勝手に貼られるのはちょっと困るかなぁ
○ 少人数開発には適しているがそれ以外では不向きといったレッテルを勝手に貼られるのはちょっと困るかなぁ
0760名前は開発中のものです。
2009/08/01(土) 03:17:22ID:6uucu48D>そこには>>674の内容に異論のあるタスクシステム親派がいないという大前提があるようだが
>それがそもそも無理というか幻想だということに気付いてるんだろうか
なんでそうなるんだ?周りを巻き込もうとするなよ。
単にお前個人が>>674に異論がある。それでいいだろ。糞が。
>低スペックなターゲットの2DSTGやACTの少人数開発でしか使えない、といった
>レッテルを勝手に貼られるのはちょっと困るかなぁ
レッテル貼られたら何で困るんだ?
タスクシステムなんて単なる実装の一手段でしかないのだから、周りからどう思われたって関係ないだろ。
それともあなたはタスクシステムの権利団体か何かの人なんですか?
0761名前は開発中のものです。
2009/08/01(土) 03:40:39ID:msoOfuNsタスクが大規模開発に向かないってのもオラが村の事情の話に過ぎないし
こんなんでアンチ惨敗とかほざくのはゲーム専のお子様だけだわな
0762名前は開発中のものです。
2009/08/01(土) 03:52:01ID:6uucu48Dそれに対して、「そう思われてはちょっと困るかなぁ」、なんて返されると、
一体お前はタバコの何なんだ?お前の私物か?お前はJTの社員か?なんで困るんだ?
となるわな。
そういう頭のおかしなやつが好むのがタスクシステムってことなんだろうけど。
0763名前は開発中のものです。
2009/08/01(土) 03:57:12ID:msoOfuNsレスかぶっちゃったゴメン
でも君が何でプリプリしてるのかわからない
タスカーが団結しないと許せないみたいな?
悪いけどタスカーはあまのじゃくの我流戦士が多いから
本音を話せばいくらでも見解の不一致は出てくるよ
0764名前は開発中のものです。
2009/08/01(土) 04:02:59ID:v6OwA18Eまーた相似性の希薄な例え話を引っ張り出すのが大好きな子が出現してるのか?
アンチはクルクルパーが沢山混じってて面白いね
0765名前は開発中のものです。
2009/08/01(土) 04:12:09ID:6uucu48D関係ないと思うか?むしろ本質的だと思うが。
つまり、タスクシステム愛好家は他者とのコミュニケーションが取れないやつが多い。(お前を含む)
タスクシステム自体もタスク間でのコミュニケーションが苦手という問題を抱えてるが、
自分もコミュニケーションが下手なもんだから、そこに気づけない。
気づけないというよりは、もともとそういう感覚を有してないと言ったほうが適切かな。
他者と会話できないから、井の中の蛙だし、そんなだからいつまでもタスクタスク言ってる。
死ぬまでやってろ。そういう傾向。
0767名前は開発中のものです。
2009/08/01(土) 04:17:18ID:v6OwA18E>タスクシステム自体もタスク間でのコミュニケーションが苦手という問題を抱えてるが
なにそれ怖い。そのチンカスタスクシステム固有の問題、具体的に書いてみ?
0768名前は開発中のものです。
2009/08/01(土) 04:33:34ID:6uucu48Dタスクなんていう考え方している時点で、もうだめなんだ。
何でかって言うと、タスクにスポットが当たってるから。
本当は、「間」にスポットを当てないといけない。そうなると、タスクなんて余計なだけ。
だいたい、人に問う前に、まずお前は、
>少人数開発には適しているがそれ以外では不向きといったレッテルを勝手に貼られるのはちょっと困るかなぁ
↑何で困るのか答えやがれ。
0769名前は開発中のものです。
2009/08/01(土) 05:00:59ID:FEhFfNb50770名前は開発中のものです。
2009/08/01(土) 06:42:31ID:ao5uO9YE↓
しばし沈黙
↓
通りすがりのタスクシステム使いさんがにわかに登場してなんだかタスクシステム良いよ的な話
↓
タスクシステム使いさん勝利宣言
↓
勝利宣言に違和感を覚えた人が(以下ループ)
0771名前は開発中のものです。
2009/08/01(土) 12:15:11ID:4YxDe/E+0772名前は開発中のものです。
2009/08/01(土) 13:13:07ID:msoOfuNs0773名前は開発中のものです。
2009/08/03(月) 01:41:46ID:s8hnsN4I予想したけど外れかもねぇ。まぁよく考えてみれば>>760がアンチ(?)ならば
俺の>>755-759の書き込みに噛み付く道理ないんだよねぇ。アンチならわかるよねぇ?
だからなんでこの犬っコロ(>>760)は青筋立ててギャンギャン吠えてんのかなぁと
不思議に思ってたんだねぇ。クルクルパーのファイルシステム君なら納得だねぇ
0774名前は開発中のものです。
2009/08/03(月) 01:49:05ID:1PXoi5JF技術的な会話をまともにしてほしい。技術的な内容以外は理性的に切り捨ててほしい。
0775名前は開発中のものです。
2009/08/03(月) 01:53:35ID:s8hnsN4I0776名前は開発中のものです。
2009/08/03(月) 01:54:55ID:si//+0Pbだってメリットねーしw
0777名前は開発中のものです。
2009/08/03(月) 01:59:04ID:s8hnsN4Iシャンプー君は元気そうだねぇ
どのタスクシステムの話なのかねぇ
それによって答えは変わるけどねぇ
0778名前は開発中のものです。
2009/08/03(月) 02:23:46ID:MWks6991お前自分で、>>755で自分はタスクシステム信派だって自己紹介してんぞ。
貧乏暇なしというが、忙しい人だな。
0779名前は開発中のものです。
2009/08/03(月) 02:25:20ID:s8hnsN4I0780名前は開発中のものです。
2009/08/03(月) 02:37:24ID:s8hnsN4I「コルーチンの使いどころが分かんない分かんない」って
癇癪起こして足をバタバタさせてるファイルシステム君じゃないかね
0781名前は開発中のものです。
2009/08/03(月) 02:39:19ID:MWks6991タスクシステムに技術的話題なんて無いね。共産主義並みに行き詰ってるのに。
後はこのタスクシステムが蔓延してしまっているこの事態をどうやって収束させるか。それだけ。
北朝鮮問題やら派遣問題やらと同じで、どういう風に支援、改心させるか。
でも某国と同じで洗脳教育されているのか自己催眠にかかっているのか知らないが、
あいつ等何言っても聞く耳持たないし、信じようとしないからとても大変だ。
もう放っておけばいいんじゃないかとも思えるが、(←多くの人がそうしているようにな)
このスレ的には、タスクシステム総合と銘打っている以上、
上記の問題に立ち向かっていかなければ存在意義がなくなるしな。
後始末後始末。
0783名前は開発中のものです。
2009/08/03(月) 02:43:31ID:s8hnsN4I0784名前は開発中のものです。
2009/08/03(月) 19:11:25ID:bsXgoH/e0785名前は開発中のものです。
2009/08/03(月) 20:09:36ID:MWks69910786名前は開発中のものです。
2009/08/03(月) 20:25:07ID:aGDcXuwE0787名前は開発中のものです。
2009/08/03(月) 20:26:49ID:Us9TDPt3別にこんな所の内容なんてわかんなくてもいいんじゃね
0788名前は開発中のものです。
2009/08/03(月) 21:44:12ID:/fSz8E460789名前は開発中のものです。
2009/08/04(火) 02:50:48ID:U0vuhKbGぼく「えっ」
出向先「タスク系ゲーム開発への興味はお餅ですか」
ぼく「いえしりません」
出向先「えっ」
ぼく「えっ」
出向先「まだお餅になってないということでしょうか」
ぼく「えっ」
出向先「えっ」
ぼく「変化するってことですか」
出向先「なにがですか」
ぼく「興味が」
出向先「ああ使い続けていただければ技術レベルがあがって
興味が変わりますよ」
ぼく「そうなんだすごい」
出向先「ではお教えいたしましょうか簡単ですよ」
ぼく「くさったりしませんか」
出向先「えっ」
ぼく「えっ」
0790名前は開発中のものです。
2009/08/05(水) 16:20:46ID:Quw15W/S0791名前は開発中のものです。
2009/08/05(水) 23:34:57ID:eFoOCYvk0792名前は開発中のものです。
2009/08/07(金) 23:27:13ID:OCgbN7PJ0793名前は開発中のものです。
2009/08/08(土) 14:22:28ID:SPaTpHk9もう誰もいなくなったか?それは結構なことだ。
0794名前は開発中のものです。
2009/08/08(土) 15:15:38ID:6o509XBx奴しかタスク派いねーし
0795名前は開発中のものです。
2009/08/08(土) 16:05:25ID:SPaTpHk9googleでタスクシステムで検索。以下上位サイト。
「その3 タスクシステムと「ゆるゆる」なキャラクタ」
ttp://marupeke296.com/GDEV_No3_TaskSystem.html
ゆるゆる
「本場のタスクシステムはスゲェな...」
ttp://www.game-create.com/archives/1299#more-1299
本場ですらスゲェんだな(謎
「萌えプロ タスクシステム基本篇」
ttp://akira812.spaces.live.com/Blog/cns!96B4C8D0C2C59D62!202.entry
。。。
0796名前は開発中のものです。
2009/08/08(土) 17:48:55ID:6o509XBx0797名前は開発中のものです。
2009/08/08(土) 19:34:04ID:xyBM8L8Yイジメすぎた?
0798名前は開発中のものです。
2009/08/08(土) 19:42:43ID:Phb7PCA50799名前は開発中のものです。
2009/08/08(土) 19:48:31ID:SPaTpHk90800名前は開発中のものです。
2009/08/08(土) 19:56:05ID:xyBM8L8Yはやく楽しませてくれよ
引数じゃないとダメとか総合ヘッダとか
アンチらしい話題を早く出しとくれ
0801名前は開発中のものです。
2009/08/08(土) 20:28:23ID:Phb7PCA50802名前は開発中のものです。
2009/08/08(土) 20:54:04ID:phBswR/v一番上の人は職業ゲームプログラマーだった筈
0803名前は開発中のものです。
2009/08/08(土) 21:03:58ID:xyBM8L8Y> 具体的な回答をおねがいします。
どーいう返答なら「具体的」でどーいう返答なら「具体的」でないのかなぁ?
まずそれを「具体的」に説明してくれやww
「具体的」な回答を求める人には当然答えられる質問だよな
0804名前は開発中のものです。
2009/08/08(土) 21:12:27ID:Phb7PCA5たとえば 498 の「どんなコメントつけてるの」に対して、
「何も書いてない」や「"タスクシステム"とだけ書いてある」なんての具体的な返答。
「いろいろ書いてある」や「それなりのことが書いてある」は具体的な返答ではない。
「何か書く必要あるのか?」とか「いらねーだろjk」とかは返答ですらない。
これでいいですか?
0805名前は開発中のものです。
2009/08/08(土) 21:16:21ID:xyBM8L8Yあえてアンカー張って具体的な回答を求めてるのかい?
0806名前は開発中のものです。
2009/08/08(土) 21:18:48ID:Phb7PCA5はい。そうです。
0807名前は開発中のものです。
2009/08/08(土) 21:26:58ID:xyBM8L8Y>>498 は具体的な環境や実装が不明だし
>>646 にいたっては自問自答で質問にすらなってない
こんなのに「具体的」に回答できる人間はエスパーだけだww
0808名前は開発中のものです。
2009/08/08(土) 21:32:02ID:OnpPfR8B「自問自答」で、すでにレスの中で自分の答えに誘導してしまってるんだよな。
0809名前は開発中のものです。
2009/08/08(土) 22:00:00ID:Phb7PCA5特定の環境や実装について知りたいわけではありません。
あなたの知っているタスクシステムと名の付いたものについての返答を
してもらえれば十分だと思っています。
>646 の中に、質問者自身の答えが書いてあるのは確かですが、
その質問者の方とは違う答えがあるのではないでしょうか?
そういった点は >670 あたりでも説明されて回答が促されていますが、
やはり挙がらなかったようです。
まだ何か足りないでしょうか?
0810名前は開発中のものです。
2009/08/08(土) 22:02:22ID:xyBM8L8Yあんたの質問は矛盾してるよ。
0811名前は開発中のものです。
2009/08/08(土) 22:11:52ID:Phb7PCA5「具体的」と「主観的」とは矛盾しないものと思います。
たとえば「納豆にネギを刻むと旨いんだ」という主張は具体的で且つ主観的なものです。
確かにはじめから客観的で具体的な回答であればより望ましいのですが、
主観的で具体的な回答でも、未だ明らかでない客観的な事実を知るための
手がかりとしては貴重なものです。
主観的なものでもかまいませんので、おねがいします。
0812名前は開発中のものです。
2009/08/08(土) 22:18:49ID:xyBM8L8Y>>674
でこのスレは終わってないか?
主観的かつ具体的、でもこれじゃダメって理由を教えてくれや
0813名前は開発中のものです。
2009/08/08(土) 22:22:57ID:Phb7PCA5それは質問への回答ではないからです。
0814名前は開発中のものです。
2009/08/08(土) 22:25:32ID:xyBM8L8Yあらためて自分で質問してみな。
アンチの具体的な質問ってやつを。
0815名前は開発中のものです。
2009/08/08(土) 22:40:52ID:Phb7PCA5以下のようなものでいいでしょうか?よろしくおねがいします。
( >498 の質問から抽出。)
「タスクシステム」の主要な部分となる class Task や TaskSystem などに
どんなコメント(存在意義・使用目的の説明)をつけていますか?
( >646 の質問から抽出。)
「生成消滅が頻繁に発生する」というゲームを作る場合、「タスクシステム」を
使うことで別の方法よりも簡単に実装できるということですが、具体的に何と比較して
どの点が簡単になるのでしょうか?
「オブジェクトごとの挙動が異なる」というゲームを作る場合、「タスクシステム」を
使うことで別の方法よりも簡単に実装できるということですが、具体的に何と比較して
どの点が簡単になるのでしょうか?
「一定間隔で更新と描画を行う」というゲームを作る場合、「タスクシステム」を
使うことで別の方法よりも簡単に実装できるということですが、具体的に何と比較して
どの点が簡単になるのでしょうか?
0816名前は開発中のものです。
2009/08/08(土) 22:53:47ID:xyBM8L8Y> どんなコメント(存在意義・使用目的の説明)をつけていますか?
”コンストラクタ”とか”デストラクタ”とかコメントつけないのと同じ意味でたぶんつけんけど。
あえてコメントをつけるなら”タスクシステム”
> 具体的に何と比較してどの点が簡単になるのでしょうか?
これは質問がおかしい。
タスクシステムを使う人に対して何かと比較して質問したいなら
質問側で具体的な「タスクじゃない何か」を比較対象として出すべき。
悪魔の証明じゃないんだから。
0817名前は開発中のものです。
2009/08/08(土) 23:32:51ID:xyBM8L8Yそもそも存在「意義」・使用「目的」はソースのコメントで書くものじゃないだろ
引数とか戻り値とかの使用「方法」なら書くが・・・
0818名前は開発中のものです。
2009/08/08(土) 23:38:26ID:Phb7PCA5ありがとうございます。
> タスクシステムを使う人に対して何かと比較して質問したいなら
> 質問側で具体的な「タスクじゃない何か」を比較対象として出すべき。
「何かと比較して質問したい」わけではありません。
何と比較して簡単になると言っているのか、という質問をしているので、
比較対象は回答として挙げられるものと思っています。
0819名前は開発中のものです。
2009/08/08(土) 23:41:42ID:Phb7PCA5そうですか。コメントとして質問していては望む回答は得られないようですので、
少し質問を変えさせてもらいます。
「タスクシステム」の主要な部分となる class Task や TaskSystem などについて、
どんな存在意義・使用目的の説明をされていますか?
たとえばライブラリのドキュメントなどに記載されるような内容を想定しています。
よろしくおねがいします。
0820名前は開発中のものです。
2009/08/08(土) 23:43:07ID:xyBM8L8Y> 「何かと比較して質問したい」わけではありません。
> 何と比較して簡単になると言っているのか、という質問をしているので、
自分の質問を見返しておかしいとおもわないかな・・・?
0821名前は開発中のものです。
2009/08/08(土) 23:49:50ID:xyBM8L8Y> 「タスクシステム」の主要な部分となる class Task や TaskSystem などについて、
> どんな存在意義・使用目的の説明をされていますか?
>>2 のリンク先の方が詳しく図付きで説明してあるんでそっち見てくれ。
これを見て存在意義と使用目的が理解できんなら掲示板で説明しても理解できるとは思えん・・・
0822名前は開発中のものです。
2009/08/08(土) 23:51:01ID:SPaTpHk9PCでゲーム作る場合、ディスプレイのリフレッシュレートってまちまちでしょ。
(最近は液晶が普及したおかげで大概60Hzだが)
でもゲームのロジックは60Hzとかで固定したいでしょ。
(数値解析の精度が変わったり壁抜けしたりするのが嫌だから)
それで、ディスプレイのリフレッシュレートとゲームロジックの周期のギャップを埋める仕組みが
必要だと思うんだけど、みんなはどうしてる?
http://spitfire.client.jp/program/fps.html
0823名前は開発中のものです。
2009/08/08(土) 23:54:31ID:Phb7PCA5すいません。見返してみましたがおかしいと思うところはありませんでした。
0824名前は開発中のものです。
2009/08/08(土) 23:55:07ID:xyBM8L8Yゲームによる。
ゲーム中の計算時間単位をリフレッシュレート側の更新速度にあわせる方法。
リフレッシュレートは無視して固定FPSでやる方法(ティアリングは無視)
ゲーム計算処理は固定FPS、表示だけリフレッシュレート依存。
とかとか・・・
0825名前は開発中のものです。
2009/08/08(土) 23:59:03ID:Lca3wy1Vこれ面倒なんだよね。
0826名前は開発中のものです。
2009/08/09(日) 00:00:17ID:xyBM8L8Yすいません。何か人工無能と会話してるみたいであなたと話が通じる気がしません・・・
0827名前は開発中のものです。
2009/08/09(日) 00:17:45ID:4TaFdjmkありがとうございます。
改めてひとつずつ見てみることにします。
0828名前は開発中のものです。
2009/08/09(日) 00:20:01ID:4TaFdjmk> さて、話は前後しますが「処理」の部分を状態によって切り替える手法についてです。
> 最も単純な方法はおそらく、状態に番号をつけてif文やswitch〜case文で切り替える方法でしょう。
...
> そこで、タスクという手法が登場します。
このページで「タスク」の存在意義を示しているのはこの部分のようです。
しかし、これは仮想関数によって解決される問題だと思います。
むしろ仮想関数のほうが言語のサポートによって型安全に書きやすい分、
適切だと思います。
これだけのことのために以下のような注意事項に悩まされてしまうのでは、
まったく割に合わないと思います。
http://homepage3.nifty.com/moha/prog_attention.html
0829名前は開発中のものです。
2009/08/09(日) 00:23:59ID:4TaFdjmk> タスクシステムを採用すると、以下のメリットが得られます。
>
> * CPUの負荷を減らすことができる
> * メモリの使用量を節約することができる
> * ゲームを開発するのに適したシステムで開発できる
>
> デメリットとしては、
> 現代的なプログラムに比べると、分かりにくい部分があります。
>
> ジャンプ処理や、関数ポインタを使用するので、
> 泥臭いコードになりがちです。
メリット・デメリットがちゃんとまとめられていて助かりますね。
CPU 負荷については、関数ポインタによる分岐が多発する分、最近の CPU では
逆に不利になることが考えられます。
メモリの使用量については、独立したメモリプールの仕組みを使えば、
挙げられているタスクシステムのデメリットは回避しながら望む結果が得られます。
「ゲームを開発するのに適したシステム」については、残念ながら何のことか
わかりませんでした。(誰か解説してもらえますか?)
最後のやつがわからないままではありますが、総じてデメリットのほうが
大きいように思います。
0830名前は開発中のものです。
2009/08/09(日) 00:25:49ID:ryu4L4qwここに出てる問題で
仮想関数を使って解決できるのはワークオーバーだけ、ということを理解できたら
だいぶタスクが理解できてる、と言える。
先走って半端な理解のまま結論出さずに、ちゃんと理解してから結論だしな。
0831名前は開発中のものです。
2009/08/09(日) 00:27:32ID:LPRNL5Jt0832名前は開発中のものです。
2009/08/09(日) 00:29:23ID:CFq+cfTI> * メモリの使用量を節約することができる
> * ゲームを開発するのに適したシステムで開発できる
マジでこれどうやって検証したんだろうか?
0833名前は開発中のものです。
2009/08/09(日) 00:36:03ID:ryu4L4qw> CPU 負荷については、関数ポインタによる分岐が多発する分、最近の CPU では
> 逆に不利になることが考えられます。
関数ポインタによる分岐と通常関数による分岐、仮想関数による分岐
CPU上でどんな動作をしているのかイメージできてるのかな・・・?
> メモリの使用量については、独立したメモリプールの仕組みを使えば、
> 挙げられているタスクシステムのデメリットは回避しながら望む結果が得られます。
メモリプールを使ってタスクと同じことができるタスクのデメリットが無いシステム
ってやつを君が作ることが出来れば、誰もタスクシステムなんて使わなくなると思うよ。
タスクシステムなんて使ってゲーム作ってる現役ゲームプログラマの馬鹿どもに作ってみせてやりなよ。
君の素晴らしいシステムをww
0834名前は開発中のものです。
2009/08/09(日) 00:41:10ID:LPRNL5Jtいないから。
0835名前は開発中のものです。
2009/08/09(日) 00:43:03ID:ryu4L4qw仮想関数もタスクシステムも都市伝説、君か。
久しぶりにアンチらしいアンチが出没したな。
0836名前は開発中のものです。
2009/08/09(日) 00:47:59ID:4TaFdjmk> タスクシステムとは、これら複数のタスクを管理する仕組みであり、現在でも
> プロの現場で用いられています。長所は次の通りです。
>
> * ジャンルを問わず様々なゲームに適用できる
> * 並列処理をうまい具合に実現できる
> * ゲームの流れを自然な形で表現できる
> * 大規模なゲームも開発できる
> * タスクごとに独立しているため、複数人で開発できる
>
> 一方の短所は、タスクシステムの歴史が古いことに起因する、高すぎる自由度です。
> さまざまな実装方法があり、またオブジェクト指向が一般的ではなかった時代の
> 手法なためか、スパゲティプログラムや、データの隠蔽化が不十分なプログラムと
> なっている例も見かけます。
いちおう長所・短所をまとめて書いてくれてはいますが、どれもあまり
具体的ではなく、はっきりしません。
しょうがないので2ページ目まで見られる記事本文を読みすすめて見ました。
0837名前は開発中のものです。
2009/08/09(日) 00:49:09ID:4TaFdjmk> このようにタスクの削除にメモリ領域の解放を伴わないことによって自滅も
> 可能となり、プログラムの見通しが良くなる、という利点があります。
delete this できることが最初にあげた「ゲームの流れを自然な形で表現できる」
などの根拠になっているようですが、ここでタスクシステムとして紹介されて
いるような仕組みが無くとも delete this は可能です。
http://codezine.jp/article/detail/297?p=2
operator new/delete の独自定義も行っているのですが、本来メモリ割り当てと
解放しか行わないはずのこれらの処理の中でコンストラクタ・デストラクタ
相当の動作をしており、 C++ のオブジェクトモデルから外れてしまっています。
なにやら「デフラグ」という見慣れない機能があったのですが、実装を見ると
memmove() しています。これでは派生クラスのメンバには POD しか持てません。
どうも、この筆者は C++ に対する理解が不十分なようです。
おそらく std::list<Task> とでもすれば済みそうな仕組みを、標準ライブラリを
知らなかったがために一生懸命組み上げてしまった、その中で、自分が最近学んだ
珍しい機能を使ってみた、というものぐらいにしか見えません。
0838名前は開発中のものです。
2009/08/09(日) 01:11:47ID:ryu4L4qwその理解で言えば
A)タスクシステム使ったゲームは都市伝説で存在しない
B)タスクシステム使ったゲームを作るゲームプログラマは君よりレベルが低い馬鹿
C)タスクシステムの使いどころを理解できない君が馬鹿
のAかBになりそうだけど・・・
正解はどれだと思う?ww
0839名前は開発中のものです。
2009/08/09(日) 01:22:20ID:LPRNL5Jt本にはわからないだろうが。
0840名前は開発中のものです。
2009/08/09(日) 01:23:30ID:LPRNL5Jt0841名前は開発中のものです。
2009/08/09(日) 01:31:04ID:4TaFdjmk> タスクとは、いったい何なのでしょう?辞書や用語辞典を引いても、何の手助けにもなりません。
> タスクを一言で説明すると、
>
> ・実行アドレスを含む汎用ワークの連結リスト
>
> となるでしょうか。
仮想関数、標準コンテナの組み合わせで実現するのがよさそうです。
> 冒頭でも述べたように、タスクとは非常に原始的な処理です。
> 非常に少ない(数キロ〜数十キロバイトの)ワークエリアと、
> 至って非力な(数メガヘルツの)CPUパワーを有効活用する為のテクニック、
> それがタスク処理なのです。
そういうことなのでしょう。
関数を切り替えることで状態を切り替えるという手法は今でも適切に応用できる
場面があると思います。しかし、それを実現するためにシステムとして提供する
ところはありません。
0842名前は開発中のものです。
2009/08/09(日) 01:42:54ID:LPRNL5Jt何で実現してもタスクシステムはタスクシステムだろうに。
0843名前は開発中のものです。
2009/08/09(日) 01:52:03ID:4TaFdjmk過去のものであると思いました。いずれも古い記事だということからも、そのように
考えられます。
このような仕組みを現在でも新規で採用するようなことがあるとすれば、これらの
記事に挙げられているようなメリットを自分の対象環境で検証していないとか、
デメリットを無視しているだとか、あるいは C++ による標準的な手法を知らないだとか、
何かしら見落としがあるのではないかと思います。
一連の書き込みについて、「そこは間違っている」だとかいうことがあれば、
具体的にどこが間違っていて、正しくはこうである、というような指摘をもらえると
助かります。
0844名前は開発中のものです。
2009/08/09(日) 01:56:32ID:LPRNL5Jt↑詳しく
■ このスレッドは過去ログ倉庫に格納されています