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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/04/03(金) 11:25:39ID:aSgRO8Wl
タスクシステムについての議論、相談、質問、雑談などのスレです

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

・人を憎んで言語を憎まず
0156ID:EEKBitmg ◆HSP4mee/SU 2009/04/07(火) 00:14:39ID:lzvNjqQS
ガキの直感だけど
並列君ってやねうらおさんの臭いがする
0157ID:EEKBitmg ◆HSP4mee/SU 2009/04/07(火) 00:44:42ID:lzvNjqQS
>>10
(;・∀・)えー、なにそれ。そんなむつかしーこと考えたことないよ厨房だから
ぜーんぶダイレクトエックスにお任せだよ
テクスチャは基本的にD3DPOOL_MANAGEDでロードしてる
(ポストエフェクト用のバッファとかはD3DPOOL_DEFAULTだけど)

>一括解放するタイミングは存在せず、仕様切りなおしもできないとして

ナニそれよくわかんない。どんなゲームなの。
厨房はレベルデータをロードするときにテクスチャも何もかもまとめて
ガバーって読み込んじゃってるけど
数GBのメインメモリに数百MBのオンボードメモリを使い放題のやりたい放題だし
メモリ足りないド貧乏PCユーザーはHDDにスワップでジリジリやってろってかんじ

>使用期間不定の大量のサイズ不定テクスチャをコンパクションを使わずにどう管理する?

寿命がわかんねー大量のサイズ不定テクスチャがあるってどんな状況なの?
厨房が作るゲームはリソースの寿命が明らかだから、よくわからない



0158名前は開発中のものです。2009/04/07(火) 00:46:51ID:chqHE1jh
並列さんはポリアンナ症候群だろ
0159名前は開発中のものです。2009/04/07(火) 01:22:29ID:TxMcBONy
>>155
本当に知ったかウザい
心中云々言ってたらBrewもiPhoneもDirectXもやってられません
0160名前は開発中のものです。2009/04/07(火) 02:06:38ID:6TbCKYIt
HSPにXNA…
このスレにはマイナー言語に命かけてる人たちがいるねぇ

どっちもタスクシステム向きでないけど
0161名前は開発中のものです。2009/04/07(火) 02:23:02ID:5k9r+ezc
HSPはともかくXNAをマイナー言語扱いするのはどうだろう
0162名前は開発中のものです。2009/04/07(火) 03:00:31ID:7U5MSg6Z
>>159
任天堂系もSCE系もダメですね・・・
0163名前は開発中のものです。2009/04/07(火) 12:38:34ID:d98F5Avl
>>156
あんたそのレベルの人なのか
0164名前は開発中のものです。2009/04/07(火) 13:00:48ID:t5WTHMua
なんとかシステムとかつけるなら
スクラッチパッドみたいな局所メモリを活用するとか
ある程度ハード特化した実装にするのも手なのかな

GDC2009のGOW3の解説がなんというか燃える内容だったんだけど
http://game.watch.impress.co.jp/docs/series/3dcg/20090401_80260.html
これはもはやなんとかシステムとか呼ぶ範疇を超えてる気がするけど
将来はこういうのがなんとかシステムとか呼ばれるようになるのかね
0165名前は開発中のものです。2009/04/07(火) 17:07:05ID:CbUdK8rx
確かにワンダつまんなかった。
ムービー見て終わり。
メタルギア4もそう。
0166名前は開発中のものです。2009/04/07(火) 17:28:04ID:rVXLClOu
で?
技術批判できなくなったら今度はゲームそのものに攻撃か。
あたたかい頭してるな。
0167名前は開発中のものです。2009/04/07(火) 19:14:31ID:1GDmqaJq
タスクシステム関係無いじゃん
0168名前は開発中のものです。2009/04/07(火) 19:21:43ID:1GDmqaJq
タスクシステムもメリット挙げてみろって言われると
途端にはぐらかすからな

