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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/05/07(木) 13:33:06ID:u3YZJr5E
タスクシステムについての議論、相談、質問、雑談などのスレです

part6 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」と明示してください
 そうでない場合はカスタム版であることを明示してください

・人を憎んで言語を憎まず
0002名前は開発中のものです。2009/05/07(木) 13:33:50ID:u3YZJr5E
古典タスクシステム(このスレでは「>>2」と呼ぶ)

White 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/05/07(木) 14:00:58ID:rSi7ogJX
俺のタスクシステムが一番かっこいい
0004名前は開発中のものです。2009/05/07(木) 19:31:38ID:eriFOqGu
タスクトステム
0005名前は開発中のものです。2009/05/08(金) 11:34:29ID:UEUwFvH2
テンプレ追加

タスクシステムのご先祖の「ジョブコン」は
http://game.2ch.net/gamedev/kako/1006/10061/1006184421.html の 810
0006名前は開発中のものです。2009/05/08(金) 14:52:48ID:i5oUaAQU
shi3zはビッグマウスの勘違い野郎、これも追加しといて。
0007名前は開発中のものです。2009/05/08(金) 15:00:48ID:S+eU4iER
人の話はどうでもいいからスレ違いってことで遠慮願いたい。
0008名前は開発中のものです。2009/05/09(土) 00:04:14ID:Ysovml9m
前スレで決着ついたのに
まだスレ立てる必要があるのか?
0009名前は開発中のものです。2009/05/09(土) 01:15:15ID:ObKhMfp9
タスクシステム=洗濯機だっけ
0010名前は開発中のものです。2009/05/09(土) 04:53:34ID:i53RZqEI
>>8
どう決着がついたのか、ここらへんでまとめてもらえないでしょうか。

そして、決着がついたかどうかと、このスレの存在意義とはあまり関係が
ありません。元々このスレは、初代スレからここまで続いた壮大なループを
隔離する目的で作られているからです。同様のループは今後も発生しうる
ものと思われます。
0011名前は開発中のものです。2009/05/09(土) 09:42:28ID:xVHTVL01
ずいぶん静かになったが…
HSP房とか引数房みたいなタスクアンチたちはみんな玉砕したのかな?
0012名前は開発中のものです。2009/05/11(月) 04:57:21ID:7M8elryx
つまんねースレになっちまったな。
まぁいまどきゲーム製作自体はやらないからな。
0013名前は開発中のものです。2009/05/11(月) 15:55:44ID:i1s8pO/n
ゲーム製作なんて昔からはやってないよ。
0014名前は開発中のものです。2009/05/12(火) 22:03:48ID:3xmeTPmU
        ∧∧  ミ _ ドスッ
        (   ,,)┌─┴┴─┐
       /   つ.  終  了 │
     〜′ /´ └─┬┬─┘
      ∪ ∪      ││ _ε3
               ゛゛'゛'゛
0015名前は開発中のものです。2009/05/13(水) 12:57:31ID:OSwRsFpo
再開
0016名前は開発中のものです。2009/05/13(水) 23:06:42ID:eSfv8T8b
規制解除記念真紀子。

EntityとかActorとかはどうなんだよ?
0017名前は開発中のものです。2009/05/14(木) 00:19:09ID:9miFMzor
>>16
タスクと同様、その言葉単体では抽象的過ぎて意味がわからない。
ただし、適切なスコープにおかれ、明確な意味付け(定義)が行われているのなら
なんら問題ない。
0018名前は開発中のものです。2009/05/14(木) 04:01:00ID:AgNSo6oA
>>16
また君か
0019名前は開発中のものです。2009/05/14(木) 16:20:54ID:GsC1Amp0
Taskよりははるかに具体的だろ。
自機だの敵だの敵弾だのの親に、よりによって「仕事」などという名前をつけるネーミングセンスは俺には容認できん。

継承の原則(Is-a関係)を適用してみろ。

自機は仕事か?
敵は仕事か?
敵弾は仕事か?
タスク厨はアホか?

きれいなソースコードを書くために必要な、たったひとつの単純な事
ttp://d.hatena.ne.jp/r-west/20090510/1241962864

