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

・人を憎んで言語を憎まず
0660名前は開発中のものです。2009/07/25(土) 01:02:18ID:uHfnwL7s
>>659
> 比較対象はなく最初からの刷り込みでこれしか知らないから
この前提はどこからわいて出たの?
06616462009/07/25(土) 01:08:53ID:mtE13qQs
そこは無視していいよ
0662名前は開発中のものです。2009/07/25(土) 01:10:58ID:uHfnwL7s
>>661
無視していいなら初めから書くなや。
06636462009/07/25(土) 01:13:36ID:mtE13qQs
ところで ID:UHwH8QEw = ID:uHfnwL7s なのかな?
なんか随分と警戒されちゃってるなぁ。。。
0664名前は開発中のものです。2009/07/25(土) 01:15:07ID:uHfnwL7s
ID:UHwH8QEw = ID:uHfnwL7s でOK。
IP変わった理由なんて知らんがな。プロバイダにでも聞いてくれ。
06656462009/07/25(土) 01:16:12ID:mtE13qQs
それで、その一文が気に入らないからどうするんだい?
0666名前は開発中のものです。2009/07/25(土) 01:18:22ID:uHfnwL7s
べつに。
やばくなると「そこは無視して」って人間に何か期待してるとでも?
0667名前は開発中のものです。2009/07/25(土) 01:22:15ID:MNQj6kRh
>>660>>662みたいな過敏な反応が面白すぎる
>>659は「、ということはないと思うんだね」て書いてんだから
>>659の予想が的中してるなら拘る必要何もないのにな
06686462009/07/25(土) 01:28:07ID:mtE13qQs
俺が>>659で書いた

>慣れると効率よく作れるというのは優れているということなんだよ。
>そして効率よく作れるというのは比較対象があるから言えることでもある。

ここには異論はないということでいいのかな?
0669名前は開発中のものです。2009/07/25(土) 01:34:15ID:uHfnwL7s
「質問に答えた人にとっては優れている」なら異論はないがね。
「質問した人」や世界中のゲームプログラマにとってってのなら条件が足りないから否だ。
06706462009/07/25(土) 01:54:14ID:mtE13qQs
>>669
>「質問に答えた人にとっては優れている」なら異論はないがね。

そう、それで構わない。それ以上は端から求めてない。
君にとって優れている。その訳を>>646で質問したんだ。

君は
・生成消滅が頻繁に発生する
・オブジェクト毎に挙動が異なる
・一定間隔で更新と描画を行う
の三点を簡単に実装できる道具とした。
簡単に実装できるというのもやはり優れてるということ。
君にとっては、何かと比較して優れた道具なんだ。
具体的に何と比較してどの点が優れているという話?

それが>>646の質問
0671名前は開発中のものです。2009/07/25(土) 02:02:18ID:uHfnwL7s
プラットフォームやマシンスペック、ゲームジャンルや仕様、プログラマのスキルや人数、
チームが過去にどんな方法でどんなゲームを作ったか、
などの条件で「優れている」の最適解は異なるからそもそも無意味な質問だがな。

それらの条件が一切提示されていない状態では
「タスクに適したゲームなら」という暗黙の前提つきで素組みやActor、Stepと比較して慣れてるってだけの話。
06726462009/07/25(土) 02:52:35ID:mtE13qQs
>>671
>プラットフォームやマシンスペック、ゲームジャンルや仕様、プログラマのスキルや人数、
>チームが過去にどんな方法でどんなゲームを作ったか、
>などの条件で「優れている」の最適解は異なるからそもそも無意味な質問だがな。

うんにゃ。君にとっての「便利」「簡単」等の優れた面が成立する条件でいい。
それで構わない。それ以上は端から求めてない。
君にとって優れている。君の好みの条件付きで、その訳を>>646で質問したんだ。

でなければ>>628

プラットフォームやマシンスペック、ゲームジャンルや仕様、プログラマのスキルや人数、
チームが過去にどんな方法でどんなゲームを作ったか、
などの条件で「簡単」「便利」「慣れている」の最適解は異なるからそもそも>>628は無意味な主張になる