いろいろ虎の威を借るなんとやらで参考文献および資料ばっかりもってくるけど
そういうの自分の言葉で説明できるようになってからやらないと説得力ないよね
引用レスも引用したものがメインじゃ誰も相手にしないって
0169名前は開発中のものです。2009/04/07(火) 19:25:38ID:CBx7pnt0
だからメリットはリンスインシャンプーだっての!
0170名前は開発中のものです。2009/04/07(火) 20:08:43ID:WMY4fAPQ
お金稼げてるからいいんじゃね?
それを否定するともっとお金稼げるなら俺もアンチになる
0171名前は開発中のものです。2009/04/07(火) 20:20:07ID:chqHE1jh
>>170
金がほしいならゲーム会社なんて辞めたほうがいいぞ
かなりマジで
業務系いけば、ゲーム系で月14〜5万でこき使われてる人ならいきなり給料倍とかある
0172名前は開発中のものです。2009/04/07(火) 21:33:44ID:ulVvxTge
ID:EEKBitmgはもうあまりにレベルが低すぎて、みんなスルー状態だな。
0173名前は開発中のものです。2009/04/07(火) 23:00:06ID:chqHE1jh
>>172
俺は並列のがうぜぇ
0174名前は開発中のものです。2009/04/07(火) 23:06:56ID:2stCxtH4
まあフェードアウトオヤジ臭という意味では
並列さんとやね先生は同じ体臭を放ってるけどな
0175名前は開発中のものです。2009/04/07(火) 23:23:22ID:wsnDcgD2
だいたい、アタマがまともな本職やセミプロは、こんなところで『オレ様スゲーだろwww』とか
書き散らかさないって。
0176名前は開発中のものです。2009/04/08(水) 00:39:13ID:DU4wvLd/
本人も、今頃しまったと思ってるころだろ。
0177名前は開発中のものです。2009/04/08(水) 01:29:22ID:9bhojcbs
てゆーかここ
どんだけ偉人ばっかりなんですかw
みんなめちゃくちゃ上から目線なんですけどwwww
0178名前は開発中のものです。2009/04/08(水) 07:38:26ID:uu59oW9Z
別にそんな感じはしないけど
何か気に入らないレスが付いちゃった?
0179名前は開発中のものです。2009/04/08(水) 09:16:12ID:Ju8SopqO
並列擁護は「第三者の"人達"から見て」 的なレスが多くてうんざりだな
国際社会とか地球市民とかそういう匂いがする

語ってる内容はどっちも滅茶苦茶なのでもうどうでもいいんだが
まあ勘違い分裂君劇場みたいなノリでヲチしようや
0180名前は開発中のものです。2009/04/08(水) 09:18:37ID:0OsF5j6c
ワンダつまらんかったな。初日にクリアしてすぐ売った。
0181名前は開発中のものです。2009/04/08(水) 10:02:02ID:DTjWnb4t
じゃ、そろそろタスクシステムについて議論していこうか。
0182名前は開発中のものです。2009/04/08(水) 11:29:12ID:ZcZVPfWq
タスクシステムの主な役割

・単位時間内に1回何かを実行する為の窓口
・生存管理
・依存の管理

こんなものかな?
0183名前は開発中のものです。2009/04/08(水) 12:10:26ID:6q9I65fW
タスクシステムはそこにある、ただそれだけだ
0184名前は開発中のものです。2009/04/08(水) 20:23:55ID:uu59oW9Z
メリットやデメリットのあるタスクシステムなんてタスクシステムとは言えない
女子供は黙ってみてろ?
0185名前は開発中のものです。2009/04/08(水) 23:24:44ID:Ju8SopqO
その疑問符は何だ?
0186名前は開発中のものです。2009/04/08(水) 23:41:33ID:P81F6nRk
語尾上げで、柳原可奈子的可愛さを演出してみたんじゃないか?
0187名前は開発中のものです。2009/04/09(木) 00:22:04ID:q+cTqKgL
むしろ姫ちゃん的な〜?
0188名前は開発中のものです。2009/04/09(木) 01:27:01ID:FGj8z8j8
そういう使い方にしても間違ってるような
0189名前は開発中のものです。2009/04/09(木) 05:09:42ID:0O2qwazX
雑談ストップ?
0190名前は開発中のものです。2009/04/09(木) 18:55:18ID:/k3TfSjT
タスクってCしかできない人のための技法?
0191名前は開発中のものです。2009/04/09(木) 19:04:45ID:trH83J91
あまねく言語でタスクパターンは実装可能ですよ。
0192名前は開発中のものです。2009/04/09(木) 20:14:35ID:/k3TfSjT
非常にサラッと内容をチラ見してきたけど、まあ特に議論するべきことでもないな
0193名前は開発中のものです。2009/04/09(木) 22:57:42ID:n4y/QroV
FlashのSTGで、EntityとかActorとか作ってやってるのを見たことがあるな。
0194ID:EEKBitmg ◆HSP4mee/SU 2009/04/09(木) 23:40:00ID:vLLC2UDG
バカにつける薬は無いと言われることもあるけれど厨房は今日も元気です
さて、そんな厨房でもタスクシステムとかいう怪しげなものに取り憑かれる
人々というのが、なーんか筋の悪そうな人が多そうだなーということに気付く
筋が悪いというのは、ガラが悪いという意味では区、頭が鈍いというかバカ
というか、一から十まで具体的に作り方を手解きしてもらわないとなーんにも
動かすことができないセンスの悪そうな人、という意味

