[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 21:46 / Filesize : 382 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2009/02/19(木) 02:21:01 ID:k4ODtuXP]
タスクシステムについての議論、相談、質問、雑談などのスレです

part4 pc11.2ch.net/test/read.cgi/gamedev/1233459490/
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/


・タスクと呼ばれる実装は、非常に多岐に渡ります
 古典タスクシステムについての話題は「>>2」と明示してください
 そうでない場合はカスタム版タスクであることを明示してください

・人を憎んで言語を憎まず

118 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:41:07 ID:07PQbtcV]
>>114
> 正直、差分がそこしか見えなかったんだからそれでいいんだよな?

全然違うね。

510のように抽象化することで、自動並列化のようなことが可能になってくる。

まあ、510のソースを自動並列化するのは正直無理だが、もう少し抽象化して、
各タスクの役割を明確に記述できれば自動並列化できる。

119 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:41:26 ID:P36r7rTD]
>>107
「ウォークマン」みたいなものじゃない?
最初に有名になって、それ以降類似したものの総称として
便利だから名前だけ使ってるって。

>非ゲームプログラマがTaskという名前のクラスを見て、何なのかすぐ理解できるのかってことですよ。
タスクシステムを使うのはゲームプログラマでしょ。普通は。

いちいち現場で「これはオブジェクトを管理するシステムで更新と描画で登録関数が呼ばれて…」
とか説明するより「タスクシステム的なもの」の一言でゲームプログラマならだいたいって通じるし。

ま、デザインパターンみたいにちゃんと定義と命名されればいいんだろうけど
ゲーム業界固有の物だしねぇ

120 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:41:35 ID:07PQbtcV]
>>116-117
>>118

121 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:45:39 ID:4jF5VqD/]
>>118
それは>>510からはいえないな
実際、>>510>>641の間で自動化云々って話はないわけだし
自動化を証明したければ比較のソースを書いてからだな
それまではいっちゃいけねぇだろ
俺も否定しないし
少なくとも>>510>>641の間では自動化は見えなかった
今回はこれが結論

122 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:52:23 ID:3HETWV4t]
まあ、2重のforループで文字数稼いでいるということは、
forループの中身が増えれば増えるほどその稼ぎは薄まる訳だ。
規模が巨大になればなるほどパーセント減るようにしか見えないぞ。
その辺どうなのよ。

123 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:55:30 ID:07PQbtcV]
>>121
510と641を並列化するソースを書き比べればすぐにわかるよ。
そんな本格的なものでなくていいから。

2重ループでi×jのループ回してるところ、あれをi×j / N のループに
分けて実行して、すべてのスレッドの終了をセマフォで待つだけでいいよ。

124 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 16:56:43 ID:07PQbtcV]
>>122
> forループの中身が増えれば増えるほどその稼ぎは薄まる訳だ。
> 規模が巨大になればなるほどパーセント減るようにしか見えないぞ。

それはもちろん正しい。そのへんはゲームの性質によるだろう。

125 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 17:14:52 ID:3HETWV4t]
>>124
>>111

126 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 17:27:14 ID:iOCBxjYv]
タスクシステムとやらのメリット
コードが一割減

タスクシステムのデメリット
可読性が低くなる


この調子でお願いします
メリットわかってるんだったらごまかさずに書けよ
そんな出し惜しみばかりするから無駄に荒れる



127 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 17:35:18 ID:07PQbtcV]
>>126
コード削減、一割減はちょっと違うと思うな。
今回の例ではタスクシステムを使わないと27%増。

俺の感覚では、だいたいこの数字はどんなゲームでもそんなに変わらなくて
平均すれば20%前後だと思うな。これが10%程度ってことはないな。

並列化とかもっと大がかりな仕組みがタスクシステム側に用意されていれば
この差はもっと広がるしな。まあ、それをタスクシステムと呼んでいいのかは知らんが。

128 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 17:46:01 ID:iOCBxjYv]
じゃあ二割減でもいいや

開発速度向上はない、可読性が低いものほど開発に時間がかかるから
タスクシステムとやらのデメリットとして
開発に時間がかかるというのも追加できる

この調子ならメリットデメリットを列挙できそうだな
選択肢になりうるかどうかはそれを見れば判断できるだろう
化けの皮を一枚ずつはいでいくのは楽しいの

129 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 17:52:15 ID:07PQbtcV]
>>128
> 開発速度向上はない、可読性が低いものほど開発に時間がかかるから

