09/02/19 02:21:16 k4ODtuXP
古典タスクシステム(このスレでは「>>2」と呼ぶ)
White Paper - Programming
URLリンク(homepage3.nifty.com)
タスクシステム
URLリンク(www5f.biglobe.ne.jp)
CodeZine:本格的なシューティングゲームを実現するタスクシステム(タスクシステム,シューティング,ゲーム)
URLリンク(codezine.jp)
Logician Lord … 【コンピュータゲームのからくり】
※ウェブアーカイブのキャッシュ
URLリンク(web.archive.org)
3:名前は開発中のものです。
09/02/19 02:39:56 f7wngrJT
前>>1000
全力で却下する
4:名前は開発中のものです。
09/02/19 02:46:44 SBcP9gsz
高専のHSPerのクルクルパーが吠えてると聞いて
5:名前は開発中のものです。
09/02/19 03:58:56 Qg2fxa2U
HSPerが寝たころを見計らって。前スレの問いに一応答えておくか。
またネタにマジレスとか言われるかもしれないが。
>あとさ、シーングラフの中から、条件にあったオブジェクトを高速に列挙する
>それをお前はDBだとかあんた言ってるんだろ?
>そんな機能、シーングラフを扱うライブラリなら大抵入ってるじゃん
>or用意に組み込めるようなトラバーサのインターフェースを提供してるじゃん
いや、可読性の問題だから。HSPが嫌われる原因も主に可読性だしな。
6:名前は開発中のものです。
09/02/19 07:23:11 ju+RHZ1R
ProcessだったりActorだったりObjectだったりTaskだったりJobだったり。
7:名前は開発中のものです。
09/02/19 07:34:29 xOakX6Dy
結局、前スレの奴、なんでDBにしたのかさっぱりわからないな(笑)
8:名前は開発中のものです。
09/02/19 07:45:56 ju+RHZ1R
エスパーじゃないから判らないのは当然だ。
しかしその理由を推測できないのは、>7のプログラマとしてのセンスが足りないと言わざるを得ない。
目の前のコードを解析してその設計思想を推測するのは、プログラム上達への近道。
ワカランワカランと何時までもほざいているのは、ただのバカ。
9:名前は開発中のものです。
09/02/19 08:13:38 Tu1TE6hA
普通に分かるように話せよ。
前スレでMPIが出てきたときは吹いた。
苦し紛れにアレコレ言い逃れしようとすんな。
10:名前は開発中のものです。
09/02/19 08:26:29 Tu1TE6hA
>>8
>>518のプログラムは分かるだろ。普通に巨大なクソだった。
で、なんでそんなに巨大なクソをありがたく拝んでいるのかが分からんと言ってるんだが。
メリットはなんだといろんな奴が何度も聞いてるのに、出てくる答えは全部HOW。
これはプログラム見たって分からないし、
クソの思想設計を推測したってプログラムは上達しない。
自動並列化にしたって>>510のコードには何もない。
だから話がかみ合わないんだろ。疑問が生まれるんだろ。
つーかさ、マジでこんなの推測できるわけないだろ。
「参照構造」とかトンデモ思想が飛び出して唖然としたわ。
こんなナナメ上理解できるかよ。
11:名前は開発中のものです。
09/02/19 08:32:06 Tu1TE6hA
>>10
>>518じゃなくて前スレの>>510な。
開発規模が個人と複数とではまるで話が違ってくるんで、
個人向けなら個人向けと最初から言って欲しい。
前スレ>>510の「オブジェクトがどこからでも参照できるのがメリット」
とかいうのは複数人開発では全く使えないな。
なんでもできるようにするのがエンジニアリングだと思うなよ。
12:名前は開発中のものです。
09/02/19 09:04:42 Tu1TE6hA
>>5
専用のインターフェースを使ったほうが可読性上がるだろ普通。
あと、目的が分からないまま言語だけ叩いてもしょうがないと思うが。
どんなゲームをHSPで作ろうとしているのか。
そのゲームを作るのにHSPに過不足があるのか。
この辺見えてないまま単にHSPだけ叩くのは不可能だろ。
目的によって最適な手段は違うから、目的が分からないままでは手段の不当性は訴えられない。
タスカーは目的無視で一般的銀の弾丸を漠然と論じたがる傾向があるから難しいかもしれんが、
それじゃ議論にならないから目的をハッキリさせるのは重要だと理解してくれよな。
ちなみに、タスクシステムは目的0というか、>>510に至っては掲げている目的が見当違いだったり、
実は実装されていなかったりだからナニコレ?と言ってるわけだ。
13:名前は開発中のものです。
09/02/19 14:01:18 Vb5vV7p+
みんなHSPに反応しすぎだよ。HSP使いのことはほっといてタスクの話しようぜ。
このままだと、このスレッドはHSPスレです。タスクの議論は他でお願いします。
とかそのうち出てきそうじゃん。
14:名前は開発中のものです。
09/02/19 18:29:00 xOakX6Dy
タスク信者どもこのスレで完全に息の根をとめてやるぜ
具体的にはもうタスクシステムでゲームなんて作れんようにしてやる
15:名前は開発中のものです。
09/02/19 21:42:17 qf5LflEh
別に使い続けてもいいんだよ
洗脳するなってだけ
16:名前は開発中のものです。
09/02/19 22:18:54 RtX9gwgD
>>14
発想が小学生だな
17:名前は開発中のものです。
09/02/19 22:26:47 pAIc4sjR
小学生に失礼
18:名前は開発中のものです。
09/02/20 00:46:37 YgfxUXIw
給料泥棒のHSPがアンチタスカーのふりをして暴れてると聞いて
19:名前は開発中のものです。
09/02/20 01:31:20 tm76Yhhm
ドンタスクったらドンタスク
20:ID:EEKBitmg
09/02/20 05:38:32 ExFXwXhz
>>5
>いや、可読性の問題だから
何言ってんのお前。頭蓋の中が空っぽだから適当ぶっこいてHSP叩いて逃げてるだろ
HSPの問題じゃねーのよ。わかる?フロントエンドに何の言語使ってようが
てめぇが言ってるタスクシステム=DBとかいう珍説はチンプンカンプンなんだよ
21:ID:EEKBitmg
09/02/20 05:41:55 ExFXwXhz
>>13
本当だよな。俺はHSP使いってだけなのに
底辺ワナビー・ダメ中年に限ってHSP使ってるって部分に脊髄反射してやたらネチネチと絡んでくる
おまけにポインタが使えないだとか、見当違いのこと言ってくる(前>>821-)。馬鹿かと
固定長メモリプール使ってれば>>2のポインタの使い方なんて配列の添え字(番号)でも記述できる
ハンドル使ってるなら、ID+配列の添え字 あるいは ID+プールタイプ+配列の添え字 とか
あと前>>510のソースの背後にある思想は>>2と違うと書いたが、どうやら外れだったらしい
書いた本人(>>510)の思想はタスク信者そのものだった。何がしたいのかサッパリ見えないし無知だ
ageうんこ詩人の当初の予想は的中していたようだ。心からお詫びする
ゲームプログラムの中の処理単位を扱う何らかのシステムだというタスクシステム
>>2ではゲームオブジェクトがタスクらしい。
それが今度はDBです。とか。何言ってるんだ?
タスク信者って窮すると話をかっ飛ばしてウヤムヤにしようとするよな
22:名前は開発中のものです。
09/02/20 07:08:32 i3xGUwbj
まあ、>>510の最終目標の1つは、シーングラフを構築する上でタスクを使って並列処理を行うって意味なんでしょ。
タスク単位で他タスクの保有するオブジェクトの参照や依存関係を明確にして、
並列処理できる分については、自動でスレッドにタスクを投げ込んでやろうとしてるのかな。
参照構造はその第1歩って事なんだと思う。DBって言葉使うと紛らわしいよね。一般的なDBMとは単語の意味合いがちょっと違うかな。
タスクからのオブジェクトの所有/解放と他オブジェクト参照の可否を組込む辺りから先ずは始めるのがいいと思う。
でも、並列タスクが相互干渉する状態での同期処理となると頭抱えちゃうかな。
最後にこのようなタスクが残るとクリティカルパスに影響するだろうから、
同期/非同期なのかは、個別に指示する必要がありそうな感ではある。全部動的にするのは難しいね。
タスクの粒度を細かくすると、参照構造がばらけて、並列化しやすくなるだろうけど、タスクプールが肥大になってかえってオーバヘッド生みそうだし、、
逆に粒度を荒くすると、並列化が困難になりそうだよね。その辺のバランス調整も難しそうだ。
他にもアイディアとしては、前フレームでの1タスクの実行時間を保持しておき、
それを次フレームでのタスク予想時間として利用して、効率的に分配するとかかな。
俺はタスクは使わない派だが、>>510は応援するよ。ネタとしては楽しいと思う。
始めソースを見ても目的が意味不明だったが、言ってることは分かった。
>>2とは、目標としているところは全然違うっしょ。
あと、参照構造についての意見はまたそのうちまとめて書くよ。
23:名前は開発中のものです。
09/02/20 07:27:31 SutyetVr
そんなわけねーじゃん
だってどっからでも参照できるのがメリットとかウンコ臭かったじゃんよ
24:名前は開発中のものです。
09/02/20 07:55:22 0dC3Oyo7
手段のせいで目的を制限するようなことはしたくないなぁ。
時には泥臭いことをやってでも解決しなきゃいけないことはあるんだ。
動けばいいんだよ。
HSPクンだって引数クンだってアンチタスク厨だって、作ったものが仕様どおりに動けばいいんだ。
仕様ってのは「どこからでも参照できる」でその手段が「DBのようなものを採用」だっただけ。
じゃ、なんで「どこからでも参照できる」なのかといえば、それは>510が決めたからとしか言いようが無い。
別に他人のタメにプログラム組んでるわけじゃないのだから。
25:名前は開発中のものです。
09/02/20 08:36:41 SutyetVr
設計のせの字もわかってないから引数否定して
グローバルインスタンスホルダーなんて作ってしまうわけですね
まず、なんでグローバル変数や関数が駄目なのか?とかそっから理解してないよね
26:名前は開発中のものです。
09/02/20 09:27:17 4mVxI9lJ
>>24
>別に他人のタメにプログラム組んでるわけじゃないのだから。
自分のためのライブラリならそう明示すりゃいい。
目的・用途が不明瞭なまま手段だけ出して「これどうよ」と言われれば、
それは一般向けのものとして応えるしかないだろ。
27:名前は開発中のものです。
09/02/20 10:18:16 EZsAEUg+
HSPクンは、
「俺はHSP使いってだけなのに
底辺ワナビー・ダメ中年に限ってHSP使ってるって部分に脊髄反射してやたらネチネチと絡んでくる」
とHSPを使ってることを叩かれると激しく怒る。
しかしHSPクン自身も、タスク使いってだけのやつにネチネチと絡んでいる。
これを同属嫌悪という。
28:名前は開発中のものです。
09/02/20 10:44:19 mhW5mlx0
>>27
で?
29:名前は開発中のものです。
09/02/20 13:23:17 YgfxUXIw
HSP使いの基地外が暴れてると聞いて
30:名前は開発中のものです。
09/02/20 14:25:02 Rn2v73WX
>>22
前スレ510はアンチの立場から>2の考え方を参考にしつつ
明らかに違うものをタスクと再定義してみるネタじゃね。
(読み違えてなければ)従来のタスクで特徴的だとされる
ごった煮リストじゃなくて型毎にリスト持ってるし。
OpenMPやMap-Reduceの影響の方が強いように感じた。
31:名前は開発中のものです。
09/02/20 18:33:19 SutyetVr
でもDBがどうのこうの言ってたじゃん
馬鹿のすることに無理やり意味なんて探すことないよ
32:名前は開発中のものです。
09/02/20 18:35:20 SutyetVr
どうせ匿名掲示板なんだから有利な状態で仕切り直し直せよ
それでも潰すけどね
33:名前は開発中のものです。
09/02/20 18:51:36 SutyetVr
それと新ワード連発して煙にまく手法は相手にされなきゃそれまでな上に
逆に具体性を求められるとタスクシステムに関係してないとどうしても弱くなるし
その上タスクシステムとの関連まで説明させられるしで正直手としては弱い気がすんだよね
34:名前は開発中のものです。
09/02/20 21:52:03 UeW6c0TB
>25
引数クンは、前スレでContext&の受け渡しも否定していたヤツだぞ。
引数を通して渡すのは必要なものだけ、それ以外を渡したらダメ。
グローバルは当然使っちゃダメ。グローバルに順ずるものも使っちゃダメ。
という極端すぎる人のことだが、ID:SutyetVrはもしかして引数クン本人なのか?
35:名前は開発中のものです。
09/02/20 22:38:42 YgfxUXIw
引数君は給料泥棒のド素人プログラマなんだから、いい加減トリップつけて、
みんなからNG指定してもらったほうがこのスレのためだと思うが。
基地外みたいなアンチタスカーは引数君か前のスレ主なんだろうな。
36:名前は開発中のものです。
09/02/20 22:53:18 4mVxI9lJ
ID:YgfxUXIw
ここまで煽りのみか。
お前がトリップつけろよ。
煽りしかできない奴は邪魔。
37:名前は開発中のものです。
09/02/20 22:54:50 U7J/cf6e
DBって何?
ドラゴンボールの略かえ?
タスクシステムってwikiにすら載ってないから謎が多いよね
オブジェクト指向データベースですらwikiに載ってるというのに
タスクシステムごときをシーングラフと同列に並べるなよ
全角英数使うなよ
DSLぐらい理解しろよ
飯食ったか
風呂入ったか
歯ー磨けよ
38:名前は開発中のものです。
09/02/21 04:05:46 J8fI+ges
そのwikiってのは、もしかしてWikipediaのことか?
39:名前は開発中のものです。
09/02/21 09:45:44 P36r7rTD
個人で作る規模のゲームなら、変に凝らなくてもタスクシステム程度でちょうどいいんでないかな。
タスクも必要ないテトリスとかオセロぐらい単純なゲームならwhile/switch/caseだけでもいいし。
仕事で作るゲームならその現場のルールや伝統の方法でやりゃいい。
結局アンチタスクって
ポインタも構造体も無いHSPでタスク使いたくても使えないから
すっぱい葡萄になってるレアケースでしょ。
40:名前は開発中のものです。
09/02/21 10:18:19 3HETWV4t
「変に凝ってる」のがタスクシステムだと気付け。
41:名前は開発中のものです。
09/02/21 10:22:39 3HETWV4t
いい加減ド素人タスカーの「お前ら技術力ないだろ、○○を勉強しろ」的なレスは飽きた。
42:名前は開発中のものです。
09/02/21 10:27:28 P36r7rTD
>>40
あの糞単純なタスクシステムのどこが凝って見えるのかを知りたい。
43:名前は開発中のものです。
09/02/21 10:32:12 3HETWV4t
どのタスクシステムについて言ってるんだ?
>>2か?
>>2なら現代でやる意味がないという意味で変に凝っている。
その他のカスタムタスクを指しているなら、目的が迷走している点で変に凝っている。
44:名前は開発中のものです。
09/02/21 10:35:42 3HETWV4t
#define ONE 1
#define PLUS +
int x = ONE PLUS ONE;
こんな馬鹿げたことをやってるのがタスクシステム。
単純なこと変なやり方でやって喜んでるだけだろ。
45:名前は開発中のものです。
09/02/21 10:40:06 P36r7rTD
>>44
よくわからんが
君の頭の中では
タスクシステム=マクロ
なのか?
もしかしてタスクシステムを理解してない?
46:名前は開発中のものです。
09/02/21 10:41:23 3HETWV4t
……。
「単純なこと変なやり方でやって喜んでる」という例えを示しただけなんだけど。
47:名前は開発中のものです。
09/02/21 10:49:00 P36r7rTD
タスクシステム自体はすごく単純な作りだけど
あれでも理解できない人がいるということか
まぁ関数ポインタとか、C言語初心者には「変なやり方」で難しいかもしれんが。
48:名前は開発中のものです。
09/02/21 10:52:57 3HETWV4t
まあ、「理解してない?」みたいな突っかかり方が十八番だからしゃあないか。
つーか、理解するとかしないとか、どんだけ低レベルなの。
>>47
>>41
49:名前は開発中のものです。
09/02/21 10:56:23 P36r7rTD
>>48
それはつまり
みんな君が理解してないことを突っ込んでたけど
君は勉強しても理解できないからアンチになった、ということになるが…
50:名前は開発中のものです。
09/02/21 11:00:45 3HETWV4t
とりあえず、タスクシステムのメリットを説明してみ?
誰もまともにできてないんだが。
お前がどう理解しているのかちゃんと示してくれ。
51:名前は開発中のものです。
09/02/21 11:02:15 3HETWV4t
メリット説明できずに黙るだろうな。
これまでの奴は全部そうだった。
ID:P36r7rTDの健闘を祈る。
52:名前は開発中のものです。
09/02/21 11:04:27 P36r7rTD
ギャラガとか今なら個人で作る規模のアクションゲームなら
複数オブジェの並列動作を単純に記述できていいね、ぐらいのものじゃない?
そんな難しく考えるほどのもの?
53:名前は開発中のものです。
09/02/21 11:08:42 3HETWV4t
forループで済む話をわざわざ変なやり方で面倒にしている理由を話せと言っている。
単純というが、普通に書いたらどう複雑で、それをどう単純にしたのか示してみろ。
タスクシステムのほうが複雑だから「単純に記述」という部分が嘘になってるんだよ。
54:名前は開発中のものです。
09/02/21 11:18:09 P36r7rTD
ギャラガを例にとると
自分・敵の弾、敵の死亡、敵の生成、などのオブジェが可変のケースだと
オブジェの増減をリスト管理してとか、結局タスクシステムと同じような仕組み作る必要があるんでない?
さらに、敵が編隊組んで移動、とかボーナスシーンとか、隊長機がやられたら編隊解散、とか
タスクなら関数切り替えで単純に状態推移を記述可能だけど
switch/caseで状態をオブジェ単位で記録して切り分け、となると
タスクシステムのほうがシンプルに記述できるだろ。
まぁ関数ポインタ理解できない人が見たら難しいソースになるかもしらんが。
55:名前は開発中のものです。
09/02/21 11:21:56 4jF5VqD/
>>54
なにいってるのかまったくわからない
56:名前は開発中のものです。
09/02/21 11:25:13 P36r7rTD
まぁ理解できないなら使わないでいいと思うぞ。
趣味のプログラマがどんな方法でプログラムしようとも
誰も文句いわんだろ。
57:名前は開発中のものです。
09/02/21 11:30:15 3HETWV4t
状態遷移を関数ポインタで表現するのは良いと思うし、
それはタスクシステムに限ったことじゃないよな。
>>1を読んで、どのタスクシステムについて語ってるのかハッキリさせてほしいんだが。
タスクシステムだとオブジェクト間の関連が処理順依存になって面倒になると思うが。
そこはどうすんの?
1フレームの誤差だから許容すんの?
58:名前は開発中のものです。
09/02/21 11:38:27 P36r7rTD
>>57
>>1を読んで、どのタスクシステムについて語ってるのかハッキリさせてほしいんだが。
ゲームの種類にあわせればいいんでない?
ほんとに単純なゲームなら>>2でもいいけど、ゲームによって問題が出たり
普通にC++使える環境ならクラスで作り直したり改良もあり.。基本的な考え方は変わらんでしょ。
>>タスクシステムだとオブジェクト間の関連が処理順依存になって面倒になると思うが。
オブジェクト間の処理順が問題になるケースなら
いわゆる「プライオリティつき」タスクを使うか、シグナルのような仕組みを付け加えればよいのでは?
そもそもあんまりタスク使って複雑になるようなゲームならタスクじゃない管理方法使うべきだし。
59:名前は開発中のものです。
09/02/21 11:55:53 3HETWV4t
>>58
>基本的な考え方は変わらんでしょ。
TCB有る無しで違うと思うが。
タスクを1個のリストで管理するかどうかも重要だ。
ごった煮リストでむりくり制御しようとしている様を指して変だと言ってるんで。
>いわゆる「プライオリティつき」タスクを使うか、シグナルのような仕組みを付け加えればよいのでは?
ここまでやると「単純」の域を超えているだろ。
すでにコードの見通しが悪くなってる。
「タスクシステム」のプライオリティーはベーシックの行番号やGOTOに見えるわ。
>そもそもあんまりタスク使って複雑になるようなゲームならタスクじゃない管理方法使うべきだし。
そうだな。
60:名前は開発中のものです。
09/02/21 12:02:50 P36r7rTD
「箸なんて原始的です。だから誰かメリット教えてくれないと箸の使い方覚えません」
って言ってる子供と同じだな。
「魚食うときとか便利だろ?」と言っても
「スープ飲めないじゃん、肉切れないじゃん」と言い返される。
スープ飲むときゃスプーン使えばいい。肉きりたきゃナイフとフォーク。箸で食いやすいものは箸で食えば良い。それだけのこと。
でも箸ぐらい使えないと馬鹿にされるぞ、と。
61:名前は開発中のものです。
09/02/21 12:16:21 G7lsvTqK
単純-複雑、変-変じゃない、とか審美的主観の話をしたら
好みの違う人とは話が合わないのは当然。
技術的に欠陥や優位があるというのならコードや
測定結果の数字を使って具体的に定量的に主張しろよ。
62:名前は開発中のものです。
09/02/21 12:20:35 3HETWV4t
>>60
で、「箸で食いやすいもの」は結局なんなの?
タスクシステム使って良かったと思える場面てどこ?
やっぱりメリット言えないの?
タスクシステムが原始的だなんて言ってないだろ。
タスクシステムよりもずっと原始的なやり方のほうが遥かにマシだと言ってるんだが。
63:名前は開発中のものです。
09/02/21 12:21:06 4jF5VqD/
>>60
ちがうな
箸で食えばいいのにトンカチで食べようとしてる人がいるから
なんで?って聞いてるんだ
64:名前は開発中のものです。
09/02/21 12:22:39 4jF5VqD/
いや、トンカチですらないな
トンカチは役に立つもんなw
タスクシステムはなんだろ?
なんにも役に立たないやw
65:名前は開発中のものです。
09/02/21 12:23:43 3HETWV4t
定量的な主張なら前スレ>>510と>>641でやったな。
>>510にはメリットが無いのにコード量は>>641の倍だった。
コード量の差と>>510が使っていたかなりの量のマクロを指して複雑だと言っている。
>>2はその時点ですでにタスク信者が見放していたからまだだけど、比較する必要あるか?
66:名前は開発中のものです。
09/02/21 12:25:36 Kwr5xaMF
>53
だからcontinuationの問題だろ?
67:名前は開発中のものです。
09/02/21 12:27:01 3HETWV4t
>>66
だから継続もタスクシステム抜きで実現できるだろ?
68:名前は開発中のものです。
09/02/21 12:27:28 Kwr5xaMF
>57
全てのn+1は、必ずnを参照すべし
とキミは主張しているのか?
69:名前は開発中のものです。
09/02/21 12:27:39 hYClRP74
そのうえ全部まるごと食えばいいじゃんとか言う奴もいるから話にならんな
70:名前は開発中のものです。
09/02/21 12:28:57 Kwr5xaMF
>67
dispatch部分をいちいち個別に書くのかよw
71:名前は開発中のものです。
09/02/21 12:29:20 3HETWV4t
>>68
何言ってるのかサッパリ分からん。
72:名前は開発中のものです。
09/02/21 12:34:33 Kwr5xaMF
>71
> タスクシステムだとオブジェクト間の関連が処理順依存になって面倒になると思うが。
> そこはどうすんの?
> 1フレームの誤差だから許容すんの?
タスクシステムだろうと、個別ループだろうと、処理依存するだろ?
1フレームの誤差はどちらでも出るぞ。
だから、『状態n+1に更新する場合は、全ての状態nを保存してから処理すべし』、と言いたいのか?
と尋ねたんだが、理解できなかったか?
73:名前は開発中のものです。
09/02/21 12:46:40 Kwr5xaMF
逆に言えば、
priorityを上げ下げすることで処理順依存をある程度解消できるタスクシステムとやらの方が
個別ループよりも柔軟性が高く優秀である
とID:3HETWV4tは言っているわけだが、今まで言ってきてることと矛盾してるだろ?
ホントに気づいてないのか?
74:名前は開発中のものです。
09/02/21 13:56:49 07PQbtcV
>>65
> >>510にはメリットが無いのにコード量は>>641の倍だった。
タスクシステムの部分を除けば641のほうがはるかにコード量は多かったよ。
それだけでもタスクシステムというシステムを導入するメリットがあると言えると思うが。
75:名前は開発中のものです。
09/02/21 14:20:08 3HETWV4t
>>72
>タスクシステムだろうと、個別ループだろうと、処理依存するだろ?
ああ、そりゃそうだな。
>>73
プライオリティーで表現すれば処理順を動的に変更できるし柔軟性も高まるが、そんな需要あるか?
・自機の弾に当たっている敵A
・自機に重なっている敵A
この場合どちらを先に処理するか、全部消滅させるかみたいなルールは動的に決めるものではないよな。
これをわざわざプライオリティーで表現してソートしたりするのが面倒なんだが。
さらにこの辺のプライオリティーがハードコーディングならやっぱり無駄にしか見えん。
でもってこれをタスクシステムで頑張ると「面倒→誤差許容しないとやってられない」、
というシナリオを描いて>>57の発言となった。
シグナルだのプライオリティーだの言っても所詮ルールが静的ならべた書きのほうが楽だろ。
76:名前は開発中のものです。
09/02/21 14:29:25 3HETWV4t
>>74
■TaskDemo
main.cpp 4684
Tasksystem.cpp 337
Tasksystem.h 4625
■NormalDemo
main.cpp 5087
Star.cpp 514
main.h 118
Star.h 235
(5087 + 514 + 118 + 235) - 4684 = 1270
その差50行程度だが、どこが遥かになんだ。
77:名前は開発中のものです。
09/02/21 14:30:42 Te+n/W8K
なんで静的であるという前提なんだ?
そういうゲームしか作ったこと無いとか?
78:名前は開発中のものです。
09/02/21 14:34:49 3HETWV4t
>>77
この手のルールが動的に変わる場合ってどんなのがあるの?
ギャラガは違うよな。
79:名前は開発中のものです。
09/02/21 14:40:53 P36r7rTD
素手で食いたいなら素手で食ってもいいんだが…
何を使えばいいかは料理しだい。世界中の料理を箸で食べろとは主張してないし、
ナイフもフォークもどんな道具も、万能な道具なんてないよ。
でも箸使えないからって箸を否定するのはみっともないよね、ということだね。
箸を使えないのが能力不足のせいか、HSPのせいかは知らんが。
80:名前は開発中のものです。
09/02/21 14:48:03 Te+n/W8K
>78
つまり、作ったことも無ければ想像したことも無いということか。
ダメジャンw
81:名前は開発中のものです。
09/02/21 14:50:59 3HETWV4t
万能な道具はないが、明らかに場違いな道具はあるって話。
俺はもともと目的に合った手段を選べという立場だ。
タスクシステムが手段として他のやり方よりもまともに機能する場面て何?と聞いているんだが。
その問いに対してズバリこれと言ってくれればそれで話は終わるんだがな。
>でも箸使えないからって箸を否定するのはみっともないよね
俺はオマル使えないし、オマル使ってるやつは否定したくなるな。
オマル使ってるやつはみっともないし、オマルを勧める奴は言語道断だ。
82:名前は開発中のものです。
09/02/21 14:53:10 3HETWV4t
まあ、オマルならな、渋滞にはまった時の非常手段として役立つかもしれない。
洩らすよりはマシだからな。
こういう「こんな時なら使える」って意見が欲しいんだよ。
83:名前は開発中のものです。
09/02/21 14:54:55 P36r7rTD
タスクシステムを使った実例は
ナムコの古典的アーケード以外にも
昔からのゲームメーカーのゲームを入れれば星の数ほど使われてる
それに対して何もゲーム作ったことも無い人間が「メリット理解できません」
といっても「そうだろうね」としか言えんわな。
今の最新ゲームの規模で古典的タスクみたいな単純な仕組みが使われることはもう無いけど、
個人製作レベルならまだその程度で十分じゃないのかな。
個人製作レベルで数億円かかるフレームワークとかエンジンとかの話してても夢物語だし…
84:名前は開発中のものです。
09/02/21 14:57:44 3HETWV4t
>>83
現代で使うメリットが無いと言ってるんだよ。
リソースきつきつだった時代に使うことまで否定してないだろ。
85:名前は開発中のものです。
09/02/21 15:03:45 P36r7rTD
>>84
関数ポインタ理解できる程度のプログラマなら
小規模なゲームで状態推移を簡単に管理できる実装の一例、程度でしょ
プログラマに実装の選択肢があるのは一般にメリットだと思うがね。
逆に君は「あらゆる状態でタスクより優れた方法がある」ということを
説明できるのかね?
86:名前は開発中のものです。
09/02/21 15:06:25 Te+n/W8K
>81
> 俺はオマル使えないし、オマル使ってるやつは否定したくなるな。
> オマル使ってるやつはみっともないし、オマルを勧める奴は言語道断だ。
オマエは要介護認定の人たちをバカにしているのか?
87:名前は開発中のものです。
09/02/21 15:08:18 hYClRP74
なんでお前らは結論の出てる議題で必死になってるんだ?
88:名前は開発中のものです。
09/02/21 15:18:06 3HETWV4t
>>85
>>84
89:名前は開発中のものです。
09/02/21 15:19:06 3HETWV4t
>>86
>>36
90:名前は開発中のものです。
09/02/21 15:21:43 P36r7rTD
そーいえば
非相対マルチコアの某最新コンシューマ機で
少ないサブコアのローカルメモリ内だけでメインCPU側から独立して
タスク管理するために、ほぼタスクシステムな仕組みでジョブ管理されてる実装を見たな。
これ、最新ゲームだったけど。
リソースがいくらでもある、って前提で富豪的考え方しか出来ん最近のゆとりプログラマには
結局最新技術も使いこなせないんだろうなぁ…
91:名前は開発中のものです。
09/02/21 15:25:48 bQf1hP7d
タスクシステムは個々のタスクがグローバルなもの(例えばスクリーンデバイス)にばらばらにアクセスする。
ばらばらにアクセス=グローバルなものの整理ができていない。
グローバルなものの整理ができていないと1万行を超えるプログラムを動作させるのは難しい。
URLリンク(www.kojima-cci.or.jp)
だから代わりに引数を使おう
URLリンク(www.kojima-cci.or.jp)
という話で終わるでしょ。
たとえ個人製作レベルでも1万行なんて普通に超えるよ。
もしタスクシステム使う人が
「1万行越えたらそのコードはいったん捨てて、タスクシステム使わずに1から設計し直すよ」
という認識を持っているならアリかもしれないが、
例えば
「1万行越え確実だけどタスクシステム使って設計するよ。
もちろん1万行超えたらそのコードはいったん捨てて、またタスクシステム使って1から設計し直おすよ」
と言う話ならナシ。
92:名前は開発中のものです。
09/02/21 15:31:55 3HETWV4t
>>90
>>84
まあ、これは無駄に「現代」とくくったのがイカンかったね。
リソース使える場面でもタスクシステム使うといいよという例があったら頼むわ。
93:名前は開発中のものです。
09/02/21 15:33:38 Dmt7DoEE
みんな熱いな。タスクについての認識や結論はもう出てると思う。
「使いたいやつが使えばいいと思う」
ただそれだけだ。
タスクのメリット話せと言われても、おそらく使ってる人も表現し辛い箇所なんだよね。
フレーム間を跨ぐ処理を書く上で多用するわけで、その辺はゲームによってまちまちだ。
じゃあ逆にタスク代替案も示せと言われても、
switchに戻すだとかで、これといって画一的な処理は示されないのが現状。
銀の弾丸は存在しない。それだけだよね。
94:名前は開発中のものです。
09/02/21 15:33:51 IeOQ7r77
haskellとかでタスクシステムを実装するとしたらどんな感じになるか
ただしunsafeほげほげとかIORef禁止で
95:名前は開発中のものです。
09/02/21 15:45:18 7rFrs1eT
>>91
そのURLに書いてあるのって、アクセスの話じゃなくて宣言を整理するって話じゃないの?
96:名前は開発中のものです。
09/02/21 15:46:27 P36r7rTD
>>92
CPUリソースとメモリリソースを考慮に入れないなら
それこそどんなアルゴリズムでもいいんでない?遅かろうが無駄だろうが好きなの使えば。
作業効率とか考えるならプログラムも不要でツクールやMODでいいんじゃね?という感じ。
本職のプログラマなら、どんなチープな環境でも軽量・低コストで動作できる
アルゴリズムを知ってるのは十分メリットだと思うけど。
組み込みにしろ、携帯機にしろ、リソースの厳しい環境でやれって言われるのは
良くあることだから。
ま、個人製作ならそんなことどーでもいいんで、
そーなると実装方法を強制されない個人製作で何でアンチタスクになるのかが謎だが。
嫌いなら使わなきゃいいだけなのに。何でアンチ?
97:名前は開発中のものです。
09/02/21 15:47:46 4jF5VqD/
>>91
なつかしいな「Cプログラミング診断室」
でもグロバール変数一覧は俺はオススメできないけどな
そもそも作るなといいたいw>グローバル変数・関数
98:名前は開発中のものです。
09/02/21 15:48:18 Vn5x9Xxe
Haskellはスレッドが数バイトしか使わないほど
軽いから結構かわりそう
99:名前は開発中のものです。
09/02/21 16:01:57 3HETWV4t
>>96
いきなり極端になったな。
作業効率考えるなら~の部分が唐突に投げやりなんだが、まあしゃあないか。
>>39
>>40
この流れをよく見てみよう。
結局、変に凝ってるのはどっちだよ。
アンチっていうか、こういう意味不明なこと言う奴に、
「リソースある場面でタスクシステム導入する奴は変に凝ってる」
と言いたいわけだ。
リソース無い場面で使うことに関して異論がないのはもう何べんも言ってるのでこれ以上繰り返さないようにな。
ちなみに>>39で想定している場面てリソースないような状況じゃないよな。
100:名前は開発中のものです。
09/02/21 16:04:15 bQf1hP7d
>>95
そうです。今見返すと話つながってないっすね。混乱させてごめん。
1つ目のURL書いた理由は、グローバルなもの(マクロも変数も)を無秩序に使ってると
10000行あたりで破綻するという話を紹介したかったからです。
2つ目のURLはOKだよね?
101:名前は開発中のものです。
09/02/21 16:04:28 Kwr5xaMF
>99
引数クンなのか、ごった煮リスト嫌いクンなのか、どっちなの?
それとも、それ以外?
複雑なものは理解できないクン?
102:名前は開発中のものです。
09/02/21 16:05:45 a9F+sDW/
>>92
リソースが余ってるならC++を使う必要性自体がないのでは・・・w
俺は>>84は、現代のプログラマでも「タスクも知っていた方が良い」ことを示すいい事例だと思った
リソース使える場面でC#やRubyよりC++使うといいよという例があれば前言は取り消す
103:名前は開発中のものです。
09/02/21 16:08:02 07PQbtcV
>>76
> (5087 + 514 + 118 + 235) - 4684 = 1270
> その差50行程度だが、どこが遥かになんだ。
タスクシステム使わないほうは、27%もソース増えてるじゃん。
開発時間はソースの量にだいたいは比例するから、
8時間の作業で済むところが、10時間強もかかる計算になるじゃん。
俺ならそんなの御免だね。
だから、俺は使えるところでは使ったほうがいいという結論だな。
使えないと思うところでは使わない。それだけのことじゃん。
104:名前は開発中のものです。
09/02/21 16:13:33 4jF5VqD/
>>103
処理が減ったわけでもないのに
そこがそんなにうれしいとこなのか?
105:名前は開発中のものです。
09/02/21 16:16:13 07PQbtcV
>>104
人間がバグを仕込んでしまう確率は、だいたいコードの分量に比例して増えるからね。
可読性を保っているなら、コードは少ないほうが望ましい。27%も違えば大きな違いだろう。
106:名前は開発中のものです。
09/02/21 16:18:18 7rFrs1eT
>>100
1つ目が繋がってないのに2つ目を持ってこられても困るというか
個人的な感想を言えば、たったの1万行で破綻するとはとても思えない
107:名前は開発中のものです。
09/02/21 16:19:40 4zHPU/si
とりあえず俺は実装についてはどうでもよくて、タスクシステムという名前へのアンチ
要はゲーム中で動く「モノ」のことでしょ?なんでわざわざタスクとか呼ぶん?
例えば「実例で学ぶゲームAIプログラミング」の2章が
もろにいわゆるタスクシステムやタスク間通信の近代的なC++実装だと思うんだが
タスクなんてひとっことも言わないし、こうやって作るんだとか誇りもしないのね。たいしたことじゃないから。
これがいまどきのありふれた感覚じゃねーの?
だいたい根本的に、「モノ」を管理するために低レベルなOSのアナロジーを使うこと自体が間違ってると思う。
そういうの実装を歪めると思わん?
「ゲームオブジェクト」「エンティティ」「アクター」なんでもいいけど、「タスク」だけはない。
具象的なネーミングとしても抽象的なネーミングとしても。
非ゲームプログラマがTaskという名前のクラスを見て、何なのかすぐ理解できるのかってことですよ。
お前らがやりたいのは、OSの稚拙な真似事じゃなくて、「モノ」を動かすことでしょ?
あーでもロスプラみたいにマルチコアに振り分けるならOS的要素強いかもね。わかんね。
結局、典型的な「自転車置場の議論」(URLリンク(0xcc.net))なんだよなこれ。
松浦本読んだ程度のドシロウトでも参加できるという。
そういうのを避けるためにも俺はタスクシステムという言葉は使わない。
使ってるやつ見かけたら陰からこっそり指さして笑う。
108:名前は開発中のものです。
09/02/21 16:21:47 3HETWV4t
行数でインパクトがないからってパーセント換算するのはヤメようぜ。
109:名前は開発中のものです。
09/02/21 16:25:03 3HETWV4t
タスクというとITRON思い出すから嫌なんだよな。
ITRONのタスクはすげーよ。なのに、タスクシステムのタスクは全然すごくねーよ。
このギャップにイラッとするのはある。
110:名前は開発中のものです。
09/02/21 16:25:40 4jF5VqD/
>>105
それは本質をまったくみてないなぁ
1行ごとに中身のない改行を入れて「;」を打つだけでも行数だけは増えるじゃない
しかも今回のプログラムだって工夫すれば改行崩れの処理省きでcontinue文は消せてしまうので
それをソースコードの行数の増加と考えるのは上げ足取りをしてるようにしか見えない
むしろ、マクロでfor文を見えなくした>>510のがわかりにくくて気持ち悪い
このマクロっぽいのの意味を初見でみた人が知るには付属のタスクシステムテンプレートを
全部読んで理解するしかないでしょ?
これは嫌だなぁ
仮にマニュアルもなにもなかったとしたらかなり読める人限定されそう
111:名前は開発中のものです。
09/02/21 16:26:24 07PQbtcV
>>108
このまま規模が大きくなっても、このパーセンテージは揺らがない。
タスクシステムを使わないほうのプログラムでは、どうしても27%ほどだけソースが大きくなる。
だから行数なんかには意味がない。このパーセンテージのほうがはるかに重要だ。
お前は、どうしてそれをごまかそうとするのか俺にはわからない。
112:名前は開発中のものです。
09/02/21 16:31:02 07PQbtcV
>>110
> それは本質をまったくみてないなぁ
そんなことはない。大雑把にはソースの分量で判定できる。
どちらのプログラムも平均的なプログラマが書いたと仮定して、
タスクシステムを使わないほうは27%もソース分量が増えたのには違いない。
> むしろ、マクロでfor文を見えなくした>>510のがわかりにくくて気持ち悪い
あの程度のソースがわかりにくいとは思わないが、マニュアルがないと
正しく使えない人がいるというのには同意。
ただ、本人が開発するなら話は別だろう。
113:名前は開発中のものです。
09/02/21 16:33:03 4jF5VqD/
>>111
酷いな
ループのカッコとnull判定のことでしかないのに
ここまでくると病気としかいいようがない
114:名前は開発中のものです。
09/02/21 16:35:43 4jF5VqD/
まあ、でも差分がループのカッコとnull判定だけなんだから
それがタスクシステムの本来の役目ということがはっきりしたともいえるね
正直、差分がそこしか見えなかったんだからそれでいいんだよな?
タスクシステム=ループのカッコとnull判定をはじけます
でおk?
115:名前は開発中のものです。
09/02/21 16:38:17 07PQbtcV
>>113
あんたはプログラミング経験が浅くてわかってないんだろうが、ループも、二重ループにするとき、
i,jの添え字を間違えたり、null判定を忘れたり、continueを書き忘れたりするのが人間ってものなの。
そういう定型化している部分を共通部分として書き出して、どこか別のところに追いやったほうが
バグは減るわけ。それは別にタスクシステムでなくてもいいのだが。
forがforeachになっただけでずいぶんバグが減る。
foreachの終了のときのハンドラを定義する構文があればさらに安全性は高まる。
そうやって抽象化と共通部分の括りだしを繰り返して書いていくのがプログラムだろう。
116:名前は開発中のものです。
09/02/21 16:40:14 3HETWV4t
>>111
>このまま規模が大きくなっても、このパーセンテージは揺らがない。
どこがそんなにラクになるのかなと見直したが、2重のforループがTASK2と書けるんだね。
ここでだいぶ文字数稼いでるみたいだ。
んで、それがそんなにうれしいことなのかと言われるとNOな訳で。
117:名前は開発中のものです。
09/02/21 16:40:41 4jF5VqD/
>>115
だから
タスクシステム=ループのカッコとnull判定をなくした最新鋭のシステムです
でいいんだろ?
118:名前は開発中のものです。
09/02/21 16:41:07 07PQbtcV
>>114
> 正直、差分がそこしか見えなかったんだからそれでいいんだよな?
全然違うね。
510のように抽象化することで、自動並列化のようなことが可能になってくる。
まあ、510のソースを自動並列化するのは正直無理だが、もう少し抽象化して、
各タスクの役割を明確に記述できれば自動並列化できる。
119:名前は開発中のものです。
09/02/21 16:41:26 P36r7rTD
>>107
「ウォークマン」みたいなものじゃない?
最初に有名になって、それ以降類似したものの総称として
便利だから名前だけ使ってるって。
>非ゲームプログラマがTaskという名前のクラスを見て、何なのかすぐ理解できるのかってことですよ。
タスクシステムを使うのはゲームプログラマでしょ。普通は。
いちいち現場で「これはオブジェクトを管理するシステムで更新と描画で登録関数が呼ばれて…」
とか説明するより「タスクシステム的なもの」の一言でゲームプログラマならだいたいって通じるし。
ま、デザインパターンみたいにちゃんと定義と命名されればいいんだろうけど
ゲーム業界固有の物だしねぇ
120:名前は開発中のものです。
09/02/21 16:41:35 07PQbtcV
>>116-117
>>118
121:名前は開発中のものです。
09/02/21 16:45:39 4jF5VqD/
>>118
それは>>510からはいえないな
実際、>>510と>>641の間で自動化云々って話はないわけだし
自動化を証明したければ比較のソースを書いてからだな
それまではいっちゃいけねぇだろ
俺も否定しないし
少なくとも>>510と>>641の間では自動化は見えなかった
今回はこれが結論
122:名前は開発中のものです。
09/02/21 16:52:23 3HETWV4t
まあ、2重のforループで文字数稼いでいるということは、
forループの中身が増えれば増えるほどその稼ぎは薄まる訳だ。
規模が巨大になればなるほどパーセント減るようにしか見えないぞ。
その辺どうなのよ。
123:名前は開発中のものです。
09/02/21 16:55:30 07PQbtcV
>>121
510と641を並列化するソースを書き比べればすぐにわかるよ。
そんな本格的なものでなくていいから。
2重ループでi×jのループ回してるところ、あれをi×j / N のループに
分けて実行して、すべてのスレッドの終了をセマフォで待つだけでいいよ。
124:名前は開発中のものです。
09/02/21 16:56:43 07PQbtcV
>>122
> forループの中身が増えれば増えるほどその稼ぎは薄まる訳だ。
> 規模が巨大になればなるほどパーセント減るようにしか見えないぞ。
それはもちろん正しい。そのへんはゲームの性質によるだろう。
125:名前は開発中のものです。
09/02/21 17:14:52 3HETWV4t
>>124
>>111
126:名前は開発中のものです。
09/02/21 17:27:14 iOCBxjYv
タスクシステムとやらのメリット
コードが一割減
タスクシステムのデメリット
可読性が低くなる
この調子でお願いします
メリットわかってるんだったらごまかさずに書けよ
そんな出し惜しみばかりするから無駄に荒れる
127:名前は開発中のものです。
09/02/21 17:35:18 07PQbtcV
>>126
コード削減、一割減はちょっと違うと思うな。
今回の例ではタスクシステムを使わないと27%増。
俺の感覚では、だいたいこの数字はどんなゲームでもそんなに変わらなくて
平均すれば20%前後だと思うな。これが10%程度ってことはないな。
並列化とかもっと大がかりな仕組みがタスクシステム側に用意されていれば
この差はもっと広がるしな。まあ、それをタスクシステムと呼んでいいのかは知らんが。
128:名前は開発中のものです。
09/02/21 17:46:01 iOCBxjYv
じゃあ二割減でもいいや
開発速度向上はない、可読性が低いものほど開発に時間がかかるから
タスクシステムとやらのデメリットとして
開発に時間がかかるというのも追加できる
この調子ならメリットデメリットを列挙できそうだな
選択肢になりうるかどうかはそれを見れば判断できるだろう
化けの皮を一枚ずつはいでいくのは楽しいの
129:名前は開発中のものです。
09/02/21 17:52:15 07PQbtcV
>>128
> 開発速度向上はない、可読性が低いものほど開発に時間がかかるから
ソース全部理解しなくても、510のタスクシステムは使えるだろ。
TASK2(クラス名A,クラス名B)
{
クラス名A1.XXX = YYY;
クラス名B2.ZZZ = WWW;
}
こう使うだけじゃん。説明に1分も要さないと思うが?
130:名前は開発中のものです。
09/02/21 17:52:47 Kwr5xaMF
>128
> 開発速度向上はない、可読性が低いものほど開発に時間がかかるから
> タスクシステムとやらのデメリットとして
まずタスクシステムのどこが可読性低いのかを示してもらわないと。
FSMになってるところ? 関数ポインタの部分? ごった煮リスト?
131:名前は開発中のものです。
09/02/21 18:15:26 D/oVP314
>>130
自分のタスク内で完結しない処理に関しては、全部グローバル変数経由
ゲーム中のあるシーンを想定した場合、そこで何のタスクがどういう順番で走るかが、
コードの一箇所を見てもわからない。
132:名前は開発中のものです。
09/02/21 18:15:57 4jF5VqD/
>>129
でも読みにくいなぁ、おいw
それが何を表してるのかさっぱりわからないぜw
ループ隠しただけなのになw
133:名前は開発中のものです。
09/02/21 18:24:15 hYClRP74
>>131
>自分のタスク内で完結しない処理に関しては、全部グローバル変数経由
そんな処理するのはタスクじゃないだろ。
134:名前は開発中のものです。
09/02/21 18:26:52 D/oVP314
>>118
> もう少し抽象化して、各タスクの役割を明確に記述できれば自動並列化できる。
そんな簡単じゃないよ。
並列処理は計算機科学の分野では長らく研究されていて、いろいろ知見が積み重なってるんだが、
少なくとも 510 からは、自動並列化につながる筋道がまったく見えない。
夢が大きいのはいいんだが、まったく現実性が無いのもどうかと思うぞ。
135:名前は開発中のものです。
09/02/21 18:32:19 a9F+sDW/
タスク擁護派から言わせてもらうが、>>129 は読みづらいよ
初めて読む STL や Loki や boost と同じくらいにね。俺なら使わん
結局、あるライブラリを使うメリットは普及してるかどうかだ
strcpy や strncpy を使うメリットはなんだ?
みんなあの仕様はおかしいと感じているのに? タスクもそれと同じこと。
そして、普及さえしていなければメリットはないと考えて必死で叩くお前らは正しい
136:名前は開発中のものです。
09/02/21 18:40:14 07PQbtcV
>>134
> 並列処理は計算機科学の分野では長らく研究されていて、いろいろ知見が積み重なってるんだが、
> 少なくとも 510 からは、自動並列化につながる筋道がまったく見えない。
「自動」の意味を誤解しているようだが、
自動車は、自動的に目的地まで運んでくれる乗り物ではないのと同様、
人間が何もしなくてもいいという意味ではない。
俺が「自動」並列化と言っているのは>>123の意味。
例えば、TASK2をP_TASKと人間が書き換えればあとは自動的に並列化してくれるように改造するのは容易。
なんでこれが出来ないと思うのか、俺はお前らの技術力を疑いたくなる。本当にお前らプログラマなのか?
137:名前は開発中のものです。
09/02/21 19:05:26 D/oVP314
>>136
> なんでこれが出来ないと思うのか
その程度で済むなら OpenMP がやってる
138:名前は開発中のものです。
09/02/21 19:18:40 4jF5VqD/
>>136
なんにも自動化しないだろw
139:名前は開発中のものです。
09/02/21 19:35:06 07PQbtcV
>>137-138
お前らが何もわかってないただの自称プログラムだというのは十分わかった。
123すら出来ないとはな。
140:名前は開発中のものです。
09/02/21 19:51:24 07PQbtcV
>>138
お前本当に日本人か?どう見ても中国人だろ。
前スレ、前前スレから日本語が極端に不自由な奴が二名いるみたいだが、お前はそいつだろ。
プログラム以前に日本語教室行ってこいよ。
141:名前は開発中のものです。
09/02/21 19:59:47 4jF5VqD/
もはや進む方向が頭おかしいじゃん
ループなんかはずして喜ぶプログラマいないってw
むしろ、ループ処理してるならfor文を見えるところにおいておいてほしいだろ
誰がこんな構造にして喜ぶのか?
ちょっとは考えろよ
142:名前は開発中のものです。
09/02/21 20:09:26 D/oVP314
>>139
依存関係も副作用も無いコードなら、そら簡単に並列処理できるさ。数値計算だと
割と多いが、ゲームでそれはほとんどないだろ。
143:名前は開発中のものです。
09/02/21 20:43:23 HdiuLFdj
日本語がおかしかったら中国人ってなんできめつけんの?
インド人かもしれんし韓国人かもしれんだろ
144:名前は開発中のものです。
09/02/21 20:43:36 iOCBxjYv
可読性に関してはDSLの圧勝なので
それに比べてタスクシステムは可読性がないと言えるのは間違いないよ
専門家でも読むのが難しい本と、幼稚園児が読める絵本とでは
同じ文字数だとしても
絵本の方が圧倒的に速く読めるでしょう、当たり前だけどな
使えるから使えると言ってるけど
使ったら他の選択肢がなくなるから、使えるからと言って考えなしに使うなと
昔の偉い人とエロイ人もゆってた
つまり、エロエロよー
145:名前は開発中のものです。
09/02/21 20:47:01 Dmt7DoEE
>>142
横槍ですまんが、あくまでゲームで並列処理は難しいと決め付けるのは良くない。
ゲームは依存化が明確にしやすく、
割と並列化しやすいとMTフレームワークの中の人が言っております。
URLリンク(game.watch.impress.co.jp)
>石田氏は「タスクという観点から見ると、依存関係は最小化でき、
>むしろゲームプログラムは並列化しやすいともいえるんです」と、
>これまでのゲーム開発の常識とは正反対の意見を主張する。
これには自分も驚いたが、
MTフレームワークの製作者が実践してそう思ったのなら説得力があると思わないか?
まぁ、予想(予測)と理論と実践はそれぞれ違うって事だ。
146:名前は開発中のものです。
09/02/21 20:56:31 D/oVP314
>>145
予想というか、仕事で実際にゲーム書いてた経験談なんだが。モーションとかレンダリング
まわりのジョブはわりと分割しやすいんだけど、いわゆるゲームロジックに絡む部分は、
かなり難しい。
排他制御は特にバグが入りやすい部分だし、仕様変更多発が想定されるゲームロジック
部分を並列処理するのはリスキー。
147:名前は開発中のものです。
09/02/21 21:03:43 Dmt7DoEE
完全に頭ごなしに否定するのではなく、
そのリスキーな部分をいかにして、
安全で仕様変更に強い設計で書くのかを議論していってもいと思うわけよ。
仕事でロジック部分の並列化やられたら、うへぇってなるが、
趣味だったら面白いネタだとおもわないかい?
148:名前は開発中のものです。
09/02/21 21:13:55 Dmt7DoEE
まぁ俺はタスク使わない派だけれども、
もしタスク派が生き残りをかけるのなら、マルチコア時代の恩恵を
受けられるような並列処理の記述性ただ1点だけ突き詰めるのが良いとおもうぜ。
149:名前は開発中のものです。
09/02/21 21:15:06 iOCBxjYv
前スレでは、誰かがプロも使っているタスクシステムと言ってたな
他人の権威にすがって偉そうにする奴も世の中にはたくさんいる
そういう奴は最後には命乞いをして延命を図る
延命を図るのだよっっっ
くやしいのぅ、くやしいのぅwww
150:名前は開発中のものです。
09/02/21 21:37:12 H2kw4iDd
ID:Dmt7DoEE
前スレの>>510は名乗るのをやめても
タスク信者の特徴は消せないのだから
名乗るといい
名無しでの火消し&誘導は無駄
151:名前は開発中のものです。
09/02/21 21:43:42 Dmt7DoEE
いや。俺は以前>>22を書いた者で、すまんが510とは別人だ。
実際にタスクについては主に見通しの問題で否定的で、参照構造についても目的が無ければ無意味な足枷でしかないと考えている。
ただ、並列化については興味があるわけ。マルチスレッドで速度を稼げるのならそういう技術も覚えたいと思っている。
そんな中、自動並列化についてタスクにはその可能性がなきにしもあらずと考えている。
まぁ自分は実装するのはゴメンだがね。
152:名前は開発中のものです。
09/02/21 21:49:55 07PQbtcV
>>142
> 依存関係も副作用も無いコードなら、そら簡単に並列処理できるさ。数値計算だと
> 割と多いが、ゲームでそれはほとんどないだろ。
あんた、本当に大きなゲームのプログラム書いたことがなさそうだな。
並列化して処理時間を稼ぎたい部分って、同期のためのコストとかもあるから
実際はかなり粒度の大きな、単純な計算が繰り返される処理なんだよ。
ゲームのうち、衝突判定とかは特にそういう計算ばっかりだ。
まあ、>>145でもすでに指摘されているが。
このスレは本当に商用で大きな規模のゲームを作ったことがあるのかと
疑いたくなるような奴ばかりで俺はただただ呆れるばかりだ。
153:名前は開発中のものです。
09/02/21 21:50:34 D/oVP314
>>151
> そんな中、自動並列化についてタスクにはその可能性がなきにしもあらずと考えている。
そもそも、CPU 食ってるのはゲームロジックより、ヒット判定やモーション処理だったり
しないか? 将棋とかの AI は別だけどさ。
そこは仕様が比較的安定しているから、作りこむだけのコストがかけられる。自動並列化
なんていわずとも、従来のロックベースの方法で OK。
154:名前は開発中のものです。
09/02/21 21:55:00 3HETWV4t
一般的な自動並列化と俺定義の自動並列化で話が通じ合ってないな、お前ら。
155:名前は開発中のものです。
09/02/21 21:59:19 D/oVP314
>>152
衝突判定は、単に「ぶつかってる・いない」を判定するだけなら簡単なんだが、衝突の
解決が絡むと並列化が割と難しい。
衝突解決には、たとえば「壁は動かない」「プレイヤーが壁に当たったら押し戻される」
「プレイヤーと NPC があたったら NPC 優先」とかルールを決めて、それに応じて
優先順位つけて解決していくのが一般的だと思うが、問題は解決するときに相互
作用が発生することなんだよな。
シーケンシャルに処理するなら、割と手抜きアルゴリズムでもそれっぽく見えるんだが、
並列処理するとなったら、とたんに複雑さが増す。前に一度やってみてメゲた。
156:名前は開発中のものです。
09/02/21 22:02:28 Dmt7DoEE
>>153
コンシューマならCPUの数と使用用途が特定されてるもんだが、現実的に考えて決めうちでが妥当だと思う。
PCのような特定されないマルチCPUの環境を考えると、自動で並列化するのは面白いんじゃないんかねぇ……。
自動並列化といっても、正直こればっかりは実装してみないと、
どのようにスレッド分配され、パフォーマンスが上がるのか下がるのかは、議論できんところだね。
157:名前は開発中のものです。
09/02/21 22:08:58 3HETWV4t
お前らw
>>136で自動並列化の俺定義出してるんだから、ここはそれに合わせてやれよ。
>>136はライブラリ提供者が、ライブラリ利用者に分からないようこっそり裏で並列化(手作業)しやすいよ。
と、言ってるんじゃないの? 違うか?
ちなみにID:D/oVP314とその他は一般的な意味で話してるような気がする。
ググって出てくるような一般的な意味ね。
158:名前は開発中のものです。
09/02/21 22:14:35 D/oVP314
>>157
っつか、それはデータの依存性自動検出とかできないと無理なわけで。ハードルが
超高い。
159:名前は開発中のものです。
09/02/21 22:16:13 3HETWV4t
ループの抽象化が人為的ミスを防ぐとか、>>123の意味で処理を挿げ替え易いというのは分かる。
出来るだけ先入観を抜きにして、もう一度>>510を読んでみた。
やっぱり、TASKマクロのもどかしさが引っかかるんだよな。
iとjどっちも0からブン回してるけど、星衝突ループはj=i+1からで充分。
オーダーが変わってくるんだけど、その辺手が出せないじゃん。
そんな場合、TASK2Bマクロでも作るのかな?
ライブラリに任せでこういう不備があると面倒だ。
しかもこれに対処するとアドバンテージ消えそうだな。
WindowだのApplicationだのをタスク化してるのも意味不明だな。
継承したものがまるまる無駄になってるのが大雑把すぎ。
TASK2に突っ込みたいがためにやってるだけなら、やっぱり無駄過ぎだよな。
先行投資と言っても、その投資が回収されるまでは過度の抽象化にすぎないわけだ。
んで、>>641バグっるかもって作者言ってたけど、ホントにバグっててワロタ。
・万有引力はj=0から回さないとダメ。
・星衝突で自分同士の場合のcontinueが抜けてる。
あとはOK。
160:名前は開発中のものです。
09/02/21 22:22:05 Dmt7DoEE
>>158
その超高いハードルを、どうしたら解決できるだろうかを議論しようじゃないか。
たとえば>>510はデータ集約について提案し、
参照構造の是非について議論しようとしていたようだよね。
オブジェクトの所有/解放を(ライブラリ内で見えないように)行うことで、
並列化の足掛かりを見出そうとしたようだよ。第1歩というか、パフォーマンス的には第-1歩だけど。
161:名前は開発中のものです。
09/02/21 22:25:18 3HETWV4t
まあ、>>123みたいな部分で泥臭い作業が発生したとしても、
俺は>>510より>>641のほうが良いね。
「シンボル'Star2'は定義されてません」とかVCに言われてイラつくこともないし。
無駄や不透明な部分があると精神衛生上良くない。
162:名前は開発中のものです。
09/02/21 22:26:57 D/oVP314
>>160
> その超高いハードルを、どうしたら解決できるだろうかを議論しようじゃないか。
本気でやるなら、サーベイ論文読むところからスタート。かなり研究されてる分野だから、
ゼロから何かやるとか時間の無駄なので。
163:名前は開発中のものです。
09/02/21 22:31:42 4jF5VqD/
>>162
そんなくだらいこと研究して金もらってる奴がいることに驚きだぜw
164:名前は開発中のものです。
09/02/21 22:36:21 07PQbtcV
>>161
> 「シンボル'Star2'は定義されてません」とかVCに言われてイラつくこともないし。
インテリセンスでるのにそんなミスやるはずがないじゃん。あんた使ってるのVC98?
165:名前は開発中のものです。
09/02/21 22:39:35 D/oVP314
>>163
並列処理のアルゴリズム・データ構造まわりは昔から研究ネタとしてはよくあるんだが、
単一プロセッサの性能向上が頭打ちになるのが現実的になってきた頃から、Intel, IBM を
はじめとした企業が金と人突っ込んでる。
公開されていて実際に開発に使えるレベルになっている成果というと、たとえば Intel
Threading Building Block とかさ。
166:名前は開発中のものです。
09/02/21 22:40:53 3HETWV4t
いや、自動並列化は普通に研究対象としてアリだろ。
これから必要になってくる分野だぞ。
タスクシステムにしてもな、
ゲームの根幹的な制御部に使うのはかえって面倒そうなのでやっぱり嫌だ。
単純で、相互作用がなくて、あったとしても誤差許容できて、計算結果はゲーム性に影響しない。
ベストエフォートで充分なところなら使えそうだとは思った。
大量の火花エフェクトとか、そういう余力でやればいいような部分。
167:名前は開発中のものです。
09/02/21 22:42:18 3HETWV4t
>>164
右クリック→定義へ移動
168:名前は開発中のものです。
09/02/21 22:45:19 Dmt7DoEE
>>162
すまん。俺も本気でやるつもりは無いんだ。
正直、並列化には憧れているが、鬼門だと思ってる。それが手動であっても自動であってもさ。
ゲームではない自分の専門分野でIntelC++とMPIで稼ぐ実装をした事があるが、
冗長になった割にパフォーマンスが出なくて萎えた経験がある。
もしゲーム特化で、安全で保守の掛からないデータ構造を有するタスク自動並列化のライブラリが出来たのなら、
金貰ってもいいレベルだと思う。個人が趣味でやる分野じゃないねぇ。
169:名前は開発中のものです。
09/02/21 22:54:04 4jF5VqD/
結局、自動化ってあんまり意味ないよね
プログラムって最低限設定しなきゃいけない内容は絶対に自動にならねぇし
結局は上にスルーパスして設定を任せるだけになる
スクリプト組んでも苦労する人間が変わるだけで絶対的な作業量は無くならない
むしろ、トータルでは増えてしまう場面のが多いかもね
そりゃプログラマの仕事があんまり高度で・・・っていうならわかるけど
できたスクリプト言語がC言語とあまり変わらんようなのってどうよ?
ってのと同じでタスクシステムも結局処理をスルーパスしてるだけで
自動化してるように見えるだけでしょ?
170:名前は開発中のものです。
09/02/21 23:00:58 Dmt7DoEE
>>169
ん?複数スレッドにタスク単位で処理を投げてパフォーマンスを稼ぐ「自動並列化」の話だよ?
171:名前は開発中のものです。
09/02/21 23:02:21 D/oVP314
>>169
データ構造と処理内容を限定することで、並列処理を定型化して簡単に使えるように
するってのは、話としては分かる。
ただ、それを目指すならタスクとやらは starting point としては全然ダメなのが萎える。
172:名前は開発中のものです。
09/02/21 23:02:42 07PQbtcV
>>169
ID:4jF5VqD/はド素人か。本当にゲーム作ったことあんのか?
お前、一人だけレベルが低すぎる。もう引っ込め。
173:名前は開発中のものです。
09/02/21 23:03:41 3HETWV4t
とりあえず、煽るのはヤメにしようぜ。面倒だ。
174:名前は開発中のものです。
09/02/21 23:05:14 Dmt7DoEE
同じく煽るのはやめましょう。
識者との有意義な話。(できれば建設的な話)にもっていきたい。
175:名前は開発中のものです。
09/02/21 23:38:57 LbjEvDmu
松浦健一郎の本って内容濃いね
176:名前は開発中のものです。
09/02/22 02:17:35 zvJaILDC
>>170
え?そんな話してんの?w
絶対無理だと思うよ
ゲームで一番重い処理はオブジェクト同士の関連だって
少なくともデータ自体は分離されてなきゃ並列に動けないと思うぜ
ごった煮にした時点でそんなの無理じゃね?
177:名前は開発中のものです。
09/02/22 05:31:48 /MSzm31i
ゲームロジックで一番重たいのは当り判定だ。
そんなものしらないのかよ。糞が。
178:名前は開発中のものです。
09/02/22 05:51:25 /MSzm31i
今、oyaとkoクラスがあって、それぞれupdateメソッドを持っている。
koクラスのupdateメソッドはoyaクラスのupdateメソッド内で呼ばれる。
koクラスのupdateメソッド内の処理は、ある特定の情報(ここではinfoとする)を必要としている。
infoをどのようにしてkoクラスのupdateメソッド内の処理に参照させればよいか。
1.グローバル変数
2.引数
3.シングルトンパターン
179:名前は開発中のものです。
09/02/22 06:16:09 ihng4iqV
複数生成されちゃ困るような情報ならシングルトンになるんじゃないの?
oyaクラスで生成する情報であれば引数で渡すのが楽だろうし
180:名前は開発中のものです。
09/02/22 08:48:04 W9e8MC1E
>>159
>・星衝突で自分同士の場合のcontinueが抜けてる。
j=i+1から回してるから自分同士ありえないな。
万有引力をj=0から回すだけで良い。
181:名前は開発中のものです。
09/02/22 10:26:16 2krgEtKU
>>177
ゲーム内容も明示せずに
>ゲームロジックで一番重たいのは当り判定だ。
ってゲーム一般として断言できちゃうあたりがステキ
物理演算バリバリの3Dコリジョンチェックと
2Dシューティングのボックス判定の繰り返しは違うし
AIの計算時間、モデルのアニメ計算etc...の時間もゲームによって違うのにね。
182:名前は開発中のものです。
09/02/22 17:28:01 DmOCWQfi
>>177
ジャンルによる。将棋だと AI の方が重い。
183:名前は開発中のものです。
09/02/23 07:26:36 sG7Lzgrq
タスク信者どもやっと死んだか?
184:名前は開発中のものです。
09/02/23 08:08:01 keyUucFf
プログラムが一行も書けないアンチタスカーのポエマーが死んだんじゃね?
185:名前は開発中のものです。
09/02/23 09:35:14 7qNmU6oR
タスク信者は死なんよ。
なぜならアンチタスカーこそが最大のタスク信者だから。
俺もアンチタスカーだが、皆がタスクシステムの利点に気づかないように、
あえてアンチを演じている。
気づかれると日本経済が破綻するからな。
186:名前は開発中のものです。
09/02/23 12:39:27 sG7Lzgrq
日本経済脆過ぎだろ
187:名前は開発中のものです。
09/02/23 16:16:29 7qNmU6oR
皆それが分からずに回りをぐるぐる回ってるだけ。
アメリカではオブジェクト指向での陽動作戦が主流。
一部日本でもその余波の影響を受けてる。2重3重に騙されて踊らされてる状態。
何かおかしいと気がついたインテリたちはLisp使ってる。
しかしそこどまり。ロジックでは根源にたどり着かない。
防空壕の中に居ては何も出来ない現実。
188:名前は開発中のものです。
09/02/23 16:58:53 JKBRWfYb
日本語でお願いします。
189:名前は開発中のものです。
09/02/23 17:15:51 3YpC4mil
信者もアンチもどっちもゲ製住民らしくてとっても面白いので
もうちょっと続けてください
190:名前は開発中のものです。
09/02/23 17:19:36 7qNmU6oR
スタックという構造がそもそもの誤り。諸悪の根源。
理想な構造=都合の悪いものを外部に追いやってるだけ。局所的幸せ。
このままいくと、プログラムは幸せになるが、プログラマは不幸になる。
国は幸せだが国民が不幸な北朝鮮と同じ。
191:名前は開発中のものです。
09/02/23 17:31:30 7qNmU6oR
ちょっと考えれば分かること。
スタックがあるので関数はいつでも呼び出せる。
でも、引数はいつでも用意できるわけではない。
スタックは一見理想的な構造に見えるが、実は都合の悪いことを外部に追いやっただけ。
みんな困ってる。でも気がついていない。
192:名前は開発中のものです。
09/02/23 17:57:19 Kk+tvzE1
タスクシステムは流れが読みづらくなりすぎだ
オブジェクト指向的スパゲッティコードのようなもの
GOTOを使ったスパゲッティコードの方がまし
Lisperが書いた本でlisp最高最高書いてあったからよく読んでみたら
DSLのようなメタをその言葉を知らないまま絶賛していた
Lisperってのはすごいんだかすごくないんだかよくわからない人達だった
実装の要点である問題領域をいかに簡単に書くかということこそが
最重要であるのに、そのアプローチを真っ向から阻むタスクシステムを
俺は許せない、許せんのだよ
タスクシステム死すべき死すべき
193:名前は開発中のものです。
09/02/23 18:06:49 7qNmU6oR
問題領域が簡単に書けたとしても、それ以外の部分が複雑になるだけ。
「簡単に書いてやろう」その発想がすでに誤り。
タスカーもアンチタスカーも同じ場所をぐるぐる回ってるだけ。
194:名前は開発中のものです。
09/02/23 18:22:16 JKBRWfYb
もうこれはプログラム技術知識というか哲学だな。
>>107の書いてた自転車置き場の議論だっけ?良く納得した。
早々に退散させてもらうぜ。
195:名前は開発中のものです。
09/02/23 18:42:04 DYVLGFTC
>>193
タスク信者はひとくくりにしていい
だがタスク信者でないものはひとくくりには出来ない
それはログを見れば分かる。それぞれ批判の切り口が違う
読まないから分からない。こういう一見さんに限って
俯瞰視点を気取って分かったような口を利き
稚拙な総括で締めくくろうとする
タスク信者以上に邪魔な存在だ
196:名前は開発中のものです。
09/02/23 18:45:03 2rXEX53B
>>194
結論なんてとっくにでてるよ。
余暇にやることが無いからとりあえずアンチと信者に分かれて鬼ごっこしてるだけ。
197:名前は開発中のものです。
09/02/23 18:47:56 DYVLGFTC
>>194
哲学?そんな高尚なものではない
どうでもいい役割に、どうでもよくない重要な役割を無理に与え昇格させようと試み
どうでもいい実装を、どうでもよくないウルテクであるかのように喧伝する
これはハッタリ詐欺だ。昔を知らないアマチュアを騙くらかそうと躍起になる石器人の産物だ
198:名前は開発中のものです。
09/02/23 18:59:34 7qNmU6oR
>>195
残念ながら私は前スレの510だ。
一見さんどころか、プログラムすら投じている常連だ。
むしろ、私が居ないとこのスレは回らない。もはやネタが無いからな。
>読まないから分からない。こういう一見さんに限って
>俯瞰視点を気取って分かったような口を利き
>稚拙な総括で締めくくろうとする
自分にレスして楽しいの?
さ~今宵も盛り上がってまいりました!!
199:名前は開発中のものです。
09/02/23 19:04:16 Kk+tvzE1
やれやれ、わからない奴もいるんだな
複雑だが重要な箇所や、試行錯誤が必要な箇所
何度も書き換える必要のある箇所をDSLで記述を簡潔にする
それ以外は多少複雑になってもかまわない
一度しか書かない複雑な箇所と、何度も書き直す簡単な箇所のみで
システム全体が組まれていれば
トータルでの開発コストが最小になる
逆に複雑な箇所を何度も書き直したら莫大なコストになるってことぐらい
少し考えればバカでもわかるはずだ
200:名前は開発中のものです。
09/02/23 19:11:49 7qNmU6oR
>何度も書き換える必要のある箇所をDSLで記述を簡潔にする
DSLだと何で簡単になるの?
仮に何らかの理由で簡単になるとして、理由が分かってるのならDSLでなくても良くない?
なんでわざわざ言語作るの?
201:名前は開発中のものです。
09/02/23 19:18:35 2rXEX53B
>>200
だったらアセンブリ言語だけ使ってろよ
202:名前は開発中のものです。
09/02/23 19:20:54 Kk+tvzE1
揚げ足取りしかできないのかバカな奴
DSLを理解していればそんな反論にはならないのに
やっぱりお前はバカなのだな
他人の言葉を借りて本質を理解することが出来ない
反論の余地のない要点を避けて、揚げ足取りをしているだけ
自分の言っていることすらもわかってないんじゃないのか
自分で言い出した事に対する返答に対して揚げ足取りなんて
ずいぶんと姑息な手を使うのが好きなようだな
何について話しているのかすらも忘れて、ただひたすらに
他人を黙らせるためだけに語るのだろ
それは罵倒するだけの人間と同じ種類の人間
そんな奴を見てはいそうですねといえるはずもなかろう
おまえもうんこと一緒に便器に流れてしまえ
このうんこやろう
203:名前は開発中のものです。
09/02/23 19:22:03 7qNmU6oR
CはアセンブリのDSLではない。
204:名前は開発中のものです。
09/02/23 19:25:28 2rXEX53B
C言語だと何で簡単になるの?
仮に何らかの理由で簡単になるとして、理由が分かってるのならC言語でなくても良くない?
なんでわざわざ言語作るの?
205:名前は開発中のものです。
09/02/23 19:27:46 Kk+tvzE1
頭の悪いマナーも知らないクソやろう7qNmU6oRに対してわかりやすく書いてやろう
>問題領域が簡単に書けたとしても、それ以外の部分が複雑になるだけ。
>「簡単に書いてやろう」その発想がすでに誤り。
に対する反論が
>>199
というわけだ
おまえの頭の中にはちゃんと脳みそが入ってますかあーあー
なんならうんこでも付け足してやろうか
>なんでわざわざ言語作るの?
この一文でDSLがなんなのかを全く理解していないのがわかる
ばーかばーか
206:名前は開発中のものです。
09/02/23 19:31:20 7qNmU6oR
なんかファビョられた。
DSLは、問題を複雑にしている原因を一網打尽に他所へ隔離するための一手段でしかない。
このスレみたいにな。
>複雑だが重要な箇所や、試行錯誤が必要な箇所
>何度も書き換える必要のある箇所をDSLで記述を簡潔にする
なにこの曖昧な記述。因果関係が意味不明。
207:名前は開発中のものです。
09/02/23 19:37:49 7qNmU6oR
>>204
C言語とアセンブリはDSL的には同じもの。
どっちも汎用言語で、どっちも同じ問題を解決するために開発されたものだから。
208:名前は開発中のものです。
09/02/23 19:49:08 7qNmU6oR
あげあし取りはどっちだか。枝葉に付き合うのは大変だ。
俺の主張を纏めておくと、
・問題を複雑にしている原因を一網打尽に他所へ隔離することが大切。
・DSLはその一手段。
・目的が達成されれば、他の手段でも良い。
DSLとか簡潔とか、関係ねぇ。センスが無いっていうのですかね、こういうの。
209:ID:EEKBitmg
09/02/23 20:05:39 DYVLGFTC
>>198
残念ながら俺はHSP厨だ
で、タスクシステム=DBとかいうトンデモ論が意味分からないわけだが
てめぇ、またHSP叩いて逃げてんじゃねーぞチンカス
210:ID:EEKBitmg
09/02/23 20:10:09 DYVLGFTC
何日も待ってたが、結局あの
「俺様が考えた超すごい新生タスクシステム>>510」提唱者は
タスクシステム=DBとか絶叫して逃げたままだ
211:名前は開発中のものです。
09/02/23 20:14:58 sG7Lzgrq
DSLとタスクシステムってなんの関係もないじゃん
勝手にくつけるならまず>>2に関して自分がどういう立場なのかはっきりさせろよ
212:名前は開発中のものです。
09/02/23 20:15:07 GaLE72iG
DSLを銀の弾丸と思ってるお前はタスカーと同じwwww
213:ID:EEKBitmg
09/02/23 20:17:01 DYVLGFTC
既出のものを既出と理解しない。自動でないものを自動であると叫ぶ
ユーザーに処理の依存関係を分析させ、ユーザーの手で処理ステップを
依存関係の有無で分解させておいて、それを自動並列処理であるなどと言い放つ
おまけにそれが新規性に溢れた野心的試みとか吠える
俺みたいなガキンチョが吠えてるならまだ許せるけど、いい歳したオッサンが
こういう事して許されるの?
214:名前は開発中のものです。
09/02/23 20:17:52 7qNmU6oR
>>209
説明しようと思ったけど、やっぱやめた。繰り返しになるからな。
215:名前は開発中のものです。
09/02/23 20:18:30 Kk+tvzE1
俺の予想では7qNmU6oRが本質を理解せずに
言葉を並べて揚げ足を取って場をかき乱している奴だと思う、やねの同類
中立のふりをして片方に肩入れしたり
他人の言葉をパクってきたり、都合が悪くなると話題そらす
それっぽく目的なんて言葉を出しても
その周辺の原則を理解していないおまえには戦略を語る資格はない
216:ID:EEKBitmg
09/02/23 20:21:01 DYVLGFTC
>>214
中身がねーからな。説明できねーだろ。ほれ。↓反論してみろ
人間に処理の依存関係を調べさせ、人間に処理を分解させる
つまりマニュアル操作で、コード上での静的なスケジューリングを行っている
自動並列とか言い出したときは気が狂ったのかと思ったね
217:名前は開発中のものです。
09/02/23 20:22:56 7qNmU6oR
HSPerのレスは煽りだけで内容が無いから飽きられてるんだよ。
218:ID:EEKBitmg
09/02/23 20:23:06 DYVLGFTC
高専生の俺でも前>>510の今までの一連の主張がハッタリだらけであり
簡単なことを難しく記述しようとするある種のペテン師であると分かる
219:名前は開発中のものです。
09/02/23 20:24:38 7qNmU6oR
難しく煽ってるのはお前だ
220:ID:EEKBitmg
09/02/23 20:34:59 DYVLGFTC
前>>510って俺が出てくると急に一行レスが多くなって言葉が少なくなるね
ガキに突っ込まれるのがそんなに怖いのか?逃げてばっかだな
221:名前は開発中のものです。
09/02/23 20:54:02 JKBRWfYb
あー。そうだそうだ。
HSPerの高専君に言いたいとこ思い出した。
前スレでHSPで作ったゲーム挙げてほしいって言ってたのどうなった?
HSPはDSLでゲーム特化言語だから、さぞかし優秀なゲームが出来上がってるんだと楽しみにしているのだが。
222:名前は開発中のものです。
09/02/23 20:56:01 sG7Lzgrq
とりあえずタスクシステムに関係ねーこと勝手にしゃべんのやめろ
223:名前は開発中のものです。
09/02/23 20:58:41 sG7Lzgrq
えいちえすぱーなんてタスクシステムまったく関係ねーじゃん
育ちが悪いな
親とか家族も馬鹿なんだろうな
224:ID:EEKBitmg
09/02/23 20:59:17 DYVLGFTC
さて、俺の>>195での書き込みは完全に的中していたわけだ
前>>510は筋金入りのタスク信者だ。この点だけは間違いない
彼らはタスクシステムを再解釈・再構築・再定義しようと試みる
タスク信者は便衣する。曰く「私はアンチだけど」「私は中立だけど」
しかしそれらの言葉に続く主張はタスク信者と一致しているのでバレバレ
本人はそれに気付かないのだから滑稽だ
>>193は俯瞰視点を気取り、まるで中立の第三者のような話しっぷりだが
実態は>>510だった。筋金入りの新生タスクシステム提唱者だ。面白いよね
アマチュアのカルト野郎
225:ID:EEKBitmg
09/02/23 21:00:46 DYVLGFTC
>>221
DSLって何?おいしいの?
226:名前は開発中のものです。
09/02/23 21:02:17 JKBRWfYb
HSPer君、悪いが質問に答えてくれんか?
HSP最高と答えている君に対して、俺は前からゲームの提示を所望している。
こうやって煙に巻くのはこりごりだ。
227:ID:EEKBitmg
09/02/23 21:06:54 DYVLGFTC
>>226
はぁ?ここはHSPスレじゃないわけだが、なぜ俺にHSPの件で絡むの?
何故俺に限ってお前に成果物を開示しなくちゃいけないの?
つーかお前は誰?俺の何なの?何様なの?先生なの?単位くれるの?
早く前>>510の側面支援してやれよバカめ
228:名前は開発中のものです。
09/02/23 21:08:14 JKBRWfYb
もし、ゲームが提示できないのであれば、
HSP使いというのをいちいち名乗らないでくれ。
HSPについて叩かれ中傷されて、
いちいち過敏に反応して、話が飛ぶのはこりごりだ。
ここはタスクについて議論をしているところだ。
HSPがどのようにすばらしい言語であるのかは他のスレでやってくれ。
229:名前は開発中のものです。
09/02/23 21:09:41 JKBRWfYb
>>227
よし!ナイス! じゃあ自分からHSPの話題は金輪際出すなよ。
周りのみんなもHSPerにHSPの話題を振らないでくれ。
230:ID:EEKBitmg
09/02/23 21:10:20 DYVLGFTC
>>228
お前が反応してんじゃん。バカだろお前
反応する奴が悪い。ノイズフィルターがない奴が悪い
231:名前は開発中のものです。
09/02/23 21:11:33 JKBRWfYb
じゃあ、タスクの話に戻りましょうや。
232:ID:EEKBitmg
09/02/23 21:12:43 DYVLGFTC
俺はHSPを使ってると書いたがHSPの話題を自分から振った覚えは無いな
今までHSPに反応して勝手にHSP叩きに興じていた変なおじちゃん達の
ノイズフィルターの無さを嘆けよな
233:名前は開発中のものです。
09/02/23 21:19:12 TDwY8aXA
>>232
脳奇形はレス付けないでくれない?
234:名前は開発中のものです。
09/02/23 21:23:50 JKBRWfYb
>>232
もうその話は終わったっつーの。これ以上ぶりかえすな。
235:ID:EEKBitmg
09/02/23 21:31:57 DYVLGFTC
>>231
>>234
俺はずっと前>>510を追求してるわけだが
てめぇがくだらねー茶々を入れて話の腰を折ってんじゃん。よく読み返せよ
それで前>>510を逃したつもりになってんのか?お前>>510じゃねーの?
違うならとっとと前>>510の側面支援してやれよ。何度も言ってんだろ。ほれ
何度だって言う。前>>510のコードの実態。それは>>213、>>216じゃねーの?
どこに自動並列処理があんのか教えてくれね?
あとタスクシステム=DBってあれ何?それの実態には何か新規性あんの?
シーングラフを内包する既存のゲームエンジンにない野心的な何かなの?
ものすごく当たり前の性質を今更発見して唱えてるだけだったりしない?
236:名前は開発中のものです。
09/02/23 21:35:20 JKBRWfYb
俺は自動並列化について以前面白いネタだと言ったものだ。
>>510のコードからはほど遠いが、
データ構造及び参照構造でオブジェクトの所有/解放を明記することで、
並列化は不可能ではないとおもってる。
237:名前は開発中のものです。
09/02/23 21:37:06 JKBRWfYb
ただ、自動並列化に至るまでは程遠いけどな。
絶対無理と言い切れないと考えている。
238:名前は開発中のものです。
09/02/23 21:48:25 3YpC4mil
いいぞもっとやれ
こんなしょうもない板のしょうもないスレの片隅で
顔真っ赤にして喧嘩してる連中がいると思うだけでメシウマ
239:ID:EEKBitmg
09/02/23 21:50:27 DYVLGFTC
>>236
その参照構造って具体的に何?新規性あんの?
誰が記述するの。その参照構造ってのは仕様の段階で決まってる何かなの?
例えば格ゲとか2DSTGの当たり判定表みたいなもんなの?ならツクラーでも分かるくらい既出じゃね?
Base(Access)とかで適当なVIEW作って依存関係を可視化したり、入力しやすいフォームを作ったりとか
そうやって仕様レベルで決まってる依存関係を簡単に入力できる仕組みを提供すればお仕舞いとか
そういう程度のものなの?それで自動なの?
240:名前は開発中のものです。
09/02/23 21:51:00 JKBRWfYb
>>238
おう。風呂に入るまでID:EEKBitmgに付き合うつもり。
返信が無いのが寂しいが。
241:ID:EEKBitmg
09/02/23 21:51:33 DYVLGFTC
先に風呂入って歯を磨いたからな
242:名前は開発中のものです。
09/02/23 21:51:56 JKBRWfYb
>>239
新規性なんぞない。
参照構造は足枷にしか過ぎないよ。
オブジェクトの所有を明確化することで、自動並列化を目指す第0歩。
243:名前は開発中のものです。
09/02/23 21:54:31 JKBRWfYb
多分510は苦し紛れにDBと言ったが、この場合の意味がそもそも違う。
一般的なデータの記録/取得を指すのではなく、データの所有を明確化することで、同期化の可否を問うもの。
244:名前は開発中のものです。
09/02/23 22:18:14 keyUucFf
ID:EEKBitmgがHSPしか使えない高専の基地外で
ID:Kk+tvzE1が前スレ510のプログラムさえ読めなかった低脳ポエマーか
お前らとりあえず死ね
245:ID:EEKBitmg
09/02/23 22:19:38 DYVLGFTC
オブジェクトの所有を明確化?それって静的なものなの?動的なものなの?
>>510を見る限り、フレーム単位の処理ステップを更に小さなタスクと呼ばれる
処理ステップに(人間自身の手で)分解して、それを並べてるだけなんだけど
ソースコードに処理を並べてるってのは。静的なスケジューリングだよね
オブジェクトの所有ってのは静的なものだよね?
具体的にどんなものがあんの?
例えばレベルデータを、例えばPVSで空間分割してるとする。ポータル同士は静的な依存関係だね。
異なるポータルに入ってる要素同士は衝突する見込みないからポータルが異なれば同時処理できる
そういうこと?
なんか既出くさくね?
246:名前は開発中のものです。
09/02/23 22:24:25 JKBRWfYb
>>245
オブジェクトの所有に関して静的。タスクの並列化について動的。
>>510のTASKはそれぞれオブジェクトを明示して扱ってるでしょ。
ロックベースで行えばそりゃ既出さ。散々やられている。
CPUの利用用途が特定されているコンシューマでは、決めうちで分配してる。
これを動的に扱おうという試み。
247:名前は開発中のものです。
09/02/23 22:44:55 JKBRWfYb
というか書き込み遅くないか?
前の書き込みから20分以上経ってるんだが……。
いちいち中断されると議論にならん。
そろそろ風呂いっちゃっていいか?
248:ID:EEKBitmg
09/02/23 22:51:57 DYVLGFTC
今ネトゲやってるから頭使うレスできない
249:ID:EEKBitmg
09/02/23 22:56:40 DYVLGFTC
前>>510には>>246の言ってることの片鱗すら見えない
全てが処理の流れは静的だし、各処理ステップが処理する要素も静的だし
TASK2(Aho,Baka)
TASK2(Doji,Aho)
TASK2(Unko,Ochikko)
TASK2(Hsp,Dsl)
TASK2(Doji,Hsp)
TASK2(Doji,Dsl)
TASK2(Doji,Dsl)
こういうふうに処理順も、扱うデータも明示してる
どう考えても>>510と>>246に関係はない
250:名前は開発中のものです。
09/02/23 22:58:33 JKBRWfYb
>>249
>>510は並列化を視野に入れているとしか述べてない。
だってまだタスクの並列化処理についてどこにも記述されてないから静的にしか見えないのは当たり前。
251:名前は開発中のものです。
09/02/23 23:03:57 JKBRWfYb
静的にしか見えないのなら想像力の問題。拡張次第で動的にするなる第0歩。
>>510はソースを提示もしたが、その後このコードについて言及している。
俺も最初は意味不明だったが、510のコメントを読んでいけば言わんとしていることは分かった。
その辺は以前>>22に書いた。
252:510
09/02/23 23:04:55 7qNmU6oR
ふー
しゃべくり007見てきた。
またHSPerが何か吼えてるな。
コンテンツ産業は、HSPerが居れば安泰だな。
253:名前は開発中のものです。
09/02/23 23:08:10 Kk+tvzE1
そろそろタスクシステムのメリットとデメリットを教えてもらいたいものだ
前スレからずっと言ってるのに誰も答えてくれない
メリット知らないで使うほどバカな奴もいないと思うけど
まさか知らないって言うんじゃないだろうね
254:ID:EEKBitmg
09/02/23 23:08:27 DYVLGFTC
自動並列とか言ってなかった?
もしかして、処理ステップごとに処理対象を明示してるから
処理ステップ毎の依存関係が分かりやすく、一目で並列化の可否が分かりやすい
と前>>510が言ってたのか?
結局は人間がその処理に食わせる要素を自分で選択し
並列処理可能かどうか、自分の目で見て判断するんじゃない?
それを判断しやすいようにどう可視化すればいいかって話じゃない?
255:名前は開発中のものです。
09/02/23 23:08:43 JKBRWfYb
それじゃあ本物かどうか知らないが510が来たっぽいので、風呂場に行かせて貰うわ。
せっかく高専生相手に議論・討論の相手をしようとおもったのにID:EEKBitmgはネトゲやってて残念だ。
>>248の書き方はどう見ても逃げたようにしか見えないぞ。
高専君は俺を相手にしてくれないようだからもう来ない。
風呂入ってくる。じゃあな。
256:名前は開発中のものです。
09/02/23 23:19:23 7qNmU6oR
>>253
・唯一の価値観で構成される、美しいプログラム。
・美しさ保存の法則により、プログラムが美しくなる分、プログラマは汚い仕事を強いられる。
・趣味とはそういうもの。
257:ID:EEKBitmg
09/02/23 23:31:53 DYVLGFTC
>>252
てめぇはすぐにタスクシステム=DBとかいう珍説について作文書けよ
俺はネトゲやって寝る。じゃあな
>>251
想像力がどうのとか、ハハン、自分で考えろとか、お決まりの
せりふを出すタスク擁護派だが、こいつら脳みその中空っぽだろ
こいつらの自動並列化云々の話を見てると、おかしいところ一杯
どう見ても人力による並列化支援の話だ。静的なスケジューリングのために
どうやって処理の依存関係を可視化するか、とかそういう話で終わってるくさい
粗粒度処理の自動並列化?字句解析・構文解析して前>>510のソースから
TASK2 Hoge Hage
TASK2 Unko Hage
…blablabla
をゲットしたとして、各処理ステップが何のデータを取り扱うのか分かるけど
相互じゃなくて一方的な作用の場合は?第二引数Hageがリードオンリーなら
並列化できるよね?>>510じゃわかんないよね?基本的な部分が欠落してる
それぞれの処理ステップのワークロードも分からないよね?
あらかじめ計測してあげるの?それを人間が補助情報を食わせてあげるの?
258:ID:EEKBitmg
09/02/23 23:39:29 DYVLGFTC
なんかもう>>2とまるで違う話だよね
明らかに異形の何だかよくわからない聳え立つ糞にタスクシステムとかいう名前を絡め付けて
無理矢理このスレでの話題にしようとしているだけだろ。この調子だとあらゆるプログラムは
タスクシステムという名前を付ければオーケーになりそうだな
おまけに、片鱗も見えない機能があるかのようなハッタリ攻撃もかますし、それが見えないというと
ハハン、想像力の問題だね、とか、ハハン、自分で考えな、とか。逃げてばっか
259:名前は開発中のものです。
09/02/23 23:43:35 Kk+tvzE1
キメラじゃ、タスクシステムとはキメラのことだったのじゃ
260:名前は開発中のものです。
09/02/23 23:58:36 7qNmU6oR
HSPerは日の光がまぶしいことに御立腹のようです
261:名前は開発中のものです。
09/02/24 00:02:40 cwA9pU1F
誰も真面目に議論する気なくて
威勢の良いHSPerを弄って遊んでるだけってことに
いい加減気が付かないもんかね
262:名前は開発中のものです。
09/02/24 00:14:58 RbpkAhSi
いやいや。いい風呂だった~。
さて明日も仕事だ。もう寝よう。
貴重な睡眠時間をID:EEKBitmgの相手で減らしたくないもんね。
>>257からは週末に暇があったら読んどくわ。
それじゃおやすみなさい。
263:名前は開発中のものです。
09/02/24 00:25:24 v/PA5fmM
>>262
> >>257からは週末に暇があったら読んどくわ。
読む価値無いぞ、先に言っておくが。
264:名前は開発中のものです。
09/02/24 00:29:53 8zHV9j87
>>253
タスクと書くだけで君のように異常な反応を示す人を釣ることができて
生産性を幾分かでも削ることができる。ライバルからすればいい武器だな。 そのライバルは他の国や民族かもしれん。
こんなスレを見てしまった段階で踊る阿呆に見る阿呆だが。
265:名前は開発中のものです。
09/02/24 02:27:20 bahkSke6
久しぶりにファミコン版キャプテン翼やったら今でも面白いわ。
何これ、名作なんですけど。
お前らもこんなところでアホな罵り合いしてる暇があったらキャプテン翼やるべき。
266:名前は開発中のものです。
09/02/24 02:31:56 ly11pYeX
>>264
なんだかよくわからないけど俺の文字を打つスピードはそこそこのものだから
たいした時間にはならないし、特に問題はない
挑発かどうかぐらいは見抜けるし
当分の間ここに常駐して遊ぶことを日課にすることに決めてあるから
特に問題はないよ
五人ぐらいが同じ意図を持つ発言を同じ時間帯に
ほぼ同時に書き込んでいるということは興味深いけど
それもたいした問題でもない
別に俺をおもちゃにして遊んでもいいぜ
その程度で怒り出すほど短気じゃないし
考え方を変えると、俺に反論できない連中がむきになって
必死に挑発しているようにも見えるから、逆に嘲笑できるので愉快だわ
おほほ
267:名前は開発中のものです。
09/02/24 02:48:33 uKN6ZEKt
その程度の生態系
268:名前は開発中のものです。
09/02/24 02:59:01 S0KDY/Ow
そういやWin32APIのHWNDをタスクIDと変えただけみたいな
自称タスクシステムみたことあるな
int hogeTaskProc(HTASK htask, TASK_MESSAGE mes, DWORD lparam, DWORD wparam)
{
switch(mes) {
case TMES_CREATE:
...
break;
case TMES_DESTROY:
...
break;
case TMES_DRAW:
...
break;
case TMES_UPDATE:
...
break;
}
return defaultTaskProc(htask, mes, lparam, wparam);
}
newtask = CreateTask(parentTask, x, y, hogeTaskProc);
って感じで。
サイズ設定とか位置設定とか親子関係とか
もろWin32APIそのままっての。
これも使ってる人たちは「タスク」ってよんでたから
タスクシステムの一種なんだろうなぁ…
sendMessageとかもWin32APIと同じ。
タスク情報にx,y,w,hが含まれててコリジョンチェックまでシステム管理してたけど
269:名前は開発中のものです。
09/02/24 03:06:19 ly11pYeX
>>265
へっへーんお前のパケットは見放題だぜってことだろ
URLリンク(oshiete1.goo.ne.jp)
怖いよー><
270:名前は開発中のものです。
09/02/24 07:33:43 yxyYaCYi
相変わらずタスクシステムのメリットとデメリットはあがらないのな
自動並列化なんて嘘っ八だろ
普通に考えてごった煮な時点で不可能
だってすべてのオブジェクトに関してアクセスされちゃう可能性があるだろ
並列に処理できるわけない
むしろ、まとめないほうがまだやりやすい
271:名前は開発中のものです。
09/02/24 10:21:51 5sdzoLlH
基地外ポエマー以外は前スレ510のソースを見ただけでメリットもデメリットも理解してると思うがな
272:名前は開発中のものです。
09/02/24 10:32:59 7ZNJKJuB
タスクにすると重くなるんですよね?
273:名前は開発中のものです。
09/02/24 12:49:47 yxyYaCYi
もちろん
274:名前は開発中のものです。
09/02/24 14:35:29 vC+RqJEN
>>270
>264
275:名前は開発中のものです。
09/02/24 16:11:46 ly11pYeX
アリにミサイルぶち込んでほど守る価値がタスクシステムにあるのかどうか
疑問だったけど、思い出した事がある
俺が興味を示していたのはやねちゃん方面なのであんたに関わるつもりはない
そっちの要求どおり書き込むのは辞めよう
その代わりそっちもこれ以上俺の周辺に出てこないで貰おう
俺は面倒事には関わりたくない
あんたはその強力なカードを無意味に無力化したいとは思ってないだろ
俺に関わって来さえしなければ特に何の問題も発生しないだろう
276:名前は開発中のものです。
09/02/24 16:26:14 5sdzoLlH
ID:ly11pYeXが基地外ポエマーだな
いい加減、コテハンにしてくれ。基地外なんだから。
277:名前は開発中のものです。
09/02/24 19:54:09 yxyYaCYi
やねうらおはタスクシステム論争はブログで敗北宣言したって聞いたよ
278:名前は開発中のものです。
09/02/24 19:59:52 RgOj9QY8
やねう先生は、にちゃんなんか読んでもないでしょうに・・
279:名前は開発中のものです。
09/02/24 20:15:46 yxyYaCYi
絶対読んでるよ
ここが激化したころとちょうどにブログ更新したし
ごった煮って言葉まで使ってるし
でも内容はまるでだめだったな
タスクシステムは駄目かもわからんね的ニュアンスはあった
だれか本人にあったらキモイからくるなって言っといて
280:名前は開発中のものです。
09/02/24 20:28:21 5sdzoLlH
俺は、>>277 と >>279 だけ見ても ID:yxyYaCYiは知能障害だと思うんだが。
お前みたいな低脳はみんなコテハンにしろ。
281:名前は開発中のものです。
09/02/24 20:55:59 yxyYaCYi
本人乙
282:名前は開発中のものです。
09/02/24 21:26:05 5sdzoLlH
前スレ510を見て、誰もがメリットもデメリットも理解できるというのに
一人、二人510のソースすら読めない馬鹿がいたが、そのうちの一人がID:yxyYaCYiだろ
あのソースすら読めないならプログラマやめて吊ってこいよ
283:名前は開発中のものです。
09/02/24 22:09:08 hCsahR0N
>>282
エーーーーーーーーーーーーーーーーーーーー!
ループとっただけなのにぃ!?
頭腐ってんじゃねーのおマえw