こういう生意気書くとまたボコられるわけですが、この直感は当たってると思う

>>128
例えばこういうの。もう何言ってるのかサッパリ分からない。思考が腐臭を放ってる。

>・単位時間内に1回何かを実行する為の窓口

なにそれ。役立たずの糞みたいな仕掛けをねじ込もうとしてるだけじゃん。
居るだけ詐欺の盲腸の無駄飯食らいの穀潰しのないほうがマシな無駄な機構を
何故かゲームプログラムの中に噛ませたがるタスクバカの香りを放ってる

>・生存管理

なにそれ。something managerなの?生存管理?何してくれるの?
タスクディスパッチャーが何で生死を司るの?ゲームのシミュレーション結果で
決定されることを、なぜタスクディスパッチャーごときが口を挟むの?設計腐ってない?
余計なお節介をして茶々を入れてくる強烈にウザイものにしか見えない。吐き気がする

>・依存の管理
なにそれ。またsomething manager?依存の管理?何してくれるの?
タスクディスパッチャーに把握させる依存関係って具体的に何?それをどうしてくれるの?
なんか臭そう。
0195ID:EEKBitmg ◆HSP4mee/SU 2009/04/09(木) 23:43:36ID:vLLC2UDG
>>193
EntityやらActorやらいう要素があるのはごく自然なことだよね
でも、このスレのタスクバカに言わせれば、それはタスクシステムらしいよ。

バッチイからあっち行けって思う
0196名前は開発中のものです。2009/04/10(金) 00:22:24ID:1GdYQJdO
なんで>>128が叩かれてるんだろうと思ったら>>182
2chブラウザとか使ってないのかな
0197名前は開発中のものです。2009/04/10(金) 00:25:41ID:4YdM/w1Y
関数インポがメインのタスクシステムを使わずにC++の仮想関数でやるのは速度不足か?
CPU400MHZのPDA用に上記の方法で作ったことあるがとても快適に動作したがなあ。
携帯ならともかく今のハイスペックのマシンでタスクシステムいらんだろ
0198ID:EEKBitmg ◆HSP4mee/SU 2009/04/10(金) 00:33:26ID:FNQAiqo/
>>194
間違えた!>>182だった。>>128ごめんなさい><
まぁ別に>>182にしても恨みはないからごめんなさい
0199名前は開発中のものです。2009/04/10(金) 00:38:46ID:RpmvrcVd
>>197
関数いんぽとC++の仮想関数なら(規格には無いけど)同じ仕組みだから
もともと差はないはずだよ。
まあ、ろくに定義されてない言葉でループ必至のネタに
自転車置場の議論を楽しんでるだけなんでそういう真面目な話いらんねん。
0200ID:EEKBitmg ◆HSP4mee/SU 2009/04/10(金) 00:39:22ID:FNQAiqo/
>>197
別に関数アドレスや仮想関数が絶対悪だと言ってるわけじゃない
使い方の問題。使いどころの問題