ソース全部理解しなくても、510のタスクシステムは使えるだろ。

TASK2(クラス名A,クラス名B)
{
クラス名A1.XXX = YYY;
クラス名B2.ZZZ = WWW;
}

こう使うだけじゃん。説明に1分も要さないと思うが?

130 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 17:52:47 ID:Kwr5xaMF]
>128
> 開発速度向上はない、可読性が低いものほど開発に時間がかかるから
> タスクシステムとやらのデメリットとして

まずタスクシステムのどこが可読性低いのかを示してもらわないと。

FSMになってるところ? 関数ポインタの部分? ごった煮リスト?


131 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:15:26 ID:D/oVP314]
>>130
自分のタスク内で完結しない処理に関しては、全部グローバル変数経由

ゲーム中のあるシーンを想定した場合、そこで何のタスクがどういう順番で走るかが、
コードの一箇所を見てもわからない。



132 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:15:57 ID:4jF5VqD/]
>>129
でも読みにくいなぁ、おいw
それが何を表してるのかさっぱりわからないぜw
ループ隠しただけなのになw

133 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:24:15 ID:hYClRP74]
>>131
>自分のタスク内で完結しない処理に関しては、全部グローバル変数経由
そんな処理するのはタスクじゃないだろ。

134 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:26:52 ID:D/oVP314]
>>118
> もう少し抽象化して、各タスクの役割を明確に記述できれば自動並列化できる。
そんな簡単じゃないよ。

並列処理は計算機科学の分野では長らく研究されていて、いろいろ知見が積み重なってるんだが、
少なくとも 510 からは、自動並列化につながる筋道がまったく見えない。

夢が大きいのはいいんだが、まったく現実性が無いのもどうかと思うぞ。

135 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:32:19 ID:a9F+sDW/]
タスク擁護派から言わせてもらうが、>>129 は読みづらいよ
初めて読む STL や Loki や boost と同じくらいにね。俺なら使わん

結局、あるライブラリを使うメリットは普及してるかどうかだ
strcpy や strncpy を使うメリットはなんだ?
みんなあの仕様はおかしいと感じているのに? タスクもそれと同じこと。

そして、普及さえしていなければメリットはないと考えて必死で叩くお前らは正しい

136 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 18:40:14 ID:07PQbtcV]
>>134
> 並列処理は計算機科学の分野では長らく研究されていて、いろいろ知見が積み重なってるんだが、
> 少なくとも 510 からは、自動並列化につながる筋道がまったく見えない。

「自動」の意味を誤解しているようだが、
自動車は、自動的に目的地まで運んでくれる乗り物ではないのと同様、
人間が何もしなくてもいいという意味ではない。

俺が「自動」並列化と言っているのは>>123の意味。
例えば、TASK2をP_TASKと人間が書き換えればあとは自動的に並列化してくれるように改造するのは容易。

なんでこれが出来ないと思うのか、俺はお前らの技術力を疑いたくなる。本当にお前らプログラマなのか?



137 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 19:05:26 ID:D/oVP314]
>>136
> なんでこれが出来ないと思うのか
その程度で済むなら OpenMP がやってる

138 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 19:18:40 ID:4jF5VqD/]
>>136
なんにも自動化しないだろw

139 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 19:35:06 ID:07PQbtcV]
>>137-138
お前らが何もわかってないただの自称プログラムだというのは十分わかった。

123すら出来ないとはな。

140 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 19:51:24 ID:07PQbtcV]
>>138
お前本当に日本人か?どう見ても中国人だろ。

前スレ、前前スレから日本語が極端に不自由な奴が二名いるみたいだが、お前はそいつだろ。

プログラム以前に日本語教室行ってこいよ。

141 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 19:59:47 ID:4jF5VqD/]
もはや進む方向が頭おかしいじゃん
ループなんかはずして喜ぶプログラマいないってw
むしろ、ループ処理してるならfor文を見えるところにおいておいてほしいだろ
誰がこんな構造にして喜ぶのか?
ちょっとは考えろよ

142 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 20:09:26 ID:D/oVP314]
>>139
依存関係も副作用も無いコードなら、そら簡単に並列処理できるさ。数値計算だと
割と多いが、ゲームでそれはほとんどないだろ。

143 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 20:43:23 ID:HdiuLFdj]
日本語がおかしかったら中国人ってなんできめつけんの?
インド人かもしれんし韓国人かもしれんだろ

