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

・人を憎んで言語を憎まず
0285名前は開発中のものです。2009/06/11(木) 23:55:23ID:3+5xLdPK
>282
8bit組み込みやったときは、便利なツールなんて無かったなぁ。
コマンドラインのアセンブラとリンカ、試作機のシリアルから出るデバッグ出力とそれを受ける
ターミナルソフトくらいで。

最後3バイトくらいROMに収まらなくて、色々改善した結果7バイト余った。
0286名前は開発中のものです。2009/06/11(木) 23:57:03ID:Bcb3dkoa
>>283
なんか話がすれ違ってるような気がするな
俺の発言はどう解釈されてるんだ?
0287名前は開発中のものです。2009/06/12(金) 00:02:27ID:Bcb3dkoa
>>286訂正
×>>283
>>284

>>285
制約が厳しいとそうだね
0288名前は開発中のものです。2009/06/12(金) 00:10:20ID:8nIEG2Zd
>ちゃんと引数通せばステータスが引数に自然に組み込まれるから
でも関数の向こうで勝手にステータスを書き換えられることには変わりないんだろ。


引数で渡す渡さないじゃなくて、適当なところでカプセル化されていることが大事なんだ。
例えばクラス単位でとかな。
0289名前は開発中のものです。2009/06/12(金) 00:14:20ID:hQ0NzKSX
>>282
16bit組み込みやったことあるけどツールってHEWくらいしか知らない
CASEツールなんて使ったこと無いな

ところでICEって商品名じゃなかったのね。今ぐぐって気がついた
0290名前は開発中のものです。2009/06/12(金) 00:14:48ID:8nIEG2Zd
大体、ステータスなんてものは、オブジェクトの内部で存在しているものなのに、
何でそれを外から引数で渡そうという発想が出てくるんだ?
0291名前は開発中のものです。2009/06/12(金) 00:16:18ID:cLwjJz3x
>>288
>でも関数の向こうで勝手にステータスを書き換えられることには変わりないんだろ。
は?C言語知らないの?
引数で渡してればその関数から出てきたときに変更されたかどうかわかるじゃん
引数なしだと変更したのかどうなのか?すら不明

これ以上堅いもんはないよ
クラスにするとメンバ変数がグローバル変数のように振舞う
引数とおさないからクラスがでかくなるとシボン
0292名前は開発中のものです。2009/06/12(金) 00:18:35ID:3W6rtsNK
>>290
完全に内部で終わらないでしょ

どうやってほかのタスク(笑)と衝突判定とかするんだよとね・・・

それに古いタスクシステムの仕様からすると監視者がいない感じがするけど
(うまくいえないがみんな平等?)
理想は監視する何かがいても問題ないはずだよね?

監視者をつけると当然引数有りもでてくると思うんだが・・・
そりゃグローバル変数でやりとりすればそんなのは関係ないんだろうけど
0293名前は開発中のものです。2009/06/12(金) 00:26:17ID:8nIEG2Zd
もう何言ってるのかワケワカメ。

>は?C言語知らないの?
>引数で渡してればその関数から出てきたときに変更されたかどうかわかるじゃん

でも結局、どんな値に書き換えられたかまでは分からないわけで。

一体、
hoge_update( &hoge );
の何に問題がある?
なぜ呼び出し元がhogeの何が更新されたかまで一々知る必要があるんだ?
知って何になる?

>完全に内部で終わらないでしょ
>どうやってほかのタスク(笑)と衝突判定とかするんだよとね・・・

それは呼び出し元でやればよいだろ。
0294名前は開発中のものです。2009/06/12(金) 00:29:52ID:cLwjJz3x
>>293
>でも結局、どんな値に書き換えられたかまでは分からないわけで。
わかるだろw
関数出たら引数の値たしかめりゃいいんだよ
ホントにC言語わからないんだw