わけも分からず処理を細切れにバラしてごちゃ混ぜ連結リストにぶち込んでなめて
スバラシーデース。自動デース。窓口デース。とか寝言ほざいてる間抜けが嫌いなんだ
0201名前は開発中のものです。2009/04/10(金) 00:59:03ID:zmUDuwgv
>>199
C++の仮想関数は、関数ポインタからの関数呼び出しと比べると
普通の実装なら間接参照が1回増えるんじゃない?
差は無いってことは無いと思うよ。まぁ大した差じゃないと思うけど。
あとタスクシステムの場合の関数ポインタの使い方は、仮想関数の代わりというよりは
状態に合わせた処理に直接ジャンプする(状態による場合分けをなくす)という
意味合いが大きいんではなかろうか。
これもまぁテーブルジャンプを一段挟めばいいだけではあるけれど。
0202ID:EEKBitmg ◆HSP4mee/SU 2009/04/10(金) 01:21:33ID:FNQAiqo/
タスクバカのことだからvptrを書き換えて関数セットを丸ごと取り替えて喜んでそうだけどな
タスクバカって脳みそが中二のオジチャンだからさ、クラス図を完全無視して自在に変化する
オブジェクト、とかにワクワクするんじゃないかな
0203名前は開発中のものです。2009/04/10(金) 01:34:48ID:zmUDuwgv
>>202
だからなんだよ。
うぜぇ。
0204名前は開発中のものです。2009/04/10(金) 07:27:26ID:fVKjkvAM
まあ、要は退化してるってことだな
0205名前は開発中のものです。2009/04/10(金) 08:01:06ID:Enyn0370
小沢 「外食しないと言ったんだから、チャーハン作れ」
麻生 「じゃあまずご飯炊かないと・・・・・」
小沢 「なぜご飯を炊くんだ!ご飯を炊く暇があったらチャーハン作れよ!」
麻生 「ご飯を炊かなきゃチャーハン作れないよ。お米研いだだけだし」
小沢 「そんなことは聞いていない。今すぐチャーハンは作れるのか」
麻生 「(まずご飯炊かないといけないから)今すぐには作れない」
小沢 「外食止めたんだぞ、今すぐに作るのが筋じゃないか!」
麻生 「お米研ぐ→ご飯炊く→チャーハン作る、なのわかる?三・段・階。わかる?」
小沢 「とにかく、すぐチャーハン作れ!」
0206名前は開発中のものです。2009/04/10(金) 09:36:54ID:yz3HG861
>>205 +民は巣でやってろ
0207名前は開発中のものです。2009/04/10(金) 11:21:34ID:BJAImmDI
ID:EEKBitmg ◆HSP4mee/SU は
メモリ何ギガもあるマシンだけを対象にしたゲームをシコシコ作ってなさい。
0208名前は開発中のものです。2009/04/10(金) 12:00:12ID:GpZ/KC5r
なんか面白そうな話題だったのにHSPしか使えない馬鹿が
暴れたせいで途端にスレのレベルが下がったな

こいつ、いい加減、いなくならねーかな
0209名前は開発中のものです。2009/04/10(金) 12:54:33ID:Y8VaBVxa
このお題(タスクシステムの是非)に関しては、アンチ側が中東の米軍並みに有利なはずなのに
なんで互角以下の劣勢なんだ?
0210名前は開発中のものです。2009/04/10(金) 13:04:18ID:ytUDTzAB
コテつけてまで自己顕示するほどのアンチってタスクバカよりたちわるいね
0211名前は開発中のものです。2009/04/10(金) 13:05:59ID:ytUDTzAB
クラス図とか、オブジェクト指向言語、オブジェクト指向プログラミングはこうあるべしという強迫観念の最たるものだよね
0212名前は開発中のものです。2009/04/10(金) 17:33:29ID:1zCtaiSY
>面白そうな話題

kwsk
0213名前は開発中のものです。2009/04/10(金) 18:30:28ID:LKxV/Lgc
誰でもいいからそろそろ、
タスクシステムはこうこうこういうところがダメだから
これからはこうこうこういうものを使うべきだ!
って主張してくれねーかな。