144 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 20:43:36 ID:iOCBxjYv]
可読性に関してはDSLの圧勝なので
それに比べてタスクシステムは可読性がないと言えるのは間違いないよ
専門家でも読むのが難しい本と、幼稚園児が読める絵本とでは
同じ文字数だとしても
絵本の方が圧倒的に速く読めるでしょう、当たり前だけどな

使えるから使えると言ってるけど
使ったら他の選択肢がなくなるから、使えるからと言って考えなしに使うなと
昔の偉い人とエロイ人もゆってた

つまり、エロエロよー

145 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 20:47:01 ID:Dmt7DoEE]
>>142
横槍ですまんが、あくまでゲームで並列処理は難しいと決め付けるのは良くない。
ゲームは依存化が明確にしやすく、
割と並列化しやすいとMTフレームワークの中の人が言っております。
game.watch.impress.co.jp/docs/20070131/3dlp.htm
>石田氏は「タスクという観点から見ると、依存関係は最小化でき、
>むしろゲームプログラムは並列化しやすいともいえるんです」と、
>これまでのゲーム開発の常識とは正反対の意見を主張する。

これには自分も驚いたが、
MTフレームワークの製作者が実践してそう思ったのなら説得力があると思わないか?
まぁ、予想(予測)と理論と実践はそれぞれ違うって事だ。

146 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 20:56:31 ID:D/oVP314]
>>145
予想というか、仕事で実際にゲーム書いてた経験談なんだが。モーションとかレンダリング
まわりのジョブはわりと分割しやすいんだけど、いわゆるゲームロジックに絡む部分は、
かなり難しい。

排他制御は特にバグが入りやすい部分だし、仕様変更多発が想定されるゲームロジック
部分を並列処理するのはリスキー。



147 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:03:43 ID:Dmt7DoEE]
完全に頭ごなしに否定するのではなく、
そのリスキーな部分をいかにして、
安全で仕様変更に強い設計で書くのかを議論していってもいと思うわけよ。

仕事でロジック部分の並列化やられたら、うへぇってなるが、
趣味だったら面白いネタだとおもわないかい?

148 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:13:55 ID:Dmt7DoEE]
まぁ俺はタスク使わない派だけれども、
もしタスク派が生き残りをかけるのなら、マルチコア時代の恩恵を
受けられるような並列処理の記述性ただ1点だけ突き詰めるのが良いとおもうぜ。

149 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:15:06 ID:iOCBxjYv]
前スレでは、誰かがプロも使っているタスクシステムと言ってたな
他人の権威にすがって偉そうにする奴も世の中にはたくさんいる
そういう奴は最後には命乞いをして延命を図る
延命を図るのだよっっっ
くやしいのぅ、くやしいのぅwww

150 名前:名前は開発中のものです。 [2009/02/21(土) 21:37:12 ID:H2kw4iDd]
ID:Dmt7DoEE
前スレの>>510は名乗るのをやめても
タスク信者の特徴は消せないのだから
名乗るといい

名無しでの火消し&誘導は無駄

151 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:43:42 ID:Dmt7DoEE]
いや。俺は以前>>22を書いた者で、すまんが510とは別人だ。
実際にタスクについては主に見通しの問題で否定的で、参照構造についても目的が無ければ無意味な足枷でしかないと考えている。
ただ、並列化については興味があるわけ。マルチスレッドで速度を稼げるのならそういう技術も覚えたいと思っている。
そんな中、自動並列化についてタスクにはその可能性がなきにしもあらずと考えている。
まぁ自分は実装するのはゴメンだがね。

152 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:49:55 ID:07PQbtcV]
>>142
> 依存関係も副作用も無いコードなら、そら簡単に並列処理できるさ。数値計算だと
> 割と多いが、ゲームでそれはほとんどないだろ。

あんた、本当に大きなゲームのプログラム書いたことがなさそうだな。

並列化して処理時間を稼ぎたい部分って、同期のためのコストとかもあるから
実際はかなり粒度の大きな、単純な計算が繰り返される処理なんだよ。
ゲームのうち、衝突判定とかは特にそういう計算ばっかりだ。

まあ、>>145でもすでに指摘されているが。

このスレは本当に商用で大きな規模のゲームを作ったことがあるのかと
疑いたくなるような奴ばかりで俺はただただ呆れるばかりだ。

153 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:50:34 ID:D/oVP314]
>>151
> そんな中、自動並列化についてタスクにはその可能性がなきにしもあらずと考えている。
そもそも、CPU 食ってるのはゲームロジックより、ヒット判定やモーション処理だったり
しないか? 将棋とかの AI は別だけどさ。