まず、君途中参加なら
>>144,160読んでよ
0295名前は開発中のものです。2009/06/12(金) 00:36:20ID:NWD6EC3U
>>289
条件を選ぶがZIPC等が使えるケースは少しずつ増えてる
試すような書き方をしてすまなかった
0296名前は開発中のものです。2009/06/12(金) 00:36:56ID:8nIEG2Zd
>>294
呼び出し元で一々引数の値が変更されたかどうかチェックするコード挟むのか?
変更されたかどうかで分岐するわけ?何のための分岐?それ本当に呼び出し元の仕事?
根本的に変じゃね?
0297名前は開発中のものです。2009/06/12(金) 00:42:31ID:QkuvKUSr
>>296
っ デバッガ
0298名前は開発中のものです。2009/06/12(金) 00:45:32ID:8nIEG2Zd
そもそも、
hoge_update( &hoge );
としたときは、呼び出し元は、hogeのすべてのメンバが変更されうることを前提とするわけだが、
それで何の問題がある?
逆に、特定のメンバの 変更される/されない が分かったところで、それが一体なんの役に立つ?

int x = hoge.x;
hoge_update( &hoge.y );
/* hoge_updateではhoge.xは更新されないからローカル変数xの値はまだ有効だぜイェーイ */
int x_plus_y = x + hoge.y;

ってことなのか?
単に int x_plus_y = hoge.x + hoge.y; ではダメなのか?
0299名前は開発中のものです。2009/06/12(金) 01:04:59ID:8nIEG2Zd
構造体のメンバをばらして関数に渡すと、コンパイラの型チェックの機能が死ぬし、
そもそも、そんなやり方なら、はじめから構造体なんて必要無いようにも思えてくるし、
C言語以前のやり方に戻って一体なにがしたいんだ?
0300名前は開発中のものです。2009/06/12(金) 01:15:35ID:8nIEG2Zd
>後は、引数を通してはいるけど型を誤魔化してるってのもやらないほうがいいぞ

お前、こんなこと書いてるけど、構造体のメンバをばらして関数に渡すと、
型が誤魔化されることになるわけだが。
0301名前は開発中のものです。2009/06/12(金) 07:13:53ID:cLwjJz3x
>>300
その関数に必要なもの以外を入れてるようなのはダメってことなんだ
0302名前は開発中のものです。2009/06/12(金) 07:25:13ID:c4jtDsJq
副作用がないなら
C++の場合はconstメンバ関数とconstポインタで
どっちの需要も満たせるんだがな

Javascriptなんかだとどっちも悪夢見るね







とにかく
おまえらF#やろうぜ
快適すぐる
0303名前は開発中のものです。2009/06/12(金) 07:26:14ID:qzKgmvYn
引数にグローバルインスタンスホルダーをまるごといれようとしてるおまえらの手法は完全否定だから安心しろよ
0304名前は開発中のものです。2009/06/12(金) 16:25:41ID:XSpCB4+c
組み込みOSの「タスク」は、きちんとコンテキストを保存するので、
>>2 のような「タスクシステム」のなんちゃってタスクとは違うんだが、
>>275 はいったいどんなシステムのことを言ってるんだ?

まさか、なんちゃってタスクで組まれてる組み込みシステムがあるのか?
0305名前は開発中のものです。2009/06/12(金) 22:45:12ID:8nIEG2Zd
システムヒープや標準出力もグローバルな扱いなのだが。
0306名前は開発中のものです。2009/06/12(金) 22:53:19ID:xOtjZV21
>304
スタック使うも使わないも、自由だろ。
使うまでもないタスクだって存在する。

コンテキスト保存とFSMに直接の関連性は無いだろ。
コンテキスト保存しつつFSM的に動かすことだってある。
0307名前は開発中のものです。2009/06/12(金) 23:00:38ID:W3Ji85Th
CPUから見たすべてのリソースはグローバル
0308名前は開発中のものです。2009/06/12(金) 23:21:48ID:cLwjJz3x
なんでCPUから見る必要あるの?
0309名前は開発中のものです。2009/06/13(土) 00:02:35ID:cMAB2rRA
恋してるから・・・かな
0310名前は開発中のものです。2009/06/13(土) 00:38:49ID:YB/SHJYP
でもcpuにはピンがあるから男だぜ
0311名前は開発中のものです。2009/06/13(土) 00:41:05ID:xGf2aCcg
>>310
LGA775からはどうなるんだろ?
0312名前は開発中のものです。2009/06/13(土) 00:58:41ID:YB/SHJYP
ちっ
にわか知識はつかえねーな
0313名前は開発中のものです。2009/06/13(土) 01:37:57ID:t+uvkswL
>>278
エターナルフォースブリザード引数ですね
わかります
0314名前は開発中のものです。2009/06/15(月) 21:06:22ID:qMg8Ayhc
引数君が来ないとのびない
0315名前は開発中のものです。2009/06/16(火) 01:50:27ID:6zGfCkG0
じゃあみんなで引数書いていこうぜ!