ちなみにタスクシステムを実際に使ったことなかったりするのは論外。
説得力がまるで無いし、比較しないと意味が無い。
あと、机上の理論を聞いてもしょうがないので、
こういうものに移行したらこういうメリットがあったって話も聞きたい。

喧嘩したいだけのお子様や
妄想たっぷりのニートはもうお腹いっぱいです。
0214名前は開発中のものです。2009/04/10(金) 19:08:05ID:KfvFah+k
実際にお仕事してきてるなら、タスクシステムは経験してるはずだよね
0215名前は開発中のものです。2009/04/10(金) 19:56:07ID:fVKjkvAM
ダメだの前にメリットをあげてくれよ
話を元に戻そうか?(笑)

タスクシステムのメリットってなんですか?
0216名前は開発中のものです。2009/04/10(金) 20:02:44ID:sH8kBZbv
本職の人は守秘義務とかあるし、具体的な話はできないんじゃない?
0217名前は開発中のものです。2009/04/10(金) 20:06:05ID:0HZaI+RC
タスク厨:デメリットあげろ
アンチタスク:メリットあげろ

どっちも説明するつもりないんだな
まぁ面倒なのはよくわかるけど
0218名前は開発中のものです。2009/04/10(金) 20:52:43ID:GZm91cCj
タスクシステム派に足りないのは
「大規模C++ソフトウェアデザイン」の「5.2 昇位(escalation)」の概念。

上位レベルコンポーネントの存在を軽視しすぎ。
そして巡回依存性、相互依存性の怖さを軽視しすぎ。
5ページだけ、立ち読みでいいから1度読むといい
0219名前は開発中のものです。2009/04/10(金) 21:03:03ID:KfvFah+k
教えてもらったとおりの発想とスタイルでしかプログラミングできないんすなぁ
0220名前は開発中のものです。2009/04/10(金) 21:07:37ID:GZm91cCj
>>219
お仕事でタスクシステムを教わったんですね
分かります
0221名前は開発中のものです。2009/04/10(金) 21:13:36ID:9juAqapQ
タスクシステムを使った イコール 相互依存性があがる 

というわけではないしなぁ。
0222名前は開発中のものです。2009/04/10(金) 21:19:09ID:I/tIMbxt
俺良く分らんながら考えてたんだがC++でタスクシステム実装しようとすると面倒にならないか
Cのが合うんじゃないの
0223名前は開発中のものです。2009/04/10(金) 21:22:56ID:o/eQJnMQ
もともとCやアセンブラで考え出されたものだからね
0224名前は開発中のものです。2009/04/10(金) 21:26:49ID:o/eQJnMQ
Windowsプログラムのカーネルはタスク処理だが、(イメージが違うけど)
窓AP作成のユーザーから見れば、イベントドリブンのシステムだから。
タスク部分はフレームワークに吸収してもいいかもしれん。
0225名前は開発中のものです。2009/04/10(金) 22:34:08ID:GZm91cCj
>>221
そこでもう一押し、「相互依存性を完全除去」まで行くと違いが見える。
10から1にするのはどっちもできるが、1から0にできるのは片方だけ。
0にすると設計の見通しが利く。小さいようで大切なこと。
0226名前は開発中のものです。2009/04/10(金) 23:09:59ID:GZm91cCj
具体的に脱タスクシステムでやることは単純、・・・でもないけど下記の通り。

もし相互依存性があるオブジェクト群があったら、
 1、オブジェクト群の上位に親クラスを作成する
 2、オブジェクト群の相互依存箇所を抽出して親クラスのメソッドにまとめる

これを相互依存性が無くなるまで繰り返す。(相互依存性の多さにあらビックリ)