そこは仕様が比較的安定しているから、作りこむだけのコストがかけられる。自動並列化
なんていわずとも、従来のロックベースの方法で OK。

154 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:55:00 ID:3HETWV4t]
一般的な自動並列化と俺定義の自動並列化で話が通じ合ってないな、お前ら。

155 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 21:59:19 ID:D/oVP314]
>>152
衝突判定は、単に「ぶつかってる・いない」を判定するだけなら簡単なんだが、衝突の
解決が絡むと並列化が割と難しい。

衝突解決には、たとえば「壁は動かない」「プレイヤーが壁に当たったら押し戻される」
「プレイヤーと NPC があたったら NPC 優先」とかルールを決めて、それに応じて
優先順位つけて解決していくのが一般的だと思うが、問題は解決するときに相互
作用が発生することなんだよな。

シーケンシャルに処理するなら、割と手抜きアルゴリズムでもそれっぽく見えるんだが、
並列処理するとなったら、とたんに複雑さが増す。前に一度やってみてメゲた。

156 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:02:28 ID:Dmt7DoEE]
>>153
コンシューマならCPUの数と使用用途が特定されてるもんだが、現実的に考えて決めうちでが妥当だと思う。
PCのような特定されないマルチCPUの環境を考えると、自動で並列化するのは面白いんじゃないんかねぇ……。
自動並列化といっても、正直こればっかりは実装してみないと、
どのようにスレッド分配され、パフォーマンスが上がるのか下がるのかは、議論できんところだね。



157 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:08:58 ID:3HETWV4t]
お前らw

>>136で自動並列化の俺定義出してるんだから、ここはそれに合わせてやれよ。
>>136はライブラリ提供者が、ライブラリ利用者に分からないようこっそり裏で並列化(手作業)しやすいよ。
と、言ってるんじゃないの? 違うか?

ちなみにID:D/oVP314とその他は一般的な意味で話してるような気がする。
ググって出てくるような一般的な意味ね。

158 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:14:35 ID:D/oVP314]
>>157
っつか、それはデータの依存性自動検出とかできないと無理なわけで。ハードルが
超高い。

159 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:16:13 ID:3HETWV4t]
ループの抽象化が人為的ミスを防ぐとか、>>123の意味で処理を挿げ替え易いというのは分かる。

出来るだけ先入観を抜きにして、もう一度>>510を読んでみた。
やっぱり、TASKマクロのもどかしさが引っかかるんだよな。
iとjどっちも0からブン回してるけど、星衝突ループはj=i+1からで充分。
オーダーが変わってくるんだけど、その辺手が出せないじゃん。
そんな場合、TASK2Bマクロでも作るのかな?
ライブラリに任せでこういう不備があると面倒だ。
しかもこれに対処するとアドバンテージ消えそうだな。

WindowだのApplicationだのをタスク化してるのも意味不明だな。
継承したものがまるまる無駄になってるのが大雑把すぎ。
TASK2に突っ込みたいがためにやってるだけなら、やっぱり無駄過ぎだよな。
先行投資と言っても、その投資が回収されるまでは過度の抽象化にすぎないわけだ。

んで、>>641バグっるかもって作者言ってたけど、ホントにバグっててワロタ。
・万有引力はj=0から回さないとダメ。
・星衝突で自分同士の場合のcontinueが抜けてる。
あとはOK。


160 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:22:05 ID:Dmt7DoEE]
>>158
その超高いハードルを、どうしたら解決できるだろうかを議論しようじゃないか。
たとえば>>510はデータ集約について提案し、
参照構造の是非について議論しようとしていたようだよね。
オブジェクトの所有/解放を(ライブラリ内で見えないように)行うことで、
並列化の足掛かりを見出そうとしたようだよ。第1歩というか、パフォーマンス的には第-1歩だけど。

161 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:25:18 ID:3HETWV4t]
まあ、>>123みたいな部分で泥臭い作業が発生したとしても、
俺は>>510より>>641のほうが良いね。
「シンボル'Star2'は定義されてません」とかVCに言われてイラつくこともないし。
無駄や不透明な部分があると精神衛生上良くない。

162 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:26:57 ID:D/oVP314]
>>160
> その超高いハードルを、どうしたら解決できるだろうかを議論しようじゃないか。
本気でやるなら、サーベイ論文読むところからスタート。かなり研究されてる分野だから、
ゼロから何かやるとか時間の無駄なので。