x,
0316名前は開発中のものです。2009/06/18(木) 12:39:29ID:55DD2Wwq
PDFで総括されちゃったから話題ないよな
別に現在進行形でタスク使ってるわけでもないし
0317名前は開発中のものです。2009/06/18(木) 21:05:51ID:pH7Snlzn
そろそろ空気読んでやねうらおがブログに何か書くさ。
0318名前は開発中のものです。2009/06/19(金) 22:50:01ID:4EvXhWlm
コンパイラでも作ろうかな
0319名前は開発中のものです。2009/06/20(土) 17:51:50ID:R3Vt6fUE
>>307
バスから直接アクセスできるリソースってそんなに多くなくね?
0320名前は開発中のものです。2009/06/21(日) 03:14:31ID:BHmmCxOi
>>319
バスから直接に限らずハード的に固定された
デバイスはCPUからしたら全部グローバルなんじゃない?
0321名前は開発中のものです。2009/06/21(日) 05:16:35ID:7o/tu1n+
サウスブリッジから見たすべてのリソースはローカル
0322名前は開発中のものです。2009/06/21(日) 08:13:53ID:NppsH8rP
その視点で見ると何か意味あるの?
キチガイにしか見えないんだけど「〜からみた〜」云々
また、関係ないこと無理やり結びつけて無茶苦茶言おうとしてるでしょ?
似非技術者ども、30歳超えたらそういうの少しは自重しろ
0323名前は開発中のものです。2009/06/21(日) 13:17:42ID:vG+J5m09
ネットの向こうの人間に30歳とか全角で言う奴のほうがキチガイだわw
0324名前は開発中のものです。2009/06/21(日) 13:46:49ID:N9nR49hN
おれらからみたおまえら全員グローバル
ていうか、世の中殆どグローバル、経済もグローバル
グローバル否定派は不自然
0325名前は開発中のものです。2009/06/21(日) 13:50:09ID:vb/GsENJ
家の中ビルの中は総てローカルだろ。
ていうか、世の中殆どローカル、ローカル否定派は不自然
0326名前は開発中のものです。2009/06/21(日) 14:37:51ID:N9nR49hN
グローバルな3次元空間に属してる限りすべてグローバル
0327名前は開発中のものです。2009/06/21(日) 15:23:55ID:7o/tu1n+
ワールド座標しかなかったら神様も人類のボーン制御とか大変だろ
アインシュタインに訊いてみなよ
0328名前は開発中のものです。2009/06/21(日) 15:52:31ID:N9nR49hN
俺の右フックならお前の頭をローカル座標からグローバル座標に吹っ飛ばす事が可能
0329名前は開発中のものです。2009/06/21(日) 16:31:44ID:7o/tu1n+
じゃあ俺はでこぴんで可能
0330名前は開発中のものです。2009/06/21(日) 22:33:35ID:i9HN6tkr
でも俺からみたらおまえらって2ちゃんねるメソッドを通さないと
アクセスできないからローカルだよな?
0331名前は開発中のものです。2009/06/21(日) 22:57:34ID:rzxaVfj7
>327
神の万能性を否定するのか。
まぁ、所詮人間の想像力なんてそんなもんだよな。
0332名前は開発中のものです。2009/06/21(日) 23:48:10ID:NppsH8rP
レベル低いな
今いる奴等
0333名前は開発中のものです。2009/06/25(木) 00:22:55ID:uuGo51xV
裏に隠れてやるほど罪は重くなるんだぞ。
ロリのエロ本屋ビデオ、持ってたりしても、だいたいが注意と消去で終わるが。
それを闇で売ってたら警察の摘発にあい捕まる。よくニュースで出てるだろ。
わからないだろうとやっている行為が、故意の犯罪とみなされるんだよ。
0334名前は開発中のものです。2009/06/25(木) 16:06:20ID:rFa3xUwP
しかしオナニーは公開するほど罪が重くなる
0335名前は開発中のものです。2009/06/25(木) 16:09:20ID:uuGo51xV
>>333
うげ、誤爆ってる
0336名前は開発中のものです。2009/06/25(木) 20:16:06ID:1oB2XZb5
なんか最近スレが下がりすぎジャネ?
0337名前は開発中のものです。2009/06/25(木) 20:58:20ID:WXHVJ6cW
>>46
時間が出来たので改めて読んだが、このDCAJの調査報告書の中でも