俺はそういう否定のしかたはしない。だから誰かさんと違って言い負かす気は毛頭ないと言ってる
06736462009/07/25(土) 03:16:49ID:mtE13qQs
だから
「タスクシステムに適したゲームなら」という条件下で何かと比較して「簡単」「便利」という話でいい
「タスクシステムに適したゲームなら」という条件下で何かと比較して「慣れてる」という話でいい

条件は暗黙にしなくていい。むしろ徹底的に君に都合の良い条件を添えてくれればいい
「タスクシステムに適したゲーム」は適当に有名どころの既製品を例にあげてくれて構わない。ラクだろう。
その上で「素組み」、「Actor」、「Step」と比較して「簡単」「便利」というのが、他の分からず屋にも理解されるだろう

@タスクシステム
AStep。これはLogicianLordが言うところのステップ処理だろう。
B素組みはまぁ素組みだろう。
CActorはアクターモデルだろう。

スケジューリングにおいてCだけが異端。イベントトリガ型。
@ABはタイムトリガ型。ポーリング。cyclic executiveの仲間。

Cのみで開発というのは聞かないな。@ABとのハイブリッドになるだろ
0674名前は開発中のものです。2009/07/25(土) 10:05:01ID:uHfnwL7s
Actorはタスク以上に「何でもあり」なんだがなぁ・・・
メインループで「update」と「draw」のイベントシグナルを発行すればタスクと同じようなことできるし。

タスクに適したゲームっていえば少人数(プログラマ1〜3人ぐらい)、低スペック(最高でも携帯機ぐらい)
で2D弾幕STGとか、ACTとかかね。
Actorやマルチコアでバリバリ動きます!って数億もするフレームワークは大げさすぎるし
Stepはアクション系とは相性悪い。素組みはめんどくさすぎでありえん。
となるとタスクじゃね?となる。

テトリスとか数当てゲームなみに単純なゲームならタスクでも大げさすぎるので素組み。

シュミレーションとかアドベンチャーとか、オブジェの生成消滅がフレーム単位ではなく、
状態推移とシーン管理がメインならStepとスクリプトを合わせて使う、とか。

PS3/360クラスのマシンで3〜40人プログラマ使ってMMORPG作るよ!プログラマは派遣や新人もいるよ!
とかなら逆にタスクは絶対使わん。Actorか商用フレームワーク。

そんな感じでケースバイケースだ。
0675名前は開発中のものです。2009/07/25(土) 10:06:22ID:Ddgh7kMX
その商用フレームワークってどんなタスクシステムを使ってるの?
0676名前は開発中のものです。2009/07/25(土) 11:39:41ID:+WdZ5rn9
Actorという名前のタスクシステム
0677名前は開発中のものです。2009/07/26(日) 23:13:20ID:4M/fypU8
Actorの話はもう飽きたー
0678名前は開発中のものです。2009/07/26(日) 23:27:18ID:XmHC7DoM
>>658
お前みたいなのが去年
「web2.0を理解できないなんて!」とほざいてたんだぜ
0679名前は開発中のものです。2009/07/27(月) 01:18:43ID:CpdnwPwc
まだやってるんだな。
タスクシステムはファイルシステムのタスク版。
やってることもメリットもほぼ同じ。
これで理解できたかい?アンチ諸君
0680名前は開発中のものです。2009/07/27(月) 01:30:00ID:CpdnwPwc
updateやらdrawやらはあってもなくてもどっちでもよい。
とにかくタスクを管理するものがタスクシステム。
でもそもそもタスクって何なんだといわれると、まぁこれは近代の言い方だとインスタンスだわな。
そんで、なんでインスタンスを管理する仕組みがわざわざ必要なのかって言われると、
それはCなどの一般的な言語にはインスタンスを管理する仕組みが用意されてないから。
ないから作る。それだけ。
0681名前は開発中のものです。2009/07/27(月) 01:49:45ID:4CvTDyT+
変数システムはファイルシステムの変数版。
とにかく変数を管理するものが変数システム。
でもそもそも変数って何なんだといわれると、まぁこれは近代の言い方だとインスタンスだわな。
そんで、なんでインスタンスを管理する仕組みがわざわざ必要なのかって言われると、
それはCなどの一般的な言語にはインスタンスを管理する仕組みが用意されてないから。
ないから作る。それだけ。