163 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:31:42 ID:4jF5VqD/]
>>162
そんなくだらいこと研究して金もらってる奴がいることに驚きだぜw

164 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:36:21 ID:07PQbtcV]
>>161
> 「シンボル'Star2'は定義されてません」とかVCに言われてイラつくこともないし。

インテリセンスでるのにそんなミスやるはずがないじゃん。あんた使ってるのVC98?

165 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:39:35 ID:D/oVP314]
>>163
並列処理のアルゴリズム・データ構造まわりは昔から研究ネタとしてはよくあるんだが、
単一プロセッサの性能向上が頭打ちになるのが現実的になってきた頃から、Intel, IBM を
はじめとした企業が金と人突っ込んでる。

公開されていて実際に開発に使えるレベルになっている成果というと、たとえば Intel
Threading Building Block とかさ。


166 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:40:53 ID:3HETWV4t]
いや、自動並列化は普通に研究対象としてアリだろ。
これから必要になってくる分野だぞ。

タスクシステムにしてもな、
ゲームの根幹的な制御部に使うのはかえって面倒そうなのでやっぱり嫌だ。
単純で、相互作用がなくて、あったとしても誤差許容できて、計算結果はゲーム性に影響しない。
ベストエフォートで充分なところなら使えそうだとは思った。
大量の火花エフェクトとか、そういう余力でやればいいような部分。



167 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:42:18 ID:3HETWV4t]
>>164
右クリック→定義へ移動

168 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:45:19 ID:Dmt7DoEE]
>>162
すまん。俺も本気でやるつもりは無いんだ。
正直、並列化には憧れているが、鬼門だと思ってる。それが手動であっても自動であってもさ。
ゲームではない自分の専門分野でIntelC++とMPIで稼ぐ実装をした事があるが、
冗長になった割にパフォーマンスが出なくて萎えた経験がある。

もしゲーム特化で、安全で保守の掛からないデータ構造を有するタスク自動並列化のライブラリが出来たのなら、
金貰ってもいいレベルだと思う。個人が趣味でやる分野じゃないねぇ。

169 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 22:54:04 ID:4jF5VqD/]
結局、自動化ってあんまり意味ないよね
プログラムって最低限設定しなきゃいけない内容は絶対に自動にならねぇし
結局は上にスルーパスして設定を任せるだけになる

スクリプト組んでも苦労する人間が変わるだけで絶対的な作業量は無くならない
むしろ、トータルでは増えてしまう場面のが多いかもね
そりゃプログラマの仕事があんまり高度で・・・っていうならわかるけど
できたスクリプト言語がC言語とあまり変わらんようなのってどうよ?

ってのと同じでタスクシステムも結局処理をスルーパスしてるだけで
自動化してるように見えるだけでしょ?

170 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:00:58 ID:Dmt7DoEE]
>>169
ん?複数スレッドにタスク単位で処理を投げてパフォーマンスを稼ぐ「自動並列化」の話だよ?


171 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:02:21 ID:D/oVP314]
>>169
データ構造と処理内容を限定することで、並列処理を定型化して簡単に使えるように
するってのは、話としては分かる。

ただ、それを目指すならタスクとやらは starting point としては全然ダメなのが萎える。

172 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:02:42 ID:07PQbtcV]
>>169
ID:4jF5VqD/はド素人か。本当にゲーム作ったことあんのか?

お前、一人だけレベルが低すぎる。もう引っ込め。

173 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:03:41 ID:3HETWV4t]
とりあえず、煽るのはヤメにしようぜ。面倒だ。

174 名前:名前は開発中のものです。 mailto:sage [2009/02/21(土) 23:05:14 ID:Dmt7DoEE]
同じく煽るのはやめましょう。
識者との有意義な話。(できれば建設的な話)にもっていきたい。

175 名前:名前は開発中のものです。 [2009/02/21(土) 23:38:57 ID:LbjEvDmu]
松浦健一郎の本って内容濃いね

176 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 02:17:35 ID:zvJaILDC]
>>170
え?そんな話してんの?w
絶対無理だと思うよ
ゲームで一番重い処理はオブジェクト同士の関連だって
少なくともデータ自体は分離されてなきゃ並列に動けないと思うぜ
ごった煮にした時点でそんなの無理じゃね?



177 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 05:31:48 ID:/MSzm31i]
ゲームロジックで一番重たいのは当り判定だ。
そんなものしらないのかよ。糞が。