・タスクシステム技術詳細編
・タスクシステム技術遷移編

↑の2つの記事はもう少し何とかならなかったのか
まぁ他の記事に関わってる猛者共と比較するのは酷な話なのだが

それぞれ出典について正直に書いてるのは評価できるが
やねうらお氏や松浦健一郎氏の書籍、LogicianLordなどのWEBページ。etc
いずれも出典不明の都市伝説レベルの文献だろ。これを根拠に調査報告とかねーよ

DCAJの調査報告書で引用されたという実績はソースロンダリングに利用されるぞ
0338名前は開発中のものです。2009/06/25(木) 21:59:22ID:EgzFmPqH
ギャハハハハw
0339名前は開発中のものです。2009/06/26(金) 11:29:37ID:0fAuhUPR
一応は書籍としてまとまったものまで都市伝説扱いかw

その理屈ならほとんど全ての学説を都市伝説にできるな。
0340名前は開発中のものです。2009/06/26(金) 12:46:59ID:8HViJAqu
まあ、出典を明らかにすればそういうのも明らかになるしいいんじゃない(笑)
0341名前は開発中のものです。2009/06/26(金) 13:07:46ID:msdzHc9L
本に書かれたからって
それがあってるかどうかは別の話になるが
0342名前は開発中のものです。2009/06/26(金) 13:55:51ID:2gT51NJ7
都市伝説について語るのに元の都市伝説を出典にしないでどうする。
0343名前は開発中のものです。2009/06/26(金) 18:35:20ID:8HViJAqu
体裁だけはやけに整えるけど中身がヘロヘロだよね
出典とか形としてあるとそれっぽいってだけでそれ以上の理由ないだろ(笑)
0344名前は開発中のものです。2009/06/26(金) 21:21:56ID:5ZOskc5S
俺が前から言ってるように、型ごとにリストを持つようにすれば
タスクシステムの欠点は一気に解決する。
これで決まりだね。
マルチスレッドにも対応できるし、データ構造も変な階層を持たない分、フラットでシンプル。
foreach( all type &ref )
{
}
こういう構文が言語レベルで実装されればいいなぁと。
次次期C++に期待。
0345名前は開発中のものです。2009/06/26(金) 21:25:03ID:yyWBeqTR
そんなのオブジェクト参照のコンテナでできるやん
0346名前は開発中のものです。2009/06/26(金) 21:26:54ID:5ZOskc5S
C++のテンプレート使えば出来るんだけど、なにか特殊なことをやってるな、と周りから思われるのが嫌だ。
0347名前は開発中のものです。2009/06/26(金) 22:34:00ID:h9HMkIva
その程度で『何か特殊なこと』扱いなら、どんだけレベル低いんだって感じ。
0348名前は開発中のものです。2009/06/26(金) 23:13:38ID:5ZOskc5S
一々型定義するたびに、
struct type : public task< type >{};
とかするんだぜ?
自分の継承元クラスの定義に自分自身を使うとか、ちょっと嫌だろ。
一人で書いてるならかまわんが。
まぁでもうまい方法だよな。
0349名前は開発中のものです。2009/06/26(金) 23:56:21ID:MF0gXGS5
>>348
意味がよくわからないのだけど、そんな必要ある?
0350名前は開発中のものです。2009/06/27(土) 00:13:10ID:qJ2VxBZF
MacBookProが買いたくなってきた…。
明日は量販店めぐりをして、どこが一番安く変えるか調べてみるか……。
0351名前は開発中のものです。2009/06/27(土) 03:12:55ID:wVzUYJSd
>>349
コーディングが楽になる
0352名前は開発中のものです。2009/06/27(土) 03:22:34ID:x7INTUua
コーディングなんて楽にしてどーすんの?w
0353名前は開発中のものです。2009/06/27(土) 03:38:55ID:KjB5ti2V
>>351
何がどう楽になってるのかさっぱりわからないのだけど。