なんかコピペになりそうな勢いを感じるなw
0682名前は開発中のものです。2009/07/27(月) 07:52:32ID:asM7f2ni
>>680
「〜を管理する」で何かを説明した気になられても困る。
http://www.google.co.jp/search?q=SomethingManager

インスタンスを管理って、何のこと言ってんの?
コンテナへの登録・削除?
public/private とかのアクセス制御?
でもそれじゃぁ C++ では不要ってことになりそうなんだけど・・・
0683名前は開発中のものです。2009/07/27(月) 19:24:39ID:CpdnwPwc
だからファイルシステムと同じだっていってるだろ。
ファイルシステムがやってることとそっくり同じことをメモリ上でタスクにたいして行う。
0684名前は開発中のものです。2009/07/27(月) 20:24:33ID:Dv70i4tW
>682
それで理解できなきゃ、もっと知識つけてから来いよ。

それとも、2chでタダで得られる程度の情報に、何かとてつもないコトでも期待しているのか?
0685名前は開発中のものです。2009/07/27(月) 22:49:35ID:e+yZD0ZZ
ファイルシステムがどうのとか、まーた相似性の希薄なもの
引っ張り出して偉っそうにふんぞり返ってる老害が湧いてるようだな
もう少しマシな例えが思い浮かばないのかね

>ギャラクシアン以外をタスクシステムと呼んでるのは某よっちゃんいかの人だけだよ
>固定長レコードというCOBOL的なものをゲームに持ち込んだのは新規性がある
>そもそも固定長レコードはフラグメント解消のものではなかった
>バナナでクギを打った所に新規性があるんだよ
>トンカチあるから必要ないよねっていうのは別の話

なんかこれ思い出した。この後に速やかに論破されてたけど
0686名前は開発中のものです。2009/07/27(月) 22:53:23ID:CpdnwPwc
残念ながらもっともマシなたとえがファイルシステムなのだよ。
逆にほかに思いつくか?
というか、ファイルシステムの真似しておけば間違いないし、
それ以上のことをやろうとすると失敗する。
ファイルを制するものがコンピュータ界を制するのだよ。←これ俺の格言。
0687名前は開発中のものです。2009/07/27(月) 22:58:23ID:asM7f2ni
>>683
たとえばファイルシステムはファイル名とディスク上の記憶位置のマッピングを
提供するんだけど・・・ C/C++ にはこれを行うための変数というものがある。

たとえばファイルシステムはディスク上の使用領域と未使用領域を切り分けて
ファイルの作成・削除に備えたりするんだけど・・・ C/C++ にはこれを行うための
ヒープがある。

たとえばファイルシステムはディレクトリによってファイルの階層構造を実装したり
するんだけど・・・ C/C++ にはこれを行うための構造体やクラスや標準コンテナがある。


というわけで、「Cなどの一般的な言語には〜用意されてない」と言われている「管理」で
何のことを言ってるのかはっきりわからない。

そこらへんもう少し明示してもらえると、もっといろいろ伝わるんじゃないかと思うんだけど。
0688名前は開発中のものです。2009/07/27(月) 23:02:09ID:e+yZD0ZZ
>>686
だったら具体的に何のファイルシステムの中の何の要素が
タスクシステムの何に相似であるのか書いてみな

どうせ各処理単位の属性情報。処理単位の何らかの親子関係をあらわす階層構造。
その程度だろ

固定時間刻みで処理単位のコレクションを走査してぶん回してりゃタスクシステムなのに
どこかの何かのファイルシステムを真似てゴテゴテとアプリ依存の装飾加えてるだけだろ
0689名前は開発中のものです。2009/07/27(月) 23:04:53ID:CpdnwPwc
MSもOracleもGoogleもファイルを制してきた者たちなんだよ。
一方、マックバイナリなんて分けのわからないもの付けたり、GUIにばかりこだわったAppleはあの様。
だから健全な一般市民たる我々は、余計なこと考えないで、常にファイルのことだけ考えとけばよい。
タスクシステムもファイルシステムの真似だけしとけば間違いない。歪ねぇということ。

>>687
ヒント:URI
0690名前は開発中のものです。2009/07/27(月) 23:06:40ID:CpdnwPwc
>固定時間刻みで処理単位のコレクションを走査してぶん回してりゃタスクシステムなのに