178 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 05:51:25 ID:/MSzm31i]
今、oyaとkoクラスがあって、それぞれupdateメソッドを持っている。
koクラスのupdateメソッドはoyaクラスのupdateメソッド内で呼ばれる。
koクラスのupdateメソッド内の処理は、ある特定の情報(ここではinfoとする)を必要としている。
infoをどのようにしてkoクラスのupdateメソッド内の処理に参照させればよいか。
1.グローバル変数
2.引数
3.シングルトンパターン

179 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 06:16:09 ID:ihng4iqV]
複数生成されちゃ困るような情報ならシングルトンになるんじゃないの?
oyaクラスで生成する情報であれば引数で渡すのが楽だろうし

180 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 08:48:04 ID:W9e8MC1E]
>>159
>・星衝突で自分同士の場合のcontinueが抜けてる。
j=i+1から回してるから自分同士ありえないな。
万有引力をj=0から回すだけで良い。

181 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 10:26:16 ID:2krgEtKU]
>>177
ゲーム内容も明示せずに
>ゲームロジックで一番重たいのは当り判定だ。
ってゲーム一般として断言できちゃうあたりがステキ

物理演算バリバリの3Dコリジョンチェックと
2Dシューティングのボックス判定の繰り返しは違うし
AIの計算時間、モデルのアニメ計算etc...の時間もゲームによって違うのにね。

182 名前:名前は開発中のものです。 mailto:sage [2009/02/22(日) 17:28:01 ID:DmOCWQfi]
>>177
ジャンルによる。将棋だと AI の方が重い。

183 名前:名前は開発中のものです。 [2009/02/23(月) 07:26:36 ID:sG7Lzgrq]
タスク信者どもやっと死んだか?

184 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 08:08:01 ID:keyUucFf]
プログラムが一行も書けないアンチタスカーのポエマーが死んだんじゃね?

185 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 09:35:14 ID:7qNmU6oR]
タスク信者は死なんよ。
なぜならアンチタスカーこそが最大のタスク信者だから。
俺もアンチタスカーだが、皆がタスクシステムの利点に気づかないように、
あえてアンチを演じている。
気づかれると日本経済が破綻するからな。

186 名前:名前は開発中のものです。 [2009/02/23(月) 12:39:27 ID:sG7Lzgrq]
日本経済脆過ぎだろ



187 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 16:16:29 ID:7qNmU6oR]
皆それが分からずに回りをぐるぐる回ってるだけ。
アメリカではオブジェクト指向での陽動作戦が主流。
一部日本でもその余波の影響を受けてる。2重3重に騙されて踊らされてる状態。
何かおかしいと気がついたインテリたちはLisp使ってる。
しかしそこどまり。ロジックでは根源にたどり着かない。
防空壕の中に居ては何も出来ない現実。

188 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 16:58:53 ID:JKBRWfYb]
日本語でお願いします。

189 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 17:15:51 ID:3YpC4mil]
信者もアンチもどっちもゲ製住民らしくてとっても面白いので
もうちょっと続けてください

190 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 17:19:36 ID:7qNmU6oR]
スタックという構造がそもそもの誤り。諸悪の根源。
理想な構造=都合の悪いものを外部に追いやってるだけ。局所的幸せ。
このままいくと、プログラムは幸せになるが、プログラマは不幸になる。
国は幸せだが国民が不幸な北朝鮮と同じ。

191 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 17:31:30 ID:7qNmU6oR]
ちょっと考えれば分かること。
スタックがあるので関数はいつでも呼び出せる。
でも、引数はいつでも用意できるわけではない。
スタックは一見理想的な構造に見えるが、実は都合の悪いことを外部に追いやっただけ。
みんな困ってる。でも気がついていない。

192 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 17:57:19 ID:Kk+tvzE1]
タスクシステムは流れが読みづらくなりすぎだ
オブジェクト指向的スパゲッティコードのようなもの
GOTOを使ったスパゲッティコードの方がまし

Lisperが書いた本でlisp最高最高書いてあったからよく読んでみたら
DSLのようなメタをその言葉を知らないまま絶賛していた
Lisperってのはすごいんだかすごくないんだかよくわからない人達だった

実装の要点である問題領域をいかに簡単に書くかということこそが
最重要であるのに、そのアプローチを真っ向から阻むタスクシステムを
俺は許せない、許せんのだよ
タスクシステム死すべき死すべき