単にtask基底クラスから派生させておけば十分なように思える。
0354名前は開発中のものです。2009/06/27(土) 04:21:42ID:ygCjzqLs
そう思うんなら今はまだそれで十分なんだろ

ソースコードの再利用性を追求していくと誰もがたどり着く結論なんだが
代償はコンパイル時間がかなり長くなることと静的解析が多分失敗すること
0355名前は開発中のものです。2009/06/27(土) 04:32:35ID:x7INTUua
>>354
ばっかじゃねぇのw
PGの単価なんて安いのにソースなんて再利用してどーなんのさw
頭悪いw
社会人として働いてからそういうこと考えろよ
0356名前は開発中のものです。2009/06/27(土) 04:55:45ID:KjB5ti2V
>>354-355
そんなしょーもない煽りあいはよそでやってくれ。

で、>>353には答えてくれないのか?
0357名前は開発中のものです。2009/06/27(土) 05:10:10ID:x7INTUua
>>356
無理だね
まともな返答なんて返ってきやしねぇよ
こいつらは「テキトー」に「気がするだけ」で
なんの検証もしないで結論付けて、
自分がわかったフリしてなにもわかっちゃいない状態に
少しも疑問を持たないクズなんだからよw
技術者向いてないのに技術者になっちゃった奴等なのw
0358名前は開発中のものです。2009/06/27(土) 10:55:59ID:FP+xNgkl
> PGの単価なんて安いのにソースなんて再利用してどーなんのさw
> 頭悪いw
> 社会人として働いてからそういうこと考えろよ
↑↑↑技術者向いてないのに技術者になっちゃった奴の典型wwwww
0359名前は開発中のものです。2009/06/27(土) 12:28:59ID:qJ2VxBZF
>350
ここに誤爆していたとは…orz
0360名前は開発中のものです。2009/06/28(日) 00:25:56ID:UXBCd9O0
>何がどう楽になってるのかさっぱりわからないのだけど。
>単にtask基底クラスから派生させておけば十分なように思える。

むしろ、
単にtask基底クラスから派生させて、
どんなメリットがあるのか知りたい。
0361名前は開発中のものです。2009/06/28(日) 00:28:01ID:JT5pipiT
多態性一切無視の潔さに掘れた。
0362名前は開発中のものです。2009/06/28(日) 00:28:44ID:JT5pipiT
×掘れた
○ホレた

なんで掘らにゃならん……orz
0363名前は開発中のものです。2009/06/28(日) 00:30:10ID:UXBCd9O0
なんでタスクに多態性が必要だと考えるのか。
0364名前は開発中のものです。2009/06/28(日) 00:54:18ID:ecgeU81f
だからコーディングを楽にするためだってば
0365名前は開発中のものです。2009/06/28(日) 00:58:23ID:syjbzTgV
>>364
なるのかよw
どうせ一箇所でしか呼ばないんだろw
でもそれによって個々のタスク内で大変なことになるんだよねw
本来あるべきところに書かずにわざわざタスク内に内包することで
すさまじいバグを生み出して会社内に自分の居場所を作ってるんでしょ?
そういう涙のでるような苦労はぶっちゃけなくていいぞw
0366名前は開発中のものです。2009/06/28(日) 01:49:10ID:JT5pipiT
>365
> どうせ一箇所でしか呼ばないんだろw

