タスクシステム総合スレ part5
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/02/19(木) 02:21:01ID:k4ODtuXPpart4 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」と明示してください
そうでない場合はカスタム版タスクであることを明示してください
・人を憎んで言語を憎まず
0446名前は開発中のものです。
2009/03/01(日) 22:59:06ID:aHmLTao6> ・コンシューマ開発で、C++も無かったASM時代において、タスクシステムが成した業績と歴史を認めない。
若者でも、/* You are not expected to understand this */ とか読んだことあれば
十分だよ。
0447名前は開発中のものです。
2009/03/02(月) 01:17:33ID:Ggk4JG/+>432
> 嫌なのか?さらしたくないのか?逃げるだけか?ライバルを作りたくないのか?逃げるのか?
0448名前は開発中のものです。
2009/03/02(月) 02:04:32ID:qNJJjYLTいろいろあれの欠点で苦労するから純粋なタスク信者ってのはありえないけどね。
でも単純なアンチってのもまた無い。
ジャンルや環境によっては今でも十分使い物になるから。というか今の携帯機クラスの性能のゲーム機で
動いてるゲームのかなりの数がいわゆるタスク改で実装されてる。
それに純粋なタスクシステムの欠点はそれぞれ回避方法があるので使い分けができる。
ジャンルによってはタスク改ではない違う作り方のものもあるけど、アクション系ではいわゆるタスクの進化系以外の
実装はあんまりお目にかかったことが無いな。
少なくとも日本産に限っては。海外産はあんまりソース見る機会無いから知らんが…
0449名前は開発中のものです。
2009/03/02(月) 07:26:29ID:N5eJa8sNこんなマイナーシステム普通使わねぇだろ
0450名前は開発中のものです。
2009/03/02(月) 15:49:57ID:2YZpDjg8同じインターフェースで全く遊び方の違うゲームを数十個つくらにゃいけない場合とか
一つ一つにかかるコストを大幅に削減できる
0451名前は開発中のものです。
2009/03/02(月) 17:55:09ID:N5eJa8sNごった煮だから弾の処理で何が呼ばれててもおかしくない
ということは弾だけなにかほかに使おうと考えても
ソースの癒着が酷くて切り出して使うということはできないというわけだよ
わかったかね
0452名前は開発中のものです。
2009/03/02(月) 18:02:00ID:hIPGPAIGタスク間のアクセスはタスクシステムが間に入るから
癒着がひどいっておかしくないか
0453名前は開発中のものです。
2009/03/02(月) 18:16:36ID:N5eJa8sNどこからでも呼び出したかったんじゃないの?
つまりそれは、すべてを呼び出している可能性だってあるということだよ
だってそのためにごった煮にしたんでしょ?
ミサイルのターゲットをポインタの保持で解決したかったんじゃないの?(笑)
0454名前は開発中のものです。
2009/03/02(月) 18:25:42ID:hIPGPAIGミサイル以外のタスクをソースから排除しても
ターゲットが見つからずにまっすぐ飛んでくだけでしょ
ターゲットのポインタなんて抽象クラスへのウィークポインタか
インクリメンタルIDのどっちかだし
0455名前は開発中のものです。
2009/03/02(月) 18:33:27ID:N5eJa8sN全部呼び出せるってことは全ヘッダーファイルが必要になるってことだろが
それとも今更カプセル化守って弾のクラス内には他のゲームオブジェクトは一切入ってこない
って方向転換するか?それでもいいぜ(笑)
0456名前は開発中のものです。
2009/03/02(月) 18:48:04ID:hIPGPAIG派生先のポインタが欲しければ各自でキャストすればいい
それが嫌ならビジター作ってタスクシステム内のタスク全部なめればいい
なんで弾のクラス内に他のゲームオブジェクトが入ってくるんだ
そんな話出てきたか?めんどいんで方向転換ってことでいいです。
0457名前は開発中のものです。
2009/03/02(月) 18:56:46ID:N5eJa8sNさすがにそのレベルはかつてないな(笑)
0458名前は開発中のものです。
2009/03/02(月) 19:19:04ID:hIPGPAIG0459名前は開発中のものです。
2009/03/02(月) 19:32:05ID:Rv93cI1M面白いからもっとやって(笑)
0460名前は開発中のものです。
2009/03/02(月) 19:36:16ID:wHsdSnqf0461名前は開発中のものです。
2009/03/02(月) 19:57:05ID:VFyVP2iTなにも進歩ないなw
0462名前は開発中のものです。
2009/03/02(月) 20:14:04ID:iymFeNpw全部は必要なくね
0463ID:EEKBitmg
2009/03/02(月) 20:44:58ID:0jBbfc+eC型なのかな。肝炎みたいだね。「おまえの場合は脳炎だろ」とか言われそうだけど
助教授に言われたことがある
『例えばお前が作ってるゲームなんてものは技術的には枯れた要素技術の集合体であり
CASEツールで機能分析すれば、その大半は汎用のコンポーネントを結合したものとして
表現される。』と
『開発工程全体を見たとき、お前はおそらく遊び・面白さの部分を煮詰める反復作業に
時間の多くを費やしているのだろう。ならば、ワークフロー・データフローの設計も
そこを優先するだろ常識的に考えて。与えられてる状況(道具、人、時間、etc)にあわせて
構造化設計すれば、最終的な結論はH**は神言語となる。わかったな?』
私は心を打たれた。この人はC型のようなE型のようなH型だ
助教授はいわゆるベーマガ世代というものらしい。本人に言わせれば『PIOとかRAMとかテクノ(何とか)を
知らないようなガキにベーマガ世代とか言われるとイラっと来る』ということらしいけど、まぁとにかく
そういう世代らしい
助教授にタスクシステム(>>2)のページを見せた。反応は「組み込みシステムを劣化猿真似してるのか」
みたいなかなり淡白なものだった
『ワークRAMが少ないゼッパチマシンでこんな贅沢な組み方してたのか?』
『70年代にこれやってたって本当か?』『メガドラとか16ビットのアーケードゲームの話じゃないのか?』
と聞き返された。そんなことは厨の俺が知るはずもないし答えられるはずもなかったから
「だってこの人(LogicianLordの人)がギャラクシアンはこうだって言ってるからそうなんじゃないすか><」
と知能障害・思考停止な返事をしたら『ふーん。あっそう』と言われた
むかつく。誰か教えて
0464ID:EEKBitmg
2009/03/02(月) 21:27:36ID:0jBbfc+e『俺にとっては雲の上のプロプライエタリな世界だったから。そういうプロの世界の隠語なのかな。』
『しかし30年以上経過して陳腐化したからって吹き出物みたいに今更出てきても仕方ないだろこんなもの』
『PCでさえベクトルプロセッサ化したビデオチップにマルチコア化したCPUが普及した現代においてこんな一本道の
逐次処理コードを使ってたんじゃハードは遊び放題だな。お前らのゲームボーイ(←DSのことらしい)で使ってるテクか』
『ステートマシンの逐次処理用の優先度付きキューを手作りしてたのか。今ならboostか次期C++標準のライブラリ
から出来合えのコンテナでも引っ張ってくればいいんじゃないの。あと、機能分析すればこの実装になる必然性はない』
『型システムを否定している。コンパイラによる最適化を阻害してる。自作ジャンプテーブルで条件分岐は高速化される
という先人のチョイテク・豆知識を天下り式に真似ているのではないか。それは太古の簡素なCPUアーキテクチャに
依存した公式に過ぎない。定理ではない』
『くだらない話をふってないで、お前は早く課題レポートを提出しなさい』
うぜぇオヤジだ
0465名前は開発中のものです。
2009/03/02(月) 23:57:02ID:j9iR0+6m> マイコン雑誌
この辺の単語の使い方に、世代を感じるなぁ。
0466名前は開発中のものです。
2009/03/03(火) 00:35:53ID:RAMjL7VZアダルトゲーム雑誌になってからしか知らないや
0467名前は開発中のものです。
2009/03/03(火) 00:54:38ID:nTxu8UVE何…?このポエム
今もタスク進化系が使われ続けてる現実を前にして
現実逃避してるのかな?
0468名前は開発中のものです。
2009/03/03(火) 01:06:03ID:gnPoJpgiならなくなるとか言っていた例の基地外だろ。
こんな低脳がアンチタスカーだから、アンチはみんな頭がおかしいと思われるんだ。
こんな奴、プログラマですらないので、この板から出てけよ。
0469名前は開発中のものです。
2009/03/03(火) 01:43:30ID:e/qFL/0Jシーングラフはタスクシステムの外国版(笑)
タスクシステム改(笑)
タスク進化系(笑)
出るわ出るわ。怪しげな僕んちのソフトウェアアーキテクチャ発展史
萎びた僻地で密教みたいにひっそりやってきた「俺んちのベストプラクティス」
そいつがお前にとってのプライスレスなのはわかるけどな
何の具体的な情報も開示せずに世間に認知してもらおうなんて考えちゃダメ
世の中そんなに甘くない
公にされず標準化もされないド田舎・ローカルのソフトウェアアーキテクチャや
ベストプラクティスと自認している者は、何の資料も出せない状態で世間の前で
顔真っ赤にして反論したりしない。黙ってる。そこを分かれ。出てくんな。みっともねー
幾つだよお前。誰だよ
反論するならお前の言うタスク進化系って奴が世間に認知される
ソフトウェアアーキテクチャ、ベストプラクティスとなるよう、きちんと文書にして
発表すべきだ
現在、世間の前に出てるタスクシステムに関する文献の中で唯一
書いた人間の出自が現場出身であることが垣間見えるのは秀和の
逆引きゲームプログラミングだけ。これを超えるものをお前が書けばいい
0470名前は開発中のものです。
2009/03/03(火) 01:50:47ID:e/qFL/0Jあー、やっぱあいつだよな
ヘッダーがどうのとか言い出した瞬間にイカ臭かったもんな
0471名前は開発中のものです。
2009/03/03(火) 02:03:06ID:nTxu8UVE>ベストプラクティスと自認している者は、何の資料も出せない状態で世間の前で
アンチじゃなくてもあんな原始的な仕組みをベストプラクティスと自認している人はいないと思うぞ。
あぁ、アンチって実はタスクシステムに過度に期待してる人たちなのかもね。
「こんな自分でもタスクシステムが理解できたらゲームが作れる…」って。
だから資料出せ、教えろ、説明しろってうるさいのか。
0472名前は開発中のものです。
2009/03/03(火) 02:09:19ID:e/qFL/0J>「こんな自分でもタスクシステムが理解できたらゲームが作れる…」って。
>だから資料出せ、教えろ、説明しろってうるさいのか。
今度はアンチは実は信者論か。がんばるねー
アクロバティックな発想に翻弄されちゃうねー
生ゴミの臭いを好き好んでかぎ回るのは信者なんだけど
アンチは臭いものは臭いんだからとっとと捨てればー?
とアドバイスしてあげてる分まだ常識があるねー
0473名前は開発中のものです。
2009/03/03(火) 02:22:24ID:e/qFL/0J今更開陳したところで世間に八つ裂きにされるのが目に見えてるからな
俺は絶対に晒さない。何年も前に廃棄したゴミアーキテクチャだから
とっくに葬り去ってお墓に入れたものをわざわざ引っ張り出して晒す
なんてマゾっけたっぷりの趣味は無い
0474名前は開発中のものです。
2009/03/03(火) 02:37:34ID:gnPoJpgi0475名前は開発中のものです。
2009/03/03(火) 02:42:58ID:e/qFL/0Jタスクシステムを叩く材料が不足したら呼んでね。補給してあげるよ
アンチ応援してるよ。あーねみー。ばいばーい
0476名前は開発中のものです。
2009/03/03(火) 02:53:26ID:eCcH4IzT0477名前は開発中のものです。
2009/03/03(火) 02:57:23ID:eCcH4IzT>とっくに葬り去ってお墓に入れたものをわざわざ引っ張り出して晒す
>なんてマゾっけたっぷりの趣味は無い
要するに、お前は過去の自分と戦ってるのか?
お前の暗い過去を皆に押し付けないで欲しい。
0478名前は開発中のものです。
2009/03/03(火) 07:34:27ID:NIkO1+LIタスクシステム使ってるなら総合ヘッダーに全部インクルードしてあると思うよ
仮に必要なものだけだとしても関連をもったものは全部インクルードしてやる必要があるから
この構造で作ったら切り離すのは容易じゃないよ
0479名前は開発中のものです。
2009/03/03(火) 07:50:27ID:NIkO1+LIポインタの保持を関連タスクに強制するうえ
パラが一つでも必要になったらタスクを新しく作らなければならない
折角、ごった煮にした意味がまるでないけどそれでいいの?
だんだんタスクなんて作らないほうがいいって結論になりそうで俺は満足だけどね
0480名前は開発中のものです。
2009/03/03(火) 08:19:58ID:gnPoJpgiお前が頭がおかしくて、プログラムの組めないド素人なのはよくわかったから
もうこの板に来んな
0481名前は開発中のものです。
2009/03/03(火) 08:53:25ID:HSt7mZciんなこたない
アンチな俺でも同意できる箇所が見当たらない
0482名前は開発中のものです。
2009/03/03(火) 10:09:41ID:T2e1Wx7e全レス内容無しってのが凄い。
0483名前は開発中のものです。
2009/03/03(火) 12:43:55ID:NIkO1+LIまあ、これは無理でしょ
タスク信者が必要な分だけインクルードしてるなんて考えられないから
ごった煮を表現するために総合ヘッダー絶対あるだろ
だからタスク信者の書くソースは分離できない
さらにタスク信者は引数使えないから総合ヘッダーにグローバル変数の塊もあるだろうし
奴らのソースはカプセル化なんて不可能と言っていい
テンプレートは使いたがるくせにオブジェクト指向は欠片もわかってない
0484名前は開発中のものです。
2009/03/03(火) 13:04:10ID:gnPoJpgi> ごった煮を表現するために総合ヘッダー絶対あるだろ
ない。お前はOOPの基本すらわかっていない。もう死んで。
0485名前は開発中のものです。
2009/03/03(火) 13:09:30ID:fc1Nudspなんでそこでテンプレートがでてくるのか理解できない
総合ヘッダにグローバル変数ときたら次はマクロだろ
0486名前は開発中のものです。
2009/03/03(火) 13:11:42ID:HSt7mZciOOPは関係ないだろ…
0487名前は開発中のものです。
2009/03/03(火) 13:11:56ID:UVBLimNu>総合ヘッダー
その発想は無かったwwwwwwwww
お前のコーディングすごいなwwwwwwwwwww
0488名前は開発中のものです。
2009/03/03(火) 13:14:20ID:HSt7mZci携帯からだったから483よく読んでなかったぜ
すまんこ
>>483
根拠の無い話ばかり並べても叩かれるだけ
0489名前は開発中のものです。
2009/03/03(火) 18:22:34ID:NIkO1+LI少なくともごった煮をデータベースとか言ってた馬鹿のソースには確実にあるね
そもそもそいつは制限や型を言語の進化の過程でできたものという認識がまったくなかった
タスク信者の大半がこんな奴ら
関連をタスクにするなんて言ってるけど
関連クラスとどうやってやりとりする気なんだよ
グローバル変数かポインタの保持くらいしかないだろ
また、無駄に問題が増える(笑)
使わないって選択肢は選べないのかね
0490名前は開発中のものです。
2009/03/03(火) 18:25:01ID:NIkO1+LIお前等馬鹿は
0492名前は開発中のものです。
2009/03/03(火) 18:34:43ID:gnPoJpgiこんな馬鹿、久しぶりに見た。
悪いこと言わないから、OOPの基礎から勉強しなおしなよ。
0493名前は開発中のものです。
2009/03/03(火) 18:57:02ID:NIkO1+LIタスク信者の組み方じゃ絶対分離なんて不可能
グローバルインスタンスホルダーが絶対にある
0494名前は開発中のものです。
2009/03/03(火) 19:09:12ID:gnPoJpgi仮想関数すら知らなさそうだな。本当、生きてて恥ずかしくないか?
0495名前は開発中のものです。
2009/03/03(火) 19:19:33ID:NIkO1+LIいまの話題と全く関係無いけど頭おかしいの?
弾クラスで自機クラス呼んだら自機クラスのヘッダーが必要になるんだぜ
基底クラスじゃ自機クラス呼べないんだぜ
もしかしてしらなかった?
0496名前は開発中のものです。
2009/03/03(火) 19:22:49ID:gnPoJpgi> 弾クラスで自機クラス呼んだら自機クラスのヘッダーが必要になるんだぜ
呼ぶ必要なんか全くないんだが。ほんと、馬鹿だよね。
0497名前は開発中のものです。
2009/03/03(火) 19:27:56ID:NIkO1+LIだからタスクシステムに固執してるんでしょ?
嘘はよくない(笑)
0498名前は開発中のものです。
2009/03/03(火) 19:31:36ID:gnPoJpgi本当、馬鹿すぎて泣ける。
ソース書いてみな。俺が添削してやるから。
0499名前は開発中のものです。
2009/03/03(火) 19:38:27ID:NIkO1+LI俺はごった煮とかやってる馬鹿なタスク信者をぶん殴ってるところなんだよ
俺がなんのソースをだすんだよ
日本語大丈夫かよ(笑)
ああ、頭悪いのか
それじゃしょうがないな
0500名前は開発中のものです。
2009/03/03(火) 19:42:26ID:gnPoJpgiだからお前の糞タスクシステムのソースを出せと言ってるんだ。
全タスクのヘッダをincludeしているところを書き直してやる。
0501名前は開発中のものです。
2009/03/03(火) 19:58:25ID:NIkO1+LI俺、タスクシステムなんて使わないんだけど?
だいたいソース書きたきゃ自分で書けよ
仮想関数とか明らかにズレた話題だしてる格下のお前の相手なんかしなきゃいけないんだよ
0502名前は開発中のものです。
2009/03/03(火) 20:10:55ID:gnPoJpgi仮想関数わかってないのお前。
> タスク信者が必要な分だけインクルードしてるなんて考えられないから
> ごった煮を表現するために総合ヘッダー絶対あるだろ
何度でも言うが、そんなものはないし、そんなことをする必要すらない。
まあ、このスレでわかってないのお前だけだろうから、俺はもう帰る。
基地外の相手してても仕方ないんでな。
0503名前は開発中のものです。
2009/03/03(火) 20:38:10ID:fQh6ZhSe0504名前は開発中のものです。
2009/03/03(火) 21:24:23ID:NIkO1+LIまさか全部ゲームオブジェクトにもたせんの?(笑)
ああ、お前等のごった煮ってそこまで腐ってんだ
0505名前は開発中のものです。
2009/03/03(火) 21:37:48ID:fQh6ZhSeとりあえず総合ヘッダー(笑)については、必要ないことを分かったかい?
まずはそこからだ。
0506名前は開発中のものです。
2009/03/03(火) 21:39:53ID:I1ftq2040507名前は開発中のものです。
2009/03/03(火) 21:48:44ID:gnPoJpgiお前は、OOPの基本がわかってない。
腐ってんのはお前の頭。
0508名前は開発中のものです。
2009/03/03(火) 21:54:48ID:gnPoJpgi糞野郎ばっかりなんだろうかね・・
0509名前は開発中のものです。
2009/03/03(火) 21:57:27ID:fQh6ZhSe同じPG職なら陰口叩かれてもいいレベル。
0510名前は開発中のものです。
2009/03/03(火) 22:01:20ID:I1ftq2042009年ゲ製痛い(ノ∀`)ニュース第1位確定だな。
道理でアンチタスク厨とは、マトモな会話が成り立たないわけだ。
0511名前は開発中のものです。
2009/03/03(火) 22:11:53ID:NIkO1+LIどうせ総合ヘッダーよんでんだろ
そうじゃなきゃごった煮の意味ないもんな
悔しかったら総合ヘッダー無しでプログラム組んでみろよ
データベースなんだろデータベース(笑)
0512名前は開発中のものです。
2009/03/03(火) 22:14:31ID:fQh6ZhSe使ったこともないのに想像だけで総合ヘッダーや癒着云々と否定しているのは滑稽すぎるわ。
0513名前は開発中のものです。
2009/03/03(火) 22:16:25ID:NIkO1+LI0514名前は開発中のものです。
2009/03/03(火) 22:21:10ID:AybnbhgS敵ワークx16 弾ワークx16 とか固定長バッファを用意して、使用中フラグのビットマップで管理して動かしてた
ワークエリア内にポインタを書いてリストや仮装関数を実現するには500kHz程度クロックのCPUには重荷だった
今はもうゲームとして動いてるならなんでもいいやって感じ
0515名前は開発中のものです。
2009/03/03(火) 22:41:02ID:I1ftq204総合ヘッダー(笑)って何だよ!
総合病院にでも診てもらってこい。
C++入門者未満のくせに、デカイ顔してノイズ垂れ流しやがって。
タスクシステムを語るには20年早いわ。
0516名前は開発中のものです。
2009/03/03(火) 23:02:20ID:Gs0swA+Hどこからでも #include "main.h" をすればコンパイルは通る
分割コンパイルの意味の分かっていないバカのやることだよ
ええ そうですよ 私の講師がそうだったように・・・
0517名前は開発中のものです。
2009/03/03(火) 23:13:28ID:KhkzCgZ3C++で実現している
ソース晒そうか?
0518名前は開発中のものです。
2009/03/03(火) 23:28:24ID:UfdUZfM/0519名前は開発中のものです。
2009/03/03(火) 23:37:31ID:UfdUZfM/本元のクラスでなくて、抽象クラスを、includeするということ?
/*総合.h もしくはそれの#include*/
class IHoge : public ITask
{
virtual SomeFunc() = 0;
};
/*Hoge.cpp*/
class CHoge: public IHoge
{
SomeFunc();
};
ということ?
多分、総合ヘッダといった人は、IHogeを抜いて考えていたと思う
もしくは、それでもIHogeを利用するところからIHogeが見えないといけないジャンという
ことを言いたかったのかも
タスクとマルチコアとかの関連っぽい記事を発見したので張っとく
理解はしていないので、賢い人解説して
そして建設的な話をして
http://www.gamasutra.com/view/feature/3941/sponsored_feature_designing_the_.php?page=1
0520名前は開発中のものです。
2009/03/03(火) 23:38:58ID:UfdUZfM/0521名前は開発中のものです。
2009/03/03(火) 23:47:42ID:YUVx5SHcタスクと言う言葉を軽々しく使わないで下さい
0522名前は開発中のものです。
2009/03/03(火) 23:52:38ID:NIkO1+LI馬鹿はどっかいけよ
0523ID:EEKBitmg
2009/03/04(水) 00:02:09ID:vv/UkwCS総合ヘッダーさん(ID:NIkO1+LI)と引数さんは同じ人だと思うが、まぁそれはそれとして
総合ヘッダーさんはCodeZineの記事に出てくるようなタスクシステムのことを言ってるんだろ?
CodeZineの記事を書いた人は俺と同い歳くらいの学生さんだと思う。叩くつもりはないが
グチャグチャに絡み合ってる反面教師的なコードとしてはなかなか秀逸だなーと思う
task.hに
自機、敵機、自機の弾、敵機の弾 狙い撃ち、爆発、自機の制御、敵の出現制御
ステージ制御、ライフバー管理、スコア管理、タイトル画面、ゲームオーバー画面
といったTaskEx派生クラス全ての宣言をまとめてぶちこんでいる
で、例えば自機弾クラスのソースコードの中を見る。まず先頭でtask.hをインクルードしている
次に自機弾クラスの当たり判定メソッドの中を見る。こいつの中では
int 敵数=GetCount(ENEMY); // 敵の数よこせ (循環リストを総舐め)
for(int i=0;i<count;i++){
敵クラス *task=(敵クラス*)GetTask(ENEMY , i ); //i番目の敵よこせ (ヒットするまで循環リストを舐める)
…
}
という感じで 『"グローバルインスタンスホルダー"の検索結果 3 件中 1 - 3 件目』
に対して、『敵を全部くれ』と要求して、敵クラス型にキャスト(static_cast)している
循環リストを舐めまくりでびびった。HSPでこんなコード組んだら重くて普通に死ねる
C/C++を使うメリットを遺憾なく発揮してると思った
0524名前は開発中のものです。
2009/03/04(水) 00:18:28ID:43lD+2sKアンチだけれども、別にごった煮にして、
全てをなめるような実装にしなくてもいい気がする
最初から型ごとにリストを持ってそれごと返せばいい訳だし
ヘッダに全部宣言を入れていたのも、サンプルとしてそうしていただけで、
ヘッダが必要な個々の実装でincludeさせてそこでキャストさせればいい
そうすると、型ごとリストへ割り振りは、本当の型で判断できないので
別の情報で型を識別させるようにして型ごとリストを持たせればいいのでは?
タスクシステムに入れる時に型名を文字列で渡すとか
ここらへんは、タスクシステムの弱点ではない気がする
何回も語られているけれど、本当の弱点は、
静的に片付くものをわざわざ動的にして問題を複雑にしている点だと思う
素人考え?
0525名前は開発中のものです。
2009/03/04(水) 00:23:18ID:w8Rwmagw意味がわからない。例えば?
0526名前は開発中のものです。
2009/03/04(水) 00:31:05ID:mN9/jFMxそれなら、最初からふつーにメンバ変数で持たせて終わりじゃない?
class Scene {
Player player_;
Enemies std::list<Enemy> enemies_;
...
};
0527名前は開発中のものです。
2009/03/04(水) 00:40:31ID:43lD+2sK静的というのは、シーンクラスのメンバもしくはそのメンバに
自機、敵機、自機弾、スコア管理、ステージ制御などを階層を持たせて
配置しているということ
動的というのは、(少なくともインターフェイス越しには)ごった煮の
グローバルなリストから個々のインスタンスが勝手に互いを参照し合って
どうも統制が取れてなさそうに見えないこと
上の静的でも崩壊させることができるけれど、上手く設計すれば問題は起こらないはず
で、ごった煮はその問題をただ先延ばしにしてしまっているようなイメージを持っている
だからアンチ
>>524
そう。そう思う。
だからアンチ
0528名前は開発中のものです。
2009/03/04(水) 00:48:30ID:43lD+2sKどうも統制が取れているように見えないこと
0529名前は開発中のものです。
2009/03/04(水) 02:40:49ID:hHE159vFタスク進化系がいまだにコンシューマゲーム開発の現場で生き残っているのは単純に無駄が無いから、ってのも理由の一つ。
スーファミからPS1へ、PS1からPS2へ、PS2からPS3へ移行するたびに、こんな大量のメモリ使い切れん、と思ったものだが
なぜかマスター寸前の修羅場になるといつもメモリも速度も足りなくなりチューニングに明け暮れる日々が続く。
これはメモリ128Kのスーファミ時代から256MBのPS3まで、コンシューマ開発では変わらん定例行事。
そして常にメモリとコードの無駄を減らす圧力にさらされるんだけど、タスクみたいに毎フレーム相当数呼ばれる処理に
無駄が見つかると真っ先に削られる。
この修羅場では「可読性が…」とか「OOP的に…」なんて甘い理由よりも少しでも軽量なコードで動かすことが優先される。
で、PS3時代にもタスク進化系が生き残ってる、というわけだね。
仮想メモリつんでてスペックはユーザ毎にばらばらのPC環境では特定ハード向けにガリガリにチューニングなんて意味ないので
PC環境でしか作ったことの無い人間には理解できんだろうけど、
コンシューマ開発や組み込み系とみたいに固有のハード性能を120%使い切る開発スタイルではよくあること。
0530名前は開発中のものです。
2009/03/04(水) 02:55:00ID:43lD+2sKなるほど。全くコンシューマーを知らないけれど、説得力がある
では潤沢過ぎる程のメモリと、無限の演算能力がもしあったとしたら
喜んでタスクシステムは棄て去る?
0531ID:EEKBitmg
2009/03/04(水) 03:04:13ID:vv/UkwCS厨だけどさすがにこれは真似できないな
お前は凄い。俺は頭痛がしてきた。寝る
0532名前は開発中のものです。
2009/03/04(水) 03:13:07ID:43lD+2sK>>530は、タスクシステムが貧困な環境で使えるという>>529に対して、
ならば、十分豊かな環境だったらそうではないのか?という質問。
無限〜は *話を簡単にするため* の誇張した表現。
0533名前は開発中のものです。
2009/03/04(水) 03:29:05ID:hHE159vF無限のメモリと無限の演算能力があったら…?
それでも小規模なアクションゲーム系1人で作るならタスク進化系の管理システム使うと思う。
タスク系は下手に使うとバグの温床になるけど使いどころを間違えなければ便利だし。
まぁこれは慣れの問題なので、この手のゲームならこの手法で…とかだいたいやり方の想像つくし
タスク系固有のバグで苦しんだ結果、バグの温床にならない作り方が出来るようになってるから、ってのもある。
慣れた人間にとっては開発効率いいんだよね、あれ。
まぁでも新人込みのプログラマ数十人で大規模オンラインゲームを作る、とかならたぶん違う方法取るけどね。
0534名前は開発中のものです。
2009/03/04(水) 04:55:07ID:ll33Ou9u無限の資源があってもリスクと教育コスト考えれば結局C++使うだろうねー
無限の納期と無限の人材があるなら・・・遊んで暮らすだろうなー
0535名前は開発中のものです。
2009/03/04(水) 05:47:21ID:kXQL8zXxプロセスがタスクじゃないのね
ではマルチプロセス対応というのは真っ赤な嘘になるわけだ
0536名前は開発中のものです。
2009/03/04(水) 06:56:53ID:m+X+Qg7jタスクシステムはsingletonじゃねぇぞ。
タスクのなかに別のタスクシステムをcompositionで配置してタスクを
階層化できるが、お前本当にOOPわかってんのか?
0537名前は開発中のものです。
2009/03/04(水) 07:31:28ID:NGMxgsfOだいたいそんなのやるならはじめから分けてもてよ
0538名前は開発中のものです。
2009/03/04(水) 07:34:46ID:NGMxgsfO並列にするなら少なくとも並列にするデータは分けないと動かない
ごった煮でできるわけない
0539名前は開発中のものです。
2009/03/04(水) 08:44:10ID:mN9/jFMxメモリ使用量の大半を占めるのはテクスチャ・モデル・モーションなどのデータで、
CPU使用時間の大半を占めるのはヒット判定や AI 処理。
いわゆるゲームオブジェクト (プレイヤーとか) で多少削ったところで、誤差にもならない。
0540名前は開発中のものです。
2009/03/04(水) 08:48:07ID:m+X+Qg7j> そんなの全く意味がないじゃん
そんなこたあ、ない。
0541名前は開発中のものです。
2009/03/04(水) 08:49:26ID:2ryo6+k/でもそれを超えると破綻すると思う。
0542名前は開発中のものです。
2009/03/04(水) 08:49:27ID:m+X+Qg7j阿呆すぎて泣ける。
前スレ510のプログラム、あれ並列化できないの?
本当に1行でもプログラム書けるの?
タスクシステム使わなくていいから、前スレ510のプログラム、並列化してみなよ。
0543名前は開発中のものです。
2009/03/04(水) 08:51:55ID:m+yO0HqN彼を養護してるアンチはいないようだが
そこまでして印象操作したいの?
0544名前は開発中のものです。
2009/03/04(水) 08:52:16ID:m+X+Qg7j> それなら、最初からふつーにメンバ変数で持たせて終わりじゃない?
そのメンバ変数が指しているオブジェクトが生きていることを誰がどうやって保証するんだ?
0545名前は開発中のものです。
2009/03/04(水) 08:54:00ID:m+X+Qg7jこのスレのアンチタスカーのレベルが総じて低すぎる。
タスクシステムに限らずフレームワークなんて、使える範囲で使えばいいだけのことなのに
完全否定する奴は完全肯定する奴と同罪で、頭おかしい。
■ このスレッドは過去ログ倉庫に格納されています