193 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 18:06:49 ID:7qNmU6oR]
問題領域が簡単に書けたとしても、それ以外の部分が複雑になるだけ。
「簡単に書いてやろう」その発想がすでに誤り。
タスカーもアンチタスカーも同じ場所をぐるぐる回ってるだけ。

194 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 18:22:16 ID:JKBRWfYb]
もうこれはプログラム技術知識というか哲学だな。
>>107の書いてた自転車置き場の議論だっけ?良く納得した。
早々に退散させてもらうぜ。

195 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 18:42:04 ID:DYVLGFTC]
>>193
タスク信者はひとくくりにしていい
だがタスク信者でないものはひとくくりには出来ない
それはログを見れば分かる。それぞれ批判の切り口が違う

読まないから分からない。こういう一見さんに限って
俯瞰視点を気取って分かったような口を利き
稚拙な総括で締めくくろうとする

タスク信者以上に邪魔な存在だ



196 名前:名前は開発中のものです。 [2009/02/23(月) 18:45:03 ID:2rXEX53B]
>>194
結論なんてとっくにでてるよ。
余暇にやることが無いからとりあえずアンチと信者に分かれて鬼ごっこしてるだけ。



197 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 18:47:56 ID:DYVLGFTC]
>>194
哲学?そんな高尚なものではない
どうでもいい役割に、どうでもよくない重要な役割を無理に与え昇格させようと試み
どうでもいい実装を、どうでもよくないウルテクであるかのように喧伝する

これはハッタリ詐欺だ。昔を知らないアマチュアを騙くらかそうと躍起になる石器人の産物だ

198 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 18:59:34 ID:7qNmU6oR]
>>195
残念ながら私は前スレの510だ。
一見さんどころか、プログラムすら投じている常連だ。
むしろ、私が居ないとこのスレは回らない。もはやネタが無いからな。

>読まないから分からない。こういう一見さんに限って
>俯瞰視点を気取って分かったような口を利き
>稚拙な総括で締めくくろうとする

自分にレスして楽しいの?


さ〜今宵も盛り上がってまいりました!!

199 名前:名前は開発中のものです。 [2009/02/23(月) 19:04:16 ID:Kk+tvzE1]
やれやれ、わからない奴もいるんだな
複雑だが重要な箇所や、試行錯誤が必要な箇所
何度も書き換える必要のある箇所をDSLで記述を簡潔にする
それ以外は多少複雑になってもかまわない
一度しか書かない複雑な箇所と、何度も書き直す簡単な箇所のみで
システム全体が組まれていれば
トータルでの開発コストが最小になる
逆に複雑な箇所を何度も書き直したら莫大なコストになるってことぐらい
少し考えればバカでもわかるはずだ

200 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:11:49 ID:7qNmU6oR]
>何度も書き換える必要のある箇所をDSLで記述を簡潔にする
DSLだと何で簡単になるの?
仮に何らかの理由で簡単になるとして、理由が分かってるのならDSLでなくても良くない?
なんでわざわざ言語作るの?

201 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:18:35 ID:2rXEX53B]
>>200
だったらアセンブリ言語だけ使ってろよ

202 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:20:54 ID:Kk+tvzE1]
揚げ足取りしかできないのかバカな奴
DSLを理解していればそんな反論にはならないのに
やっぱりお前はバカなのだな
他人の言葉を借りて本質を理解することが出来ない
反論の余地のない要点を避けて、揚げ足取りをしているだけ
自分の言っていることすらもわかってないんじゃないのか
自分で言い出した事に対する返答に対して揚げ足取りなんて
ずいぶんと姑息な手を使うのが好きなようだな
何について話しているのかすらも忘れて、ただひたすらに
他人を黙らせるためだけに語るのだろ
それは罵倒するだけの人間と同じ種類の人間
そんな奴を見てはいそうですねといえるはずもなかろう
おまえもうんこと一緒に便器に流れてしまえ
このうんこやろう

203 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:22:03 ID:7qNmU6oR]
CはアセンブリのDSLではない。

204 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:25:28 ID:2rXEX53B]
C言語だと何で簡単になるの?
仮に何らかの理由で簡単になるとして、理由が分かってるのならC言語でなくても良くない?
なんでわざわざ言語作るの?

205 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:27:46 ID:Kk+tvzE1]
頭の悪いマナーも知らないクソやろう7qNmU6oRに対してわかりやすく書いてやろう

>問題領域が簡単に書けたとしても、それ以外の部分が複雑になるだけ。
>「簡単に書いてやろう」その発想がすでに誤り。
に対する反論が
>>199
というわけだ
おまえの頭の中にはちゃんと脳みそが入ってますかあーあー
なんならうんこでも付け足してやろうか