多態性の意味を分かってないその潔さにホレたwww
0367名前は開発中のものです。2009/06/28(日) 02:02:26ID:UXBCd9O0
>>365
タスクの中に書かなくてもすむようにする仕組みが、
>>348なんだが。思い込みだけで会話するな。
0368名前は開発中のものです。2009/06/28(日) 02:09:36ID:syjbzTgV
アレアレ?図星突かれて怒っちゃった?w
0369名前は開発中のものです。2009/06/28(日) 02:19:07ID:UXBCd9O0
お前はお前の世界しか知らないんだよ。
0370名前は開発中のものです。2009/06/28(日) 02:40:30ID:Bkv1xV9T
メリット理解できません、でもタスクつかって作られたゲームはたくさんある。つまり・・・?
「ぼ、僕の頭が悪いんじゃない、つかってる奴が間違ってるんだ!!」
って必死になってるのかねぇ
哀れ。

理解できないならからまなけりゃいいだけなのに・・・
0371名前は開発中のものです。2009/06/28(日) 03:11:30ID:syjbzTgV
>>370
>メリット理解できません、でもタスクつかって作られたゲームはたくさんある
ホントかなぁ〜?ニヤニヤw
0372名前は開発中のものです。2009/06/28(日) 04:42:04ID:Bkv1xV9T
>>371
タスクつかって作られたゲームなんて都市伝説・・・
ということにしておかないと、帰納的に「自分は落ちこぼれプログラマー」になっちゃうからねぇ
認められないよね、そんなこと認めたらアイデンティティー崩壊しちゃうし。
0373名前は開発中のものです。2009/06/28(日) 05:42:16ID:syjbzTgV
だって2Dエログラマの推進してる仕組みでしょ?w
0374名前は開発中のものです。2009/06/28(日) 07:13:37ID:JT5pipiT
ゲームプログラマの人に聞きたい 36問目
ttp://pc11.2ch.net/test/read.cgi/prog/1243413746/

ここと住人カブってる?
0375名前は開発中のものです。2009/06/28(日) 14:38:46ID:UXBCd9O0
本職の人はここに来ないでしょ。
来てたら何しに来たの?って感じ。
どうせ会社との契約上、会話に混じれないでしょ
0376名前は開発中のものです。2009/06/28(日) 15:10:55ID:252BQGEo
すげー思い込みの強いひとがいますねw
0377名前は開発中のものです。2009/06/28(日) 15:16:29ID:syjbzTgV
最近盛り上がってないのは串がたくさん焼かれて
やねうらおが自演できないからだろw
0378名前は開発中のものです。2009/06/28(日) 16:58:07ID:PcTXfrbv
やねうらお氏は32回線持ってるみたいだけどな。
0379名前は開発中のものです。2009/06/28(日) 17:24:32ID:Pje4ZrSI
こんな底辺のスレでやねうらおが自演する・・・?
自分は国家機関に監視されてる!とか考えちゃうタイプの
思い込みの激しい人がいるね。
0380名前は開発中のものです。2009/06/28(日) 18:03:41ID:syjbzTgV
>>378
やっぱり自演するから?
0381名前は開発中のものです。2009/06/28(日) 18:14:10ID:PcTXfrbv
>>380
どこの馬鹿が自演のために32回線も用意するんだ・・。

お前、本当に脳みそついてんの?
0382名前は開発中のものです。2009/06/28(日) 18:54:52ID:syjbzTgV
やつの面子のこだわり方は異常だよ
0383名前は開発中のものです。2009/06/28(日) 18:57:23ID:PcTXfrbv
>>382
氏のブログすら読んでないお前が氏の何を知ってるって言うんだ?

笑わせんなwww
0384名前は開発中のものです。2009/06/28(日) 19:15:15ID:syjbzTgV
>>383
ブログってここみてレスをつけるように更新した
あの「みてますよ」アピールでしょ?
的外れな内容でガッカリしたよ
■ このスレッドは過去ログ倉庫に格納されています