同位のオブジェクト間の相互依存性は上位に丸投げして解決してもらう。
1アンチとしてはこれお勧め。
0227名前は開発中のものです。2009/04/11(土) 02:21:52ID:GEBPDovg
タスクにはデメリットになりうる注意点が多々あると思うが、利用者側が注意してタスク実装していけば回避できる箇所も多い
あと、汎用的なタスク設計は存在しなくて、作るゲームによってその都度チューニングしてる
なんだかんだ言ってもタスクは便利なんだよね
0228名前は開発中のものです。2009/04/11(土) 02:23:50ID:pUi3qAut
汎用部分はベースクラスにして継承して振る舞いを実装するとおもうのだが・・・
0229名前は開発中のものです。2009/04/11(土) 02:30:57ID:FAassbBg
とりあえず確認させてくれ
おまえらバズワードって言葉知ってるか?
0230名前は開発中のものです。2009/04/11(土) 02:36:07ID:pR/Rfe6E
>>2」のことか?
0231名前は開発中のものです。2009/04/11(土) 02:39:50ID:GEBPDovg
勿論継承するのがいいんだけど、色々と制限厳しい開発なんで、タスク周りはプロジェクト毎に直すようにしてる
タスクは総じて癖が強いが、扱い慣れるとごりごり書けるのがいいよね。プロジェクト終盤のデスマで有用だった。
0232名前は開発中のものです。2009/04/11(土) 07:11:31ID:JQKbxyD0
スレッドでいいじゃん
0233名前は開発中のものです。2009/04/11(土) 08:44:55ID:VwbI10yZ
並列はもう出てこれないだろうな
0234名前は開発中のものです。2009/04/11(土) 09:54:27ID:BwFqfbII
>>225
別に相互に依存する必要がないならば、
タスクシステムでも相互依存性は0にできると思うけど。
0235名前は開発中のものです。2009/04/11(土) 12:09:00ID:shgrRKkW
>>226
結局コードが膨れ上がるだけじゃないすか
本人は奇麗にまとめ上げた気分で気持ちいいかもしれないけど、無駄な作業すなぁ
0236名前は開発中のものです。2009/04/11(土) 12:10:53ID:shgrRKkW
アンチの意見で、なるほどコレは参考になるっていうのが無いのう
まだ並列さんのが実際の現場の実装の片鱗を語ってるだけあってよかった
0237名前は開発中のものです。2009/04/11(土) 12:13:12ID:lG5C2wBT
>>234
相互依存性が 0 ならプロジェクト毎に直すなんてことにはならない。
0238名前は開発中のものです。2009/04/11(土) 12:17:32ID:FPJVr62U
>>237
相互依存性が 0でもジャンルとかプラットフォームの世代が
異なればそれにあったものに変更すると思うが。
0239名前は開発中のものです。2009/04/11(土) 12:18:00ID:lG5C2wBT
>>235
依存性を排除してモジュール化を進めていけば再利用可能なコードができる。
「再利用」っていうのはプロジェクト毎にコピーしていじるってことじゃないよ。
同時に、既存のコード( C++ 標準ライブラリや Boost など含む)と組み合わせることが
やりやすくなる。そうなれば理解しやすい形に近づくことにもなる。

お釣りがくるよ。
0240名前は開発中のものです。2009/04/11(土) 12:19:09ID:shgrRKkW
所詮開発厨なんだから、はりきる必要はないべ
形にさえなればオケオケ
どんなに奇麗に実装したところで、厨にミソカスに言われるだけなのにね
0241名前は開発中のものです。2009/04/11(土) 12:21:46ID:lG5C2wBT
>>238
それは「変更する」部分がジャンルとかプラットフォーム世代に依存してる状態だろ。明らかに。
0242名前は開発中のものです。2009/04/11(土) 12:25:31ID:FPJVr62U
>>241
それらに一切依存しない、なんてシステムが現実的に使い物になるのかね。
なんか机上の理屈をこねてるだけのような感じがするな。
0243名前は開発中のものです。2009/04/11(土) 12:27:26ID:lG5C2wBT
>>236,240
並列さんの話が「現場の〜」だと信じられるのに、依存性の排除は主観で拒絶か。
自分の考えに近いかどうかが判断基準なんだろうな。おめでてーな。
0244名前は開発中のものです。2009/04/11(土) 12:31:13ID:hS6DOynO
>>237, 243
ジャンルやプラットフォームに依存しないタスクシステムは作れるし、
それでやってるところはあるよ。

ただ、そういうのって汎用的になりすぎてむしろ使いづらいから
ジャンル毎にカスタマイズするところもあるってだけの話。

>自分の考えに近いかどうかが判断基準なんだろうな。おめでてーな。
でた!自己PR!
0245名前は開発中のものです。2009/04/11(土) 12:32:24ID:lG5C2wBT
>>242
たとえば C++ 標準ライブラリはゲームのジャンルやプラットフォームの世代に
一切依存しないが、現実のゲーム開発でもとても有用だ。わかりやすい話だろ。
0246名前は開発中のものです。2009/04/11(土) 12:35:37ID:FPJVr62U
PS1世代は完全にC++使えなかったし、PS2でもローンチではSCEはC++を非推奨にしてたけど…
C++標準ライブラリがゲーム機で普通に使えるようになったのってXBOX/PS3/360からだよ。

これほどプラットフォームの世代に依存してるものを「一切依存しない」って…
0247名前は開発中のものです。2009/04/11(土) 12:37:34ID:VwbI10yZ
C++標準ライブラリでゲームで便利なものって何かあったっけ?
0248名前は開発中のものです。2009/04/11(土) 12:37:59ID:lG5C2wBT
>>244
その「カスタマイズ」というのがコードを変更することではなく、ジャンルに合わせて
使い方を変えるということなら問題ない。そうではなくてプロジェクト内にコードを
コピーしていじる必要があるのなら、それはまだ依存性の問題が残っているということ。

要するに "Open-Closed Principle" というやつ。
http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/dp-ocp-2.html
「モジュールは拡張に対して開いて (Open) おり,修正に対して閉じて (Closed) いなければならない」
0249名前は開発中のものです。2009/04/11(土) 12:42:39ID:VwbI10yZ
>>248
タスクシステムはライブラリではなくフレームワークだからコピーでよい。
コピーしない方針なら、継承使って拡張していくことになるが、
コピーできる環境なら継承よりコピーの方が良い。
0250名前は開発中のものです。2009/04/11(土) 12:43:36ID:hS6DOynO
完全にライブラリ化してるタスクシステムあるけど。

というわけで、依存性の話はタスクと関係ないってことで
じゃ、依存性がどーたらという話はこれで終ね。
0251名前は開発中のものです。2009/04/11(土) 12:48:00ID:lG5C2wBT
>>246
それらの制限は当時のコンパイラやライブラリ実装の問題のせい。依存性の問題じゃない。
たとえば同じ仕様の標準ライブラリが、新しい gcc のレベルならそれらのプラットフォームでも
余裕で使えるだろう。

例が理解しにくかったのなら「C 標準ライブラリ」に置き換えて読み直してみるといい。同じ話だ。
0252名前は開発中のものです。2009/04/11(土) 12:48:57ID:VwbI10yZ
だから、タスクシステムはライブラリというよりはむしろフレームワークだ。
頭の悪い奴だな。
0253名前は開発中のものです。2009/04/11(土) 12:52:12ID:FPJVr62U
>>251
>それらの制限は当時のコンパイラやライブラリ実装の問題のせい。依存性の問題じゃない。
プラットフォームの性能からくる制約を一切無視してるなぁ…
gcc自体は当時でも余裕でC++対応してたのに、なんでPS1で使えないようにしてたか、考えてみた方がいいかも。
それに「C標準ライブラリ」だってSFC時代のゲーム中動的にmalloc使うなんて考えられない、というハード世代を考えると同じこと。
0254名前は開発中のものです。2009/04/11(土) 12:55:32ID:lG5C2wBT
>>249
> コピーできる環境なら継承よりコピーの方が良い。
コードをコピーしたほうが良い?最悪だろ、常識的に考えて。
コピー元がバグってたらいっこずつ直して回るはめになるんだぞ?

それに対して、何が「良い」というの?

「ライブラリではなくフレームワークだからコピーでよい」というのも理屈がわからんな。
ライブラリとフレームワークとのどういう違いからそういう話になるの?
とりあえず Wikipedia 見てみたが、「コピーでよい」となるような話は見当たらなかった。
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF
0255名前は開発中のものです。2009/04/11(土) 12:56:31ID:hS6DOynO
↑依存君と名付けよう
■ このスレッドは過去ログ倉庫に格納されています