>なんでわざわざ言語作るの?
この一文でDSLがなんなのかを全く理解していないのがわかる
ばーかばーか

206 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:31:20 ID:7qNmU6oR]
なんかファビョられた。

DSLは、問題を複雑にしている原因を一網打尽に他所へ隔離するための一手段でしかない。
このスレみたいにな。

>複雑だが重要な箇所や、試行錯誤が必要な箇所
>何度も書き換える必要のある箇所をDSLで記述を簡潔にする

なにこの曖昧な記述。因果関係が意味不明。



207 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:37:49 ID:7qNmU6oR]
>>204
C言語とアセンブリはDSL的には同じもの。
どっちも汎用言語で、どっちも同じ問題を解決するために開発されたものだから。

208 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 19:49:08 ID:7qNmU6oR]
あげあし取りはどっちだか。枝葉に付き合うのは大変だ。

俺の主張を纏めておくと、
・問題を複雑にしている原因を一網打尽に他所へ隔離することが大切。
・DSLはその一手段。
・目的が達成されれば、他の手段でも良い。

DSLとか簡潔とか、関係ねぇ。センスが無いっていうのですかね、こういうの。

209 名前:ID:EEKBitmg mailto:sage [2009/02/23(月) 20:05:39 ID:DYVLGFTC]
>>198
残念ながら俺はHSP厨だ

で、タスクシステム=DBとかいうトンデモ論が意味分からないわけだが
てめぇ、またHSP叩いて逃げてんじゃねーぞチンカス

210 名前:ID:EEKBitmg mailto:sage [2009/02/23(月) 20:10:09 ID:DYVLGFTC]
何日も待ってたが、結局あの
「俺様が考えた超すごい新生タスクシステム>>510」提唱者は
タスクシステム=DBとか絶叫して逃げたままだ

211 名前:名前は開発中のものです。 [2009/02/23(月) 20:14:58 ID:sG7Lzgrq]
DSLとタスクシステムってなんの関係もないじゃん
勝手にくつけるならまず>>2に関して自分がどういう立場なのかはっきりさせろよ

212 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 20:15:07 ID:GaLE72iG]
DSLを銀の弾丸と思ってるお前はタスカーと同じwwww

213 名前:ID:EEKBitmg mailto:sage [2009/02/23(月) 20:17:01 ID:DYVLGFTC]
既出のものを既出と理解しない。自動でないものを自動であると叫ぶ
ユーザーに処理の依存関係を分析させ、ユーザーの手で処理ステップを
依存関係の有無で分解させておいて、それを自動並列処理であるなどと言い放つ
おまけにそれが新規性に溢れた野心的試みとか吠える

俺みたいなガキンチョが吠えてるならまだ許せるけど、いい歳したオッサンが
こういう事して許されるの?

214 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 20:17:52 ID:7qNmU6oR]
>>209
説明しようと思ったけど、やっぱやめた。繰り返しになるからな。

215 名前:名前は開発中のものです。 [2009/02/23(月) 20:18:30 ID:Kk+tvzE1]
俺の予想では7qNmU6oRが本質を理解せずに
言葉を並べて揚げ足を取って場をかき乱している奴だと思う、やねの同類
中立のふりをして片方に肩入れしたり
他人の言葉をパクってきたり、都合が悪くなると話題そらす
それっぽく目的なんて言葉を出しても
その周辺の原則を理解していないおまえには戦略を語る資格はない

216 名前:ID:EEKBitmg mailto:sage [2009/02/23(月) 20:21:01 ID:DYVLGFTC]
>>214
中身がねーからな。説明できねーだろ。ほれ。↓反論してみろ

人間に処理の依存関係を調べさせ、人間に処理を分解させる
つまりマニュアル操作で、コード上での静的なスケジューリングを行っている
自動並列とか言い出したときは気が狂ったのかと思ったね



217 名前:名前は開発中のものです。 mailto:sage [2009/02/23(月) 20:22:56 ID:7qNmU6oR]
HSPerのレスは煽りだけで内容が無いから飽きられてるんだよ。

218 名前:ID:EEKBitmg mailto:sage [2009/02/23(月) 20:23:06 ID:DYVLGFTC]
高専生の俺でも前>>510の今までの一連の主張がハッタリだらけであり
簡単なことを難しく記述しようとするある種のペテン師であると分かる






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<382KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef