- 1 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 12:38:10 ID:rVEgp4cM]
- タスクシステムについての議論、相談、質問、雑談などのスレです
part3 pc11.2ch.net/test/read.cgi/gamedev/1226199100/ part2 pc11.2ch.net/test/read.cgi/gamedev/1196711513/ part1 pc11.2ch.net/test/read.cgi/gamedev/1173708588/
- 167 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:00:43 ID:NuBn44S3]
- >165
不可視ってつけたのはちょっと余分だったかもな。別に可視でもいいんだ。STGの場合は、 弾という可視の攻撃判定オブジェクトを介して敵と自機が攻撃しあってるわけだ。 例えば格闘ゲームでパンチなりキックなりするばあい、攻撃判定の瞬間だけ拳や足先に 不可視の攻撃判定オブジェクトを作るというのはよくやること。この場合は、その攻撃判定 オブジェクトに『威力』なり『方向』なりの属性を与える。攻撃を受ける側は、その『威力』なり 『方向』なりを攻撃判定オブジェクトが当たった位置と一緒に見て、それぞれのダメージモーションを 再生したりダメージ処理に移行する。 波動拳(のような何か飛び道具)なら、可視の攻撃判定オブジェクトになるだけ。 スクリューパイルドライバー(のような何か近接巻き込み方攻撃)なら、巻き込み範囲を持つ不可視の 攻撃判定オブジェを作って、それにそれぞれへのコールバックを持たせる。当たったらコールバックを よんで攻撃側・被攻撃側それぞれに対してモーション発動なりなんなりをする。
- 168 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:00:43 ID:cn84NiHO]
- >>165
>不可視 あ、この部分は見落としていた >>152は「一瞬で目標に到達するレーザーみたいな攻撃(視覚効果なし)」 を想定してたのかな
- 169 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:02:12 ID:NuBn44S3]
- >166
ガンバレw 努力の人はさすがにすごいと思うよw 学習できない無能はもっとすごいと思うけどねw
- 170 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:03:15 ID:XPRCk6pD]
- >>162
だから処理纏めたいときは普通はインターフェイスとか使うの。 オブジェクトのやり取りなんかしない。 class X{ public: virtual void hoge()=0; }; class A : public X{ public: void hoge(){} }; class B : public X{ public: void hoge(){} }; for(int i=0; i<tasks.size(); ++i){ X *x = dynamic_cast<X *>(tasks[i]); if(!x){ continue; } x->hoge(); } とかすれば処理は纏められるだろ。 で、どう纏めるかは問題ではなく、これをどこに書くかが問題なんだ。
- 171 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:04:03 ID:cn84NiHO]
- >>167
格ゲのAABB当たり判定か。把握
- 172 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:06:52 ID:NuBn44S3]
- >170
で、どこに書くの? 間にオブジェクトを介在させる場合は、書くべき場所はひとつしかないけどね。
- 173 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:15:06 ID:cn84NiHO]
- >>166
> B1 B2 >A1 S1 S2 >A2 X X >A3 X X > >X はなにもおきない >S1は爆発 >S2は押される あれ。当たり判定表はアリだと思うが…
- 174 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 02:26:27 ID:XPRCk6pD]
- >>172
シーンクラスが良いのではないかということになってる。 >>167 オブジェクトを作るのは、インスタンスを複数にするためであって、 処理を纏めるためではないと思うぞ。
- 175 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 03:15:44 ID:cn84NiHO]
- >>174
シーンが肥え太る?ゲームエンジン(神)が肥え太ってんだよ 肥え太ったゲームエンジン(神)が作りしシーン その中での現象に関して肥えた神にお願い・お祈り・お伺いするためのインターフェース これをシーンが提供してる。それだけのことだ 神と交信するためのインターフェース(シャーマン、イタコ)は色々ある 物理エンジンにしかアクセスできないインターフェースとか どのインターフェースを使えるかはゲームオブジェクト(アクター)によりけり あとおまえやねうらおじゃない?睡魔に耐えてたらESPが冴えてきたぞ 外れてたらごめんね。もし当たってたら一言言わせろ あんたさー知りもしない昔の話を捏造してペラペラしゃべってる暇あんなら 一次情報にアクセスしてきっちり裏取れよな あれじゃネット発のタスクシステム都市伝説の怪文書がまたひとつ増えただけじゃん 松○とドングリだろ。悔しくないのか?足使えよ足 ネットとか2ちゃんで怪情報かき集めて本書くな
- 176 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 03:17:17 ID:cn84NiHO]
- アンカーミスだ。>>134な
ばいばい
- 177 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 03:31:08 ID:dNGvkNLd]
- >>175
横レスですまんが、やねうらおに関しては、 遠藤さんとも面識があるみたいだし、 d.hatena.ne.jp/yaneurao/20090108 吉村さんとも知り合いみたいだし、 d.hatena.ne.jp/yaneurao/20081004 岩谷さんが取り上げるぐらいだし、 d.hatena.ne.jp/yaneurao/20060212 彼は2chなんか端っから相手にもしてないだろう。 自分の説が正しいと思うなら是非どこかのブログで 今回の記事に反論してみてくれ。俺はそれを楽しみにしている。
- 178 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 03:42:55 ID:lLkuERdr]
- 今回の記事は魅力ないでしょうよw
前スレでタスク信者が詰まってたところ全部無視だものw
- 179 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 03:46:47 ID:dNGvkNLd]
- 俺はweak_ptr使って実装するっての一つにしても為になったがな
まあ、あの記事から何も学べない奴は学習能力がアレなんだろうな
- 180 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 03:56:42 ID:zBw0rbcy]
- ID:lLkuERdrは10年以上プログラムやってて( >>123 )、
C++が使えない( >>125 )ってぐらいだから、まあ、本当にアレなんだろうけどな・・
- 181 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 04:20:56 ID:lLkuERdr]
- >>179-180
あんたが複数IDを使えるのはもうわかってるよ このスレのはじめのほうでもやってただろ? でもいいの? あんた自分より賢い人には絶対にたてつかないクズじゃん 俺なんかに噛み付くと反撃が痛いんじゃない?w
- 182 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 04:26:54 ID:XPRCk6pD]
- weak_ptr とかはもうすでにみんなやってるでしょ。
そこはそんなに。本質とは違うというか。 別にタスクが死ぬごとに各タスクのOnDeleteTask(Task *)がコールされるとか言う実装でもかまわないわけで。 全般にわたって高速化のことしか書かれていないが、そんなの正直どうでも良い。 ってのが感想。
- 183 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 04:52:05 ID:dNGvkNLd]
- >>182
> 別にタスクが死ぬごとに各タスクのOnDeleteTask(Task *)がコールされるとか言う実装でもかまわないわけで。 それは、何かweak_ptrを勘違いしてそうだな・・。 OnDeleteTaskのときに、被参照ポインタをどうやって無効にするんだ?
- 184 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 04:55:04 ID:dNGvkNLd]
- >>181
> あんた自分より賢い人には絶対にたてつかないクズじゃん それは、俺を他の誰かと勘違いしてねーか 俺はC++わからないとか、デザパタわからないとか、 そんなド素人と話しても得ることがないから、そういう奴とは話さないだけだよ
- 185 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:10:37 ID:XPRCk6pD]
- >>183
class my_task : public task { task *m_ptask1; public: virtual void OnDeleteTask(task *ptask) { if(m_ptask1==ptask){ m_ptask1=NULL; } } };
- 186 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:15:04 ID:dNGvkNLd]
- >>185
ああ、言わんとしていることはわかったし、あんたはまともなプログラマに属すると言えるとは思うが、 そのコードだとオブジェクトの削除はO(N^2)になるよな。 俺の現場ではそんなコードは全然現実的じゃないんだが。 あんたは本当に数万オブジェクトの出てくる規模のゲーム書いたことあるの?
- 187 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:18:34 ID:XPRCk6pD]
- ただ、これらの話題で絶対出てくるのが、
オブジェクトのdeleteが、他のオブジェクトの何かの処理の引き金になるのは変だって話。
- 188 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:20:49 ID:dNGvkNLd]
- もちろん185の実装は別に間違っちゃいないので、俺の183は発言を撤回する。
185があまり良くない実装だと理解した上で確信犯的にやっているんだろうから。
- 189 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:24:50 ID:dNGvkNLd]
- >>187
> オブジェクトのdeleteが、他のオブジェクトの何かの処理の引き金になるのは変だって話。 (そういう議論が発生するのはわかるが)それは、変じゃないだろう。 被参照ポインタの無効化というのは、そもそもそういうものだから。
- 190 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:43:13 ID:XPRCk6pD]
- >>186
まぁ10000も出すとなぁ・・・ ともかく、weak_ptrぐらい自前で書けるし、他の方法もあると言いたかった。 つーか、10000もオブジェクト出すって、何のゲームよ。
- 191 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 05:54:06 ID:dNGvkNLd]
- >>190
> ともかく、weak_ptrぐらい自前で書けるし、他の方法もあると言いたかった。 weak_ptrと同性能のものを自前で書くだけでも結構大変だと思うがな。 少なくとも現場のプログラマがやるのは時間の無駄で車輪の再発明以外の何物でもないと思うのだが。 > つーか、10000もオブジェクト出すって、何のゲームよ。 いまどきの3Dのゲームでは、足や手のパーツごとに接触判定を持っていて、それぞれのパーツが 独立していて、それぞれがC++のオブジェクトになってたりするのだが。
- 192 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 06:30:12 ID:XPRCk6pD]
- いや、ま、どういうか。
再発明だろうがなんだろうが、あまりどうでもよくて、 要するに、そういうところで困ってる人はいないだろうと。 余談だが、 そもそも、不正なポインタをオブジェクトが抱え込んでしまっているような状況事態がバグに近いわけで。 昔weak_ptrのようなものを使ったコードも書いたことがあるが、釈然としなかった。 だって、lock出来るときと出来ないときでコードが分岐するなんて、変だ。 そういう仕組みに頼ってると、オブジェクトの所有権がどこにあるのかわからないコードになりがち。 オブジェクトは作ったやつが削除すべきという結論に達したが。。
- 193 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 06:46:43 ID:dNGvkNLd]
- >>192
> そもそも、不正なポインタをオブジェクトが抱え込んでしまっているような状況事態がバグに近いわけで。 そんなことはない。 シューティングで、子分より親分が先に倒されることは普通にありえるだろ? 子分は親分のポインタを保持していてはいけないのか?違うだろ? そういうとき、どういうコードを書くつもりでいるんだ?コードで示してくれ。
- 194 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 06:49:26 ID:dNGvkNLd]
- >>192
> オブジェクトは作ったやつが削除すべきという結論に達したが。。 これも全くのでたらめ。 シューティングでボスがザコをどんどん生成するときのことを考えてみてくれ。 ボスはザコより先に逝っちまうことがあるだろ。 ザコから参照されているからボスはいつまでもオブジェクトを解放しないのか?違うだろ。 オブジェクトの所有者は、そのオブジェクトを生成した奴(ボス)にあってはいけないんだ。 もしそう設計しているならそれは設計上の誤り。
- 195 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 07:11:16 ID:XPRCk6pD]
- >>193
>シューティングで、子分より親分が先に倒されることは普通にありえるだろ? >子分は親分のポインタを保持していてはいけないのか?違うだろ? >そういうとき、どういうコードを書くつもりでいるんだ?コードで示してくれ。 親分も子分も、シーンクラスが管理すればよい。 >シューティングでボスがザコをどんどん生成するときのことを考えてみてくれ。 >ボスはザコより先に逝っちまうことがあるだろ。 なぜボスがザコを生成する必要がある? シーンクラスがザコを生成、削除すればよい。 Cのmallocにはweak_ptrのような仕組みは用意されていないが、世のプログラムはちゃんと動いている。 windowsのウィンドウハンドルにもweak_ptrのような仕組みは用意されていないが、ちゃんと動いている。 なのにゲームではweak_ptrに頼らざる得ない状況になるというのなら、それは設計が悪いからだろう。 だけど止めはしない。weak_ptrをつかってゲームを書いてみるといい。きっと後悔するから。
- 196 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 07:23:17 ID:dNGvkNLd]
- >>195
> 親分も子分も、シーンクラスが管理すればよい。 うわ。それはひどい。なんか、またド素人と話している予感。 子分を生成したくなるタイミングは親分が親分のロジックにおいて決定するのだから、 あんたの作りでは、親分がシーンクラスに対して子分の生成を依頼するコードが必要になる。 どんな依頼コードを書くの?それ書いて見せてくれないか。 > windowsのウィンドウハンドルにもweak_ptrのような仕組みは用意されていないが、ちゃんと動いている。 何を勘違いしているのか知らないが、WindowsのHANDLEもweak_ptrも目的は全く同じなんだが。
- 197 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 07:27:41 ID:Smy/5DJP]
- シューティングでボスとザコが居て、ボスとザコが何故か紐で繋がってたとする。
紐の管理はボスとザコのどちらですべきか? 答えはどちらでもなく、 ボスとザコと紐を管理するボス戦クラスを作って、全部纏めてそっちで管理すべき。
- 198 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 07:28:38 ID:dNGvkNLd]
- >>195
> ゲームではweak_ptrに頼らざる得ない状況になるというのなら、それは設計が悪いからだろう。 「ゲームではweak_ptrに頼らざる得ない」なんて俺は言ってないからな。 weak_ptrを使えば簡単に書けるものを、馬鹿が車輪の再発明したり、weak_ptrを知らないがために 複雑な設計になっていたりすると言ってるだけなんだが。
- 199 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 07:37:27 ID:dNGvkNLd]
- >>197
> ボスとザコと紐を管理するボス戦クラスを作って、全部纏めてそっちで管理すべき。 まあ、それは否定しないが、「そっちで管理すべき」の「管理」の方法は?
- 200 名前:ID:XPRCk6pD mailto:sage [2009/02/07(土) 07:40:43 ID:Smy/5DJP]
- ID変わってしまったけど、俺がID:XPRCk6pDな。
>>子分を生成したくなるタイミングは親分が親分のロジックにおいて決定するのだから、 >>あんたの作りでは、親分がシーンクラスに対して子分の生成を依頼するコードが必要になる。 >>どんな依頼コードを書くの?それ書いて見せてくれないか。 依頼などしない。直接シーンクラスに書く。直接がいやなら、子分と親分を管理する大親分クラスを作って そっちで管理する。 >>何を勘違いしているのか知らないが、WindowsのHANDLEもweak_ptrも目的は全く同じなんだが。 ハンドルは同じ値が再利用される可能性もあるわけで。
- 201 名前:ID:XPRCk6pD mailto:sage [2009/02/07(土) 07:50:35 ID:Smy/5DJP]
- >>199
>まあ、それは否定しないが、「そっちで管理すべき」の「管理」の方法は? 好きにすれば? 複数のクラス同士が双方向にコミュニケートするような状況さえ回避できれば、 あとは考えることなんてないね。
- 202 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 07:55:22 ID:dNGvkNLd]
- >>200
> 依頼などしない。直接シーンクラスに書く。直接がいやなら、子分と親分を管理する大> 親分クラスを作ってそっちで管理する。 まあ、それでも組めなくはないのであんたが実際にゲームを書けないとは 言うつもりはないが、しかし、あんたは、大きなゲームを作ったことがなさそうだな。 オブジェクトが無数に出てきて広大なフィールドを歩けるタイプの 汎用的な3Dエンジンなんかを作れば俺が言ってる意味がわかると思うんだが。 まあいいや。お互い意見が対立しているわけでもなさそうなので、俺はもう寝る。
- 203 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 08:17:52 ID:lLkuERdr]
- >>200
俺もシーンクラスに書く その設計でいいと思うぜ ID:dNGvkNLdは普通に頭悪いだろw 質問攻めしてるけど明らかに予想外の答えにうろたえてるだろw
- 204 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 08:28:02 ID:dNGvkNLd]
- >>203
C++すら使いこなせないド素人は黙ってな
- 205 名前:ID:XPRCk6pD mailto:sage [2009/02/07(土) 08:57:06 ID:Smy/5DJP]
- >>202
そういうコテコテしたプログラムも書いたことがあるが、今では間違いだったと考えている。 少し前までは私も「オブジェクトは自立しているべきであり、周りの状況を判断し、自分で行動すべきだ」、 と考えていた。私もまだ若かったし、C++がそういう設計思想であることも手伝って、そういう勘違いをした。 作ってみたらうまくいかず、考えてみたら、オブジェクト同士の関係を見落としていることに気がついた。 ゲームはオブジェクト同士が関係しあって初めてゲームになる。 そこを重点的に記述できないことには楽しいゲームを作ることは難しい。 昨今の大作ゲームがどことなく味気ないのもそのあたりが原因では?
- 206 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 09:17:54 ID:dNGvkNLd]
- >>205
> 昨今の大作ゲームがどことなく味気ないのもそのあたりが原因では? それは、全然的外れだろう。 本当に現場のことは何も知らないんだな。 せいぜい同人ゲーでも作ってなよ。
- 207 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 09:21:58 ID:lLkuERdr]
- >>206
苦しくなると話の趣旨と違うところだけつまんで 人格批判からレスの全部否定に入るっておきまりのパターンなのなw
- 208 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 09:29:38 ID:dNGvkNLd]
- >>207
C++すら使いこなせないド素人はこなくていいよ
- 209 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 10:06:26 ID:iAQtrtU5]
- c++使わなければどうでもいい話題ばっかだな
- 210 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 10:18:48 ID:hO/vsQBF]
- >>192
deleteされたポインタを直接参照しているオブジェクト全てにその旨通知するように設計したいと思った。 >>193 子分::親分からの指令(親分へのポインタ) みたいなメソッド作って、 子分は親分からの指令があった時だけ、親分へのポインタを参照しながら協調動作すればいいんじゃね。 子分が親分のポインタを持つ必要は無いよ。 >>197 ボスと雑魚は紐なんか無視して、それぞれ独立に動いていい。 紐は自分のグラフィックを表示しつつ、ボスと雑魚に対して「これいじょう伸びないよ」的な力(or メッセージ)を与える。 それ以外の点では、紐は普通の登場キャラと同じような扱いで良いと思う シーンクラスに何か特別なことを書く必要なんて無いよ。
- 211 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 10:51:31 ID:lLkuERdr]
- >>210
どっちにしてもシーンみたいなクラスあったほうがいいじゃん
- 212 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 11:11:23 ID:lLkuERdr]
- >子分は親分からの指令があった時だけ、親分へのポインタを参照しながら
子分のクラスなんだから子分の処理だけで完結したいと思わないんか? カプセル化っていうの?
- 213 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 11:13:45 ID:hO/vsQBF]
- >>211
うん、あった方が良いと思う。 実際にシーンクラスが何を担当するのかはここに居る人それぞれが全く違うイメージを持ってそうだけど。
- 214 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 11:47:33 ID:hO/vsQBF]
- >>212
子分は親分と協調し、親分は子分と協調するのだから、 お互いに通信しあう仕組みは必要で、完全に分離するのは不可能だと思う。 ふと思えば、俺の方法だと、子分が死んだことを親分はどうやって感知するんだって思ったw
- 215 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 15:40:54 ID:NuBn44S3]
- >174
おまえはタスク=ゲームオブジェクト派か。 プログラミングなんて、正しく動くなら何やったっていいんだよ。くだらない価値にこだわってると 伸びないぞ。
- 216 名前:名前は開発中のものです。 [2009/02/07(土) 16:25:49 ID:21jTa7Aw]
- シーンクラスって作る価値があるのかね
シーンってメニューやスコアやRGPならフィールドや戦闘なんかのことだろ 一つのゲームに必要なシーンなんて十もないんじゃないか そしてそれぞれのシーンに共通点なんてほとんどない 共通しているのはデータ取得メソッドみたいなのだけ 各シーンは遷移するけどstateパターンを適用しても メリットはほとんどない そんなどうでもいい部分を考えている暇があるなら うんこでもして寝てしまえ このうんこ野郎ども
- 217 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 18:36:36 ID:vE7+xmqT]
- >>216
2個以上なら作る価値はあると思うがね
- 218 名前:名前は開発中のものです。 [2009/02/07(土) 19:39:16 ID:21jTa7Aw]
- なんでもできちゃうクラスみたいなのを作るからバカになる
つけちゃえばぱわーあっぷみたいなガキの発想じゃあるまいし なんでも作ればいいってもんじゃない 二つしかないクラスに親クラス作ってクラスが三つになって すごいんだぞーとかバカじゃねーの ばーかばーかしんじゃえ そんなとこに柔軟性持たせる暇があったらうんこでもしてろ うんこうんこ
- 219 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 19:48:57 ID:B+kDbAoq]
- なんでもできちゃうクラスみたいなのを作るからバカになる
つけちゃえばぱわーあっぷみたいなガキの発想じゃあるまいし なんでも作ればいいってもんじゃない 三つしかないクラスを統合してクラスが二つになって すごいんだぞーとかバカじゃねーの ばーかばーかしんじゃえ そんなとこに柔軟性持たせる暇があったらうんこでもしてろ うんこうんこ
- 220 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:03:53 ID:lLkuERdr]
- >>214
だからシーンに書けよw
- 221 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:08:26 ID:VeizsAKm]
- シーン。。。
- 222 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:10:02 ID:qvO9PNvj]
- >>219
でもよ、 「あれもしなきゃ、これもしなきゃ」って状況で、修正作業が発生して、 2回だけでも同じ修正作業をやるのって、憤慨「ウガアーゥアーッ!!」状態にならね? C++使ってるなら、template(汎用クラス)の親クラスは使わな損々。
- 223 名前:名前は開発中のものです。 [2009/02/07(土) 20:22:54 ID:21jTa7Aw]
- シーンをまたがって修正しなければならない項目なんてほとんどないから
考えるだけ無駄 メニューと戦闘のシーンでの共通項目なんてあるのかよ メニューと戦闘で使う共通キャラのモーションがおかしいから修正だぜ サブクラスにしておいてよかった俺天才超天才 なんて場面は百年に一度しかねーよ どうしても作りたければ似たようなシーンで共通の親クラス持てばいい 何度も言う、そんなくだらないコードを書く暇があるなら うんこしているほうがまし うんこをしていると新しいアイデアが生まれると過去の偉人も言ってた
- 224 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:43:13 ID:hO/vsQBF]
- >>223
>共通項目 それはつまり、タスクシステムのことだと思うよ!
- 225 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:47:22 ID:B+kDbAoq]
- >>222
? 親分クラスと子分クラス間の通信をシーンクラスが受け持つなら シーンクラス1箇所で修正済むんじゃない? >>223 シーンクラス否定したり肯定したり、立場がワカンネ もしかして否定したいのって「シーンクラス」じゃなくて 「抽象化されたシーンを統一的に管理するクラス」?
- 226 名前:名前は開発中のものです。 [2009/02/07(土) 20:47:40 ID:21jTa7Aw]
- すげぇぜタスコシステム
共通項目がない、なんの関係もなかった複数のオブジェクトを 無理やり関連付けやがった やべぇな、俺には真似できねぇぜ
- 227 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:48:43 ID:qvO9PNvj]
- 「シーン=メニューと戦闘」の入出力の具体が不明だが、
ウンウンきばっている段階(=設計の段階)で、 なんであれ抽象化できる部分はなるべく抽象化しておくんじゃねえの? 期限が決まっている状況であれば、なおのこと、それくらいの安全策は取るよな。
- 228 名前:名前は開発中のものです。 [2009/02/07(土) 21:01:07 ID:21jTa7Aw]
- >>227
一気に食おうとするな分けろ 夏休みの宿題なんてものは毎日少しずつやるもんだ 共通点なんて無理に抽出してもそれはオナニーだ シーンごとに分けろ、目標を分けろ メニューだけ作って完成させろ 戦闘だけ作って完成させろ 最後に適当にくっつければいいだけだ 全部同時に作って完成させる能力もないくせに 一度に全てをこなそうとするな 俺らは凡人だから、凡人にふさわしいやり方がある 規模の増大が複雑さのインフレを招くのは常識 それを回避するためにそれぞれの規模を抑えて できるだけ分離して開発するんじゃねーか 完成した複数のシステムをできるだけ触らないようにしてくっつければ それでいいんだよ 俺らは天才じゃねーから スーパー天才のやねうらお連中の言うことなんて聞かなくてもいいんだよ 俺らは凡人だ、凡人には凡人にふさわしいやり方がある そして余った時間を使って スーパーウンコタイムを楽しもうじゃないか 存分に
- 229 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:01:45 ID:B+kDbAoq]
- >>227
そして実装も終盤に差し掛かった段階で唐突に仕様変更が入り 抽象化して見えなくしておいた情報を使うために苦しむんですね わかります
- 230 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:05:45 ID:qvO9PNvj]
- >>229
仕様変更に柔軟に対応できるような抽象化を見極めるのもワザのうち。
- 231 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:09:34 ID:lLkuERdr]
- そんなのするから無駄に時間がかかるんだよ
って俺の10年以上の経験が言ってる
- 232 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:13:12 ID:B+kDbAoq]
- >>229
そう、ワザ要るよね 初めてのゲームジャンルとかだとまだワザが足りないから完全には見極め切れない 全く抽象化しないか本当にかるーくしとく位でちょうどいい
- 233 名前:232 mailto:sage [2009/02/07(土) 21:14:49 ID:B+kDbAoq]
- まちがえた
>>230
- 234 名前:名前は開発中のものです。 [2009/02/07(土) 21:22:28 ID:21jTa7Aw]
- どこにでもいるんだよ
将棋やってるのに穴熊を囲うことだけを考えて 大局を見ずに 穴熊が出来たと思ったら既に敗戦濃厚な戦局になっていたという そういうおばかさんが タスクシステムにこだわったところで 3Dを出来るようになるというわけではないということを 超天才が身を持って教えてくれた この教訓を未来に生かそうではないか諸君 そしてうんこを私に
- 235 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:25:18 ID:qvO9PNvj]
- 亀レスだが・・・
>>159 俺も、タスク間通信は、独立した当たり判定モジュール(クラスで実装)に任せている。 でもなあ・・・。 >関連がいっぱいになると無駄に共通化した処理が必ず邪魔になる >30回コピペして終わる程度の使いまわしなら30回コピペする気でいろ >そのぐらいでちょうどいい 言っていることはすごく分かるんだが、俺の場合、共通化する努力は続けているって感じだな。 ゲーム中のキャラの相互作用なんて、大体が抽象レベルでは、似通ったプリミティブな交差判定に落ち着くから、 共通化できるところは共通化しておくと、使い回しが利くんだよな。もちろんキャラの魅力は半減するが。 未出のメンバ構成のプロパティを持つキャラを追加する場合は、新規に作らざるを得ないよね。 当たり判定の共通化を突き詰めたゲームってなんだろな? 一昔前に乱発されたベルトコンベアアクションみたいなものか? 最終成果品としては、単調な作業を強いられるゲームだったよな。 最近の3Dゲーも、相互に影響しあうロジックが単調なのが多いな。
- 236 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 21:54:35 ID:WyIbglrc]
- 綺麗だと思ったタスクシステムの実装って関数型言語で作られたプログラムくらいしかないな
現行のC++やJavaは言語そのものがスマートじゃないもの… いくら頑張っても泥臭さは残るし、作った本人が胸を張ってもやっぱり泥臭さは残ってる アンチがいるのは理想論に近い良い手本がそこらに転がってないせいもあると思うし、あまり邪険にしないでやってほしい
- 237 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:03:54 ID:36NfOdFl]
- クックック。世の中には手段の為なら目的を選ばないどうしようもない奴がいるんだよ。
諸君。私はタスクシステムが好きだ。 (以下略)
- 238 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:10:25 ID:B+kDbAoq]
- 話題循環に飽きた俺が勝手に今後のスレ行き先予想
1.現状維持 アンチタスクシステム派がタスクシステム派の不備を指摘し続ける。 ずっとアンチのターン。あと10〜15年位?(根拠は無い) 2.タスクシステム派勝利 タスクシステムをそのまま維持した上で弱点を補強するような改善策が どっかからか出てきてアンチタスクシステム派が納得してスレから去る。多分無い。 3.「タスクフレームワーク総合part5」になる タスクシステムの利点?であるデバッガ等々の外部ツールを必須装備とし、 その作り方を初心者に優しく指南。 利点強化によるごり押しでアンチを一掃。多分無い。 4.「タスク系総合part5」になる アンチ勝利。part1から欠陥があると指摘され続けても「そこはお前の技術力が足りないせいだ」 的なコメントばっかり続くのを見て初心者が冷めた。 ただ、既存のタスクシステムは捨てるものの、 「タスクシステムもタスクフレームワークもだめぽorz でもMTフレームワークがあるさ!」 「タスクシステム総合=task system総合=タスク系総合だ。文句あっか」 みたいな流れで「タスク」という概念の在り方・使い道を模索する方向に。 マルチコアCPU当たり前になってきてるしね。 5.スレから人がいなくなる 不況で、、、とか、 ゲーム製作より動画製作のがおもしれぇw、とか いちアンチとしては4あたりに行ってくれると気兼ねなく去れるんだ。 っていうかむしろその辺議論したいんだ。
- 239 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:16:17 ID:Smy/5DJP]
- しかし、タスクシステム自体は描画順の管理という大仕事があるから必要だよなぁ。
- 240 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:22:01 ID:Smy/5DJP]
- というか、アンチ派はどうやって描画順を管理しているのか。
- 241 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:23:10 ID:Qq/VuJ9k]
- 描画順って何だ
3DならZバッファで終了とかじゃねえの
- 242 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:24:20 ID:dNGvkNLd]
- >>241
3Dでもエフェクトや半透明は描画順が必要だよ。 あんた、3Dのまともなプログラム、やったことなさそうだな…。
- 243 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:27:28 ID:Qq/VuJ9k]
- >>242
なるほど把握した トン
- 244 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:35:33 ID:UFXAc++2]
- >238
> いちアンチとしては4あたりに行ってくれると気兼ねなく去れるんだ。 素直に『アンチタスクシステム総合スレ』でも立てたらイイジャナイか。
- 245 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 23:38:11 ID:UFXAc++2]
- >240
その辺は描画エンジンが描画順を制御するようにしてる。 タスク(というかゲーム内の各要素)の更新順と、それらの描画順は正直関係ない。
- 246 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 00:29:39 ID:+GgCMkwp]
- >>245
タスク(というかゲーム内の各要素)と描画エンジンが扱う各要素のクラスは共有?
- 247 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 00:48:21 ID:9yKZ63FM]
- >>246
>>245ではないがそんな無駄な仕組みにはしないほうがいいだろ
- 248 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 01:00:09 ID:buJH1feo]
- >>238
オレはいち擁護派だが普通に4に行って欲しいね 同じことを続けていれば、なんだっていずれ通用しなくなるのは当たり前 古き良きタスクは穏便に「古典タスク手法」の棚に収めて、新しい合意を作っていけばいい どう考えても4が建設的だろう オレがアンチを叩く理由は単に非建設的だからだし
- 249 名前:名前は開発中のものです。 [2009/02/08(日) 01:08:11 ID:/7HQNkAm]
- 3Dできるやつでタスクシステム賞賛してる奴っているのかどうかに関心がある
3Dできないレベルの奴がキャンキャンほえても所詮雑魚 サイヤ人とスーパーサイヤ人ぐらいの差がある 3Dでのタスクシステムの実例とやらをこの目でみてみたいものだ
- 250 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 01:09:52 ID:gynQYFxx]
- 3Dできる奴できない奴とか言ってる時点で・・・
- 251 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 02:34:19 ID:2s89IpB8]
- 3Dになったところで何ら変わらないよ
- 252 名前:名前は開発中のものです。 [2009/02/08(日) 03:03:37 ID:ydU34I03]
- タスクシステムって決まった定義がないからなぁ…
しかも前提によって最適なタスクシステムは異なる。 シューティングとアドベンチャーで最適なタスクシステムは違うだろうし 携帯とかファミコンレベルのチープ環境と、PCやPS3クラスのリッチな環境とでは最適なタスクシステムも違うだろ。 前提が違うのにたった一個のシステムがベスト!ってのはありえん。
- 253 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 03:12:20 ID:HPpX5vQi]
- タコスはやっばりメキシコで食うのが一番だと思う。
- 254 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 04:05:03 ID:L1xVTjvz]
- ムーチョス・グラシアス!!!
- 255 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 04:20:27 ID:g+SgJHl1]
- >>252
この中の「タスクシステム」を「システム」に置き換えてもまったく意味は変わらない。 ほんと、意味の無い言葉だよ。
- 256 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 08:34:14 ID:mZ7S8TgR]
- 3Dが全くダメなばかりにいつも後続のガキ共に鼻で笑われてきた2Dオヤジ
2Dオヤジにとってタスクシステムとは、プライドを保つための最後の砦だった 心の支えだった。自己のアイデンティティを投影してまで愛していたんだ なのに、お前らときたら…
- 257 名前:名前は開発中のものです。 [2009/02/08(日) 10:46:39 ID:PqcaRaMD]
- >>256
2Dやってた世代が現役の現場なんてあんまり残ってないと思うが… 仮に残ってたとしたらやっぱりその世代がタスクシステム周りをやるのが妥当だと思う。 3Dが最新技術だから、ってのではなくタスクシステムは作るのに経験が必要だから。 3D、コリジョン、物理エンジン、AI、etc...はゲームの全体から見たらガワの部分。 ゲームの状態遷移やオブジェクト管理をするタスクシステム的なものはガワではなく屋台骨部分で、 この部分はゲーム毎に最適なものが異なり、設計するのには部分だけでなく全体を見通せるだけの経験が必要。 まぁ、いわゆるメインプログラマーの仕事の範疇。 3Dやシェーダー周りはプログラマの花形っぽくみられるジャンルだから若者には人気なんだけどね。
- 258 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 11:23:33 ID:9yKZ63FM]
- そんなもん構築するだけ時間の無駄なんだけどねw
- 259 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 11:32:03 ID:2s89IpB8]
- そんなもん構築するだけ時間の無駄って思ってる奴は三流なんだけどねw
- 260 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 11:44:16 ID:PqcaRaMD]
- >>259
まぁ、テトリスサイズのゲームならタスクシステム構築とかしなくても作れるけど ある程度大きいものだとそれなりの管理システムが無いとなぁ 日曜大工で犬小屋を設計図も柱も無しで作った人が 家やビルも同じように作れる、と思ってるのかもね。
- 261 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 11:51:17 ID:HiTeQllp]
- では
3Dでタスクシステクを採用している漏れが最強で敬われ存在なのだな まあ精々がんばりな 3Dができないorタスクが理解できない下賤者ども
- 262 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 12:49:10 ID:9yKZ63FM]
- >>261
じゃあ、>>12(前スレの>>824付近)からはじまるタスクシステムの欠点についてはどうなの? タスクシステムなんて使うからバグが増えるんだけど?
- 263 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 15:04:22 ID:L1xVTjvz]
- また引数クンかwww
- 264 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 15:15:51 ID:eFHTuswi]
- 自分が理解できてないことを判断できないやつって、根本的に開発に向いていないよね
- 265 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 15:20:07 ID:L1xVTjvz]
- 例えば、tekiAとtekiBがいたとして、teki_baseから派生させるとする。
class tekiA : public teki_base { ... }; class tekiB : public teki_base { ... }; それぞれが自機と関係性があるとし、そしてそれぞれが関係するワークを引数として持つ、 tekiA::update( jiki, mahou_kougeki ); tekiB::update( jiki, boss_cho_tsuyoi ); という関数があったとする。 1. このupdate関数の呼び出しはどのようになるのか? 2. tekiAがjikiの状態を変更したら、tekiBにとってそれは予期せぬ変更でないのか? 引数クンには、この2点について具体的な解答をしてもらいたいものだな。
- 266 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 15:32:54 ID:L1xVTjvz]
- あぁ、もうあと2点。
3. tekiAとtekiBをteki_baseから派生させるのは、是か非か? 4. teki_baseにupdate仮想関数を作成して派生クラスで実装する方式を取らないのは何故か? もあわせて聞きたいね。
- 267 名前:名前は開発中のものです。 [2009/02/08(日) 15:51:32 ID:/7HQNkAm]
- スーパーサイヤ人が最強だろ、雑魚め、クソが
よくよく考えてみるとクソクソ連呼するDBはなかなか下品だな 十年前に偉大なる将軍やねうおらさまと喧嘩した奴が 3D使いこなしているのを見て、やねうおらというひとは この十年間何をやって痛んだと疑問に思ったが そんなことは些細なことだと思った、 科学よりも宗教の方が強い世の中じゃからな 目的目標を欠いた設計論なんてクソの役にもたたぬよ 0.0001ミリの誤差も修正できる神業を極めたところで 家を建てる設計の助けにはならん
- 268 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 15:54:55 ID:L1xVTjvz]
- >267
全然最強じゃない。 ttp://www38.atwiki.jp/saikyouhero/?cmd=word&word=%E5%AD%AB%E6%82%9F%E7%A9%BA&type=normal&page=%E5%AD%AB%E6%82%9F%E7%A9%BA(%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB)
- 269 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 16:15:03 ID:gX7P2DSs]
- >>267
本題に関係ないツッコミで申し訳ないが 科学は宗教の一分野として発生した これ豆知識な
- 270 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 16:19:34 ID:9yKZ63FM]
- >>265
俺、ID:lLkuERdrだからテキトーにこのスレからIDとって まず思想を読んでみてくんない?
- 271 名前:名前は開発中のものです。 [2009/02/08(日) 16:20:45 ID:/7HQNkAm]
- 大局話してる最中に細部語り出す奴ってうざいよねー
細部語ってる最中に大局話し出す奴ってうざいよねー 何が言いたいかって言うと俺最強俺超天才 定義を明確にしない限りいくらでも攻撃できるし 定義を明確にしない限りいくらでも逃げつづれられるぜ タスクシステム最強カルト最強 3Dなんかできなくてもタスクシステムさえあれば スーパーサイヤ人だ 神の奇跡を信じよ、それがタスクシステムである 3Dはできないけどタスクシステム最強である
- 272 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 16:27:03 ID:iVlGRjYy]
- >>242
Zソートすればいいだろ 予めグループ化して描画するのはタスク云々とは関係がないし
- 273 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 16:28:49 ID:1so7d3Ot]
- お前ら、人に仕事割り振ってもらわないと、自分では何もできないタイプだろ?
- 274 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 16:29:22 ID:L1xVTjvz]
- >270
ok。 クズは失せろ。
- 275 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:04:08 ID:KsHb+JeN]
- タスクシステムとか気取った物言いしてるからどんな高尚なもんかと思ってみれば、
何のことはねぇ、MediatorパターンとObserverパターンを組み合わせただけじゃねえか、 アホらし。すかしてんじゃねえよ、ぼんくら共が!
- 276 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:06:27 ID:L1xVTjvz]
- デザパタやタスクを銀の弾丸か何かと勘違いしてないか?
- 277 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:11:51 ID:lbrou4Vq]
- パスタといえば俺ば明太子パスタが一番好きだな
- 278 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:18:44 ID:+p9NdvYA]
- ループさせすぎw
書いてるの同じ人だろw
- 279 名前:名前は開発中のものです。 [2009/02/08(日) 17:27:25 ID:/7HQNkAm]
- この無限ループを味わいたくなければ
タスクシステムなんてわけのわからない幻想は捨て去るんだな 無限ループで苦しむ時間を3Dの勉強に費やせば ポリゴンの一つもレンダリングできるようになる やねうおら大先生みたいにわけのわからない長文を書いて わけのわからないタスクシステムの解説を書くような老後をっ 送りたいならばそれも止めはしない それも人生よ タスクシステムはイディオムのようでイディオムではなく デザインパターンのようでパターンではなく フレームワークのようでフレームワークではないのだよっ 思い知ったか、このメスブタどもめ
- 280 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:41:19 ID:6h7R5+5k]
- >>265
少し違う話になるが、複雑な状態をもつインスタンスは外部から状態遷移させると危なくないか? 俺は外部からはメッセージ送るまでに留めて、実際にメッセージ処理して状態遷移するのは、個々のインスタンスに任せる。 これだと処理が1フレーム遅れたり、場合によってはメッセージ捨てられることもあるんだが、それでも外部から状態の詳細隠蔽できる利点を優先してる。
- 281 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:41:21 ID:+p9NdvYA]
- あなたややねうらお先生みたいにわけのわからない長文を
書くような大人にはなりません。
- 282 名前:名前は開発中のものです。 [2009/02/08(日) 17:52:59 ID:/7HQNkAm]
- やねうらお大先生様は自分の過去を正当化するために恥を上塗りしているだけ
俺はそう思う ただ長く理解しづらいまわりくどいわけのわからないことを書いて惑わすだけ 定義も何もない、ただそれっぽいことを誰にも理解できないように書いて 適当に権威のありそうなものを付け加えて ごまかしているだけ、子供のいいわけ、自己保身を計っているだけ あの人は小説家にでもなればいいよ、回りくどい文章を書いて 1を100に水増しして本を書いて適当に売ってればいいよ タスクシステム語ってる連中の気に食わない点の一つとして 定義を明確にしようとしない 設計の話だと思って設計の話をすると 急にイディオムの話に切り替えやがるし それに合わせてイディオムの話をしていると また急に設計の話に戻しやがる 結局何をやってるかわかってないから、適当に話をつなげるしかないのだろう 自分たちが過去やってきたことを無駄にしたくないという思いが タスクシステムを正当化しなければならないという 何が言いたいのかというと、つまり私は空腹だということだ
- 283 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 17:55:52 ID:iVlGRjYy]
- IGDAあたりがタスクシステムはこういうもの
って定義してくれりゃ… IGDAってセミナー案内以外何かやってるんか?
- 284 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 18:54:27 ID:2s89IpB8]
- やねうらお大先生は、年収数千万の天才プログラマなんだから
ゲー専みたいな馬鹿の集まり、相手にしなくてもいいんじゃね?
- 285 名前:名前は開発中のものです。 [2009/02/08(日) 19:28:37 ID:/7HQNkAm]
- ゲー専みたいな馬鹿の集まりを金づるにしてるから年収数千万なんだよ
俺が気に食わないのはやねうらお本人よりも それを無自覚に賞賛している信者連中の方 考えることを放棄している 三年毎に取り巻き信者が一掃されてるのが笑える 難しくて凄そうで権威のあるやねうらお大先生の言うことを 理解したような風に賞賛すれば俺も近いレベルの有能プログラマになれるんだ といったところか、おこぼれクレクレ君 本当に理解してないからメリットとデメリットも知らないし 適用すべき箇所がどこなのかも知らない だからとりあえず使ってみて、満足して 布教して、さらに満足する これをこうやったらこうなってここが良くなるってのが全くない 手に入れたぞ、使うぞで完結している それを自覚できないから、多少難しい観念を理解することはできない つまり3Dは複雑すぎて手が出ない、又はすぐに挫折する でも俺優秀俺天才って言いたい、そう他人に思ってもらいたい その願望をかなえるための夢のシステム それこそがタスクシステム 男のロマン 巨乳大好き おっぱい最高 そういうことだ
- 286 名前:名前は開発中のものです。 [2009/02/08(日) 19:33:57 ID:/7HQNkAm]
- ゲー専の扱いがひどいなと思ったので追記しておくけど
ゲー専にも学校ごとに二、三人ぐらいは優秀なのがいるよ 逆に優秀な大学出てても、ろくにプログラムかけないで口だけのもたくさんいる IPAの岡田くんは最高だがな
- 287 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 20:16:29 ID:9yKZ63FM]
- >>282
>ただ長く理解しづらいまわりくどいわけのわからないことを書いて惑わすだけ >定義も何もない、ただそれっぽいことを誰にも理解できないように書いて >適当に権威のありそうなものを付け加えて >ごまかしているだけ あるねー そういうのやねうらおだけじゃなかったけどね 昔は多少わかりにくくても考えながら聞いてやったけど いまって時代が変わったってのもあるよね もう別に奴等の言うことをわざわざ理解してやる義理も必要もないし 情報が氾濫しすぎてて何かしゃべっても説明責任はてめぇの方にあんだよバーカ で終わる話にもなってるからそういうのに騙される奴も減ってきたよね 相手を煙にまける環境っていうのは相手側が説明を理解しなきゃいけない立場であるときしか役に立たない いまは2chですらそういうの華麗にスルーされて終わりだしねw 前スレでもどっかのエライ人系(英文w)のリンク貼ったレスは全部無視だしねw
- 288 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 20:33:36 ID:VfZ7TaKb]
- ID:/7HQNkAm
独演会はもう終わったのか まぁしかし、 奴のマイナスの社会的影響は大だな。 奴の原稿にダメ出し出来ない出版社も無能だが。
- 289 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 21:14:56 ID:PqcaRaMD]
- なぜタスクシステムごときでここまで荒れるんだ?
ゲームを一本でも自作したことあるやつなら何らかのタスク管理システムは作ったことあるだろ。 で、このシステムはここが便利だったとかダメだったとか、いろいろなジャンル作ってく中で 洗練されたシステムが作れるようになってくもんだ。その程度のもの。
- 290 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 21:16:46 ID:+gs/6E3g]
- part3から追ってる限り壮絶なアンチがいるみたい
- 291 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 21:34:21 ID:L1xVTjvz]
- 引数クンx2とobserverクンがひとりいるっぽい。
- 292 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 21:49:45 ID:150rW63B]
- ・タスクという名前が気に入らない
・ゲームオブジェクトを抽象化できない ・タスクシステムを使っている現場でひどい目にあった アンチの理由は大体こんなとこかな。 3番目は稀に、タスクシステムを使わない、自分なりの方法を確立してる人もいるっぽいけど、 それを啓蒙するわけでもなく、罵詈雑言に終始しているので、まあ、同じ穴のムジナかと。
- 293 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 21:52:43 ID:eFHTuswi]
- >>289
そうそう、そうなんだよね。 いいとこはのこして、今のゲーム制作で問題あるなら変えていけばいいだけのことで、それを何と呼ぼうがどうでもいい。 そんなことすら理解できないバカが一人か二人騒いでるだけなんじゃないの?
- 294 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:04:40 ID:gynQYFxx]
- そうそう、そうなんだよねって、よっぽど気があうのね?
おまいは井上香美か?
- 295 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:13:16 ID:mZ7S8TgR]
- ポエマーは愛されてるな
- 296 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:22:01 ID:VfZ7TaKb]
- ・問題
・解決策としてのフレームワークの仕様 ・フレームワークの設計と運用ルールと実装 分けて考える必要がある。 アンチは、もっぱら実装の局部的な問題をもってして、 全部を否定しようとしているだけ。 基地害オナニー独り芝居。 タスクシステム使って酷い目にあったっていうのは、 単に運用ルールを確立・周知していなかったからじゃないのか、という気がする。
- 297 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:29:49 ID:9yKZ63FM]
- じゃあ、大局的なこととして
タスクシステムを使うことによって何のどんな問題が解決するの? これをはっきりさせてよ っていうと全くまともなレスが帰ってこないからなw んで>>282の内容に戻るとw
- 298 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:31:54 ID:iemYL3IE]
- 引数で渡すのもきめえ。
キャストするのもきめえ。 Setter/Getter作るのもきめえ。 グローバルで通信するのもきめえ。 ピザな神に任せるのもきめえ。 てな感じで同じく悩み続けてる俺にはここ最近の話はとても参考になってる。 だからもっとやれ。ただし脳内じゃなくてちゃんとわかるようなコードつけてな。
- 299 名前:名前は開発中のものです。 [2009/02/08(日) 22:37:30 ID:/7HQNkAm]
- いやいや
俺はごく基本的で大局的な見解しか示してない 局部的な話は一切していない さぁ、タスクシステムを大局的に語るがよい 又は3Dでタスクシステムを使うがよいww 偉そうな名前を持った偽科学は消毒だー
- 300 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:40:34 ID:9yKZ63FM]
- >>298
オブジェクト指向の常識に従う限り ゲームのシーンクラスの肥大化を防ぐ手はねーよ トリッキーな解釈をして関連をクラスにするとか ってのは一つの逃げ道かもしれねーな ただ、それをしたところで俺の上のほうのレス(ID:lLkuERdr)を読んでもらえば分かると思うが 書かなければならない処理の絶対数はどんな組み方をしても変わらない 俺はこれでも10年以上やってきたので設計思想で できることとできないことが判別できるようになった だから迷いがなくタスクシステムを糞だと言い切れる もし、他の可能性を探すならオブジェクト指向を覆すような新しい設計思想が必要
- 301 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:46:01 ID:L1xVTjvz]
- >297
オマエは煽るふりをして自分の理解できないところを質問しているだけだろwww
- 302 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:48:37 ID:L1xVTjvz]
- >300
関連の総数が爆発するのは、不味い設計しているからだ。 そういうのはそもそもゲームの仕様からして不味い。 それをそのまま唯々諾々と実装するようなID:9yKZ63FM=ID:lLkuERdrは馬鹿の見本。
- 303 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:48:38 ID:9yKZ63FM]
- >>301
いままでこれが説明できた人間はいないぜ 無理すんなよw
- 304 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:49:57 ID:VfZ7TaKb]
- >>297
「大局的」の意味がよく分からんが。 あくまで、たとえばの話として・・・ ○問題設定 プレイヤーキャラを常に画面上に存在させておき、プレイヤーの操作に反応させる。 一定時間ごとに、ライバル・キャラを画面上に発生・消滅させる。 キャラ接触の結果として、随時、火花を画面中に発生させる。 火花は発生後、画面上でアニメーションさせて1秒後に消滅させる。 ライバル・キャラ、火花は複数同時に存在し得るものとする。 画面上での全キャラのFPS当たり移動スピードや、火花アニメのFPS当たり状態遷移スピードは、固定とする。 火花は画面上最前面に表示されるようにする。 (その他細かいルールは割愛) この問題を解決する方法の一つとして、タスクシステムの存在意義がある。 ところで問題は、それこそ色々あるから、そんなこと聞くだけ野暮だと思うが。
- 305 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:50:00 ID:L1xVTjvz]
- >303
自分が知らないものは存在しないも同然かww
- 306 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:50:23 ID:9yKZ63FM]
- >>302
は?もうお前のくだらない戯言に騙される奴はいないんだよ オブジェクトが20個あってそれぞれが影響しあうなら 当然それだけの処理がいるの 設計をどうこねくりまわしたってその数が減ることは物理的にないんだよw
- 307 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:54:09 ID:PqcaRaMD]
- >>296
>タスクシステムを使うことによって何のどんな問題が解決するの? タスクを管理できる。ただそれだけ。 タスクシステムを使わずにタスクをどーやって管理するの? switch/caseかな? まぁ、どんな方法だろうとタスク管理をするシステムをタスクシステムというんだから ゲームにタスクがある以上タスクシステムが無いというのはありえないと思うが。
- 308 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:58:14 ID:9yKZ63FM]
- >>305
は?ちょっと聞くけど 使わないで組んだこと1度でもあるの? >>307 頭悪すぎ まず、タスクシステム使わなきゃタスクって単語すらでない のに何が聞きたいの? タスクシステム使う前提で話してどーすんだよ 理屈でモノを考える力をどっかに捨ててきたのか?お前
- 309 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:00:15 ID:L1xVTjvz]
- >306
> 設計をどうこねくりまわしたってその数が減ることは物理的にないんだよw キサマの設計のクソさ加減は、>121見れば判るからwwwww
- 310 名前:名前は開発中のものです。 [2009/02/08(日) 23:00:40 ID:/7HQNkAm]
- >>304
いや、タコスシステムとやらを使わなくても書けるだろ タスコシステム使ったらどういう恩恵が得られるのかってーのに興味があるんだよ 普通の人々は 早くなるーだの、コードが短くなるーだの、読みやすくなるーだの、拡張しやすいーだの そういうことを聞いてるわけだ 書けるんだよ書けるんだよって、書ければいいのならHSP使った方が手っ取り早い
- 311 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:01:44 ID:PqcaRaMD]
- >>308
>まず、タスクシステム使わなきゃタスクって単語すらでない OSのマルチタスクってタスクシステムの話かな? タスクってのは「処理の単位」以上の意味は無いから ゲームに処理がある限り「タスク」は存在するんだけどね。
- 312 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:01:46 ID:DctRL+eT]
- ID:9yKZ63FMの主張は、「mediator」と一言言えば済む話に見えるけど
なんか違うことを言ってるんだろうか
- 313 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:02:42 ID:3SPyMiZ9]
- >>307
タスクとかいう言葉を何の定義もなく使うところがキモいです。 たとえば>>304を実現するのに普通の人はタスクなんて使わないので 管理の必要もないわけでさ。 と書こうとしたら>>308に書かれてた。
- 314 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:08:29 ID:150rW63B]
- >>306は、
マリオがクリボーに触れたときの処理と、ノコノコに触れたときの処理は別々に書くのか。
- 315 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:08:51 ID:PqcaRaMD]
- >>313
ギャラがやゼビウス時代の古典的ナムコタスクシステム(関数ポインタ+ワーク)や マルチコアのジョブ時間管理やりソース共有管理まで行うMTフレームワークレベルのものも 広義のタスクシステムなんだけど。 これらを一切使わずに>>304を実現できる普通の人っているのか? それとも何か特定の1つのタスクシステム実装についてのみ語っているのか?
- 316 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:15:44 ID:buJH1feo]
- >>315
オレはアンチじゃないけど 「広義のタスク」が何を指すのか不明では? >>49の「タスクとはすなわちフレームをまたいだ継続的処理の抽象化」を言ってる?
- 317 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:16:26 ID:rDw772wv]
- 広義の話するなら広義と書こうぜ。
収拾つかなくなるだろ。 古典的ナムコタスクシステム(関数ポインタ+ワーク) これをウンコを管理するウンコシステムと呼んで区別しよう。 話はそれからだ。 アンチが叩いてるのはこのウンコの部分なんだから。
- 318 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:17:51 ID:L1xVTjvz]
- >317
> 古典的ナムコタスクシステム(関数ポインタ+ワーク) 『コンテキスト保存によるフレーム間の継続性』が抜けてるぞ。
- 319 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:19:54 ID:VfZ7TaKb]
- >>310
トムヤムクンプロセッサってのは聞いたことしかないから、よく知らん。 結局、並列動作処理フレームワークの実装がブラックボックス依存なんじゃねえの、それって。 ブラックボックス依存で構わないんだったら、ネガキャンするなと言いたい。
- 320 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:23:26 ID:+Lu8guC0]
- とりあえず、描画タイミング、ゲームオブジェクトの移動、当たり判定なんかの処理は一定間隔で行いたい。
だから、単純なゲームのとあるシーンは以下のようになる。 while(1) { 描画 ゲームオブジェクトの移動 当たり判定 時間調整 } 次にタイトル画面を表示するシーンが欲しいなと思ったら、もう一つループを追加する while(1) { 描画(タイトル画面表示) キー入力 時間調整 } シーンの数だけループができた。 じゃあ、このループを一般化して、ハードコーディングではなく、外部からのスクリプト読み込みなどで 動的に生成できないかと悩んでみると、タスクシステム(っぽい何か)に行き着いた。
- 321 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:23:57 ID:DctRL+eT]
- >>318
ただのFSMではなくコルーチン&スケジューラが実装されていたのなら そう書いてもらったほうが分かりやすい
- 322 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:28:08 ID:xD+TYCTG]
- >>298
指標をいくつか決めて実装手法ごとに○×付け。一番○が多いのを使う。 これでいいんじゃね? どういった表現方法使ったってどうせ全部「データの受け渡し」であることには変わりない。 概念的には一つのことを実現しようとしてるだけ。 もし引数の概念が無い言語ならグローバル変数使わざるを得ないし、 グローバル変数の概念が無い言語なら引数使わざるを得ないかもしれない。 この辺の手法の差異なんて言語に左右されるような瑣末なこと。 C++ではたまたまいろいろな手法が利用可能だけども 概念的には「データの受け渡し」だけが目的なんだから、 CPU使用時間とかメモリ使用量とかソース可読性とかそういった瑣末な指標によって選択すればいい。 「C++におけるデータ受け渡しの実装手法はどれが一番概念的に優れてるか」とか悩むのは そもそも問いかけの選択からして間違ってる。どれも概念的には「データの受け渡し」で同一のもの。比較不可。 優劣が付けられるのは前述の瑣末な指標で比較した場合のみ。 C++がやれること多すぎて悩むの疲れたのならいっそもっと選択肢少ない言語に変えてみたら? Cとかに。わりと本気で。 #レスなげえ、俺きめえ。ごめんね
- 323 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:36:38 ID:buJH1feo]
- C縛りは問題の本質を考える上でいいと思うが
納得しない人たちもいると思う オレはC++大好きデザパタ大好きだが、自戒をこめてこの言葉を君たちに C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが簡単に生産されるようになってる。 正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、 それ自体、C を使う強力な理由になりうる。 -- Linus Torvalds
- 324 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:36:54 ID:VfZ7TaKb]
- 「ホットスーププロセッサ」・・・チッ、気取った名前付けやがって。
「タスクシステム」を批判できる立場にねーだろ。
- 325 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:42:17 ID:L1xVTjvz]
- >324
いやいや、作ったソフトにどんな名前をつけるかは作者の権利だ。 それについてどうこう言うのと、『タスクシステム』という名前についてアレコレ言うのは 違う気がするぞ。
- 326 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:44:14 ID:VfZ7TaKb]
- >>325
悪い、ちょい嫉妬しただけだ。 大人げなかったな。
- 327 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:46:18 ID:L1xVTjvz]
- いや、落ち着いて逝こうぜ。
- 328 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:48:32 ID:iemYL3IE]
- >>322
確かになー。 本当に悩むべきはそんなところじゃねーだろーっていつも頭では思うんだけど、 「もし理想のやり方が見つかれば、二度と悩まなくて済む」って甘い罠に取りつかれちゃうんだな。 つーかなんかタスクシステムに限った話じゃなくなってるな。 ↓こっちの話題だなすまん。 ゲームにおけるデータ構造・クラス設計・パターン2 pc11.2ch.net/test/read.cgi/gamedev/1211544659/
- 329 名前:名前は開発中のものです。 [2009/02/08(日) 23:49:52 ID:/7HQNkAm]
- タスクシステムとやらにこだわる人は
HSP使った方がいいよ、資源の無駄 かっこつけてC++なんて使う意味ないって 俺かっこいい超天才C++使いこなす俺超天才って言って 一ヶ月かけて作ったゲームも HSPなら三日で作れるから 所詮タスクシステムなんてその程度 DSL的アプローチとしてはHSPの方が有益 タスクシステムはうんこ うんこに指差してうんこって言って何が悪い これはうんこじゃないやいって言ったところで それはうんこだ うんこうんこ
- 330 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:54:43 ID:L1xVTjvz]
- あぁ、ウンコが何か吠えているw
- 331 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:03:05 ID:jAkDZVno]
- >>328
いっぺん表作っちゃえば二度と悩まなくて済むよ 処理時間短縮重視ならこれ、メモリ使用量極小を狙うならこれ、 とかって簡単に決定できる まぁ、大体PCならメモリとかCPUなんて潤沢に使えるから気にせず コードの可読性だけでさくっと決めていい気がするけど
- 332 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:28:43 ID:xIvd3PJC]
- >>315
普通にできるだろ 馬鹿かお前大丈夫か? ていうか一度でも組んでみてから言ってくれよ つーか、お前、タスクシステム云々がどうとかそういうところこだわる前に プログラマとしてヤバイだろw
- 333 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:54:39 ID:rrMBb3Sk]
- 実際HSPでもシューティングゲームぐらい作れるしな。
- 334 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 01:34:23 ID:K+aHd4rk]
- HSPで済むならそれを使っておけばいいんだよ。
適材適所。
- 335 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 01:44:30 ID:Tt5KtR55]
- >>315
なーにが広義のタスクシステムだ。バッカじゃねーの?このカッペ野郎 毎度毎度テメェの都合でローカル用語の解釈を変えてんじゃねー あと"ジョブ時間管理"とか訳のわかんねー用語を発明すんな お前いつもそんなふうに新しい用語をクリエイトしながら他人とお話しするの?
- 336 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 07:48:20 ID:tQgf226p]
- >>320こ
タイトル画面や戦闘シーンは、相互依存がほとんどなく、インスタンス数もたかが知れてる。また処理パターンが仕様変更で変わる可能性がある。 そういう用途には、std::list<> に virtual void exec() だけ実装したクラスのインスタンスを入れておいて、定期的に呼び出してやれば良い。システムと呼ぶ程のモノじゃないがな。 一方、プレイヤーや敵キャラなどは、上の前提条件が成り立たない。相互依存が多く、処理も一度「移動、ヒット判定、死亡判定」と決めたら、まず変更しない。 困難なポイントが違うので、解決策も必然的に変わってくる。
- 337 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 12:40:04 ID:Q7FeorJ2]
- >>336
これでFA。
- 338 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 13:30:04 ID:DGIHyZBW]
- >>335
>あと"ジョブ時間管理"とか訳のわかんねー用語を発明すんな まだ君の頭では理解できないことかもしれないけど ”MTフレームワーク”でググって勉強してみれば意味が分かるかもね…
|

|