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

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

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

part8 http://pc11.2ch.net/test/read.cgi/gamedev/1250678891/
part7 http://pc11.2ch.net/test/read.cgi/gamedev/1241670786/
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」と明示してください
 そうでない場合はカスタム版であることを明示してください

・人を憎んで言語を憎まず
0515名前は開発中のものです。2010/02/04(木) 23:06:50ID:wLvdZIgG
>>514
同意
まったく無駄だよね

しかもこんなくだらんことわけわからん単語使わなきゃ説明できないとか
自分を過大評価しすぎだろw
酔ってる自分をみる他人の目とかちょっと考えれば恥かしくて表でれないレベル
0516名前は開発中のものです。2010/02/04(木) 23:31:53ID:GbnLg6h5
典型的な>>3の論理でワロタw
0517名前は開発中のものです。2010/02/04(木) 23:38:59ID:H9tFotfP
boost::unordered_map<type_info*,std::list<Task*> > tasksList;

struct PseudoIterator
{
std::list<Task*> container;
std::list<Task*>::iterator iterator;

void erase() { container.erase(iterator); }
};
boost::unordered_map<Task*,PseudoIterator> taskToIterator;



んー
0518名前は開発中のものです。2010/02/04(木) 23:42:26ID:RNNw5Qiv
PCエロゲワールドの貴公子であらせられる自称高額納税者のアレは
リソース制限の緩々な微温湯プラットフォームの小山の大将なんだからさ
彼がタスクシステム云々なんて話を始めるときは眉に唾をたっぷり付けて
聞いとき
0519名前は開発中のものです。2010/02/04(木) 23:51:30ID:TO/fep7E
大手でプログラマやってるけどコンシューマ機でboostやtemplate使うチームは間違いなく大量のバグを生産してる
0520名前は開発中のものです。2010/02/04(木) 23:53:44ID:RNNw5Qiv
Codezineの記事(出た当初からSTGスレで散々に言われてた)を参考として
リンクしてる辺りであのPCエロゲ屋の理解のほどを察してやれよ

ゲームオブジェクト(エンティティ)を格納したコンテナとその操作についての
お話に終始しておきながら、これタスクの話です近代的なタスクのシステム
なんですね、などと得意げにどや顔するPCエロゲ屋の姿を想像してごらん
なかなかハートウォーミングだろう
0521名前は開発中のものです。2010/02/05(金) 00:15:39ID:R2LkfXR4
>>519
boost::spiritでも使ったのか?w
0522名前は開発中のものです。2010/02/05(金) 00:25:43ID:rcLEhboZ
wをつけてこの程度
0523名前は開発中のものです。2010/02/05(金) 00:44:56ID:E+eP97Dg
俺が泥沼にハマったのはboostとtemplateのせい。俺は悪くない



まで読んだ
0524名前は開発中のものです。2010/02/05(金) 00:47:20ID:rcLEhboZ
また文盲が来た
0525名前は開発中のものです。2010/02/05(金) 01:08:24ID:E1XcL7Rh
やねはコード書いて主張してる分だけ俺らよりはマシだけどな
粗悪なコードから学べる事だってたくさんあると考えれば
余談だが彼の叩かれっぷりを見てるとネットにソース公開
するのをいつも躊躇ってしまうw
その辺のジメジメした日本のネット事情は好かんな
0526名前は開発中のものです。2010/02/05(金) 03:31:58ID:z61zW9dx
コード書いてるぶん批判しやすいのかもしれない。