こんなエントリも話題になってるよね。
0020名前は開発中のものです。2009/05/14(木) 16:26:11ID:yd6XsBXJ
自機の仕事
敵の仕事
敵弾の仕事
アンチタスクはアホか?
0021名前は開発中のものです。2009/05/14(木) 17:41:19ID:iSEQQU8O
>>19
OSでもTaskやらJobやら言うよね…
0022名前は開発中のものです。2009/05/14(木) 18:30:42ID:axpESDb4
>>19
まさか君は、preemptive multitaskingを「先買権のある複数の仕事」とでも訳すのかね?
0023名前は開発中のものです。2009/05/14(木) 19:20:38ID:JyaL4Q7m
視点が違うだけじゃん。
個々の登場物に注目すればActorやらEntity
それらを動かす主体に注目すればTaskやJob
タスク厨から見ればアンチタスク厨はアホ
アンチタスク厨から見ればタスク厨はアホ
どちらでもない立場から見ればどっちもアホ
0024名前は開発中のものです。2009/05/14(木) 19:50:28ID:JjeHGmVG
ベース型を継承して、自機型や弾型、敵型を作る。
それらの型のインスタンスを入れる用の配列を用意する。
(ダブルバッファ用に配列は2つある)
前のフレームの配列を参照して、次のフレームの配列を作る。
以後繰り返し。

なんかこれでフレーム管理は出来そうだけど、
タスクシステムを自前で用意する利点って何がある?
0025名前は開発中のものです。2009/05/14(木) 19:56:36ID:/afFd23Q
>>24
それに名前を付けたらタスクシステムに変化できる
それだけ
0026名前は開発中のものです。2009/05/14(木) 20:08:23ID:yd6XsBXJ
ダブルバッファだからタスクを2重とかそりゃないだろ。
0027名前は開発中のものです。2009/05/14(木) 20:26:50ID:pfIhyig7
つーか、ダブルバッファにする理由はナニ?
座標だけ持って、タスクの中で当たり判定させようとか考えてる?
0028名前は開発中のものです。2009/05/14(木) 20:46:18ID:AgNSo6oA
TaskだのEntityだのActorだの
お名前をどれにしようかとか悩んでる子は
形から入りたがるかっこつけ屋さんだと思う
看板に拘ってるだけで中身はCodeZineのアレ状態
0029名前は開発中のものです。2009/05/14(木) 21:27:25ID:AgNSo6oA
>>27
おそらく>>24が叩いてるタスクシステムというのは
人材の層が著しく薄ーい底辺の現場、あるいはネット上に
ゴロゴロ転がってるタスクシステムとか名乗る代物のことだろ

TASK=OBJというような恒等式が成立しちゃってるやつ
あるいは、そう誤解してるような、そう誤解させるような解説
0030名前は開発中のものです。2009/05/14(木) 21:32:38ID:AgNSo6oA
>TASK=OBJ

あるいは
TASK=キャラクタ
TASK=エンティティ
TASK=アクター
かな

「ベース型を継承して、自機型や弾型、敵型を作る。」と言ってるから
間違いないだろう。つまり>>20のそれとは違うということ
0031名前は開発中のものです。2009/05/15(金) 22:15:07ID:FD/WqZDd
>29
"one fits all"で全て済ましてしまう、自分で物事を発想できず、問題に対する答えは必ず
一つしかないとか考える、ゆとりや無能がよくやる考え方だよねw
0032名前は開発中のものです。2009/05/15(金) 23:02:39ID:xS0GqPJn
>>31日本語でOK
0033名前は開発中のものです。2009/05/16(土) 11:40:30ID:lblGiZS8
高校までの問題は、全部事前に答えが分かってることばかりだからな。
大学からは自分で答えを見つけるのが本質で、しかもその答え自身が幾つもある場合が殆ど。

高等教育を受けていないゆとりや無能は、一つの例示だけで全てを知った気になってしまう。
0034名前は開発中のものです。2009/05/16(土) 12:14:11ID:/Jjp6J5e
そんなことどうでもいいし、スレ違い
0035名前は開発中のものです。2009/05/16(土) 13:16:28ID:GIt6aCgZ
>>31>>33
おっとタスク信者に対する悪口はそこまでだ
0036名前は開発中のものです。2009/05/16(土) 16:38:07ID:Ye8YDhzs
OBJと聞くとなぜかスプライトみたいな機能を連想してしまう俺みたいな底辺は死ぬべき
0037名前は開発中のものです。2009/05/16(土) 17:59:14ID:eN0HdQIg
生きろ
0038名前は開発中のものです。2009/05/16(土) 20:29:50ID:GIt6aCgZ
>>36
その連想でいいと思う俺の立場がなくなるから死なれては困るよ
0039名前は開発中のものです。2009/05/22(金) 22:55:21ID:B12kKzig
一週間の間に1レスもナシか…。
0040名前は開発中のものです。2009/05/27(水) 00:48:30ID:ovIWo001
究極のタスクシステムが、
特定の型を高速に列挙する仕組み+列挙したインスタンスをMPI風に並列処理する仕組み
ってバレちまったからな。
過疎るのも無理はない。後は作るだけだ。
0041名前は開発中のものです。2009/05/28(木) 00:31:12ID:3oeANEos
規制解除記念真紀子。