そういうことをやりだすと失敗する。Appleのようにな。
さっきから言ってるだろ。ファイルシステムの真似しとけば問題ないって。
ファイルシステムにそんなのあるのかよ。
0691名前は開発中のものです。2009/07/27(月) 23:07:44ID:e+yZD0ZZ
だいたいだな

>でもそもそもタスクって何なんだといわれると、まぁこれは近代の言い方だとインスタンスだわな。

システム内部の処理単位はメインフレームの時代においても現代においてもタスクだが
おめーのタスクってのはインスタンスで置換できるのか。そいつは面白いな詳しく話せよ
用語の使い方がそもそも狂ってることを自ら吐露しちまった感じだな。語るに落ちたか?
そういや「近代〜」とかやねう先生も好きだよね
0692名前は開発中のものです。2009/07/27(月) 23:12:00ID:e+yZD0ZZ
>>690
何がAppleだよ。言うに事欠いて知能障害起こしてんじゃねーの?
てめぇの村社会の中でタスクシステムがどんな独自の進化を遂げてるのか
知らないけどよ。その奇形が淘汰されずに生き残るウリがあるなら話してみ?
0693名前は開発中のものです。2009/07/27(月) 23:15:03ID:asM7f2ni
説明する気は無いみたいだし、発言内容からいってがんばって情報を引き出しても実りが
なさそうだし、もう数ある珍説のひとつってことでいいや。
0694名前は開発中のものです。2009/07/27(月) 23:15:40ID:CpdnwPwc
処理の単位なんて発想が馬鹿げてるんだ。処理に単位も糞もあるかよ。
処理はCで言うところの関数なわけで、必要に応じて呼び出すまで。
古い価値観は脱ぎ捨てようぜ。
0695名前は開発中のものです。2009/07/27(月) 23:18:05ID:CpdnwPwc
ところで、マックバイナリと仮想関数って似てるよね。
つまりはそういうことだ。
0696名前は開発中のものです。2009/07/27(月) 23:21:45ID:e+yZD0ZZ
>>694
話を逸らして逃げてんじゃねーよ
ついでに本性を攪乱するためにアンチの振りしなくていいからな。
おまえは正真正銘のタスク親派の老害だよ。タスクシステム=ファイルシステム
まぁ言いたいことは分からなくも無いが。様々な側面で粒度の異なるものを
引っ張り出して相似性を見出すというなら具体的にどこがどこにどのように
対応してるのか説明できなきゃな
0697名前は開発中のものです。2009/07/27(月) 23:45:08ID:CpdnwPwc
だからタスクがファイルに対応してるってさっきから言ってるだろ。
タスクシステムっていう名前がいやなんだったら、もう、ファイルシステムに改名しちゃえ。
0698名前は開発中のものです。2009/07/27(月) 23:56:53ID:CpdnwPwc
大体オブジェクト指向のアクセス制限って何であんなに融通利かないの?
公開すると全員から見られるし、非公開にすると、自分しか見られない。
アクセス制限に応じた分だけインターフェース作れってか?やってられるか。
friend指定とかもできるけど、何でクラスしか指定できないわけ?
俺は人を指定したいわけ。あの人なら信用できるから公開する、とかしたいわけ。
friend ひろゆき; とかしたいわけ。クラスとクラスが友達になっても、それは現実に即してないだろうに。
ファイルシステムだと普通にできるのにな。なんだろな
0699名前は開発中のものです。2009/07/28(火) 00:05:39ID:oX6frFU5
それは型システムの話だろ
0700名前は開発中のものです。2009/07/28(火) 00:21:53ID:oX6frFU5
インスタンス単位でアトリビュートは異なるのは当たり前。
何故そこで型システムを批判するのかということだな

どうしても型システムが提供する仮想関数で
インスタンス単位のアトリビュート設定・変更がしたいなら
vptrを書き換えなさい。
0701名前は開発中のものです。2009/07/28(火) 00:29:08ID:KvaJ18tR
何言ってんだこの人は。誤爆か?
0702名前は開発中のものです。2009/07/28(火) 00:32:46ID:oX6frFU5
もうなんちゅーか、汎用プログラミング言語に対する固執の仕方がちょっとおかしいな。
DSLで対応しときゃいいことまで無理やり汎用プログラミング言語でこなそうとする必要は
どこにもないわけだ
0703名前は開発中のものです。2009/07/28(火) 00:35:21ID:C3Y9/3iL
>>701
ゲーム専卒ってどんな気分なの?教えてくんない?
0704名前は開発中のものです。2009/07/28(火) 00:36:36ID:K7KabsnN
何を作るかが決まってないのに
どう作るかが決まるわけないだろうに。