まぁ書かれてあるコードがどうあれ、
変な例え話だけよりもコード書いてあったほうがうれしいですよね。
0527名前は開発中のものです。2010/02/05(金) 19:41:46ID:1Uvqe3cJ
データベースのインデックスみたいなのってどうやって実現するのでしょうか
タスクループごとに再構築しなおすの?
0528名前は開発中のものです。2010/02/05(金) 20:15:37ID:pZFWXanD
何を想定してるのかわからない
まずはお前のタスクシステムを説明しろ
0529名前は開発中のものです。2010/02/05(金) 20:41:27ID:C7mEESsV
このタスクシステムとやらの何が凄いのかサッパリ分からん。
少なくとも、>>2に書いてあるような奴の事を言うなら、システムっていうよりは、ただのプログラム上のお作法とかセオリーの部類じゃないのか。
0530名前は開発中のものです。2010/02/05(金) 23:12:58ID:ADi/zHvo
>>528
>>2の古典なタスクシステムで、型を指定してタスクを取得したい場合
0531名前は開発中のものです。2010/02/05(金) 23:48:34ID:pZFWXanD
>>530
はじめからわけときゃいいじゃん
0532名前は開発中のものです。2010/02/05(金) 23:59:14ID:muF0CXYE
まるでセオリーがすごくないみたいな
0533名前は開発中のものです。2010/02/06(土) 00:04:05ID:E8xqra+P
一言で>>2つってもリンク先によって中身だいぶ違うけどな
0534名前は開発中のものです。2010/02/06(土) 00:51:40ID:nCDaYUMn
>>531
同期取るの大変じゃない?
0535名前は開発中のものです。2010/02/06(土) 00:52:35ID:tZakNLHk
>>534
いきなり同期とか意味不明すぎて反応できないぜw
あったま悪いからそんなレスしちゃうんだぜ
0536名前は開発中のものです。2010/02/06(土) 01:14:57ID:nCDaYUMn
>>535
ああ、ごめんなさい。頭悪いのは認めるよ。
0537名前は開発中のものです。2010/02/06(土) 01:32:17ID:ajoGIZRs
必要以上に攻撃的なのはなんなんだwww
デスマ真っ只中でイラついてるとかか?
0538ハry2010/02/06(土) 02:40:25ID:1tXKnkh3
単になれなれしいだけだろう。お互い頭悪いことは分かりきってるし。
頭悪い奴が分別のつかない奴を叩いてる、そんなスレッド。ちょっと変わった愛情表現。
0539名前は開発中のものです。2010/02/06(土) 04:06:28ID:8uFKuDe8
芸は身をタスク
0540名前は開発中のものです。2010/02/08(月) 01:02:07ID:zDF3T9r4
>>529
このタスクシステムとやらの何が凄いのかっていうと
名前だけで「もしかして凄いものかもしれない」と勘違いさせるのには
最高の撒き餌になるってことだろうな。現にお前みたいな慌てん坊さんが
ホイホイ釣られてやって来るわけだから
0541名前は開発中のものです。2010/02/08(月) 01:18:14ID:zDF3T9r4
昨夏にも張ったような気がするが

          _Y_
            r'。∧。y.
         ゝ∨ノ     バカがタスクシステムに        ,,,ィf...,,,__
          )~~(            幻惑されてる間に    _,,.∠/゙`'''t-nヾ ̄"'''=ー-.....,,,
         ,i   i,                        ,z'"    ̄ ̄ /n゙゙''''ー--...
         ,i>   <i     文明はどんどん発達し    r”^ヽ      く:::::|::|:::〔〕〔〕
         i>   <i.     ていく・・・・・・。      入_,..ノ ℃      ̄U ̄_二ニ=
`=.,,ー- ...,,,__ |,r'''"7ヽ、|  __,,,... -ー,,.='               >ーz-,,,...--,‐,‐;;:'''""~
  ~''':x.,,  ~"|{ G ゝG }|"~  ,,z:''"                     ___
      ~"'=| ゝ、.3 _ノ |=''"~      <ー<>         /  l ̄ ̄\
        .|))    ((|        / ̄ ゙̄i;:、      「 ̄ ̄ ̄ ̄| ̄| ̄ ̄ ̄\
             ))|       r'´ ̄「中] ̄`ヾv、   `-◎──────◎一'
                   ├―┤=├―┤ |li:,
                   |「 ̄ |i ̄i|「.//||「ln|:;
                   ||//__|L_」||__.||l」u|:;
                   |ニ⊃|  |⊂ニ| || ,|/
                   |_. └ー┘ ._| ||/
                   ヘ 「 ̄ ̄ ̄| /
0542名前は開発中のものです。2010/02/08(月) 02:24:25ID:v1ov3My8
なんか"タスクシステム"を"ポインタ"に置き換えても成り立ちそうだな、このスレ。
JAVAとかC#とかしか知らない若い子がCのポインタが何なのか理解できないのと同じ臭いがする。

古株にとっては「プログラマでポインタ理解できないなんてゆとり」という感覚なんだろうけど。
「ポインタなんて年寄りの戯言、何のメリットがあるのかわかりませーん」という世代とのギャップが埋められず。
0543名前は開発中のものです。2010/02/08(月) 02:34:40ID:vyr3UvLe
まったく違う
>>3をポインタに変えたら話が成立しない
0544名前は開発中のものです。2010/02/08(月) 02:45:34ID:v1ov3My8
ポインタのわからないプログラマの頭の中では
「ポインタなんて裸の王様」が成立してると思うよ
0545名前は開発中のものです。2010/02/08(月) 03:16:06ID:/rTmd7Nr
21世紀にもなって今だにポインタやタスクシステムについて熱く討論してる時点で
時代遅れというならそうかもなぁww

そんな原始的な話はみんな20年前に通り過ぎてとっくに先に行ってる、と
0546名前は開発中のものです。2010/02/08(月) 03:18:28ID:eoh1A31Y
>>545
今のトレンドは何?
0547名前は開発中のものです。2010/02/08(月) 03:25:16ID:/rTmd7Nr
マルチコアを無駄なく使いきれるフレームワークとかかねぇ
まぁこれもPS3とか360が出始めのころの各社が研究してたトレンドだったからもう古いかもねぇ
0548名前は開発中のものです。2010/02/08(月) 08:01:44ID:84SYwGYH
マルチコアを有効に使うシステムがそれこそ現代のタスクなんじゃないの?
0549名前は開発中のものです。2010/02/08(月) 13:09:52ID:aofKpcas
ゲームプログラマの求人見てみるとタスクシステムって言葉出てくるよ
使われてるんじゃないかな
0550名前は開発中のものです。2010/02/08(月) 15:21:39ID:DRPj+0ga
デザパタみたいなもんで名前があることにも意義がある
一番不思議なのは親の敵の様にタスクシステムを
否定する輩がこのスレに現れる事だ
温故知新とも言うし簡単な仕組なんだから
使わないにせよ知ってて損は無いのにね
0551名前は開発中のものです。2010/02/08(月) 15:30:32ID:KhZHHWak
ヒント:適切な単位に適切な名前
0552名前は開発中のものです。2010/02/08(月) 17:11:28ID:DRPj+0ga
>>551
おっと失礼
訂正させてもらう
×:一番不思議なのは親の敵の様にタスクシステムを
○:一番不思議なのは親の敵の様に>>2
0553ハ(ry2010/02/08(月) 22:21:47ID:VnpQvf7D
>>550
間違った(というか遅れた)考え方を知ってて特になるって・・・。
確かに自衛の意味ではやくにたつな。
無駄なことを知ってるって超重要だからな。
永久機関の開発に一生を費やしでもしたら、そりゃ悲惨だ。

>>547 >>548
マルチコアを無駄なく使う?俺はトレンドになんねぇとおもうがなぁ。
そう言うのは、forループの並列展開程度にしれっと応じておいて、
他の事に時間を割り振った方が自分のためだろうな。

でもforループの並列展開だったら、SIMDの方が相性良いかもしれん。
ということで、コアは8個程度で打ち止めにして、
今後はSIMDの拡張方面を頑張って欲しいね。

ただ、サーバー用途だとマルチコアの方が有利だし、
CPUメーカー的にはその辺の事情があるんだろうなぁ。
0554名前は開発中のものです。2010/02/08(月) 23:54:58ID:Maa0pfRP
ハァ…ため息しか出ない





静的型付け言語の型情報と
一致しない
0555名前は開発中のものです。2010/02/08(月) 23:56:57ID:Maa0pfRP
すまん途中送信してしまった

スレッドレベルではなくインストラクションレベルの並列化の強化に期待とか
かなり独自の世界観を持ってるな。。。
0556名前は開発中のものです。2010/02/09(火) 00:03:22ID:6mlob5lK
1命令でいっせーのーせどんを強化した先にベクトルプロセッサがあり
HPC分野では。。。ソフトウェアの開発がスカラー機に比べて簡単とか
聞いたこと無いな

0557名前は開発中のものです。2010/02/09(火) 00:07:32ID:6mlob5lK
あと並列化なんてループアンローリングだけで十分だろというならば
その程度の最適化はコンパイラに任せなさいで終わりだ。アホか

0558名前は開発中のものです。2010/02/09(火) 00:14:59ID:6mlob5lK
ハードウェアはソフトウェア開発者に優しくありなさいというならば
スレッドレベルの並列化(別の言い方をすればSMPな)を前提に進化した
ターゲットハードウェアのほうが格段に優しい。SIMD大強化マンセー
ベクトルプロセッサマンセーなんてNECかNVIDIAの周り者かっつーの。
糞くらえだ。現場を知らないクズは死ねばいい


と思いました。あーすっきり。ワナビー大嫌い
0559名前は開発中のものです。2010/02/09(火) 01:13:48ID:yhZ2PHKk
好き嫌いじゃなく、今のゲーム機のアーキテクチャがマルチコアなんだから
使わないわけにはいかないだろうに。

処理落ちしてる時に遊んでるコアがありゃゲームプログラマならコア駆使して
何とかするもんだ。
0560名前は開発中のものです。2010/02/09(火) 01:16:25ID:aJ0FiuET
自称ハード屋(>>553)は素人オジサンだから放っといたほうがいい
たまーにマグレでまともそうなこと言ってるように見えるが
基本的にゲーム作れないのでピントがずれてる。たぶんキチガイ
0561名前は開発中のものです。2010/02/09(火) 01:17:38ID:H1Nr8694
1フレ単位の処理でマルチコアなんて使う場所ねーじゃん
せいぜい裏で次のシーンのデータロードしておくか
超複雑なAI(将棋とか)走らせるとかぐらいじゃね?
このスレの話題としてマルチコアなんてでること自体おかしくね?
0562ハ(ry2010/02/09(火) 01:18:56ID:4uRxejvM
>>557
まさしく。並列化なんてしたくねぇ。
だからこそのSIMD。
コア増やす方法だと、キャッシュのコヒーレントの問題で、どっかでコア数の限界が来る。
コア数が少ないからforループを展開しても大して速くならない。
結果、自分でスレッド立ててシコシコする羽目になる。

その点SIMDだとそんなのかんけぇねぇから、並列度をどんどん上げれる。
64ループ分ぐらいを一発で処理できる。もっと多くしても良いだろう。
分岐を展開しなければならない弱点があるが、
そんくらい並列度が上がればペイできるだろう。
コンパイラ拡張して勝手にSIMD展開してくれるfor_parallelとかが組み込まれれば、
気軽に使えるようになる。それでいいじゃない。
0563名前は開発中のものです。2010/02/09(火) 01:26:28ID:4uRxejvM
>>561
そうなんだよ。
結局マルチコアはサーバー用途に作られたもの。
それをゲームで一生懸命使おうと頑張ってる皆さんは、仕事とはいえご苦労様。
マルチコアが使いやすいとか何の冗談だよ。
マルチコアはスレッド使うって時点で十分面倒だ。可搬性を考慮したライブラリ化がしずらい。
だんぜんSIMDの方が気軽だね。俺は気軽な方がいいや。
0564名前は開発中のものです。2010/02/09(火) 01:26:35ID:6mlob5lK
>>558 ×周り物 ○回し者

>>548
> マルチコアを有効に使うシステムがそれこそ現代のタスクなんじゃないの?

http://2chart.fc2web.com/2chart/pic/naniwo.jpg
タスク(処理単位)ってのは時代で変わるものなのか?違うだろ。
いつの時代もハード、ライブラリによって多種多様。大昔も今も
ハード、ライブラリ毎にタスクの粒度、構成要素、何もかも違う。
時代で一意に定まるタスクなんてないよ

あとマルチコア(マルチプロセッサ)がトレンドだゲンダイだとか眠たすぎる。
複数プロセッサのやりくりなら15年近く前には既に零細のソフトハウスだって
64bit級のために四苦八苦しながらやってた
0565名前は開発中のものです。2010/02/09(火) 01:35:05ID:4uRxejvM
SIMDの何が良いって、プログラムカウンタが共用なのがいいね。
プログラムは上から下にだらだら逐次実行していくものだという基本に忠実。
それでいて、並列化も行われるわけで。
スーパースカラの投機的命令実行で十分じゃねって言われればそうかもだが。
0566名前は開発中のものです。2010/02/09(火) 01:50:08ID:6mlob5lK
>>563
君の言うSIMD強化って、具体的にどんな絵を描いてるのかよくわからんのよね。
その新命令って例えば何してくれんの。それはゲームの中の何に使えるの。
ゲームプログラムに共通した、ゲームプログラムに特化した便利なインストラクションセットを
オーダーメイドで作ってもらえちゃうの?それならそれで便利だよねドラえもん
0567名前は開発中のものです。2010/02/09(火) 01:56:44ID:6mlob5lK
>>563
君はどんな処理をどんな粒度で分割しどんだけの量を並列化するお話してるの?
インストラクションレベルの並列化で十分つーてるんだから当然それは細粒度の
分割に適した多量の何かを処理するお話なのだろうとは思うけど
0568名前は開発中のものです。2010/02/09(火) 01:58:31ID:4uRxejvM
>>566
普通に64個ぐらいのデータを一つの命令で並列に処理してくれるようにしてくれりゃそれでいいよ。
マルチコアなんてせいぜい4個とか8個とかだろ。苦労してそれじゃね。
0569名前は開発中のものです。2010/02/09(火) 02:02:17ID:4uRxejvM
>>567
forループの展開って言ってんだから、そりゃ、ループカウンタの粒度での分割だ。
カウンタの0から63までを並列に処理してくれりゃいい。
0570名前は開発中のものです。2010/02/09(火) 02:05:52ID:6mlob5lK
>>569
それはゲームプログラムの中で具体的にどういう処理なの?
あなたの想定する既存CPUでワークロードの中の何パーセントを
占めてる処理なの?
0571ID:4uRxejvM あくきん2010/02/09(火) 02:10:25ID:2TaB1p6/
だから、ループを展開するって言ってるだろ。
ループしてるってことはそこの処理は必然的に重たいわけだ。
そこを重点的に展開するわけだから、それで十分だろ。
ループしてるとこ以外に重たい処理なんてあるか?無いだろ。
0572名前は開発中のものです。2010/02/09(火) 02:12:09ID:6mlob5lK
>>570は非常に重要な質問なんだけど
0573名前は開発中のものです。2010/02/09(火) 02:19:12ID:2TaB1p6/
どうせ、全体の25%しか並列化できなかったら、
最大でも処理時間は75%にしかならないよ、とか言うんだろ。
でもそんなもんはマルチコアでも一緒だ。
いちいちスレッドの面倒を見なきゃいけない分
小回りがきかないマルチコアの方が分が悪いと思うがね。
0574名前は開発中のものです。2010/02/09(火) 02:22:38ID:aJ0FiuET
ハード君…
0575名前は開発中のものです。2010/02/09(火) 03:03:32ID:2TaB1p6/
ゲームの場合、1フレーム毎に同期をとらなきゃならないという制限があるから、
大きな粒度での並列化には無駄が出来る。
かといって、マルチコアで小さな粒度の並列化をしようと思うと、
コンパイラが自動でやってくれない限りは地獄を見る。
タスクシステム的な何かを用意する必要があるからな。その時点で却下だ。

サーバー用途だとマルチコアはいいものだと思うよ。
0576名前は開発中のものです。2010/02/09(火) 08:09:14ID:/9pFkwAc
有名なところではカプのMTフレームワークも
マルチコアを考慮したタスクシステムを使っているよ。

ttp://game.watch.impress.co.jp/docs/20070131/3dlp10.htm
0577名前は開発中のものです。2010/02/09(火) 09:22:20ID:RhKkBaLk
何度も何度も何度も何度も言っているが、その記事の「タスク」は、
並列にやらせる仕事の単位をそう呼んでいるだけで、このスレの「タスクシステム」じゃない。
0578名前は開発中のものです。2010/02/09(火) 10:57:06ID:gAZSDjrV
並列更新と同期更新が同じ「タスク」単位になってるから
案外「タスクシステム」と似たような処理なのかもね
使った事ないから本当のところは分からないけど
0579名前は開発中のものです。2010/02/09(火) 11:53:50ID:YL0tD2tx
>>577
なに必死になってんの?
>>2じゃないってことでしょ
>>1くらいよんどけよ
0580名前は開発中のものです。2010/02/09(火) 21:37:56ID:xprr509T
ゲームを作ったこと無いんだが、タスクシステムってのは
リアルタイムシミュレーションゲームを作るのに便利なフレームワークってことでいいのか
0581名前は開発中のものです。2010/02/09(火) 22:07:48ID:hLju4F/g
http://d.hatena.ne.jp/kataho/20080430/p1
0582名前は開発中のものです。2010/02/09(火) 22:22:54ID:sxqDUdhn
魔法のシステムです
0583名前は開発中のものです。2010/02/09(火) 22:41:29ID:H1Nr8694
茶色の小瓶です
0584名前は開発中のものです。2010/02/09(火) 23:23:17ID:z1hzZKP1
>>581
それゲームオブジェクト(エンティティ)のお話
ユーザー側の、アプリケーションの層のお話
ゲームオブジェクト(エンティティ)は複数の関連・相互作用の図の中に参加するというお話。
そらそうだ。物理的・力学的な繋がり。制御の繋がり。通信の繋がり。組織の繋がり。色々ある。
それぞれのコンテナ(外部収納・内部収納は問わない)に格納される。自然なことだわな

ところで低層のターゲット依存部の中に、非プリエンプティブな処理単位を格納する
レディキューが一本あるとする。これは>>581のページ内で言われてるような
「一般化されたゲームオブジェクトのリストを一本持つ」というお話とは一致しないわな

ユーザー側の、アプリケーションの層の中で定義されるゲームオブジェクトの単位と
それより下層の、システム側の、ターゲット依存部の中で定義される処理の単位というのは
分割の基準・動機が違う。そうでないならそれはゲームオブジェクトをタスクいいたいだけの
Codezine状態なんだろ。1task = 1object限定とか。ネット発生型の都市伝説システムだろ
0585名前は開発中のものです。2010/02/09(火) 23:55:51ID:z1hzZKP1
>>573
> どうせ、全体の25%しか並列化できなかったら、
> 最大でも処理時間は75%にしかならないよ、とか言うんだろ。

君はすぐそうやって後頭部を強打したりESP使ったりして妄想先回りするけど
ちと被害妄想が激しすぎるんじゃないのか。そんな警戒しなくていい

> でもそんなもんはマルチコアでも一緒だ。
> いちいちスレッドの面倒を見なきゃいけない分
> 小回りがきかないマルチコアの方が分が悪いと思うがね。

SIMDに適した、細粒度の分解に適した、君に都合のよろしい処理対象を
君は一体全体どういう形でマルチコア(マルチプロセッサ)に配当してるの?
君に都合のよろしいその処理対象はその64-wideのSIMDを使ったほうが
適してるんだからそれでいいじゃない。

で、その、いっせーのーせーどん方式で処理を再構築、データを再配置
しやすい処理は一体なんなの?ゲームの中の何を処理してるの、と
聞いてるだけなの。そしてそれはあなたのゲームではワークロードの
何パーセントを占めていたの?あなたの想定する既存のCPUコアは何?
あなたの想定する既存のターゲットハードウェアは何?
0586名前は開発中のものです。2010/02/10(水) 07:32:27ID:IOwVY6cw
脱線はなるべく無しでお願いしたいものです
0587名前は開発中のものです。2010/02/10(水) 14:32:47ID:3eKhnnI4
シェーダーとメッシュ等のジオメトリって分けますか?
0588名前は開発中のものです。2010/02/10(水) 19:35:44ID:VgzFznsI
>>585
>で、その、いっせーのーせーどん方式で処理を再構築、データを再配置
>しやすい処理は一体なんなの?

ぱっと思いつくところでは、布との当たり判定とかはマルチコアよりもSIMDの方が相性良いだろう。
ゲームの中には大概人型のキャラクタが出てきて、大概が服着てるわけだから、有用そうだよね。

こまかいことほじくって屁理屈並べても仕方ないんだって。
マルチコアは、
大きな粒度の並列化向け、一方ゲームは1フレームごとに同期が基本
&キャッシュのコヒーレントでコア数増やしづらい
&スレッド使うから関数レベルでの可搬性が保ちづらい
ってんで、ゲーム用途には十分つんでるかと。
サーバー用途だと、何もしなくても恩恵にあずかれるのに、ゲームだと、
MTフレームワークにしろspursにしろ、あんなもん用意しなきゃいけない時点で、
無理やり感が漂ってる。なんていうか、小手先?
仕事の人は大変だね。素直にSIMDの要求しておけば、次々世代あたりでかなうかもよ。
0589名前は開発中のものです。2010/02/10(水) 19:59:29ID:/h0b22kQ
そもそも複数のCPUに向けたデータを用意するだけで疲れるし
ぶっちゃけやりたくないなw
コンパイラが頑張ってくれたほうがみんな幸せになれそう
0590名前は開発中のものです。2010/02/10(水) 21:56:44ID:kS9ezNOp
ゲームを作ることを目的とするのではなくて
オブジェクト指向の勉強を目的とするので
特に問題は無いです。
0591名前は開発中のものです。2010/02/10(水) 22:03:57ID:HrOb+RLe
ゲーム制作はオブジェクト指向の勉強には不向きだと思う
0592名前は開発中のものです。2010/02/10(水) 22:06:59ID:VgzFznsI
オブジェクト指向を勉強するって意味が分からない。
あれはセンスのもんで、
うまい人が作ったクラスは機能ごとにまとまってて、
下手な人が作ったクラスはデータ構造主体でまとまってる。
0593名前は開発中のものです。2010/02/10(水) 22:58:29ID:SNZd9kJP
オブジェクト指向ってゲーム向きじゃなかったのか
0594名前は開発中のものです。2010/02/11(木) 00:03:06ID:kS9ezNOp
実際のところ、ゲームゲームな感じのゲームには適切ではないと思う。
ラリーXとかプーヤンみたいなゲーム作るときにどう使えばいいのか
無理やりクラスを設計するのは楽しいけど、仕事ではそんなコードにしたくない。

敵も味方も石ころもみんな等価な物理演算っぽいゲームだとうまくハマるとは思うけど
識者の意見を聞いてみたい。
0595名前は開発中のものです。2010/02/11(木) 00:06:39ID:UroIWicT
PCや数学由来の技術はメモリ管理が組み込み向きに考えられていない。
机上の空論好きはその辺考えないからね。
0596名前は開発中のものです。2010/02/11(木) 00:12:52ID:0/qfWJRv
データ構造ありきで考えるから難しいんだって。

描画エンジンクラス
サウンドエンジンクラス
コントローラIOクラス
ゲームロジッククラス
セーブデータIOクラス
データローダークラス
リソース共有クラス

こんな風に機能ごとにクラス化していけばいいと思うよ。
モジュール化の基本はOOPでも同じ。
0597名前は開発中のものです。2010/02/11(木) 01:56:09ID:EdodrCY4
それに関する反論(機能分解やモジュール化でも駄目)が
design pattern distilledの最初の方に載ってる
勿論その議論の中でもデータ構造によるものとか名詞抽出は論外だけど
8年前のしかも入門書だから今どうかは知らんけど
0598名前は開発中のものです。2010/02/11(木) 02:05:16ID:q7qw6G8d
そろそろその「載ってる」とかそういう表現どまりのレスってやめない?

読んでない奴にとってそれによって何が主張したいのかまったくわからないし
仮に読んでみても本に書いてある意図とレスの主張が全然違うこともあるしで
照合するにもえらい時間がかかるそれを受け手に全部押し付けるってえらい傲慢もいいとこじゃないか?
もう引用とかしなくていいから

○○だから、○○である

と自分の言葉で説明しろよ
それは本のまる写しでもいいからあくまでも自分の発言としてレスにそえろよ
0599名前は開発中のものです。2010/02/11(木) 02:15:25ID:0/qfWJRv
そーそ。デザパタ本なんて糞食らえで読む気しねぇんだよ。
どうせ、おたかいんでしょ?
0600名前は開発中のものです。2010/02/11(木) 02:19:45ID:0/qfWJRv
どっちゃにしろ、ライブラリがそれが持つ機能で掻き集められる物である以上、
無理にでも機能で分割するしかねぇんだよ。答えは決まってる。
後はどう枠にはめるか。
0601名前は開発中のものです。2010/02/11(木) 06:03:17ID:wLw9WprW
>無理やりクラスを設計するのは楽しいけど、仕事ではそんなコードにしたくない。

失礼な言い方で悪いけど、それって設計者に問題ある気がするが…
無理矢理クラス設計せんといけないような状況に出会った事が無い
俺の経験不足かもしんないけど
OOPに問題を転嫁しちゃったら、もうどうにもならんのじゃないか
0602名前は開発中のものです。2010/02/11(木) 12:19:49ID:bO+sOHwd
>>588
>仕事の人は大変だね。素直にSIMDの要求しておけば、次々世代あたりでかなうかもよ。
「僕、素人だから現行アーキテクチャでゲーム作る方法が想像つきません」と。

今のアーキテクチャですら作るの無理って人間はSIMDとか以前にもっと根本的な部分で
何かが不足してるんだと思う。
0603名前は開発中のものです。2010/02/11(木) 12:39:48ID:ZeQP1ZdK
>>598
相手とレベルに差がありすぎるときは情報の出所を示して自分で学習してもらう、
くらいしかできんよ。
それか抽象的なたとえ話にするぐらいしか。

四則演算も変数も数式も知らない小学生一年生に「因数分解を教えて」って言われて
たとえ話じゃなく具体的に自分の言葉で相手に理解させられるならたいした物だけど。

あ、君なら出来るのかな?
義務教育で9年間かけて理解させることを掲示板のレス一つで理解させることが。
0604名前は開発中のものです。2010/02/11(木) 12:45:09ID:pq8QUUui
レベルの差、ということにしておきたいんですねw
あ、コレがうわさの>>3現象ですねw
0605名前は開発中のものです。2010/02/11(木) 12:48:29ID:ZeQP1ZdK
>>604
>>542-544
0606名前は開発中のものです。2010/02/11(木) 12:50:01ID:q7qw6G8d
>>603
折衷点を見つける気はないってことね
そしたら君が出てくしかないんじゃないの?

悪いけどそんなリンク先なんてだれも読む気もしないし
少なくとも君の言ってる内容とリンク先が完全に一致してる証明ぐらい自分でやってほしいもんだけど
そういう負担をこっちに全部押し付けるなら君とはまったく会話できないな

自分は正しい正しいって必死に弁解してるようにしか見えないけど
仮に君が正しいとしてそれで誰も君の話を聞いてくれなかったとしても
永遠に自分の正しさだけを叫び続ければいいよw独りでw
0607名前は開発中のものです。2010/02/11(木) 12:50:52ID:EQAnMjR+
>>603
自分の言葉で語ればいいと思う。理解するかしないかは読む人が決めるし。
0608名前は開発中のものです。2010/02/11(木) 12:52:27ID:ZeQP1ZdK
>>607
その結果が>>606
なんだよね。
0609名前は開発中のものです。2010/02/11(木) 12:56:16ID:q7qw6G8d
そのわかりやすさも含めて話し手の能力だよね
自分の言葉で語れない奴はどこいっても誰も受け入れない
色んな会社転々とすることになるよ

数式や公式なんて知らなくても相対性理論説明できる人間だっているってことよ
0610名前は開発中のものです。2010/02/11(木) 12:57:57ID:5Io58pGR
数式公式知らない奴に相対論語られてもさすがに困る
0611名前は開発中のものです。2010/02/11(木) 12:58:49ID:ZeQP1ZdK
>>609
では小学生一年に因数分解理解させてみて。
自分の発言の証明ヨロww
0612名前は開発中のものです。2010/02/11(木) 12:59:09ID:q7qw6G8d
>>610
アインシュタイン 数学 苦手
でググレ
0613名前は開発中のものです。2010/02/11(木) 13:01:14ID:ZeQP1ZdK
>>612
>相手とレベルに差がありすぎるときは情報の出所を示して自分で学習してもらう、
私の発言の証明ありがとうww
0614名前は開発中のものです。2010/02/11(木) 13:01:49ID:q7qw6G8d
>>611
極論持ち出して悦にいってるけど
そういう話じゃないよね?
君のレスに興味をもつかどうかの話

まあはっきりいうけど

お前のレスなんて誰も読みたくないから書き込むのやめたら?

って遠まわしに言ってるの
■ このスレッドは過去ログ倉庫に格納されています