8bitアセンブラで組み込みやった時は、もうモロに>5のジョブコンと同等のものを
作って使ってたな。

もうA/B/H/Lなんて見たくもない。
0042名前は開発中のものです。2009/05/28(木) 17:10:50ID:8CUTCJp/
ここにもあるなあ。
http://d.hatena.ne.jp/naoya2k/20081201/p1

>今だったら要らないよなあ、あるいは、それを大げさにシステムと呼ぶほどのものなのか? と思ってしまう。
そりゃそうだろ。
タスクシステムという名前は大げさだが、開発規模とか使える言語が違うんだし
当時の呼称をどうこう語るのはあほ。

むしろ今でも使ってるこっちを叩け
http://codezine.jp/article/detail/297

しかしこれって今だとクラスをならべてるような物か

>>41
レジスタナツカシス
0043名前は開発中のものです。2009/05/28(木) 21:47:55ID:3oeANEos
>42
16bit*8bitの乗算とか、24bit/8bitの除算とか、もう二度と書きたくないw

それでも、アセンブラでシコシコ書いたものが実際に製品に載って5万とか10万とか出荷されるのを
見た時は、何故か胸が熱くなった。
0044名前は開発中のものです。2009/05/29(金) 11:26:50ID:lq0F0yzO
>アセンブラでシコシコ
この淫乱め!!
0045名前は開発中のものです。2009/05/30(土) 03:27:48ID:Y7JD9qo8
.NET4.0のParallel Extensionsが気になる
0046名前は開発中のものです。2009/05/30(土) 13:26:08ID:g46o/7bj
デジタルコンテンツ制作の先端技術応用に関する調査研究報告書
 (http://www.dcaj.org/report/2008/data/dc_08_03.pdf)
の3.2.8と3.2.9にタスクシステムについて書いてある。
まだ読んでないんで内容については知らんが。
しばらくスレ見てなかったんで既出だったらスマン。
0047名前は開発中のものです。2009/05/30(土) 13:40:14ID:+T4OKIy/
>>46
よく見つけてきたな。これを見るといかにやねうらお氏の功績が大きいかよくわかるな。
0048名前は開発中のものです。2009/05/30(土) 14:17:48ID:bZGd5ns7
>>46
これ139ページあたりからのスプライトとか背景の説明がナムコの人が書いた本そのままだな
引用か
0049名前は開発中のものです。2009/05/30(土) 14:20:47ID:g46o/7bj
あと4.10のインタビューでジョブコンとタスクシステムについても触れられてるようだ。
0050名前は開発中のものです。2009/05/30(土) 14:41:58ID:eESwx8h2
これに上げられてる例って既出の物ばかりだな
タスクシステム肯定の為のマッチポンプじゃね?
0051名前は開発中のものです。2009/05/30(土) 14:43:34ID:pX3EDf5z
>>48
MSXとかの当時のマニュアルにも似たような説明あったね。

というかPC98で組んでたときはマジでスプライトうらやましかった。
後期のEGCとかで4プレーン同時操作とかあったけど古いマシンも想定すると
CPUでシコシコマスクパターンでくり貫いてはキャラクター重ね合わせて
また次の絵を作る際には背景の書き換わった箇所を元の背景で埋めてとかもうね・・・
0052名前は開発中のものです。2009/05/30(土) 14:45:54ID:eESwx8h2
>>51
似たような説明というか、俺が持ってる本とマジそのままの文章と図を使ってるよ
コピペか
0053名前は開発中のものです。2009/05/30(土) 14:46:24ID:pX3EDf5z
>>50
まあ語源を知る意味では面白い読み物だけど
タスクじゃないなあと思うよ。
座標を持ったオブジェクトに対する処理だけどスレッドでもないと思ってる。
特に現在の開発規模だとね。

まあ昔だとアセンブラでシコシコ書いてるからなんとなくそういう
名称をつけたいというのもわからないでもない。

現に昔のゲームは何かしら機能を有したらxxシステムってつけてたし。
マイクロキャビンもVRシステムだっけかな?
当り判定だか何かでそんな名称使ってなかったっけ?
0054名前は開発中のものです。2009/05/30(土) 14:47:21ID:eESwx8h2
俺が持ってる本ではナムコのゲームの歴史とか技術の推移が書いてあった
メモリに入りきらない鉄拳3のモーションデータの圧縮とか興味深い内容だった
薄くて小さい本だったけどな
0055名前は開発中のものです。2009/05/30(土) 14:48:31ID:eESwx8h2
カプコンのMT Frameworkをタスク一派に加えようという意図はいかがなものか
0056名前は開発中のものです。2009/05/30(土) 15:05:14ID:pX3EDf5z
>>55
適当な物作って発表した物勝ちかも。
0057名前は開発中のものです。2009/05/30(土) 15:18:19ID:V7KlnfEi
それでタスクシステムは、
マルチスレッディングと何が違うの?
スレッドにないゲーム向きの利点が1つでもあれば
学んでみようと思うが、、
0058名前は開発中のものです。2009/05/30(土) 15:23:57ID:pX3EDf5z
>>57
タスクシステムって今でいうキューと同等でしょ。
ただOSが搭載してるような感じでCPU資源をタイムスライスしない感じ

0059名前は開発中のものです。2009/05/30(土) 15:35:36ID:pX3EDf5z
ただよく使われるキューと違うのがキューは処理されたら破棄されるけど
ゲームの場合は条件がそろうまでは残る感じだけどね。
0060名前は開発中のものです。2009/05/30(土) 15:46:46ID:LtA+a8Td
スレッドが右ストレートだとするとタスクシステムはジャブじゃね?

>>46の黒須さんのインタビューの最後の3DOの話が面白いな
安いARM使っといて高すぎとかw
0061名前は開発中のものです。2009/05/30(土) 18:26:14ID:MNk0zgsO
>>54
岩波科学ライブラリーの『コンピュータゲームのテクノロジー』かな?
0062名前は開発中のものです。2009/05/30(土) 18:27:45ID:MNk0zgsO
あれはパソコンの経験しかないプログラマが、アーケードとかコンシューマ機の
雰囲気を知るのにいいかもしれないと思った。
0063名前は開発中のものです。2009/05/30(土) 18:30:00ID:LtA+a8Td
>>61
たぶんそんなの
0064名前は開発中のものです。2009/06/02(火) 00:49:48ID:KT0MllWw
>>46
おお、いい資料だ。なんだこれ

あれはタスクだとかタスクじゃないとか意見が割れてたジョブコンも掘り下げてるし
マイクロスレッド、コルーチンも項目に含んでるし
なぜかMTフレームワークにも触れてるし
このスレの迷走の歴史を綺麗にまとめた感じだなw

著者はまとめおつ
0065名前は開発中のものです。2009/06/02(火) 02:57:16ID:XrA3M1Ml
このスレについて触らていることを触れないのは大したことじゃないからか
0066名前は開発中のものです。2009/06/02(火) 06:28:25ID:FxuF2Vlv
>>46
勝手にそれらしく欠点なさそうに書いてるけど
こいつらのいうメリットなんてメリットじゃないんだよね
相変わらずプログラムのぷの字も知らないような程度のレベルなんだね

やねうらおまわりの人間って言語に機能を付けたがってそれが進化だと思ってる人間ばっかりなんだよね
プログラム言語ってのはね
昔っから制限をつけることで発展してきたもんだってことが欠片もわかってねぇ
だからタスクシステム使って引数なくして、グローバル変数使って呼び出し側を固定できた程度で
それが使いやすいとか錯覚を起こしてる
型を無くしてアクセスしやすいとかそれが使いやすい進化だと思ってる当たりめちゃくちゃ痛い
なんで昔の人が言語に型という制限をつけたのかこいつらわかってねぇし
それをとっぱらって喜んでる当たりに狂気を感じる

一番の欠点である
タスクごとに変更されたタイミングがわからないっていうことを欠点としてあげられないし
あげてないあたりおそらくそんなことまったくわかってないんだろうな
0067名前は開発中のものです。2009/06/02(火) 10:06:01ID:mII3x4nC
> プログラム言語ってのはね
> 昔っから制限をつけることで発展してきた

初耳
0068名前は開発中のものです。2009/06/02(火) 10:38:22ID:obMSDH3V
>>66
> タスクごとに変更されたタイミングがわからないっていうことを欠点としてあげられないし

何が変更されるのか日本語すらまともに書けないとは、ただの池沼か
0069名前は開発中のものです。2009/06/02(火) 12:45:34ID:51Ex5u0q
引数がないから変数が更新されてもわからないな
グローバル変数の弊害だな
スマートポインタで死ぬことは回避できてもバグ自体は消えないな
0070名前は開発中のものです。2009/06/02(火) 12:48:47ID:GQKXoO/h
>>67
例えば、C言語の構造体に
privateやprotectedのような
アクセス修飾子は無いだろ。
これは制限が付与されてると言えるだろ。
0071名前は開発中のものです。2009/06/02(火) 12:48:58ID:51Ex5u0q
そもそも、やねうらおは複数人数で仕事した経験無いか少ない
もしくはイエスマンばっかとしか関わりないくせにこんなことわかるの?
0072名前は開発中のものです。2009/06/02(火) 12:49:38ID:obMSDH3V
>>69
知障の引数君はもう来なくていいよ。
0073名前は開発中のものです。2009/06/02(火) 12:50:41ID:obMSDH3V
>>71
そんなこと本人に聞けよ。まあ、お前みたいなゴミクズ、相手にもされないだろうがな。
0074名前は開発中のものです。2009/06/02(火) 12:57:43ID:UsoIMUpe
>>70
制限というより安全装置をつけただけで実際のところpublic指定すれば
どうにでもなってしまうけどね。
cだってexternをさせないように組めばいいだけだし
0075名前は開発中のものです。2009/06/02(火) 13:10:30ID:kJ5LDT9H
>>74
制限によって出来る出来ないじゃなく
制限を付与する方向で、進化(と言えるかわからないが)
してると言いたいんだろ。
0076名前は開発中のものです。2009/06/02(火) 14:38:03ID:mII3x4nC
アクセス制限を、言語の発展と見るのは珍しい見方だね。
論理的には記述力は変わらないし。
0077名前は開発中のものです。2009/06/02(火) 16:48:33ID:TQKY5HXT
限られたリソースでカリカリのプログラム書くために制限があるだけじゃねーの?
コンパイラが最適化しやすいようにさ
0078名前は開発中のものです。2009/06/02(火) 17:53:02ID:51Ex5u0q
ぶっちゃけ型なんてなけりゃ
先頭アドレスとサイズだけで楽だけどね
0079名前は開発中のものです。2009/06/02(火) 18:10:00ID:UsoIMUpe
Z80あたりかx86のようなタイプのCPUなら型はどうでもいいんだろうけど
効率やアライメントの関係上型は無いとだめでしょ。
0080名前は開発中のものです。2009/06/02(火) 18:25:30ID:kJ5LDT9H
あんたら
古いタイプの人間だな
0081名前は開発中のものです。2009/06/02(火) 18:33:12ID:amsN8lJ2
>>79
最近のx86もアライメント意識しないと非効率ですよ。

>>80
で、何か新しいことでも提案できるのかい?
0082名前は開発中のものです。2009/06/02(火) 19:02:24ID:mII3x4nC
型によるプログラムの安全性の理論はあるけどね。
ぶっちゃけキャストし放題な言語でキャストしまくったら安全もなにもないわけだけど。
0083名前は開発中のものです。2009/06/02(火) 21:02:53ID:FxuF2Vlv
まあ、型云々の話もいいけど
まず、引数通すようなプログラム組むのかね?w
どうせグローバルインスタンスホルダーから引っ張ってきて
強引にキャストしちゃうウンコ実装じゃないの?(笑)
0084名前は開発中のものです。2009/06/02(火) 21:23:12ID:yiyqdG2T
面白くてお金払いたいゲームならどんな実装でもいいよ
ぶっちゃけタスクを使ってないだろう今のゲームに、金だしてまでやりたいような魅力的なゲームがあるのかね
0085名前は開発中のものです。2009/06/02(火) 22:04:19ID:RrEdL8bm
>66
> 一番の欠点である
> タスクごとに変更されたタイミングがわからないっていうことを欠点としてあげられないし
> あげてないあたりおそらくそんなことまったくわかってないんだろうな

あぁ、タスク処理の中で当たり判定もやっちゃう、アタマの中身が残念な子か。
前スレに居た、あたり判定も碌に出来ない困ったチャンかな?

処理順に依存するようなことをタスクの中でやっちゃうオバカさんには、まぁナニが楽かは
理解は出来ないだろうね。
■ このスレッドは過去ログ倉庫に格納されています