タスクってのはゲームをどう作るか、の方法の一つにすぎない。
何を作るかが無くてどう作るかだけの話では永遠に結論は出んよ。
0705名前は開発中のものです。2009/07/28(火) 00:39:28ID:dXcILYIo
今湧いてるのは、タスクはファイルシステムと同じ君とDSL君?

DSL君は久々という感じがするね。
0706名前は開発中のものです。2009/07/28(火) 00:42:25ID:9JS9sekY
>>704
上のほうで誰かが問い詰めてタスクシステム使いが想定する好都合な条件を引っ張り出してたよ
>>674
>タスクに適したゲームっていえば少人数(プログラマ1〜3人ぐらい)、低スペック(最高でも携帯機ぐらい)
>で2D弾幕STGとか、ACTとかかね。
0707名前は開発中のものです。2009/07/28(火) 00:44:25ID:oX6frFU5
>>705
悪いが俺にはあのウンコポエマーの真似はできねーな
まぁ率先してちょっかい出してた人間ではあるが
0708名前は開発中のものです。2009/07/28(火) 00:49:08ID:KvaJ18tR
DSLとかマヤカシだろJK。
あれはプログラムの入出力を固定化することで、プログラムを簡素化するもの。
古くはCの標準入出力に始まりだな・・・

ゲームのマップデータやセーブデータ、さらにはBITMAPファイルですらDSLの一種なわけで。
普通にプログラム書いてりゃDSL使いまくりだわな。
ただ、マップデータはマップデータしか表現できないわけで、その辺がDSLのDSLたるところというか。
だからそれらのデータ群(DSL)を汎用言語で互いにコミュニケートさせなければならないわけだが、
そのための一つのアイデアがフレームワーク的な意味でのタスクシステムでもあるわけで。

そういう土台の上で話している俺からしてみれば、
DSLのような下等な一パーツ風情が何か解決してくれるの?って感じなんだが。

>>703
いや、普通にどのレスに対するレスなのか意味不明だろ。
唐突に何か語り始めて。
0709名前は開発中のものです。2009/07/28(火) 00:49:28ID:K7KabsnN
>>674
で結論が出てるみたいだな・・・

ファイルシステム云々ってのは追い詰められたアンチの自演か?
0710名前は開発中のものです。2009/07/28(火) 00:49:36ID:dXcILYIo
お、違う人なのか。
スマンカッタ。
0711名前は開発中のものです。2009/07/28(火) 00:59:22ID:OeZZPfE7
フレームワーク的な意味でのタスクシステムとかほざく劣化やねうが出没してるようだが
これ、言うは簡単。具体的に何なのって聞くと黙るんだよなwww
ま、説明を始めたら実は既存のゲームエンジンやフレームワークを真似て
>>2にグチャグチャと後付け増改築した雛形サンプルプログラムを
フレームワークっつってるだけなんだろうけどな

フレームワークっていえばなんとなくかっこいいから
0712名前は開発中のものです。2009/07/28(火) 01:04:31ID:KvaJ18tR
ごちゃごちゃくっつけないんだって。
タスクシステムの場合、ファイルシステム以上の機能を付けるのはやりすぎ。
あえて、あえて。
0713名前は開発中のものです。2009/07/28(火) 01:06:14ID:K7KabsnN
>>711
お前の言うフレームワークの定義を具体的に説明してみな。

> フレームワークっていえばなんとなくかっこいいから
説明できなきゃ自己紹介だなwww
0714名前は開発中のものです。2009/07/28(火) 01:10:21ID:zCvT9g4A
これはアンチの自演だとかちょっと面白い発想だな
フルボッコにされた無能な味方は迅速に見切り付けて華麗に切り捨てる
なかなかうまい手だと思ったw
0715名前は開発中のものです。2009/07/28(火) 01:13:48ID:oX6frFU5
劣化Simulaみたいな言語をDSLと呼んだらマズイかな
0716名前は開発中のものです。2009/07/28(火) 01:20:38ID:KvaJ18tR
単純に、劣化Simulaで出来ることは全てC++でも出来るだろうに、
なぜあえて、劣化Simulaを使う必要があるんだ、と思うね。
中途半端なDSLが一番の悪なんだ。BITMAPみたいな大人しいのは正義。
0717名前は開発中のものです。2009/07/28(火) 01:29:50ID:oX6frFU5
劣化Simulaってのは説明になってなかったな
coroutine
discrete event simulation
この2点をパクった
0718名前は開発中のものです。2009/07/28(火) 01:43:07ID:KvaJ18tR
そっちメインで使うんなら、その劣化Simulaがむしろ汎用言語で、
C/C++がAPI叩いたり速度稼ぐという目的のDSLじゃね?
0719名前は開発中のものです。2009/07/28(火) 01:49:38ID:oX6frFU5
いや、汎用にはなってない
ゲームのシミュレーション部を記述することにのみ特化したスクリプト言語。
FSMの相互作用を記述する目的しかない
0720名前は開発中のものです。2009/07/28(火) 01:53:45ID:KvaJ18tR
というか、コルーチンと聞くだけで虫唾が走るのは俺だけか?
たとえば、ジャンプしながらパンチも出来るキャラの制御を考えたとき、
ジャンプの処理とパンチの処理は別々のコルーチンで処理しないとコルーチンの意味がないけど、
それぞれのコルーチン間での連携はどうするんだって思うね。
フラグでやるの?どっちみち汚くならね?いやこれは純粋に質問なんだが。煽りとかでなく。
0721名前は開発中のものです。2009/07/28(火) 01:54:48ID:KvaJ18tR
>FSMの相互作用を記述する目的しかない
その程度の大人しいDSLだったらいいんじゃね。
0722名前は開発中のものです。2009/07/28(火) 01:55:11ID:oX6frFU5
>>720
そんなもんにコルーチン使うなボケ
0723名前は開発中のものです。2009/07/28(火) 01:55:40ID:KvaJ18tR
でも俺はコルーチンとか嫌いだからね。
0724名前は開発中のものです。2009/07/28(火) 01:55:54ID:oX6frFU5
ボケはいい過ぎた。寝たいのだ。寝る
0725ID:KvaJ18tR2009/07/28(火) 01:56:51ID:24mKledF
>>722
だったらコルーチンなんて使い道なくね?
0726名前は開発中のものです。2009/07/28(火) 02:02:42ID:5/enr9LU
>>725
このクルクルパーの登場のタイミング、なかなか空気読めてるよね
0727名前は開発中のものです。2009/07/28(火) 02:21:51ID:24mKledF
誰でもいいからコルーチンの有効な使い方教えてよ。
タスクシステム以上に謎なんだが。
0728名前は開発中のものです。2009/07/28(火) 02:49:28ID:OAyUZdnN
アスペクト指向?
0729名前は開発中のものです。2009/07/28(火) 03:42:48ID:W8hUFMoL
コードがあっちこっちに散らばらなくて汚くならない
0730名前は開発中のものです。2009/07/28(火) 07:27:02ID:dXcILYIo
>727
スレッド使ったこと無いのかな?
0731名前は開発中のものです。2009/07/28(火) 21:17:54ID:24mKledF
そこなんだよ。
コルーチンって要はお手軽スレッドだろ。
スレッドって必要に迫られて使うことはあるけど、積極的に使うようなものか?
お手軽スレッドってことは沢山作ることを前提にしているわけだが、
そんなほいほいスレッド100本とか作りたいと思うか?
なんかそのへんずれてるんじゃないかと。

>>729
むしろ最終的には当初の予定に反して散らばりそうな予感。
0732名前は開発中のものです。2009/07/28(火) 21:24:30ID:24mKledF
たとえばアクションゲーム作るとして、
ジャンプはジャンプ用のスレッドで処理、歩くのは歩く用のスレッドで処理、攻撃は攻撃用のスレッドで処理するとして、
互いの処理に依存があった場合、どうやってコミュニケートさせるんだってなる。
各々にフラグかなんか用意しておいて、
互いの処理が互いにそれらしく振舞うように互いのフラグを監視しながらも個々の処理は独立して動かすとか、
意味不明だろ。
0733名前は開発中のものです。2009/07/28(火) 21:48:51ID:xrTUs4NM
>>732
依存がないようにする
簡単に言えばそれぞれの状態が直交するようにすれば
コンポジットして並列に動かしてもいいんじゃないか?
0734名前は開発中のものです。2009/07/28(火) 21:58:26ID:YyyczsAc
>>732
その問題ってなんでも起こるよね
それが解決できるなにかを主張してるわけじゃなくて
それ自体を主張されてもなんか困るよねw
お手軽スレッドを「ね?お手軽でしょ?」っていわれても
それらを纏め上げるのは正直地獄をみる
カプセル化して個々のスレッドからは影響するほかのスレッドの処理を除くとしたら
当然スレッド同士を繋げるスレッドが必要になる
2つのスレッドが関連するなら1つのスレッドがさらに必要になる
関連処理=スレッドの勢いで増えていく
誰も説明がないからとりあえず他のスレッドと並列に扱うと酷いことになる
しかし、スレッドの扱いについてはなにも触れられない
きっとツリー構造になるだろうが、これはなにかに似てないだろか?
普通に組んだときとなにか違うだろか?この仕組みのアドバンテージってなんなんだろか?
と疑問になる
0735名前は開発中のものです。2009/07/28(火) 22:03:19ID:24mKledF
そんなことしたらゲームデザインに制約が出来るぞ。
コルーチンの仕様にゲームデザインを合わせるなんて本末転倒もいいところだ。
それにゲームの面白さってのは色々な処理に依存性があるから生まれてくるってのもあるだろ。
0736名前は開発中のものです。2009/07/28(火) 22:05:10ID:YyyczsAc
>>735
何をいってるのかさっぱり理解できない
俺はなんでもできる
面倒であんまり意味ないけど
俺は上記構造でもなんでも作ってみせる
意味のない発言をするな
0737名前は開発中のものです。2009/07/28(火) 22:16:47ID:24mKledF
>>736
いや、お前に言ったんじゃないんだ。投稿時間を見てくれ。
0738名前は開発中のものです。2009/07/28(火) 22:19:46ID:YyyczsAc
>>737
はじめからアンカーつけとけよ
0739名前は開発中のものです。2009/07/28(火) 22:22:03ID:xrTUs4NM
>>735
>>737
ん?じゃあ俺か
でも君の言っている処理は全部直交だよ
ジャンプしながら前進して攻撃することができるだろ
「いろいろな処理に依存性がある」ゲームデザインの例を挙げてくれないか?
0740名前は開発中のものです。2009/07/28(火) 22:37:31ID:24mKledF
たとえば、ジャンプ中は慣性の処理が働くのが普通だから、地上を歩くのとは処理を変えなきゃならないし、
攻撃するにしても、プレイヤーの向きぐらいは知ってなきゃならないだろうし、
ジャンプ中は攻撃の種類が変わるかもしれないし、
攻撃中は前進できないかもしれないし。
そういう仕様ってありふれてるだろ。
0741名前は開発中のものです。2009/07/28(火) 23:21:30ID:dXcILYIo
>732
頭悪いヤツ晒しage

なんでそういうことをスレッドで処理させる必要があるのか、考えないところがイタい。
0742名前は開発中のものです。2009/07/28(火) 23:24:45ID:dXcILYIo
>740
適材適所って言葉を知らないのか?
コルーチンなりスレッドなりを使うときに有用な場面とか、考えたこと無いのか?

普通は、継続して処理したいけども任意で中断して他の処理を差し挟みたいときに、
コルーチンなりを使用する。

オマエが>732で言っているようなことは、状態機械でやればよい。
0743名前は開発中のものです。2009/07/28(火) 23:34:37ID:YyyczsAc
>>742
>普通は、継続して処理したいけども任意で中断して他の処理を差し挟みたいときに、
それさ
上位でやると色々問題おきそう
中断は中断状態で処理するべきじゃね?
ってなるとあんまりこの仕組みいらないんだよなぁ
0744名前は開発中のものです。2009/07/28(火) 23:58:30ID:oX6frFU5
ID:CpdnwPwc
ID:KvaJ18tR
ID:24mKledF
結局このタスクシステム=ファイルシステム君は知ったかの素人か学生ちゃんなのかな?
態度がでかい割りには協調的なマルチタスキングについての理解・実装経験が乏しそうなのは奇奇怪怪
タスクシステム親派なんだろうけど、学の無いプロでもヒューリスティック・アプローチで磨き上げた直感が
あるからコルーチンの使いどころは速やかに想起するものなんだがねぇ

ファイルシステム君は以前のスレの>>810と同一人物なんじゃないかな。あの自動並列化を意識した
タスクシステムとかいうオナニーソースの作者。彼ならタスクシステム=ファイルシステム論みたいな
珍説を唱えそうな気がする
0745名前は開発中のものです。2009/07/28(火) 23:58:32ID:24mKledF
>>741>>742
だからそうなってくると、利用できるシチュなんてほとんどなくなる。
基本的にコルーチンってのは依存関係の少ない単純な処理向きなんだけど、
単純な処理なんだったらベタで書いても大差ない。
0746名前は開発中のものです。2009/07/29(水) 00:00:36ID:wWM0N2O1
×磨き上げた直感が
○磨き上げた嗅覚が
0747名前は開発中のものです。2009/07/29(水) 00:12:14ID:bs1jh/67
>745
なんかまた専門学校の学生さん? 授業じゃたいしたことやらないから、どんな場面で必要になるのか、
想像すらできないってところのかな。

コルーチン的に中断処理を入れられる方が書き易い場合と、FSM的に書いたほうが書き易い場合と
どっちもあるんだよ。
0748名前は開発中のものです。2009/07/29(水) 00:42:17ID:YqP3xuRA
>コルーチン的に中断処理を入れられる方
だからこれは依存関係が少ない場合だろ。
でもそんなザコ処理なんてどうでもいいわ。普通に書いてもたいした苦にならん。
0749名前は開発中のものです。2009/07/29(水) 06:55:01ID:bs1jh/67
>748
想像力が足りないって、ある意味うらやましいと思うよ…。
0750名前は開発中のものです。2009/07/29(水) 10:11:20ID:s3gd1kGE
gdgdやってないでプログラムあげろよ
0751名前は開発中のものです。2009/07/30(木) 20:37:30ID:sE0pRSsd
盆休みナシ確定age
0752名前は開発中のものです。2009/07/31(金) 00:30:00ID:oSukQgyZ
不幸自慢する男の人って…
0753名前は開発中のものです。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
>タスクに適したゲームっていえば少人数(プログラマ1〜3人ぐらい)、低スペック(最高でも携帯機ぐらい)
>で2D弾幕STGとか、ACTとかかね。

「タスクシステム(>>2)」に適したゲーム、ということならまだ分かるけど、「タスク」は全く関係ないと思うなぁ
長期大規模開発用のミドルウェアの中にも「タスク」というのはちゃんと存在するし。ごく一般的な技術用語だし。
「タスク」に特殊な意味を与え、低スペックなターゲットの2DSTGやACTの少人数開発でしか使えない、といった
レッテルを勝手に貼られるのはちょっと困るかなぁ


0758名前は開発中のものです。2009/08/01(土) 03:10:36ID:v6OwA18E
>Stepはアクション系とは相性悪い。素組みはめんどくさすぎでありえん。
>となるとタスクじゃね?となる。

これは>>674は悪くないんだが、ゲーム業界の一部で未だにStepという表現が
こういう特殊な意味で使われてることに驚かざるをえない
そもそも時間駆動型のプログラムは全て処理ステップを逐次実行してるわけで
これはステップ処理だがあれはステップ処理じゃねーなんていう珍妙な会話は
傍から聞いててもかなり馬鹿げている
0759名前は開発中のものです。2009/08/01(土) 03:14:33ID:v6OwA18E
>>757訂正
△ 少人数開発でしか使えない、といったレッテルを勝手に貼られるのはちょっと困るかなぁ
○ 少人数開発には適しているがそれ以外では不向きといったレッテルを勝手に貼られるのはちょっと困るかなぁ
■ このスレッドは過去ログ倉庫に格納されています