タスクシステム総合スレ part4
レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。
2009/02/01(日) 12:38:10ID:rVEgp4cMpart3 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/
0002名前は開発中のものです。
2009/02/01(日) 12:38:48ID:rVEgp4cMhttp://homepage3.nifty.com/moha/programming.html
タスクシステム
http://www5f.biglobe.ne.jp/~kenmo/program/task/task.html
CodeZine:本格的なシューティングゲームを実現するタスクシステム(タスクシステム,シューティング,ゲーム)
http://codezine.jp/a/article.aspx?aid=297
Logician Lord … 【コンピュータゲームのからくり】
※ウェブアーカイブのキャッシュ
http://web.archive.org/web/20041009222313/www.hh.iij4u.or.jp/~peto/Games/games_top.html
0003名前は開発中のものです。
2009/02/02(月) 06:56:14ID:lhNqT94l一人だけ言っていることのレベルが低すぎて無駄な議論をすることになる。
ゲ板は>>1のための日本語教室ではない。
よって我々はこのスレは放棄する。
■■■■■■■■■■■■■ 終 了 ■■■■■■■■■■■■■■■■
0004名前は開発中のものです。
2009/02/02(月) 07:37:01ID:P5kryGXrうわーん!もうこねぇよ!的書き込み?
前スレでとっちめ過ぎたか(笑)
強くイキロ
0005名前は開発中のものです。
2009/02/02(月) 08:00:02ID:riEYZJpX0006名前は開発中のものです。
2009/02/02(月) 09:41:16ID:ZmvZOOAJ俺も同感。こんな基地外の面倒見切れねぇ。
■■■■■■■■■■■■■ 終 了 ■■■■■■■■■■■■■■■■
0007名前は開発中のものです。
2009/02/02(月) 18:56:46ID:4iEjv7V20008名前は開発中のものです。
2009/02/02(月) 19:00:13ID:/OtqrHaeよかったね
0009名前は開発中のものです。
2009/02/02(月) 19:01:02ID:eXicwt1Oおめでとうございます。
0010名前は開発中のものです。
2009/02/02(月) 19:02:19ID:9tvsUBOzさすがです。
0011名前は開発中のものです。
2009/02/02(月) 19:25:25ID:42Ae1zlH>タスクシステムはごった煮ソースになるので
>ほぼ全クラスを一括インクルードしなければ動かないとかかなり糞
とか他の人と言うことが違う。
憧れるわ〜。
0012名前は開発中のものです。
2009/02/02(月) 19:36:10ID:cShVBku0まあ、数人のタスク信者を2人で撃退したからね当然といえば当然だな
忘れないように前スレの勇姿を貼っておこう
http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/824-974
824 名前:名前は開発中のものです。[sage] 投稿日:2009/01/31(土) 02:30:33 ID:2y83CUUn
デザインパターンで安全にタスクシステムを構築できるということについて
具体的に否定できるヤツは一人もいないなw
ファビョって否定してるやつが数人いるようにみえるがID変えてるだけのアホが一人なんだろうな。
826 名前:名前は開発中のものです。[sage] 投稿日:2009/01/31(土) 02:44:15 ID:rIovvj90
>>824
安全には無理でしょ
明示的な引数がない時点でプログラムの作法云々なんてもう
気にしない組み方だと思うけどね
update();
で動くのと
update(jiki,teki,tama,unko);
で動くのとじゃ
プログラムとしては絶対に下のがいい
上は結局、その関数で何が必要なのか要素がまったくわからない
アクセスしているものを知るには中身のプログラムを読むしかないし
0013名前は開発中のものです。
2009/02/02(月) 19:40:57ID:/OtqrHae終了ですよ
0014名前は開発中のものです。
2009/02/02(月) 19:42:03ID:4iEjv7V20015名前は開発中のものです。
2009/02/02(月) 19:43:21ID:eXicwt1O0016名前は開発中のものです。
2009/02/02(月) 19:45:22ID:9tvsUBOz0017名前は開発中のものです。
2009/02/02(月) 19:47:14ID:cShVBku0お前もしかして1人でやってんの?(笑)
でひゃひゃひゃひゃw
0018名前は開発中のものです。
2009/02/02(月) 19:47:53ID:9tvsUBOz0019名前は開発中のものです。
2009/02/02(月) 19:51:25ID:cShVBku0書き込み制限つらそうだなw
0020名前は開発中のものです。
2009/02/02(月) 19:53:17ID:/OtqrHae0021名前は開発中のものです。
2009/02/02(月) 20:08:25ID:ZmvZOOAJ> まあ、数人のタスク信者を2人で撃退したからね当然といえば当然だな
お前には、自分が撃退されることもわからないのか。こんな基地外珍しいな。
0022名前は開発中のものです。
2009/02/02(月) 20:27:51ID:4iEjv7V2そしてコテになったら即あぼ〜ん設定してあげるよ。
0023名前は開発中のものです。
2009/02/02(月) 20:33:59ID:cShVBku0そしたら前スレの俺の武勇伝をあることないこと脚色して書き込むからさw
0024名前は開発中のものです。
2009/02/02(月) 20:35:30ID:4iEjv7V20025名前は開発中のものです。
2009/02/02(月) 20:56:02ID:v0zAXoNG基地外は排除しちゃえばいいんじゃない。
0026名前は開発中のものです。
2009/02/02(月) 21:00:59ID:riEYZJpXでどこ?
0027名前は開発中のものです。
2009/02/02(月) 23:59:31ID:SpnGISw5数人っていうか1人のように思う。
それと、疲れちゃったプログラマをからかい続けるのは感心しない。
そろそろやめとけば?
なんか効き目が強い。多分本当に病気だ。
それでもやっぱタスク使ってて何か引っかかるものがあるからこのスレに来てるんだろうし
0028名前は開発中のものです。
2009/02/03(火) 00:23:33ID:az8GBqBA0029名前は開発中のものです。
2009/02/03(火) 00:30:03ID:lrih8mAcいいんだよ
そいつの次の成長なんてタスクシステムを捨てた先にあるのは明らかなんだから
それに他の初心者がこんなもん妄信しはじめたらどうする
それに程度の低い書籍の悪影響もあるだろうな
ベタ書きを極度に馬鹿にするあまり
書かなければならない処理があるということの説明を怠った
独学ばっかりしてて会社でも誰ともやりとりがなければ誰にも指摘をうけないだろうな
前スレで引数の話を始めにしたが
引数が無い関数のがよく見える
とか言い出しやがった
明らかにレベルが低いというか危険レベルだろ
オブジェクト指向云々の前になぜプログラム言語が制限をつける形で成長してきたのか?
そこからすでにわかってねぇそんなレベルだった
型ってなんで必要なのか?引数ってなんであるのか?グローバル変数ってなんでダメなのか?
そういうところを一つ一つ考えなおさなきゃ次へいけないだろ
俺の周りにはたまたま教えてくれる人間がいたんだけどね
0030名前は開発中のものです。
2009/02/03(火) 10:35:48ID:az8GBqBA0031名前は開発中のものです。
2009/02/03(火) 12:02:10ID:vWXRMn0/ttp://sdc.sun.co.jp/sunstudio/documentation/ss12/mr/man3cc4/task.3.html
昔のC++には含まれていたtask.h(task library)
今の標準にはない
0032名前は開発中のものです。
2009/02/03(火) 19:50:07ID:+ZtfpvwKhttp://d.hatena.ne.jp/yaneurao/20090203#p1
0033名前は開発中のものです。
2009/02/03(火) 20:20:13ID:bfgGLsQEいい記事だとおも
0034名前は開発中のものです。
2009/02/03(火) 21:10:48ID:jRNhtvu7http://tabesugi.net/memo/2009/1a.html#152154
0035名前は開発中のものです。
2009/02/03(火) 21:24:50ID:lrih8mAcどうせなら前スレでボコボコにされたタスク信者のために
明示的な引数の記述についてもコメントしてあげればよかったのにw
20090203とか今日だしよw
どうせみてんだろ>やねうらお
0036名前は開発中のものです。
2009/02/03(火) 21:29:31ID:xRxybyai>それではタスクシステムは現代においては不要なのかというとそうでもなく、
>成熟したタスクシステム(タスク自体のデバッグを支援するタスクデバッガのような環境を含めて
> 「タスクフレームワーク」と呼ぶほうがふさわしいかも知れない)は、ゲーム開発において依然として有用であり(以下略)
現代的に仕立て直しても有用性がデバッガの存在という1点のみか。
まずは一番最初にデバッガ完成させないと有用じゃないんだな
0037名前は開発中のものです。
2009/02/03(火) 22:02:41ID:az8GBqBA0038名前は開発中のものです。
2009/02/03(火) 22:29:12ID:XllhY44u0039名前は開発中のものです。
2009/02/03(火) 23:38:52ID:eseY0VNGコルーチンライブラリだね。コンテキストの保存と切り替えしてるね
Win32APIのFiber
protothreads
Luaのコルーチン
Squirrelのスレッド
などなど
これらに相当するものでしょ
0040名前は開発中のものです。
2009/02/04(水) 00:36:43ID:bPux8EGGへー。C++標準にコルーチンを組み込む動きがあったとは知らんかった
コルーチン=協調的マルチタスクだから task.h なんだろうね
でもリンク先に「タスクシステム」とか書いてあるし、嫌タスク派に名前が悪いと怒られないか心配だなw
検索したらC++トランスレータ時代(1985年頃)のマニュアルが参考文献として上がってたわ
"A set of C++ classes for co-routine style programming"
by Stroustrup, B. and Shopiro, J. E.
in Chapter 2 of the C++ Library Manual
ttp://www.softwarepreservation.org/projects/c_plus_plus/cfront/release_e/doc/ClassesForCouroutines.pdf
0041名前は開発中のものです。
2009/02/04(水) 01:31:33ID:NUZzb6Kr>名前が悪いと怒られないか心配だなw
それは大丈夫じゃないかな
複数のジョブを協調的に並行処理・逐次処理する仕掛けになってるから
ユーザーはプログラムの中にsleep()とかを挟みこむだけでおk
job()
{
while(1)
{
…
sleep();
foreach(…){
…
sleep();
}
…
sleep();
}
}
sleep()とかを挟みこむだけでライブラリが半自動的にタスクに分割してくれる
コンテキストの保存と切り替えを全部面倒みてくれる。スケジューリング機構も
一応入ってる。>>2とは雲泥の差だよ
0042名前は開発中のものです。
2009/02/04(水) 02:19:05ID:bPux8EGGそこはただの軽口だから、そんな真面目に説明されてもね
つか君はコルーチンを説明するフリをして>>2をけなしたいだけだろww別にけなしていいけどさw
まあストラウストラップ先生の書いたクラス群はシステムの名に値するみたいだし
今度からコルーチンシステムと呼ぼうかなー
関係ないけどやねうらおは絶対ここチェックしてるよなw
やねうらお対ひらしょータスク戦争勃発w
0043名前は開発中のものです。
2009/02/04(水) 03:52:12ID:zoy9itGC>>32 は、前スレまでの議論よりずっとずっと先を行ってるから
彼にとってはこんなスレ、見る価値もないんでねーの?
さすがにこれは天晴れと言わざるを得ない
0044名前は開発中のものです。
2009/02/04(水) 04:04:25ID:YtdnZlpbみてないとか嘘だろ
だって「ごった煮」とか前スレ特有の言葉だしてきてるし
わざわざ見てますよアピールしてんだからかまってやれよw
でも前スレで話題に上がった引数に関して触れてないのはいただけないな
無視なら「そんなもんは無視」って名言してくれるだけでもスタンスわかっていいんだけど
別にいい悪いも正解不正解もないわけだし
0045名前は開発中のものです。
2009/02/04(水) 21:49:37ID:mLZ417D5protothreadはコンテキスト保存してないよ。
0046名前は開発中のものです。
2009/02/04(水) 23:51:04ID:Tig/dZbl親切心から、敢えてコメントさせてもらうと・・・
アマチュアゲームプログラマ未満だな。
まともにゲーム製作を経験した人間が書いた記事とは、到底思えない。
これ誉めちぎっている奴の狙いって何なんだろ。
一部の明らかにテンションが違う応援団は、スルーするのが基本なのか?
0047名前は開発中のものです。
2009/02/04(水) 23:58:11ID:iOg8fZiC0048名前は開発中のものです。
2009/02/05(木) 00:10:20ID:e5oU/vxX是非、どこかのブログで反論頼む!
0049名前は開発中のものです。
2009/02/05(木) 00:31:46ID:9DTLfrVWboost::shared_ptrとかunordered_mapとか実装が近代的というだけで、
やってることは古典的だよね(そういう趣旨だから当然だけど)。
ってことで、Mix-in好きのオレが近代的なタスクを考えてみた。
古典的タスクシステムをupdate巡回リストであると仮定すると、
タスクとはすなわちフレームをまたいだ継続的処理の抽象化だと考えることができる。
継続処理を今風に考えれば以下の3種類に分かれるはずで、
どれが良いかはケースバイケースで異なる。
//(1)毎フレーム呼ばれる古き良きタスク(負荷が小さい。排他処理不要)
class PeriodicalTask {
public:
virtual void update() = 0;
};
//(2)コルーチン動作するタスク(負荷は中程度。排他処理不要)
class CooperativeTask {
public:
CooperativeTask(size_t stackSize);
virtual int call() = 0;
};
//(3)ネイティブスレッド動作するタスク(負荷が大きい。排他処理必須)
class PreemptiveTask {
public:
PreemptiveTask(size_t stackSize);
virtual int start() = 0;
};
0050名前は開発中のものです。
2009/02/05(木) 00:32:17ID:9DTLfrVW無関係とするのは、描画オブジェクトが必ず継続処理を必要とするわけではないからだ。
//描画オブジェクト
template <class DrawContext>
class DrawingObject {
public:
virtual void draw(const DrawContext& dc) = 0;
};
描画用リストは CompositeDrawingObject クラスが管理する。
インターフェイスは自明な気がするので省略。
さてゲームの主人公マリオをどう表現するかというと、
//マリオ
class Mario : public DrawingObject<DrawContext2D>, public PeriodicalTask {
public:
void draw(const DrawContext2D& dc);
void update();
};
このようにMix-inして作る。ここでは PeriodicalTask を Mix-in したが、
マリオの継続処理を CooperativeTask でコーディングしたければそれを選んでも構わない。
PreemptiveTask を選ぶのは明らかにオーバースペックで排他処理が面倒になるが、
やりたければそれもまあ可能だ。
0051名前は開発中のものです。
2009/02/05(木) 00:32:50ID:9DTLfrVW例えば以下のように、描画オブジェクトでなくても継続処理をしたい場合があるからだ。
//テクスチャ画像を波打たせるトランジション
class RippleTextureTransition : public TextureTransition, public CooperativeTask {
public:
int call();
};
とまあこんな感じはどうだろう。モダンっぽくね?
0052名前は開発中のものです。
2009/02/05(木) 00:46:05ID:/BuTmFOA単一の巡回呼び出しでは呼べないぞ、それじゃ。
というか、3は明らかに不要だろ。
taskの更新処理は1と2以外にないだろ。
0053名前は開発中のものです。
2009/02/05(木) 00:48:58ID:e5oU/vxX何か勘違いしているように思える。
(1)に限らず、(2)でも(3)でも毎フレーム呼び出されると思うのだが。
0054名前は開発中のものです。
2009/02/05(木) 00:53:46ID:/BuTmFOA3は論外だが、普通に実装すれば1と2はきちんと呼び出し元に帰るから問題ないんじゃね?
0055名前は開発中のものです。
2009/02/05(木) 01:01:17ID:e5oU/vxX(2)は、1フレームごとに呼び出し元に戻らないのか?戻らないとしたらいつ戻るんだ?
そもそも1フレームごとに呼び出し元に戻すためにcoroutineにしているんだろ?
わけがわからん…。
0056名前は開発中のものです。
2009/02/05(木) 01:27:02ID:9DTLfrVW単一の巡回呼び出しですべて巡回させる必要はないと思う。
もちろん共通のタスクプライオリティを実装して単一巡回にしてもいいのだけれど、
ここではタスクの呼び出し順序に依存しないコーディングを前提としてみた(3はそもそも処理順序を付けられないし)。
んで、今までの慣例的なゲーム開発手法で考えると確かに3は使わないように思えるが、
これから先の開発手法(MTフレームワークとか)もにらんだ話であるし、
「タスク=フレームをまたいだ継続的処理の抽象化」という観点から同列に扱っている。
ただ、現状では貴重な資源であるネイティブスレッドを本当に他と同列に扱えるかというと難しいとは思う。
>>53
いや、3はただのスレッドだよ。2は、なんかごめん。確かに混乱するかもなこれ。
call() は毎フレーム(コンテキスト差し替えの上で)呼ばれる関数で、call() の中では yield し続けると思ってくれ。
0057名前は開発中のものです。
2009/02/05(木) 01:37:27ID:e5oU/vxX毎フレームcallが呼び出されるなら、結局呼び出し側(タスクシステム)からしてみれば、
単なるメソッド呼び出しなわけで、その実装の詳細(coroutineで書かれているか/いないか)は
どうでもいいのでは?
だから、(1)と(2)でinterfaceを変更する意味がわからない。
どう見ても共通のinterfaceで良いように思える。
0058名前は開発中のものです。
2009/02/05(木) 01:42:57ID:e5oU/vxX> 「タスク=フレームをまたいだ継続的処理の抽象化」という観点から同列に扱っている。
についてだけど、タスクはフレームをまたぐが、少なくとも1フレーム以内に制御はいったん呼び出し側に
戻ってこないと困ると思うのだが。
ID:9DTLfrVWは何かここを勘違いしているような気がする。
そもそもスレッドを割り当てるのは、呼び出し側で制御すべき問題であって、
スレッド一つ割り当てて実行させたいからと言って呼び出される側のタスクが勝手に
スレッドを作っていいわけではない。
ここまではわかってる?
0059名前は開発中のものです。
2009/02/05(木) 02:02:00ID:9DTLfrVWんー、古典タスクの定義にこだわりすぎだと思うんですが
あくまで近代的タスクという思考実験なので・・・
暇な時に簡単な参考実装でも作ってみようかな
>タスクは(略)1フレーム以内に制御はいったん呼び出し側に戻ってこないと困ると思うのだが。
1と2は戻ります
3は戻りませんが、ユーザプログラムはそれを分かって3を使うわけなので困らないと思いますよ
>そもそもスレッドを割り当てるのは、呼び出し側(タスクシステム)で制御すべき問題であって、
スレッドの割り当てはユーザプログラムが制御すべき問題であって、
呼び出し側(システムプログラム側)ではない、という考えでこうなっています。
MTフレームワークではシステム側で各スレッドにタスクを振り分けて負荷の分散を
行っているらしいのでそういう場合は仰るとおりですが、
それを前提にすると1と2も排他処理必須になるのでちょっと複雑になりすぎるかなと。
0060名前は開発中のものです。
2009/02/05(木) 02:11:55ID:e5oU/vxX> 3は戻りませんが、ユーザプログラムはそれを分かって3を使うわけなので困らないと思いますよ
戻らないということは、そのスレッドは呼び出し側で生成したスレッド
そのまま使い切ることになるのだから、「呼び出し側(システムプログラム側)では
ない、という考えでこうなっています」と明らかに矛盾してるんだが。
0061名前は開発中のものです。
2009/02/05(木) 02:23:22ID:9DTLfrVWそれはシステム側になると思いますけど、
作成タイミングもスタック容量もユーザプログラムが制御するのだから別に矛盾してないと思いますよう
それより、なんか疑問点を出されているというより粗探しをされている気がする
どうして突っかかられてるのかが分からないなあ
0062名前は開発中のものです。
2009/02/05(木) 02:38:16ID:e5oU/vxX粗探しをしているつもりはないので、疑似コードなり何なりを出してもらえれば
協力はさせてもらうが。
threadというのは生成に時間がかかるものであって事前に作ってpoolingして
おくのが普通であって、stack sizeなんか都度指定されたらpoolingしている
threadが使い回せない。
つまり、(3)でスレッドを割り当てて欲しいときにstack sizeの指定はいらない。
タスクシステムからのupdate呼び出しのなかでスレッドを割り当てて欲しいときに
threadPooler.Run(boost::function(&MyClass::Worker));
とするだけのことではないか?
だから、(3)を、普通のタスク(1),(2)と区別する意味が俺にはよくわからないのだが…。
0063名前は開発中のものです。
2009/02/05(木) 03:06:56ID:WlW8taMc0064名前は開発中のものです。
2009/02/05(木) 03:10:28ID:9DTLfrVWなる、プールされたスレッドってのは考えてなかったです
例に挙げられたコードも分かりやすいと思いますが、
とりあえず>>49の方向でそうした実装を取り入れるなら、
PreemptiveTask のコンストラクタがスタックサイズを引数に取らないようにして、
内部的にプールされたスレッドを使い回すようにすると良さげかもですね
それか、必ずプールされているのも都合が悪いことがありそうだから
PooledPreemptiveTask のような新しいクラスにそうした実装を組み込むか
とりあえず、その辺はより実装に近い部分なので、ゆっくり煮詰めていくたぐいの話ではないですかね
1、2、3をそれぞれ区別するのは、使い手側から見た時に混同せず
明確に区別すべきものだからです(コーディング方法もそれぞれ異なるし)
>>62はシステム側の都合から見てるから区別不要に思えるんじゃないかな
>>63
え、おれ?ごめん
ということですいませんが、そろそろ寝ます
敗北宣言
0065名前は開発中のものです。
2009/02/05(木) 03:50:41ID:MYSEarFYhttp://d.hatena.ne.jp/yaneurao/20090204
0066名前は開発中のものです。
2009/02/05(木) 04:12:57ID:Ib2V0W+Jまあ、ゲームオブジェクト管理周りをどうするかは作るもん次第、銀の弾丸なしってことで、
それはプログラマの仕事がなくならないってことで、いい話なんじゃね。
0067名前は開発中のものです。
2009/02/05(木) 07:42:18ID:V08fWeRa実は必要無いってもう気付いてるな
そもそもタスクシステム、コーティングの手間しか削らない割に記述の複雑さは一級品だからな
ベタガキで誰でも読めるソースになるならそのほうがいいだろ
長い期間強く組む為には構造は単純でないと駄目なんだよね
0068名前は開発中のものです。
2009/02/05(木) 07:42:24ID:/BuTmFOA1,2,3を混ぜて巡回呼び出ししたい場合というのが存在するから、同一I/Fから呼び出せないと困るぞ。
例えば、全てのtaskにコンテキスト保存が必要では無い場合に一部taskは1で作成するとかな。
0069名前は開発中のものです。
2009/02/05(木) 17:15:53ID:tABpRsfL現代じゃなくて近代なのか。ずいぶん遠慮がちに書くのだなぁ。最初から後退戦か
敗北主義を匂わせれば、相手は正面から斬り付けるのを躊躇うはず、という計算が
見え隠れすんなぁ
>いまの視点(2009年)で見たときに拙著(ASIN:4798006033)にて不足している部分を補足するため
今までは利得がどこにあるのかを決定的に見誤っていた、と白状したほうが高感度アップな
>成熟したタスクシステム(タスク自体のデバッグを支援するタスクデバッガのような環境を含めて
>「タスクフレームワーク」と呼ぶほうがふさわしいかも知れない)は、ゲーム開発において依然として有用であり
それにしてもタスクフレームワークとか鼻クソみたいな造語を作るの好きな人が多いな
ビデオゲーム開発のためのフレームワークなんだろ?
ビデオゲームというのは何かしらの時間ステップで何かしらの逐次処理(数値積分など)を
繰り返すもの。そしてその処理は複数。だから並行処理ないし並列処理することになる
どんなものであれ、その内部でジョブステップ(タスク)が駆動するなんて当たり前のこと
ありふれたこと。むしろないほうがおかしい
なのにビデオゲーム開発のためのフレームワークの看板にタスクを掲げる
つまり【タスク】が他のフレームワークには存在しない特徴でありウリだと思い込んでる
タスクというキーワードに何か特殊な意味・特定の実装(>>2とか)を連想し、それ以外は
タスクではない、という視野狭窄・自己中・ド田舎ルール・カルト信仰が見え隠れするね
つまりタスク厨
タスクというキーワードに対する思い入れの強さ。これは>>2、松浦本ベースの劣化
トンデモ情報による刷り込みがやねうらおにも及んでいた可能性を示唆する
0070名前は開発中のものです。
2009/02/05(木) 20:01:26ID:1mXFjsrF0071名前は開発中のものです。
2009/02/05(木) 20:05:59ID:tABpRsfL>現代において、タスクシステムを実装するなら、もう少しタスク間通信を抽象化してタスク側から
>タスクシステムが保持しているlistには直接触れないようにするべきだが
今度は近代じゃなくて現代なのか
はっきり言っちゃうよ。それは時代ではないんだよ。それは開発規模に応じた普遍的な要求なんだよ
例えば大所帯でRPG作るとき、みんながジョブエントリ・タスクエントリのコンテナに直接触れたらどうなる
わかるよな?
15年以上前にはビデオゲームの世界にさえジョブモニタやタスクモニタといったものが存在した
これは汎用機や組み込みシステムのモニタやOS(RTOS)が大昔に進んだ道を踏襲しているに過ぎない
32bit機が登場した頃には中堅どころでさえブクブクと膨れ上がるゲームのボリュームに汲々としており
ジョブを記述するユーザー(スクリプタ含む)にジョブエントリやタスクエントリのコンテナへの自由な
アクセスを許可するなんて蛮勇以外のなにものでもないケースは珍しくなくなっていた
一定以上の規模になればユーザーを中枢から隔離するなんて時代を問わず当たり前のこと
CだのC++だのアセンブリ言語だの関係ない
これを【現代】の流れというなら、それはやねうらおの内なる世界における歴史的系譜を辿る際に
現代の1ページに登場するとある事変に過ぎず。やねうらおの個人的出来事に過ぎない
『やねうらおの歴史 〜やねうらおの近代そして現代〜』というタイトルで出版したほうがいい
みんな買うよ
0072名前は開発中のものです。
2009/02/05(木) 21:33:53ID:HwyPz9yB0073名前は開発中のものです。
2009/02/05(木) 21:44:34ID:sYm6Gfdu0074名前は開発中のものです。
2009/02/05(木) 21:48:23ID:Kg6Z2A1Mそれがどういう規模のゲーム開発のお話なのか、という部分には
一切言及しなかったよな
この手のお話には必須の大前提なんだけどバサーリ省いた
あらゆる規模にタスクシステムとやらいうものが適用するメリットがあると
考えてるんだろうかね
もうこの時点で彼のタスクシステム(はぁ?)論は敗北確率急上昇だろ
とても残念だ
少人数・ないし一人のプログラマによる小規模開発ではベタ書きのがいい
彼の言うタスクフレームワーク(あ?)とかいうもの。こいつを構築するために
支払うイニシャルコストがペイできる分岐点ってもんがあるわけ
やねはここを見積もってないんだろうね
0075名前は開発中のものです。
2009/02/05(木) 21:56:59ID:Kg6Z2A1M開発機材は?既存のライブラリとかのリソースは?買っていいの?
こういうファクターを丸無視してコーディングスタイルとか設計の是非を語ろうったって
解なんて出やしない。だからやねがエロゲ作ってるならエロゲ話のことだと言えばいいんだよ
PC用3Dエロゲにおけるタスクシステムの有効性について
とかな。あ、3Dは駄目なんだっけこのオッサン
0076名前は開発中のものです。
2009/02/05(木) 22:06:28ID:Kri4Crxoあとゲーム専用ハードのゲーム開発経験もないんじゃないかな
0077名前は開発中のものです。
2009/02/05(木) 22:39:01ID:tABpRsfLDSで死にそうになってるフェードアウトハゲが10年単位の周回遅れで
発明した独自理論を得意げに語ってるのかと思ってた
エロゲの人ならこういう発見もアリなんじゃないかな。煉獄へようこそ
0078名前は開発中のものです。
2009/02/05(木) 23:02:22ID:AceVSe0N前々スレから散々におわせていたことをようやく認識した
ということだろうね
IDだのハンドル云々の話は10年近く前にファミベのよっしんが記事を書いてる
http://www2.tky.3web.ne.jp/~yosshin/memo/000213.html
アーケードやコンシューマと無縁なやねなら確実に読んでると思うんだけどね
参考リンクとして貼りゃいいのに
よっしん氏が呼んでるタスクシステムという代物と>>2は同一ではないよな
>>2はタスクリストとかいうものを周期的にナメまわしてバッチ処理するだけ
「はいこれでオシマーイ。あとはお前らにお任せだっよーん」みたいなゴミカス
最近じゃこれだけでタスクシステムってことで通用するんだから
タスクシステムはタスクの相互作用なんて気にする必要まったくないわけ
変な通信機能盛り込むなよ
0079名前は開発中のものです。
2009/02/05(木) 23:10:23ID:yvQde++7http://d.hatena.ne.jp/yaneurao/20090204
に
> すべてのゲームにタスクシステムが必要なのではない。
はっきりと書いてあるのに
> あらゆる規模にタスクシステムとやらいうものが適用するメリットがあると
> 考えてるんだろうかね
とは、とても残念な理解力ですね。
0080名前は開発中のものです。
2009/02/05(木) 23:15:47ID:/BuTmFOA> 彼の言うタスクフレームワーク(あ?)とかいうもの。こいつを構築するために
> 支払うイニシャルコストがペイできる分岐点ってもんがあるわけ
> やねはここを見積もってないんだろうね
逆に、一人で開発してるなら何やってもイイと思うけどね。
0081名前は開発中のものです。
2009/02/05(木) 23:45:46ID:/BuTmFOA> update();
> で動くのと
> update(jiki,teki,tama,unko);
> で動くのとじゃ
> プログラムとしては絶対に下のがいい
普通に考えると、visitorに共通コンテキストを持たせてコンテナ内のタスクを巡回処理させる。
引数で渡すなんて愚の骨頂。
0082名前は開発中のものです。
2009/02/06(金) 00:09:26ID:wGKtGJau>>12=スレ主=基地外が前スレで判明している。触るな危険。
0083名前は開発中のものです。
2009/02/06(金) 00:12:08ID:H1z7Q+5u引数のない関数ってどうよ?
お前、自分が使ってみろって言われたときのこと考えろよ
0084名前は開発中のものです。
2009/02/06(金) 00:15:46ID:4xm8YBEcおまえvisitorの意味判ってないだろ。
0085名前は開発中のものです。
2009/02/06(金) 00:18:56ID:H1z7Q+5u関係ないね
大事なのは引数で渡すことによって関数無いで変更される恐れのある
インスタンスを明確にすること
お前のような素人はデザパタの前にC言語でも勉強しろ
なにせ引数もよくわからずグローバル変数で渡してるぐらいの低知能なんだからなw
0086名前は開発中のものです。
2009/02/06(金) 00:19:44ID:4xm8YBEcやっぱり判ってないのかw
0087名前は開発中のものです。
2009/02/06(金) 00:20:01ID:1vVyPOFv0088名前は開発中のものです。
2009/02/06(金) 00:20:20ID:H1z7Q+5u引数の有効性はわかったかね?
0089名前は開発中のものです。
2009/02/06(金) 00:23:00ID:H1z7Q+5u前スレよろしく
今回も俺が特別に教えてあげよう
上のupdate()は関数内で何にアクセスしてるのかまったくわからないが
下のupdate(jiki・・・)はアクセスしてるインスタンスを引数に絞ることができる
(グローバル変数を使わないという規約を守れば)
これによってデータの安全性が保障されるというわけだよ
君のようにコーディングの効率ばっかりとって
引数もわからんような低知能は俺と話すようなレベルにないということがわかったかね?
0090名前は開発中のものです。
2009/02/06(金) 00:26:08ID:ux7UjNgYここまでムキになるということは、>12=スレ主ってヤツかwww
修正コストとか考えたこと無いんだろうなぁ。幸せなヤツw
0091名前は開発中のものです。
2009/02/06(金) 00:26:51ID:1vrKKSIM一人だけ極端にレベルが低いのにその自覚なし
0092名前は開発中のものです。
2009/02/06(金) 00:28:03ID:Cfc6lR6P0093名前は開発中のものです。
2009/02/06(金) 00:31:12ID:ux7UjNgY> 下のupdate(jiki・・・)はアクセスしてるインスタンスを引数に絞ることができる
笑っちゃうなwww
ということは、ID:H1z7Q+5uはtaskの種類によって引数が変わることが前提か。
もしかしてtask保持コンテナも別に持つ派なのか?
例えば敵タスクがあったとして、雑魚敵Aと雑魚敵Bが異なるコンテキストを必要とする場合とか
考えたこと無いのか? 雑魚敵Aと雑魚敵Bで最小公倍数的な引数を取るupdate関数をつくったら、
それはID:H1z7Q+5uが>89で言っていることと矛盾するって気づかないのか?
0094名前は開発中のものです。
2009/02/06(金) 00:34:26ID:1vVyPOFv0095名前は開発中のものです。
2009/02/06(金) 00:52:39ID:nWDkACnD0096名前は開発中のものです。
2009/02/06(金) 00:53:38ID:ZPF/rc3nその一人開発ってことは趣味の世界の話でいいよな?
プロの一人開発ったってフリーランスという名のプーでもなければ
自分一人の問題じゃねーし、他と折り合い付けないと会社つぶれるしな
>>2ベースのゲロゲロフレームワークなんて誰も使いたがらないから作らないよ
で、趣味野郎でオナニーフレームワーク?これもあんま意味ないよ女子高生
大多数のパンピースペックの趣味プログラマは無難にサクっとゲーム一本
作りあげる方法を模索する
パンピースペックの趣味野郎がオナニーフレームワークとかいうハマリ道に
進んだら大半は生きて還ってこれん。終わり無きライフワークになるだろ
まぁそれはそれで楽しい人生なのかもね。否定はしない
ゲームではなく部品を作ることに情熱燃やして技巧に走って茨の道へ突進して
何年もの歳月をかけて山篭りして誰にも使われないフレームワークを構築する人生
悪くない。でもその結果が>>2ベースのゲロゲロシステムじゃな。成仏できんの?w
0097名前は開発中のものです。
2009/02/06(金) 00:59:04ID:1vrKKSIM0098名前は開発中のものです。
2009/02/06(金) 01:00:52ID:ZPF/rc3n0099名前は開発中のものです。
2009/02/06(金) 01:05:33ID:1vrKKSIMじゃあ、この残念な引数君にも何か言ってやってくれ
0100名前は開発中のものです。
2009/02/06(金) 01:17:02ID:ZPF/rc3n議論の内容がよくわからん
俺は>>2=チンカスゴミカス だと思ってるが引数君とは批判のベクトルが違うようだ
彼は数種類のクラスに共通のインターフェースを与え、共通のコードから呼び出す
というメカニズムを全否定してるのだろうか?だとしたらそれは仮想関数の全否定であり
わけわからん
引数君の主張内容がよく分かってない
0101名前は開発中のものです。
2009/02/06(金) 01:25:06ID:1vrKKSIM>>12
0102名前は開発中のものです。
2009/02/06(金) 01:29:48ID:ZPF/rc3n0103名前は開発中のものです。
2009/02/06(金) 01:34:39ID:1vrKKSIMそれとも、あんたも日本語の残念な人か?
0104名前は開発中のものです。
2009/02/06(金) 01:39:11ID:ZPF/rc3n0105名前は開発中のものです。
2009/02/06(金) 01:43:50ID:OdnmQxD5もしかして彼はひらしょー氏の言うデータと処理の分離を
超まわりくどく主張しているのかな。
0106名前は開発中のものです。
2009/02/06(金) 01:50:49ID:1vrKKSIM前スレ823か。
引数君よりは能力的にマシだということはわかるが、説明がくどく、わかりにくい。
俺はこんな内容の薄い、回りくどい説明を読むのはまっぴらごめんなので、さいなら。
0107名前は開発中のものです。
2009/02/06(金) 02:08:15ID:EVIE955Wすべてのアンチタスクがスレ主に見える病気を克服するべき
0108名前は開発中のものです。
2009/02/06(金) 02:09:41ID:ZPF/rc3n0109名前は開発中のものです。
2009/02/06(金) 02:12:05ID:EVIE955W内容の薄い、回りくどい指摘を読むのはまっぴらごめんなので、さようなら
0110名前は開発中のものです。
2009/02/06(金) 07:38:45ID:RQ4iGJCoと聞かれてコーディングとは絶対に答えないくせに
コーディングの手間ばかり減らすことに執着している
なかなか読めないプログラムってなんだ?
構造が複雑なプログラムじゃないの?
お前等馬鹿は全く逆のことを自己満足のためにやっているオナニストだ
プログラマならせめて理詰めで動けよ
お前等凡人から理性まで抜いたら猿と変わらないだろ
0111名前は開発中のものです。
2009/02/06(金) 09:47:48ID:SpEabv2Cえーと、この人ってイイ歳した何者なの?プロ?パソゲー専門なんじゃない?
>ビデオゲーム黎明期においては、オールアセンブラで書くことが普通だったので、
>std::listのような便利なコンテナがあるわけでもなく、技巧的な方法でstd::list
>みたいなことを実現していただけ
えっえー?この人のいうビデオゲーム黎明期っていつごろのお話なのかな?
70年代?だったらまずZ80アセンブリで>>2を書いてみればいいのに。おかしな人だよ
16bit機時代?intrusiveなコンテナを使った理由がオールアセンブラだから?本当に?
最近は想像だけで昔話を書いても教科書になるのかしら?
どこのゲー専の子が犠牲になるのかしら。ちょっと可哀相ね
知らないことは知らないって言えばいいし、足を使って取材しに行けばいいと思う
んで、頭下げて監修してもらえばいいと思う。このままじゃあんまりだよ
>古典的なタスクシステムにおいてはタスクに番号(プライオリティ)が振られており
>番号を指定して特定のタスクのポインタを得ることが出来た
えっえー?つーか古典的タスクシステムってなんじゃい?ファンタジーゾーンなの?
0112名前は開発中のものです。
2009/02/06(金) 10:34:43ID:wGKtGJauあんた、何かがしゃべり方がキモイんだけど。
それはそうと、相手は年収何千万もある凄腕のプログラマらしいので、
技術的な反論は是非どこかのブログでやっちゃってください。
0113名前は開発中のものです。
2009/02/06(金) 21:26:12ID:+KF0MHRvでも見渡してみると、ウィンドウズのウィンドウだってそういうしくみだしなぁ。
0114名前は開発中のものです。
2009/02/06(金) 22:07:10ID:H/Ui7lv7http://d.hatena.ne.jp/yaneurao/searchdiary?word=%a5%a8%a5%ed%a5%b2%a1%bc%c0%bd%ba%ee
0115名前は開発中のものです。
2009/02/06(金) 22:31:40ID:RQ4iGJCoウィンドウ同士であまりやりとりしなくてもあの複雑さだぞ
リストコントロール2つを連動させるだけでもやばいくらいの手間
基本的にウィンドウズの作り自体関連がたくさん生まれる処理に向いてない
あくまでも独立した動作が前提
0116名前は開発中のものです。
2009/02/06(金) 22:36:12ID:nWDkACnDそう思ったのなら両方とも自分で実装してみて比較検討だ!
でも数千行レベルでは使いやすかったやり方が数万行レベルでも同じように使いやすいままかどうかはまた別問題だ!
そこは注意な! 王道はグローバル変数使わないことだぞ!
0117名前は開発中のものです。
2009/02/06(金) 23:12:31ID:ux7UjNgY>93について、具体例を挙げて答えてよ。
0118名前は開発中のものです。
2009/02/06(金) 23:44:30ID:H1z7Q+5uはぁ?何言ってるのかわからない
俺が言いたいのは関数に引数つけろってそんだけだけど?
コンテキスト?は?
そんなもん使った時点で負けだ馬鹿
設計死んでるんだよ
俺の価値観ではそんなもん使った時点で負け
void*となにも変わらない
0119名前は開発中のものです。
2009/02/06(金) 23:45:58ID:H1z7Q+5u俺の価値観からすると
0120名前は開発中のものです。
2009/02/06(金) 23:53:12ID:4xm8YBEc> はぁ?何言ってるのかわからない
じゃ、具体的に質問するけど、雑魚敵Aと雑魚敵Bに関係性が出てきたらどうするの?
例えば雑魚敵Aは雑魚敵Bを殺すことがある、となった場合に、雑魚敵Aのupdate関数の引数に
雑魚敵Bのリストを渡すの?
0121名前は開発中のものです。
2009/02/07(土) 00:21:27ID:lLkuERdr>雑魚敵Aのupdate関数の引数に雑魚敵Bのリストを渡すの?
それをやってはダメ
哲学的になるけど
基本的に雑魚敵Aが雑魚敵Bを殺す現象ってのは
雑魚敵Aの中の処理でも雑魚敵Bの中の処理でもないでしょ?
つまり雑魚敵ABに書くべき処理ではない
このアクションはあくまでも雑魚敵Aと雑魚敵Bが存在する空間で起こったことであって
それをシーンクラスとしたらそこに書くべき処理じゃねぇかな?
オブジェクト指向的にはよ
俺はオブジェクト指向原理主義者(テロリストではないw)だけど
基本的にオブジェクト指向を変な解釈をしないとしたら
種類の異なる(=クラスの違う)雑魚敵A、雑魚敵B、雑魚敵C、雑魚敵Dといたとして
それらの関連、つまりAxB、AxC、AxD、BxC、BxD、CxDの関連は全部シーンクラスに書くべきじゃないのかな?
そこはオブジェクト指向は手伝ってくれないと思うんだけどね(原理主義者的には)
昔ながらのC言語風味に書いたほうがうまくいくと思うよ
0122名前は開発中のものです。
2009/02/07(土) 00:23:19ID:UFXAc++2> 種類の異なる(=クラスの違う)雑魚敵A、雑魚敵B、雑魚敵C、雑魚敵Dといたとして
> それらの関連、つまりAxB、AxC、AxD、BxC、BxD、CxDの関連は全部シーンクラスに書くべきじゃないのかな?
> そこはオブジェクト指向は手伝ってくれないと思うんだけどね(原理主義者的には)
> 昔ながらのC言語風味に書いたほうがうまくいくと思うよ
今はっきりわかった。キサマはクズだ。
0123名前は開発中のものです。
2009/02/07(土) 00:30:10ID:lLkuERdrなんでだよ
いいこと教えてやったのに
何がどうダメなのか言ってみろ
勉強になるぞ
なにせ俺は10年以上もやってんだからな
0124名前は開発中のものです。
2009/02/07(土) 00:32:45ID:NuBn44S3ヒッキーニートで親のスネカジリ。楽しそうですねwww
0125名前は開発中のものです。
2009/02/07(土) 00:35:05ID:lLkuERdr不毛な会話したくないんだ
どこがどうダメなのか思ったこと言ってみろ
なんとなく漠然とある自分にとっての常識なんて大抵間違ってる場合が多いぞ
0126名前は開発中のものです。
2009/02/07(土) 00:38:14ID:NuBn44S3雑魚敵が20種類くらいいるとして、それが相互に関係しあうことを考えてみろよwww
20種類くらいなら、RTSとかだと当たり前にいるぞ。
0127名前は開発中のものです。
2009/02/07(土) 00:38:49ID:XPRCk6pDあっちのスレでも書いたんだけど、どの処理を誰が担当するかが難しいわけであって、
タスクシステム云々、グローバル変数云々はあんま関係ないと思うんだが。
たとえば、石クラスと、マップクラスと、それらを管理するシーンクラスがあったとして、
・石に重力を働かせる処理
・石と石の衝突処理
・石とマップの衝突処理
は、それぞれどのクラスが担当すべきだろうか。
0128名前は開発中のものです。
2009/02/07(土) 00:39:00ID:qvO9PNvj>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>(越えられない壁)>>>無能な社会人もどきヘタレグラマの妄言
それがここのルールだ。覚えておきな。
0129名前は開発中のものです。
2009/02/07(土) 00:39:49ID:lLkuERdrそりゃ当然それだけの処理が必要になるだろうね
仮にプログラムの組み方が変わったところで
その数が少なくなることは絶対にないからね
それを踏まえて何が問題?
0130名前は開発中のものです。
2009/02/07(土) 00:40:05ID:qe8S2N76>20種類くらいなら、RTSとかだと当たり前にいるぞ。
ダブルディスパッチ
0131名前は開発中のものです。
2009/02/07(土) 00:41:54ID:XPRCk6pDその莫大な組み合わせを纏めるかどうかは書く人の力量次第だが、
書く場所としてはシーンクラスが良いのでは?ってはなしだろ。
お前が読解力ないだけ。
0132名前は開発中のものです。
2009/02/07(土) 00:42:20ID:lLkuERdr全部シーンだろうな
0133名前は開発中のものです。
2009/02/07(土) 00:43:44ID:NuBn44S3ヒッキーで無能はどこにいるんだ?
0134名前は開発中のものです。
2009/02/07(土) 00:46:56ID:XPRCk6pDとなると、シーンクラスが肥え太って困る。
モジュール化する何かいい方法は無いですか?
オブジェクト指向ってのは、オブジェクト(リソース)の管理は上手いんだが、
オブジェクトとオブジェクトの関連の記述には向いていないんだよなぁ。
0135名前は開発中のものです。
2009/02/07(土) 00:48:05ID:qvO9PNvj居たら教えてくれ。
0136名前は開発中のものです。
2009/02/07(土) 00:48:40ID:cn84NiHOどうでもいいけど、やねうらおの文章の引用部分さ
> すべてのゲームにタスクシステムが必要なのではない。
これ文脈読めばわかると思うけど、規模じゃなくて種類の話だよね
あと、残念な○○っていう表現が大好きなブログがあるよね
0137名前は開発中のものです。
2009/02/07(土) 00:49:07ID:lLkuERdrないね
オブジェクト指向ではそこが限界
原理主義者の俺が言うんだから間違いない
後はC言語風味にうまく分離して書くしかない
0138名前は開発中のものです。
2009/02/07(土) 00:50:51ID:UFXAc++2> ないね
単にモノを知らないだけだな。
0139名前は開発中のものです。
2009/02/07(土) 00:51:10ID:e1gHG0fD衝突したかの判定はシーンクラスで、衝突に伴う処理は
オブジェクト同士のメッセージ交換ってのが俺のやり方だな。
0140名前は開発中のものです。
2009/02/07(土) 00:55:40ID:UFXAc++2物理エンジンで本物っぽく動かすつもり?
それとも2Dのマリオやソニックみたいに、それっぽく動けばいいの?
0141名前は開発中のものです。
2009/02/07(土) 00:55:51ID:lLkuERdr関連をオブジェクトに見立てて・・・とか馬鹿なこと始める気?
俺、そういうの読み手にわかりにくくなるだけであんまり意味ないと思うぜ
折角オブジェクトが誰にでもわかる表現にするためにオブジェクト指向を使ったのに
変にトリッキーな解釈(関連=オブジェクトだ!)してわかりにくくしたら
本末転倒じゃね?
って勝手に関連=オブジェクトの話するだけこいつ馬鹿だなー的
先読みをしてみたけど言いたいことあってる?
0142名前は開発中のものです。
2009/02/07(土) 00:56:33ID:XPRCk6pDこの流れでいくと、タスクシステムで行うべきことは、
・描画順序の管理
のみ、ということになるな。
その他の処理はすべてシーンクラスで行うと。
晴れて、タスクシステム=グラフィックエンジン
ということになり、みんな幸せになると。
0143名前は開発中のものです。
2009/02/07(土) 00:56:47ID:hO/vsQBF俺なら重力は重力クラスが担当、衝突は衝突クラスが担当するようにする。
重力に引かれたい奴は重力クラスに登録するように!
0144名前は開発中のものです。
2009/02/07(土) 00:56:49ID:vE7+xmqT0145名前は開発中のものです。
2009/02/07(土) 01:00:11ID:vE7+xmqT石に重力が働くというのなら地面みたいなものがあるはずだから、
石ー重力ー地面としてこの重力をクラスにすれば使いまわしも出来ていい
0146名前は開発中のものです。
2009/02/07(土) 01:03:06ID:UFXAc++2つ 【オールドタイプの魂】
0147名前は開発中のものです。
2009/02/07(土) 01:04:31ID:cn84NiHO>基本的に雑魚敵Aが雑魚敵Bを殺す現象ってのは
>雑魚敵Aの中の処理でも雑魚敵Bの中の処理でもないでしょ?
>つまり雑魚敵ABに書くべき処理ではない
YES
>それらの関連、つまりAxB、AxC、AxD、BxC、BxD、CxDの関連は全部シーンクラスに書くべきじゃないのかな?
シーンでも神でも何でもいいけど、ゲーム世界の物理現象の調停者wが
介在し、結果を双方(作用する2体)に通知するというのは全くもって普通
珍しくない
0148名前は開発中のものです。
2009/02/07(土) 01:06:44ID:lLkuERdrもしオブジェクトが20種類いてそれぞれが関連をもつとしたら
少なくとも
a=オブジェクトの状態の数の総和
aC2(aの中から2つ選んだときの重複のない組み合わせだっけ?)
の数だけ処理を書かなきゃいけないことには
どう組んであろうが変わりはないんだぞ
>>147
なんのメリットがあってそんなわかりにくい書き方をするんだ
無駄だろ
0149名前は開発中のものです。
2009/02/07(土) 01:09:32ID:lLkuERdr0150名前は開発中のものです。
2009/02/07(土) 01:10:08ID:XPRCk6pD重力をクラス化するのは個人の趣味だろうが、
使いまわせるかどうかは怪しいな。
細切れの小さなクラスが1000個ぐらいあって、
それぞれにそれぞれが関係しあって一つの生態系をなし、
結果としてゲームになっている・・・とか。
そういうのって想定外の仕様変更には弱いからなぁ。
まぁゲームの方向性にも寄るのだろうが。
0151名前は開発中のものです。
2009/02/07(土) 01:13:32ID:cn84NiHOゲームワールドをゲームエンジン内部で時間発展させてるからさ
衝突イベントでユーザー定義のコールバック関数が呼ばれるやつだ
0152名前は開発中のものです。
2009/02/07(土) 01:14:32ID:UFXAc++2普通に考えてそれか。
じゃ俺も普通に考えてみるかな。
雑魚敵Aが雑魚敵Bを攻撃して殺す場合、Aは攻撃判定用不可視オブジェクトXを作成する。
BにはXに対する応答のみ、つまりXに当たったら死ぬ、という処理を書く。
攻撃判定用不可視オブジェクトを必要に応じて複数作り、それぞれ攻撃する側はそれを作成し、
攻撃を受ける側はそれに対する応答処理を書く。
シーンクラスには、雑魚敵コンテナと同じレベルで攻撃判定用オブジェクトのコンテナを追加して、
そこで相互の判定をする。
0153名前は開発中のものです。
2009/02/07(土) 01:22:50ID:lLkuERdrいや、だから全然わかってねぇな
なんかお前等変な組み方してるけど
関連の処理を仕様である分、全部書かなきゃいけないことは変わらないんだろ
なんでわざわざ間になんか挟むの?
なんか得になんの?金もらえんの?
素直にシーンオブジェクトに必要な数だけ処理かけよw
何をどうしたくてそんな複雑な仕組みにするんだw
オブジェクトXなんていきなり見てお前のそれ誰が理解してくれるんだよ>152
どうせドキュメントもかかねぇしよまねぇだろ
っていうか手間増やしてるしw
0154名前は開発中のものです。
2009/02/07(土) 01:26:57ID:XPRCk6pD不可視オブジェクトXの受け渡しは誰が行うんだ?
0155名前は開発中のものです。
2009/02/07(土) 01:30:03ID:lLkuERdrC++をはじめとするオブジェクト指向言語が大嫌いなんだ
だってなんのメリットもねぇよこの言語ども・・・w
だってよ・・・処理が集中・複雑化するのってシーンクラスみたいなところであって
別に個々にオブジェクト単位にできる部分は誰も苦労してねぇよマジで
ってみんなにはないしょだよw
ってところで>>147につけたレスは内容まちがってたな俺
すまんこ
0156名前は開発中のものです。
2009/02/07(土) 01:30:17ID:NuBn44S3> なんでわざわざ間になんか挟むの?
雑魚敵が増えた時の修正が少なくてすむ。
攻撃判定オブジェクトを間に挟むことで、複数種の雑魚敵が同属性の攻撃だしても、一つの攻撃判定オブジェクトとの
関連処理に還元できる。
0157名前は開発中のものです。
2009/02/07(土) 01:32:09ID:vE7+xmqT使いまわすってのはコード的にって事ね
数が多い場合は面倒くさいけど一個一個やっていくしかないなぁ
上位概念のオブジェクトを作れるんであればいいけど
STGでいうなら弾 - 衝突 - 敵 では無くて 自機 - 弾判定 - 敵みたいに
0158名前は開発中のものです。
2009/02/07(土) 01:36:16ID:cn84NiHO>Aは攻撃判定用不可視オブジェクトXを作成する。
そう。AABBとか、高速飛翔するならカプセル、線分を空間上に射出するわけだ
Xがそのうちどっかのバカに命中(得点ゲット)したときの通知が欲しけりゃ
おまえらの大好きなオブジャーバーパティャーンでXにAを登録するやつだ
subjectはX。observerはA
>BにはXに対する応答のみ、つまりXに当たったら死ぬ、という処理を書く。
まぁ、何かが自分に衝突したら呼ばれるコールバック関数(オブジェクト)を
登録してるわけだから、その中でユーザー独自の死ぬ処理を入れるわけだ
炎を吹いて墜落するなり、爆発四散するなり好きに振舞え
0159名前は開発中のものです。
2009/02/07(土) 01:37:24ID:lLkuERdr>雑魚敵が増えた時の修正が少なくてすむ。
だからならないって
必ず仕様の分だけ処理かかなきゃならないんだよ
(それが汎用デフォルト処理に挿げ替えられるかどうかは別として)
>使いまわすってのはコード的にって事ね
コード的なんて気にすんなマジで
関連がいっぱいになると無駄に共通化した処理が必ず邪魔になる
30回コピペして終わる程度の使いまわしなら30回コピペする気でいろ
そのぐらいでちょうどいい
0160名前は開発中のものです。
2009/02/07(土) 01:38:36ID:XPRCk6pDいや確かにそのとおりだと思う。
ただ、シーンクラスみたいなところに処理が集中するのは、
ゲームにオブジェクトとオブジェクトの関係が多いからだと思う。
一般アプリやツールは、リソースの管理がメインなので、
オブジェクト指向も役に立つのだろう。
0161名前は開発中のものです。
2009/02/07(土) 01:39:17ID:dNGvkNLd0162名前は開発中のものです。
2009/02/07(土) 01:43:47ID:NuBn44S3> >雑魚敵が増えた時の修正が少なくてすむ。
> だからならないって
> 必ず仕様の分だけ処理かかなきゃならないんだよ
新規雑魚敵が今までの他の雑魚敵と同じ攻撃を出すのなら、それと同種の攻撃判定オブジェクトを
作成するだけで終了。
オマエのやりかただと、新規雑魚敵と既存雑魚敵全ての関係について処理を全て一つ一つ書くまで終わらない。
0163名前は開発中のものです。
2009/02/07(土) 01:45:32ID:lLkuERdr一般のアプリだって同じだよ〜w
絶対にボタンとかツールバーの処理なんてウンコぐれーだろ
メイン画面の処理の強烈さといったらない
メインに集中してなくても絶対にどっかに偏るw(ツールウィンドウとか・・・)
部品は平均200行程度しかないのにメインで10万越えで放置されてるソースとか多いぞw
0164名前は開発中のものです。
2009/02/07(土) 01:48:10ID:hO/vsQBFもれなくリストに登録しておいた。
>>121
もしBがAに殺された時、「うわああああ!」って悲鳴を上げるなら、
その悲鳴を上げる動作はBでやるべきだと思う。
AがBを殺した時、「やっほお!!」って喚声を上げるとしたら、それはAが行うべき内容だろう。
シーン(あるいは調停者)がやるべきことと言ったら、Bに対して「お前はAに殺された」ってメッセージを送ることと
Aに対して「お前はBを殺した」ってメッセージを送ること。
なんかややこしくなってきた。
皆えらいわ。
0165名前は開発中のものです。
2009/02/07(土) 01:48:40ID:XPRCk6pD今、攻撃判定用「不可視」オブジェクトXって言ってるのだから、
弾をXにしてしまうと、弾が不可視になって困る。
弾が飛ぶってのなら、弾は普通のクラスにすべきだろう。
で、弾と雑魚敵Bの間で攻撃判定用不可視オブジェクトXをやり取りする・・・と。
なぜインターフェイスでやらないのか。攻撃判定用オブジェクトとか馬鹿げてるよ。
0166名前は開発中のものです。
2009/02/07(土) 01:58:57ID:lLkuERdr>オマエのやりかただと、新規雑魚敵と既存雑魚敵全ての関係について処理を全て一つ一つ書くまで終わらない。
基本的にはそうだと思ってるし、そうでなければおかしいと思ってる
第一、お前が書かない処理はどうなるんだ?
プログラマならこれが答えられなければダメだろ?
それとお前がしてるのはあくまで仕様の話であって設計の話ではない
決まっていない仕様をむりやりプログラムの仕組みで解決しようとしている
必ずすべての組み合わせ分の関連を把握するべき
その上で共通な処理を共通であるように書いたらいい
(デフォルトを「何もおきない」としたら何も書かなければいい)
ちなみに俺はオブジェクトごと必ず関連をすべて書き出している
雑魚敵Ax雑魚敵BがいたとしてAのステータスが3種類、Bのステータスが2種類だとしたら
B1 B2
A1 S1 S2
A2 X X
A3 X X
X はなにもおきない
S1は爆発
S2は押される
とかねw地道にw実際はもっとでかくて多いぞwゾッとするぐらいな
例えばステータス1から2にうつるときのステータス1−2が問題になったりねw
書き出してるっていってもそこまで明確でもないんだよね、それでも見える分ぐらいはやるべきだと思ってる
0167名前は開発中のものです。
2009/02/07(土) 02:00:43ID:NuBn44S3不可視ってつけたのはちょっと余分だったかもな。別に可視でもいいんだ。STGの場合は、
弾という可視の攻撃判定オブジェクトを介して敵と自機が攻撃しあってるわけだ。
例えば格闘ゲームでパンチなりキックなりするばあい、攻撃判定の瞬間だけ拳や足先に
不可視の攻撃判定オブジェクトを作るというのはよくやること。この場合は、その攻撃判定
オブジェクトに『威力』なり『方向』なりの属性を与える。攻撃を受ける側は、その『威力』なり
『方向』なりを攻撃判定オブジェクトが当たった位置と一緒に見て、それぞれのダメージモーションを
再生したりダメージ処理に移行する。
波動拳(のような何か飛び道具)なら、可視の攻撃判定オブジェクトになるだけ。
スクリューパイルドライバー(のような何か近接巻き込み方攻撃)なら、巻き込み範囲を持つ不可視の
攻撃判定オブジェを作って、それにそれぞれへのコールバックを持たせる。当たったらコールバックを
よんで攻撃側・被攻撃側それぞれに対してモーション発動なりなんなりをする。
0168名前は開発中のものです。
2009/02/07(土) 02:00:43ID:cn84NiHO>不可視
あ、この部分は見落としていた
>>152は「一瞬で目標に到達するレーザーみたいな攻撃(視覚効果なし)」
を想定してたのかな
0169名前は開発中のものです。
2009/02/07(土) 02:02:12ID:NuBn44S3ガンバレw
努力の人はさすがにすごいと思うよw
学習できない無能はもっとすごいと思うけどねw
0170名前は開発中のものです。
2009/02/07(土) 02:03:15ID:XPRCk6pDだから処理纏めたいときは普通はインターフェイスとか使うの。
オブジェクトのやり取りなんかしない。
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();
}
とかすれば処理は纏められるだろ。
で、どう纏めるかは問題ではなく、これをどこに書くかが問題なんだ。
0171名前は開発中のものです。
2009/02/07(土) 02:04:03ID:cn84NiHO格ゲのAABB当たり判定か。把握
0172名前は開発中のものです。
2009/02/07(土) 02:06:52ID:NuBn44S3で、どこに書くの?
間にオブジェクトを介在させる場合は、書くべき場所はひとつしかないけどね。
0173名前は開発中のものです。
2009/02/07(土) 02:15:06ID:cn84NiHO> B1 B2
>A1 S1 S2
>A2 X X
>A3 X X
>
>X はなにもおきない
>S1は爆発
>S2は押される
あれ。当たり判定表はアリだと思うが…
0174名前は開発中のものです。
2009/02/07(土) 02:26:27ID:XPRCk6pDシーンクラスが良いのではないかということになってる。
>>167
オブジェクトを作るのは、インスタンスを複数にするためであって、
処理を纏めるためではないと思うぞ。
0175名前は開発中のものです。
2009/02/07(土) 03:15:44ID:cn84NiHOシーンが肥え太る?ゲームエンジン(神)が肥え太ってんだよ
肥え太ったゲームエンジン(神)が作りしシーン
その中での現象に関して肥えた神にお願い・お祈り・お伺いするためのインターフェース
これをシーンが提供してる。それだけのことだ
神と交信するためのインターフェース(シャーマン、イタコ)は色々ある
物理エンジンにしかアクセスできないインターフェースとか
どのインターフェースを使えるかはゲームオブジェクト(アクター)によりけり
あとおまえやねうらおじゃない?睡魔に耐えてたらESPが冴えてきたぞ
外れてたらごめんね。もし当たってたら一言言わせろ
あんたさー知りもしない昔の話を捏造してペラペラしゃべってる暇あんなら
一次情報にアクセスしてきっちり裏取れよな
あれじゃネット発のタスクシステム都市伝説の怪文書がまたひとつ増えただけじゃん
松○とドングリだろ。悔しくないのか?足使えよ足
ネットとか2ちゃんで怪情報かき集めて本書くな
0176名前は開発中のものです。
2009/02/07(土) 03:17:17ID:cn84NiHOばいばい
0177名前は開発中のものです。
2009/02/07(土) 03:31:08ID:dNGvkNLd横レスですまんが、やねうらおに関しては、
遠藤さんとも面識があるみたいだし、
http://d.hatena.ne.jp/yaneurao/20090108
吉村さんとも知り合いみたいだし、
http://d.hatena.ne.jp/yaneurao/20081004
岩谷さんが取り上げるぐらいだし、
http://d.hatena.ne.jp/yaneurao/20060212
彼は2chなんか端っから相手にもしてないだろう。
自分の説が正しいと思うなら是非どこかのブログで
今回の記事に反論してみてくれ。俺はそれを楽しみにしている。
0178名前は開発中のものです。
2009/02/07(土) 03:42:55ID:lLkuERdr前スレでタスク信者が詰まってたところ全部無視だものw
0179名前は開発中のものです。
2009/02/07(土) 03:46:47ID:dNGvkNLdまあ、あの記事から何も学べない奴は学習能力がアレなんだろうな
0180名前は開発中のものです。
2009/02/07(土) 03:56:42ID:zBw0rbcyC++が使えない( >>125 )ってぐらいだから、まあ、本当にアレなんだろうけどな・・
0181名前は開発中のものです。
2009/02/07(土) 04:20:56ID:lLkuERdrあんたが複数IDを使えるのはもうわかってるよ
このスレのはじめのほうでもやってただろ?
でもいいの?
あんた自分より賢い人には絶対にたてつかないクズじゃん
俺なんかに噛み付くと反撃が痛いんじゃない?w
0182名前は開発中のものです。
2009/02/07(土) 04:26:54ID:XPRCk6pDそこはそんなに。本質とは違うというか。
別にタスクが死ぬごとに各タスクのOnDeleteTask(Task *)がコールされるとか言う実装でもかまわないわけで。
全般にわたって高速化のことしか書かれていないが、そんなの正直どうでも良い。
ってのが感想。
0183名前は開発中のものです。
2009/02/07(土) 04:52:05ID:dNGvkNLd> 別にタスクが死ぬごとに各タスクのOnDeleteTask(Task *)がコールされるとか言う実装でもかまわないわけで。
それは、何かweak_ptrを勘違いしてそうだな・・。
OnDeleteTaskのときに、被参照ポインタをどうやって無効にするんだ?
0184名前は開発中のものです。
2009/02/07(土) 04:55:04ID:dNGvkNLd> あんた自分より賢い人には絶対にたてつかないクズじゃん
それは、俺を他の誰かと勘違いしてねーか
俺はC++わからないとか、デザパタわからないとか、
そんなド素人と話しても得ることがないから、そういう奴とは話さないだけだよ
0185名前は開発中のものです。
2009/02/07(土) 05:10:37ID:XPRCk6pDclass my_task : public task
{
task *m_ptask1;
public:
virtual void OnDeleteTask(task *ptask)
{
if(m_ptask1==ptask){ m_ptask1=NULL; }
}
};
0186名前は開発中のものです。
2009/02/07(土) 05:15:04ID:dNGvkNLdああ、言わんとしていることはわかったし、あんたはまともなプログラマに属すると言えるとは思うが、
そのコードだとオブジェクトの削除はO(N^2)になるよな。
俺の現場ではそんなコードは全然現実的じゃないんだが。
あんたは本当に数万オブジェクトの出てくる規模のゲーム書いたことあるの?
0187名前は開発中のものです。
2009/02/07(土) 05:18:34ID:XPRCk6pDオブジェクトのdeleteが、他のオブジェクトの何かの処理の引き金になるのは変だって話。
0188名前は開発中のものです。
2009/02/07(土) 05:20:49ID:dNGvkNLd185があまり良くない実装だと理解した上で確信犯的にやっているんだろうから。
0189名前は開発中のものです。
2009/02/07(土) 05:24:50ID:dNGvkNLd> オブジェクトのdeleteが、他のオブジェクトの何かの処理の引き金になるのは変だって話。
(そういう議論が発生するのはわかるが)それは、変じゃないだろう。
被参照ポインタの無効化というのは、そもそもそういうものだから。
0190名前は開発中のものです。
2009/02/07(土) 05:43:13ID:XPRCk6pDまぁ10000も出すとなぁ・・・
ともかく、weak_ptrぐらい自前で書けるし、他の方法もあると言いたかった。
つーか、10000もオブジェクト出すって、何のゲームよ。
0191名前は開発中のものです。
2009/02/07(土) 05:54:06ID:dNGvkNLd> ともかく、weak_ptrぐらい自前で書けるし、他の方法もあると言いたかった。
weak_ptrと同性能のものを自前で書くだけでも結構大変だと思うがな。
少なくとも現場のプログラマがやるのは時間の無駄で車輪の再発明以外の何物でもないと思うのだが。
> つーか、10000もオブジェクト出すって、何のゲームよ。
いまどきの3Dのゲームでは、足や手のパーツごとに接触判定を持っていて、それぞれのパーツが
独立していて、それぞれがC++のオブジェクトになってたりするのだが。
0192名前は開発中のものです。
2009/02/07(土) 06:30:12ID:XPRCk6pD再発明だろうがなんだろうが、あまりどうでもよくて、
要するに、そういうところで困ってる人はいないだろうと。
余談だが、
そもそも、不正なポインタをオブジェクトが抱え込んでしまっているような状況事態がバグに近いわけで。
昔weak_ptrのようなものを使ったコードも書いたことがあるが、釈然としなかった。
だって、lock出来るときと出来ないときでコードが分岐するなんて、変だ。
そういう仕組みに頼ってると、オブジェクトの所有権がどこにあるのかわからないコードになりがち。
オブジェクトは作ったやつが削除すべきという結論に達したが。。
0193名前は開発中のものです。
2009/02/07(土) 06:46:43ID:dNGvkNLd> そもそも、不正なポインタをオブジェクトが抱え込んでしまっているような状況事態がバグに近いわけで。
そんなことはない。
シューティングで、子分より親分が先に倒されることは普通にありえるだろ?
子分は親分のポインタを保持していてはいけないのか?違うだろ?
そういうとき、どういうコードを書くつもりでいるんだ?コードで示してくれ。
0194名前は開発中のものです。
2009/02/07(土) 06:49:26ID:dNGvkNLd> オブジェクトは作ったやつが削除すべきという結論に達したが。。
これも全くのでたらめ。
シューティングでボスがザコをどんどん生成するときのことを考えてみてくれ。
ボスはザコより先に逝っちまうことがあるだろ。
ザコから参照されているからボスはいつまでもオブジェクトを解放しないのか?違うだろ。
オブジェクトの所有者は、そのオブジェクトを生成した奴(ボス)にあってはいけないんだ。
もしそう設計しているならそれは設計上の誤り。
0195名前は開発中のものです。
2009/02/07(土) 07:11:16ID:XPRCk6pD>シューティングで、子分より親分が先に倒されることは普通にありえるだろ?
>子分は親分のポインタを保持していてはいけないのか?違うだろ?
>そういうとき、どういうコードを書くつもりでいるんだ?コードで示してくれ。
親分も子分も、シーンクラスが管理すればよい。
>シューティングでボスがザコをどんどん生成するときのことを考えてみてくれ。
>ボスはザコより先に逝っちまうことがあるだろ。
なぜボスがザコを生成する必要がある?
シーンクラスがザコを生成、削除すればよい。
Cのmallocにはweak_ptrのような仕組みは用意されていないが、世のプログラムはちゃんと動いている。
windowsのウィンドウハンドルにもweak_ptrのような仕組みは用意されていないが、ちゃんと動いている。
なのにゲームではweak_ptrに頼らざる得ない状況になるというのなら、それは設計が悪いからだろう。
だけど止めはしない。weak_ptrをつかってゲームを書いてみるといい。きっと後悔するから。
0196名前は開発中のものです。
2009/02/07(土) 07:23:17ID:dNGvkNLd> 親分も子分も、シーンクラスが管理すればよい。
うわ。それはひどい。なんか、またド素人と話している予感。
子分を生成したくなるタイミングは親分が親分のロジックにおいて決定するのだから、
あんたの作りでは、親分がシーンクラスに対して子分の生成を依頼するコードが必要になる。
どんな依頼コードを書くの?それ書いて見せてくれないか。
> windowsのウィンドウハンドルにもweak_ptrのような仕組みは用意されていないが、ちゃんと動いている。
何を勘違いしているのか知らないが、WindowsのHANDLEもweak_ptrも目的は全く同じなんだが。
0197名前は開発中のものです。
2009/02/07(土) 07:27:41ID:Smy/5DJP紐の管理はボスとザコのどちらですべきか?
答えはどちらでもなく、
ボスとザコと紐を管理するボス戦クラスを作って、全部纏めてそっちで管理すべき。
0198名前は開発中のものです。
2009/02/07(土) 07:28:38ID:dNGvkNLd> ゲームではweak_ptrに頼らざる得ない状況になるというのなら、それは設計が悪いからだろう。
「ゲームではweak_ptrに頼らざる得ない」なんて俺は言ってないからな。
weak_ptrを使えば簡単に書けるものを、馬鹿が車輪の再発明したり、weak_ptrを知らないがために
複雑な設計になっていたりすると言ってるだけなんだが。
0199名前は開発中のものです。
2009/02/07(土) 07:37:27ID:dNGvkNLd> ボスとザコと紐を管理するボス戦クラスを作って、全部纏めてそっちで管理すべき。
まあ、それは否定しないが、「そっちで管理すべき」の「管理」の方法は?
0200ID:XPRCk6pD
2009/02/07(土) 07:40:43ID:Smy/5DJP>>子分を生成したくなるタイミングは親分が親分のロジックにおいて決定するのだから、
>>あんたの作りでは、親分がシーンクラスに対して子分の生成を依頼するコードが必要になる。
>>どんな依頼コードを書くの?それ書いて見せてくれないか。
依頼などしない。直接シーンクラスに書く。直接がいやなら、子分と親分を管理する大親分クラスを作って
そっちで管理する。
>>何を勘違いしているのか知らないが、WindowsのHANDLEもweak_ptrも目的は全く同じなんだが。
ハンドルは同じ値が再利用される可能性もあるわけで。
0201ID:XPRCk6pD
2009/02/07(土) 07:50:35ID:Smy/5DJP>まあ、それは否定しないが、「そっちで管理すべき」の「管理」の方法は?
好きにすれば?
複数のクラス同士が双方向にコミュニケートするような状況さえ回避できれば、
あとは考えることなんてないね。
0202名前は開発中のものです。
2009/02/07(土) 07:55:22ID:dNGvkNLd> 依頼などしない。直接シーンクラスに書く。直接がいやなら、子分と親分を管理する大> 親分クラスを作ってそっちで管理する。
まあ、それでも組めなくはないのであんたが実際にゲームを書けないとは
言うつもりはないが、しかし、あんたは、大きなゲームを作ったことがなさそうだな。
オブジェクトが無数に出てきて広大なフィールドを歩けるタイプの
汎用的な3Dエンジンなんかを作れば俺が言ってる意味がわかると思うんだが。
まあいいや。お互い意見が対立しているわけでもなさそうなので、俺はもう寝る。
0203名前は開発中のものです。
2009/02/07(土) 08:17:52ID:lLkuERdr俺もシーンクラスに書く
その設計でいいと思うぜ
ID:dNGvkNLdは普通に頭悪いだろw
質問攻めしてるけど明らかに予想外の答えにうろたえてるだろw
0204名前は開発中のものです。
2009/02/07(土) 08:28:02ID:dNGvkNLdC++すら使いこなせないド素人は黙ってな
0205ID:XPRCk6pD
2009/02/07(土) 08:57:06ID:Smy/5DJPそういうコテコテしたプログラムも書いたことがあるが、今では間違いだったと考えている。
少し前までは私も「オブジェクトは自立しているべきであり、周りの状況を判断し、自分で行動すべきだ」、
と考えていた。私もまだ若かったし、C++がそういう設計思想であることも手伝って、そういう勘違いをした。
作ってみたらうまくいかず、考えてみたら、オブジェクト同士の関係を見落としていることに気がついた。
ゲームはオブジェクト同士が関係しあって初めてゲームになる。
そこを重点的に記述できないことには楽しいゲームを作ることは難しい。
昨今の大作ゲームがどことなく味気ないのもそのあたりが原因では?
0206名前は開発中のものです。
2009/02/07(土) 09:17:54ID:dNGvkNLd> 昨今の大作ゲームがどことなく味気ないのもそのあたりが原因では?
それは、全然的外れだろう。
本当に現場のことは何も知らないんだな。
せいぜい同人ゲーでも作ってなよ。
0207名前は開発中のものです。
2009/02/07(土) 09:21:58ID:lLkuERdr苦しくなると話の趣旨と違うところだけつまんで
人格批判からレスの全部否定に入るっておきまりのパターンなのなw
0208名前は開発中のものです。
2009/02/07(土) 09:29:38ID:dNGvkNLdC++すら使いこなせないド素人はこなくていいよ
0209名前は開発中のものです。
2009/02/07(土) 10:06:26ID:iAQtrtU50210名前は開発中のものです。
2009/02/07(土) 10:18:48ID:hO/vsQBFdeleteされたポインタを直接参照しているオブジェクト全てにその旨通知するように設計したいと思った。
>>193
子分::親分からの指令(親分へのポインタ) みたいなメソッド作って、
子分は親分からの指令があった時だけ、親分へのポインタを参照しながら協調動作すればいいんじゃね。
子分が親分のポインタを持つ必要は無いよ。
>>197
ボスと雑魚は紐なんか無視して、それぞれ独立に動いていい。
紐は自分のグラフィックを表示しつつ、ボスと雑魚に対して「これいじょう伸びないよ」的な力(or メッセージ)を与える。
それ以外の点では、紐は普通の登場キャラと同じような扱いで良いと思う
シーンクラスに何か特別なことを書く必要なんて無いよ。
0211名前は開発中のものです。
2009/02/07(土) 10:51:31ID:lLkuERdrどっちにしてもシーンみたいなクラスあったほうがいいじゃん
0212名前は開発中のものです。
2009/02/07(土) 11:11:23ID:lLkuERdr子分のクラスなんだから子分の処理だけで完結したいと思わないんか?
カプセル化っていうの?
0213名前は開発中のものです。
2009/02/07(土) 11:13:45ID:hO/vsQBFうん、あった方が良いと思う。
実際にシーンクラスが何を担当するのかはここに居る人それぞれが全く違うイメージを持ってそうだけど。
0214名前は開発中のものです。
2009/02/07(土) 11:47:33ID:hO/vsQBF子分は親分と協調し、親分は子分と協調するのだから、
お互いに通信しあう仕組みは必要で、完全に分離するのは不可能だと思う。
ふと思えば、俺の方法だと、子分が死んだことを親分はどうやって感知するんだって思ったw
0215名前は開発中のものです。
2009/02/07(土) 15:40:54ID:NuBn44S3おまえはタスク=ゲームオブジェクト派か。
プログラミングなんて、正しく動くなら何やったっていいんだよ。くだらない価値にこだわってると
伸びないぞ。
0216名前は開発中のものです。
2009/02/07(土) 16:25:49ID:21jTa7AwシーンってメニューやスコアやRGPならフィールドや戦闘なんかのことだろ
一つのゲームに必要なシーンなんて十もないんじゃないか
そしてそれぞれのシーンに共通点なんてほとんどない
共通しているのはデータ取得メソッドみたいなのだけ
各シーンは遷移するけどstateパターンを適用しても
メリットはほとんどない
そんなどうでもいい部分を考えている暇があるなら
うんこでもして寝てしまえ
このうんこ野郎ども
0217名前は開発中のものです。
2009/02/07(土) 18:36:36ID:vE7+xmqT2個以上なら作る価値はあると思うがね
0218名前は開発中のものです。
2009/02/07(土) 19:39:16ID:21jTa7Awつけちゃえばぱわーあっぷみたいなガキの発想じゃあるまいし
なんでも作ればいいってもんじゃない
二つしかないクラスに親クラス作ってクラスが三つになって
すごいんだぞーとかバカじゃねーの
ばーかばーかしんじゃえ
そんなとこに柔軟性持たせる暇があったらうんこでもしてろ
うんこうんこ
0219名前は開発中のものです。
2009/02/07(土) 19:48:57ID:B+kDbAoqつけちゃえばぱわーあっぷみたいなガキの発想じゃあるまいし
なんでも作ればいいってもんじゃない
三つしかないクラスを統合してクラスが二つになって
すごいんだぞーとかバカじゃねーの
ばーかばーかしんじゃえ
そんなとこに柔軟性持たせる暇があったらうんこでもしてろ
うんこうんこ
0220名前は開発中のものです。
2009/02/07(土) 20:03:53ID:lLkuERdrだからシーンに書けよw
0221名前は開発中のものです。
2009/02/07(土) 20:08:26ID:VeizsAKm0222名前は開発中のものです。
2009/02/07(土) 20:10:02ID:qvO9PNvjでもよ、
「あれもしなきゃ、これもしなきゃ」って状況で、修正作業が発生して、
2回だけでも同じ修正作業をやるのって、憤慨「ウガアーゥアーッ!!」状態にならね?
C++使ってるなら、template(汎用クラス)の親クラスは使わな損々。
0223名前は開発中のものです。
2009/02/07(土) 20:22:54ID:21jTa7Aw考えるだけ無駄
メニューと戦闘のシーンでの共通項目なんてあるのかよ
メニューと戦闘で使う共通キャラのモーションがおかしいから修正だぜ
サブクラスにしておいてよかった俺天才超天才
なんて場面は百年に一度しかねーよ
どうしても作りたければ似たようなシーンで共通の親クラス持てばいい
何度も言う、そんなくだらないコードを書く暇があるなら
うんこしているほうがまし
うんこをしていると新しいアイデアが生まれると過去の偉人も言ってた
0224名前は開発中のものです。
2009/02/07(土) 20:43:13ID:hO/vsQBF>共通項目
それはつまり、タスクシステムのことだと思うよ!
0225名前は開発中のものです。
2009/02/07(土) 20:47:22ID:B+kDbAoq?
親分クラスと子分クラス間の通信をシーンクラスが受け持つなら
シーンクラス1箇所で修正済むんじゃない?
>>223
シーンクラス否定したり肯定したり、立場がワカンネ
もしかして否定したいのって「シーンクラス」じゃなくて
「抽象化されたシーンを統一的に管理するクラス」?
0226名前は開発中のものです。
2009/02/07(土) 20:47:40ID:21jTa7Aw共通項目がない、なんの関係もなかった複数のオブジェクトを
無理やり関連付けやがった
やべぇな、俺には真似できねぇぜ
0227名前は開発中のものです。
2009/02/07(土) 20:48:43ID:qvO9PNvjウンウンきばっている段階(=設計の段階)で、
なんであれ抽象化できる部分はなるべく抽象化しておくんじゃねえの?
期限が決まっている状況であれば、なおのこと、それくらいの安全策は取るよな。
0228名前は開発中のものです。
2009/02/07(土) 21:01:07ID:21jTa7Aw一気に食おうとするな分けろ
夏休みの宿題なんてものは毎日少しずつやるもんだ
共通点なんて無理に抽出してもそれはオナニーだ
シーンごとに分けろ、目標を分けろ
メニューだけ作って完成させろ
戦闘だけ作って完成させろ
最後に適当にくっつければいいだけだ
全部同時に作って完成させる能力もないくせに
一度に全てをこなそうとするな
俺らは凡人だから、凡人にふさわしいやり方がある
規模の増大が複雑さのインフレを招くのは常識
それを回避するためにそれぞれの規模を抑えて
できるだけ分離して開発するんじゃねーか
完成した複数のシステムをできるだけ触らないようにしてくっつければ
それでいいんだよ
俺らは天才じゃねーから
スーパー天才のやねうらお連中の言うことなんて聞かなくてもいいんだよ
俺らは凡人だ、凡人には凡人にふさわしいやり方がある
そして余った時間を使って
スーパーウンコタイムを楽しもうじゃないか
存分に
0229名前は開発中のものです。
2009/02/07(土) 21:01:45ID:B+kDbAoqそして実装も終盤に差し掛かった段階で唐突に仕様変更が入り
抽象化して見えなくしておいた情報を使うために苦しむんですね
わかります
0230名前は開発中のものです。
2009/02/07(土) 21:05:45ID:qvO9PNvj仕様変更に柔軟に対応できるような抽象化を見極めるのもワザのうち。
0231名前は開発中のものです。
2009/02/07(土) 21:09:34ID:lLkuERdrって俺の10年以上の経験が言ってる
0232名前は開発中のものです。
2009/02/07(土) 21:13:12ID:B+kDbAoqそう、ワザ要るよね
初めてのゲームジャンルとかだとまだワザが足りないから完全には見極め切れない
全く抽象化しないか本当にかるーくしとく位でちょうどいい
0234名前は開発中のものです。
2009/02/07(土) 21:22:28ID:21jTa7Aw将棋やってるのに穴熊を囲うことだけを考えて
大局を見ずに
穴熊が出来たと思ったら既に敗戦濃厚な戦局になっていたという
そういうおばかさんが
タスクシステムにこだわったところで
3Dを出来るようになるというわけではないということを
超天才が身を持って教えてくれた
この教訓を未来に生かそうではないか諸君
そしてうんこを私に
0235名前は開発中のものです。
2009/02/07(土) 21:25:18ID:qvO9PNvj>>159
俺も、タスク間通信は、独立した当たり判定モジュール(クラスで実装)に任せている。
でもなあ・・・。
>関連がいっぱいになると無駄に共通化した処理が必ず邪魔になる
>30回コピペして終わる程度の使いまわしなら30回コピペする気でいろ
>そのぐらいでちょうどいい
言っていることはすごく分かるんだが、俺の場合、共通化する努力は続けているって感じだな。
ゲーム中のキャラの相互作用なんて、大体が抽象レベルでは、似通ったプリミティブな交差判定に落ち着くから、
共通化できるところは共通化しておくと、使い回しが利くんだよな。もちろんキャラの魅力は半減するが。
未出のメンバ構成のプロパティを持つキャラを追加する場合は、新規に作らざるを得ないよね。
当たり判定の共通化を突き詰めたゲームってなんだろな?
一昔前に乱発されたベルトコンベアアクションみたいなものか?
最終成果品としては、単調な作業を強いられるゲームだったよな。
最近の3Dゲーも、相互に影響しあうロジックが単調なのが多いな。
0236名前は開発中のものです。
2009/02/07(土) 21:54:35ID:WyIbglrc現行のC++やJavaは言語そのものがスマートじゃないもの…
いくら頑張っても泥臭さは残るし、作った本人が胸を張ってもやっぱり泥臭さは残ってる
アンチがいるのは理想論に近い良い手本がそこらに転がってないせいもあると思うし、あまり邪険にしないでやってほしい
0237名前は開発中のものです。
2009/02/07(土) 23:03:54ID:36NfOdFl諸君。私はタスクシステムが好きだ。
(以下略)
0238名前は開発中のものです。
2009/02/07(土) 23:10:25ID:B+kDbAoq1.現状維持
アンチタスクシステム派がタスクシステム派の不備を指摘し続ける。
ずっとアンチのターン。あと10〜15年位?(根拠は無い)
2.タスクシステム派勝利
タスクシステムをそのまま維持した上で弱点を補強するような改善策が
どっかからか出てきてアンチタスクシステム派が納得してスレから去る。多分無い。
3.「タスクフレームワーク総合part5」になる
タスクシステムの利点?であるデバッガ等々の外部ツールを必須装備とし、
その作り方を初心者に優しく指南。
利点強化によるごり押しでアンチを一掃。多分無い。
4.「タスク系総合part5」になる
アンチ勝利。part1から欠陥があると指摘され続けても「そこはお前の技術力が足りないせいだ」
的なコメントばっかり続くのを見て初心者が冷めた。
ただ、既存のタスクシステムは捨てるものの、
「タスクシステムもタスクフレームワークもだめぽorz
でもMTフレームワークがあるさ!」
「タスクシステム総合=task system総合=タスク系総合だ。文句あっか」
みたいな流れで「タスク」という概念の在り方・使い道を模索する方向に。
マルチコアCPU当たり前になってきてるしね。
5.スレから人がいなくなる
不況で、、、とか、
ゲーム製作より動画製作のがおもしれぇw、とか
いちアンチとしては4あたりに行ってくれると気兼ねなく去れるんだ。
っていうかむしろその辺議論したいんだ。
0239名前は開発中のものです。
2009/02/07(土) 23:16:17ID:Smy/5DJP0240名前は開発中のものです。
2009/02/07(土) 23:22:01ID:Smy/5DJP0241名前は開発中のものです。
2009/02/07(土) 23:23:10ID:Qq/VuJ9k3DならZバッファで終了とかじゃねえの
0242名前は開発中のものです。
2009/02/07(土) 23:24:20ID:dNGvkNLd3Dでもエフェクトや半透明は描画順が必要だよ。
あんた、3Dのまともなプログラム、やったことなさそうだな…。
0243名前は開発中のものです。
2009/02/07(土) 23:27:28ID:Qq/VuJ9kなるほど把握した
トン
0244名前は開発中のものです。
2009/02/07(土) 23:35:33ID:UFXAc++2> いちアンチとしては4あたりに行ってくれると気兼ねなく去れるんだ。
素直に『アンチタスクシステム総合スレ』でも立てたらイイジャナイか。
0245名前は開発中のものです。
2009/02/07(土) 23:38:11ID:UFXAc++2その辺は描画エンジンが描画順を制御するようにしてる。
タスク(というかゲーム内の各要素)の更新順と、それらの描画順は正直関係ない。
0246名前は開発中のものです。
2009/02/08(日) 00:29:39ID:+GgCMkwpタスク(というかゲーム内の各要素)と描画エンジンが扱う各要素のクラスは共有?
0247名前は開発中のものです。
2009/02/08(日) 00:48:21ID:9yKZ63FM>>245ではないがそんな無駄な仕組みにはしないほうがいいだろ
0248名前は開発中のものです。
2009/02/08(日) 01:00:09ID:buJH1feoオレはいち擁護派だが普通に4に行って欲しいね
同じことを続けていれば、なんだっていずれ通用しなくなるのは当たり前
古き良きタスクは穏便に「古典タスク手法」の棚に収めて、新しい合意を作っていけばいい
どう考えても4が建設的だろう
オレがアンチを叩く理由は単に非建設的だからだし
0249名前は開発中のものです。
2009/02/08(日) 01:08:11ID:/7HQNkAm3Dできないレベルの奴がキャンキャンほえても所詮雑魚
サイヤ人とスーパーサイヤ人ぐらいの差がある
3Dでのタスクシステムの実例とやらをこの目でみてみたいものだ
0250名前は開発中のものです。
2009/02/08(日) 01:09:52ID:gynQYFxx0251名前は開発中のものです。
2009/02/08(日) 02:34:19ID:2s89IpB80252名前は開発中のものです。
2009/02/08(日) 03:03:37ID:ydU34I03しかも前提によって最適なタスクシステムは異なる。
シューティングとアドベンチャーで最適なタスクシステムは違うだろうし
携帯とかファミコンレベルのチープ環境と、PCやPS3クラスのリッチな環境とでは最適なタスクシステムも違うだろ。
前提が違うのにたった一個のシステムがベスト!ってのはありえん。
0253名前は開発中のものです。
2009/02/08(日) 03:12:20ID:HPpX5vQi0254名前は開発中のものです。
2009/02/08(日) 04:05:03ID:L1xVTjvz0255名前は開発中のものです。
2009/02/08(日) 04:20:27ID:g+SgJHl1この中の「タスクシステム」を「システム」に置き換えてもまったく意味は変わらない。
ほんと、意味の無い言葉だよ。
0256名前は開発中のものです。
2009/02/08(日) 08:34:14ID:mZ7S8TgR2Dオヤジにとってタスクシステムとは、プライドを保つための最後の砦だった
心の支えだった。自己のアイデンティティを投影してまで愛していたんだ
なのに、お前らときたら…
0257名前は開発中のものです。
2009/02/08(日) 10:46:39ID:PqcaRaMD2Dやってた世代が現役の現場なんてあんまり残ってないと思うが…
仮に残ってたとしたらやっぱりその世代がタスクシステム周りをやるのが妥当だと思う。
3Dが最新技術だから、ってのではなくタスクシステムは作るのに経験が必要だから。
3D、コリジョン、物理エンジン、AI、etc...はゲームの全体から見たらガワの部分。
ゲームの状態遷移やオブジェクト管理をするタスクシステム的なものはガワではなく屋台骨部分で、
この部分はゲーム毎に最適なものが異なり、設計するのには部分だけでなく全体を見通せるだけの経験が必要。
まぁ、いわゆるメインプログラマーの仕事の範疇。
3Dやシェーダー周りはプログラマの花形っぽくみられるジャンルだから若者には人気なんだけどね。
0258名前は開発中のものです。
2009/02/08(日) 11:23:33ID:9yKZ63FM0259名前は開発中のものです。
2009/02/08(日) 11:32:03ID:2s89IpB80260名前は開発中のものです。
2009/02/08(日) 11:44:16ID:PqcaRaMDまぁ、テトリスサイズのゲームならタスクシステム構築とかしなくても作れるけど
ある程度大きいものだとそれなりの管理システムが無いとなぁ
日曜大工で犬小屋を設計図も柱も無しで作った人が
家やビルも同じように作れる、と思ってるのかもね。
0261名前は開発中のものです。
2009/02/08(日) 11:51:17ID:HiTeQllp3Dでタスクシステクを採用している漏れが最強で敬われ存在なのだな
まあ精々がんばりな
3Dができないorタスクが理解できない下賤者ども
0262名前は開発中のものです。
2009/02/08(日) 12:49:10ID:9yKZ63FMじゃあ、>>12(前スレの>>824付近)からはじまるタスクシステムの欠点についてはどうなの?
タスクシステムなんて使うからバグが増えるんだけど?
0263名前は開発中のものです。
2009/02/08(日) 15:04:22ID:L1xVTjvz0264名前は開発中のものです。
2009/02/08(日) 15:15:51ID:eFHTuswi0265名前は開発中のものです。
2009/02/08(日) 15:20:07ID:L1xVTjvzclass 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点について具体的な解答をしてもらいたいものだな。
0266名前は開発中のものです。
2009/02/08(日) 15:32:54ID:L1xVTjvz3. tekiAとtekiBをteki_baseから派生させるのは、是か非か?
4. teki_baseにupdate仮想関数を作成して派生クラスで実装する方式を取らないのは何故か?
もあわせて聞きたいね。
0267名前は開発中のものです。
2009/02/08(日) 15:51:32ID:/7HQNkAmよくよく考えてみるとクソクソ連呼するDBはなかなか下品だな
十年前に偉大なる将軍やねうおらさまと喧嘩した奴が
3D使いこなしているのを見て、やねうおらというひとは
この十年間何をやって痛んだと疑問に思ったが
そんなことは些細なことだと思った、
科学よりも宗教の方が強い世の中じゃからな
目的目標を欠いた設計論なんてクソの役にもたたぬよ
0.0001ミリの誤差も修正できる神業を極めたところで
家を建てる設計の助けにはならん
0268名前は開発中のものです。
2009/02/08(日) 15:54:55ID:L1xVTjvz全然最強じゃない。
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)
0269名前は開発中のものです。
2009/02/08(日) 16:15:03ID:gX7P2DSs本題に関係ないツッコミで申し訳ないが
科学は宗教の一分野として発生した
これ豆知識な
0270名前は開発中のものです。
2009/02/08(日) 16:19:34ID:9yKZ63FM俺、ID:lLkuERdrだからテキトーにこのスレからIDとって
まず思想を読んでみてくんない?
0271名前は開発中のものです。
2009/02/08(日) 16:20:45ID:/7HQNkAm細部語ってる最中に大局話し出す奴ってうざいよねー
何が言いたいかって言うと俺最強俺超天才
定義を明確にしない限りいくらでも攻撃できるし
定義を明確にしない限りいくらでも逃げつづれられるぜ
タスクシステム最強カルト最強
3Dなんかできなくてもタスクシステムさえあれば
スーパーサイヤ人だ
神の奇跡を信じよ、それがタスクシステムである
3Dはできないけどタスクシステム最強である
0272名前は開発中のものです。
2009/02/08(日) 16:27:03ID:iVlGRjYyZソートすればいいだろ
予めグループ化して描画するのはタスク云々とは関係がないし
0273名前は開発中のものです。
2009/02/08(日) 16:28:49ID:1so7d3Ot0274名前は開発中のものです。
2009/02/08(日) 16:29:22ID:L1xVTjvzok。
クズは失せろ。
0275名前は開発中のものです。
2009/02/08(日) 17:04:08ID:KsHb+JeN何のことはねぇ、MediatorパターンとObserverパターンを組み合わせただけじゃねえか、
アホらし。すかしてんじゃねえよ、ぼんくら共が!
0276名前は開発中のものです。
2009/02/08(日) 17:06:27ID:L1xVTjvz0277名前は開発中のものです。
2009/02/08(日) 17:11:51ID:lbrou4Vq0278名前は開発中のものです。
2009/02/08(日) 17:18:44ID:+p9NdvYA書いてるの同じ人だろw
0279名前は開発中のものです。
2009/02/08(日) 17:27:25ID:/7HQNkAmタスクシステムなんてわけのわからない幻想は捨て去るんだな
無限ループで苦しむ時間を3Dの勉強に費やせば
ポリゴンの一つもレンダリングできるようになる
やねうおら大先生みたいにわけのわからない長文を書いて
わけのわからないタスクシステムの解説を書くような老後をっ
送りたいならばそれも止めはしない
それも人生よ
タスクシステムはイディオムのようでイディオムではなく
デザインパターンのようでパターンではなく
フレームワークのようでフレームワークではないのだよっ
思い知ったか、このメスブタどもめ
0280名前は開発中のものです。
2009/02/08(日) 17:41:19ID:6h7R5+5k少し違う話になるが、複雑な状態をもつインスタンスは外部から状態遷移させると危なくないか?
俺は外部からはメッセージ送るまでに留めて、実際にメッセージ処理して状態遷移するのは、個々のインスタンスに任せる。
これだと処理が1フレーム遅れたり、場合によってはメッセージ捨てられることもあるんだが、それでも外部から状態の詳細隠蔽できる利点を優先してる。
0281名前は開発中のものです。
2009/02/08(日) 17:41:21ID:+p9NdvYA書くような大人にはなりません。
0282名前は開発中のものです。
2009/02/08(日) 17:52:59ID:/7HQNkAm俺はそう思う
ただ長く理解しづらいまわりくどいわけのわからないことを書いて惑わすだけ
定義も何もない、ただそれっぽいことを誰にも理解できないように書いて
適当に権威のありそうなものを付け加えて
ごまかしているだけ、子供のいいわけ、自己保身を計っているだけ
あの人は小説家にでもなればいいよ、回りくどい文章を書いて
1を100に水増しして本を書いて適当に売ってればいいよ
タスクシステム語ってる連中の気に食わない点の一つとして
定義を明確にしようとしない
設計の話だと思って設計の話をすると
急にイディオムの話に切り替えやがるし
それに合わせてイディオムの話をしていると
また急に設計の話に戻しやがる
結局何をやってるかわかってないから、適当に話をつなげるしかないのだろう
自分たちが過去やってきたことを無駄にしたくないという思いが
タスクシステムを正当化しなければならないという
何が言いたいのかというと、つまり私は空腹だということだ
0283名前は開発中のものです。
2009/02/08(日) 17:55:52ID:iVlGRjYyって定義してくれりゃ…
IGDAってセミナー案内以外何かやってるんか?
0284名前は開発中のものです。
2009/02/08(日) 18:54:27ID:2s89IpB8ゲー専みたいな馬鹿の集まり、相手にしなくてもいいんじゃね?
0285名前は開発中のものです。
2009/02/08(日) 19:28:37ID:/7HQNkAm俺が気に食わないのはやねうらお本人よりも
それを無自覚に賞賛している信者連中の方
考えることを放棄している
三年毎に取り巻き信者が一掃されてるのが笑える
難しくて凄そうで権威のあるやねうらお大先生の言うことを
理解したような風に賞賛すれば俺も近いレベルの有能プログラマになれるんだ
といったところか、おこぼれクレクレ君
本当に理解してないからメリットとデメリットも知らないし
適用すべき箇所がどこなのかも知らない
だからとりあえず使ってみて、満足して
布教して、さらに満足する
これをこうやったらこうなってここが良くなるってのが全くない
手に入れたぞ、使うぞで完結している
それを自覚できないから、多少難しい観念を理解することはできない
つまり3Dは複雑すぎて手が出ない、又はすぐに挫折する
でも俺優秀俺天才って言いたい、そう他人に思ってもらいたい
その願望をかなえるための夢のシステム
それこそがタスクシステム
男のロマン
巨乳大好き
おっぱい最高
そういうことだ
0286名前は開発中のものです。
2009/02/08(日) 19:33:57ID:/7HQNkAmゲー専にも学校ごとに二、三人ぐらいは優秀なのがいるよ
逆に優秀な大学出てても、ろくにプログラムかけないで口だけのもたくさんいる
IPAの岡田くんは最高だがな
0287名前は開発中のものです。
2009/02/08(日) 20:16:29ID:9yKZ63FM>ただ長く理解しづらいまわりくどいわけのわからないことを書いて惑わすだけ
>定義も何もない、ただそれっぽいことを誰にも理解できないように書いて
>適当に権威のありそうなものを付け加えて
>ごまかしているだけ
あるねー
そういうのやねうらおだけじゃなかったけどね
昔は多少わかりにくくても考えながら聞いてやったけど
いまって時代が変わったってのもあるよね
もう別に奴等の言うことをわざわざ理解してやる義理も必要もないし
情報が氾濫しすぎてて何かしゃべっても説明責任はてめぇの方にあんだよバーカ
で終わる話にもなってるからそういうのに騙される奴も減ってきたよね
相手を煙にまける環境っていうのは相手側が説明を理解しなきゃいけない立場であるときしか役に立たない
いまは2chですらそういうの華麗にスルーされて終わりだしねw
前スレでもどっかのエライ人系(英文w)のリンク貼ったレスは全部無視だしねw
0288名前は開発中のものです。
2009/02/08(日) 20:33:36ID:VfZ7TaKb独演会はもう終わったのか
まぁしかし、
奴のマイナスの社会的影響は大だな。
奴の原稿にダメ出し出来ない出版社も無能だが。
0289名前は開発中のものです。
2009/02/08(日) 21:14:56ID:PqcaRaMDゲームを一本でも自作したことあるやつなら何らかのタスク管理システムは作ったことあるだろ。
で、このシステムはここが便利だったとかダメだったとか、いろいろなジャンル作ってく中で
洗練されたシステムが作れるようになってくもんだ。その程度のもの。
0290名前は開発中のものです。
2009/02/08(日) 21:16:46ID:+gs/6E3g0291名前は開発中のものです。
2009/02/08(日) 21:34:21ID:L1xVTjvz0292名前は開発中のものです。
2009/02/08(日) 21:49:45ID:150rW63B・ゲームオブジェクトを抽象化できない
・タスクシステムを使っている現場でひどい目にあった
アンチの理由は大体こんなとこかな。
3番目は稀に、タスクシステムを使わない、自分なりの方法を確立してる人もいるっぽいけど、
それを啓蒙するわけでもなく、罵詈雑言に終始しているので、まあ、同じ穴のムジナかと。
0293名前は開発中のものです。
2009/02/08(日) 21:52:43ID:eFHTuswiそうそう、そうなんだよね。
いいとこはのこして、今のゲーム制作で問題あるなら変えていけばいいだけのことで、それを何と呼ぼうがどうでもいい。
そんなことすら理解できないバカが一人か二人騒いでるだけなんじゃないの?
0294名前は開発中のものです。
2009/02/08(日) 22:04:40ID:gynQYFxxおまいは井上香美か?
0295名前は開発中のものです。
2009/02/08(日) 22:13:16ID:mZ7S8TgR0296名前は開発中のものです。
2009/02/08(日) 22:22:01ID:VfZ7TaKb・解決策としてのフレームワークの仕様
・フレームワークの設計と運用ルールと実装
分けて考える必要がある。
アンチは、もっぱら実装の局部的な問題をもってして、
全部を否定しようとしているだけ。
基地害オナニー独り芝居。
タスクシステム使って酷い目にあったっていうのは、
単に運用ルールを確立・周知していなかったからじゃないのか、という気がする。
0297名前は開発中のものです。
2009/02/08(日) 22:29:49ID:9yKZ63FMタスクシステムを使うことによって何のどんな問題が解決するの?
これをはっきりさせてよ
っていうと全くまともなレスが帰ってこないからなw
んで>>282の内容に戻るとw
0298名前は開発中のものです。
2009/02/08(日) 22:31:54ID:iemYL3IEキャストするのもきめえ。
Setter/Getter作るのもきめえ。
グローバルで通信するのもきめえ。
ピザな神に任せるのもきめえ。
てな感じで同じく悩み続けてる俺にはここ最近の話はとても参考になってる。
だからもっとやれ。ただし脳内じゃなくてちゃんとわかるようなコードつけてな。
0299名前は開発中のものです。
2009/02/08(日) 22:37:30ID:/7HQNkAm俺はごく基本的で大局的な見解しか示してない
局部的な話は一切していない
さぁ、タスクシステムを大局的に語るがよい
又は3Dでタスクシステムを使うがよいww
偉そうな名前を持った偽科学は消毒だー
0300名前は開発中のものです。
2009/02/08(日) 22:40:34ID:9yKZ63FMオブジェクト指向の常識に従う限り
ゲームのシーンクラスの肥大化を防ぐ手はねーよ
トリッキーな解釈をして関連をクラスにするとか
ってのは一つの逃げ道かもしれねーな
ただ、それをしたところで俺の上のほうのレス(ID:lLkuERdr)を読んでもらえば分かると思うが
書かなければならない処理の絶対数はどんな組み方をしても変わらない
俺はこれでも10年以上やってきたので設計思想で
できることとできないことが判別できるようになった
だから迷いがなくタスクシステムを糞だと言い切れる
もし、他の可能性を探すならオブジェクト指向を覆すような新しい設計思想が必要
0301名前は開発中のものです。
2009/02/08(日) 22:46:01ID:L1xVTjvzオマエは煽るふりをして自分の理解できないところを質問しているだけだろwww
0302名前は開発中のものです。
2009/02/08(日) 22:48:37ID:L1xVTjvz関連の総数が爆発するのは、不味い設計しているからだ。
そういうのはそもそもゲームの仕様からして不味い。
それをそのまま唯々諾々と実装するようなID:9yKZ63FM=ID:lLkuERdrは馬鹿の見本。
0303名前は開発中のものです。
2009/02/08(日) 22:48:38ID:9yKZ63FMいままでこれが説明できた人間はいないぜ
無理すんなよw
0304名前は開発中のものです。
2009/02/08(日) 22:49:57ID:VfZ7TaKb「大局的」の意味がよく分からんが。
あくまで、たとえばの話として・・・
○問題設定
プレイヤーキャラを常に画面上に存在させておき、プレイヤーの操作に反応させる。
一定時間ごとに、ライバル・キャラを画面上に発生・消滅させる。
キャラ接触の結果として、随時、火花を画面中に発生させる。
火花は発生後、画面上でアニメーションさせて1秒後に消滅させる。
ライバル・キャラ、火花は複数同時に存在し得るものとする。
画面上での全キャラのFPS当たり移動スピードや、火花アニメのFPS当たり状態遷移スピードは、固定とする。
火花は画面上最前面に表示されるようにする。
(その他細かいルールは割愛)
この問題を解決する方法の一つとして、タスクシステムの存在意義がある。
ところで問題は、それこそ色々あるから、そんなこと聞くだけ野暮だと思うが。
0305名前は開発中のものです。
2009/02/08(日) 22:50:00ID:L1xVTjvz自分が知らないものは存在しないも同然かww
0306名前は開発中のものです。
2009/02/08(日) 22:50:23ID:9yKZ63FMは?もうお前のくだらない戯言に騙される奴はいないんだよ
オブジェクトが20個あってそれぞれが影響しあうなら
当然それだけの処理がいるの
設計をどうこねくりまわしたってその数が減ることは物理的にないんだよw
0307名前は開発中のものです。
2009/02/08(日) 22:54:09ID:PqcaRaMD>タスクシステムを使うことによって何のどんな問題が解決するの?
タスクを管理できる。ただそれだけ。
タスクシステムを使わずにタスクをどーやって管理するの?
switch/caseかな?
まぁ、どんな方法だろうとタスク管理をするシステムをタスクシステムというんだから
ゲームにタスクがある以上タスクシステムが無いというのはありえないと思うが。
0308名前は開発中のものです。
2009/02/08(日) 22:58:14ID:9yKZ63FMは?ちょっと聞くけど
使わないで組んだこと1度でもあるの?
>>307
頭悪すぎ
まず、タスクシステム使わなきゃタスクって単語すらでない
のに何が聞きたいの?
タスクシステム使う前提で話してどーすんだよ
理屈でモノを考える力をどっかに捨ててきたのか?お前
0309名前は開発中のものです。
2009/02/08(日) 23:00:15ID:L1xVTjvz> 設計をどうこねくりまわしたってその数が減ることは物理的にないんだよw
キサマの設計のクソさ加減は、>121見れば判るからwwwww
0310名前は開発中のものです。
2009/02/08(日) 23:00:40ID:/7HQNkAmいや、タコスシステムとやらを使わなくても書けるだろ
タスコシステム使ったらどういう恩恵が得られるのかってーのに興味があるんだよ
普通の人々は
早くなるーだの、コードが短くなるーだの、読みやすくなるーだの、拡張しやすいーだの
そういうことを聞いてるわけだ
書けるんだよ書けるんだよって、書ければいいのならHSP使った方が手っ取り早い
0311名前は開発中のものです。
2009/02/08(日) 23:01:44ID:PqcaRaMD>まず、タスクシステム使わなきゃタスクって単語すらでない
OSのマルチタスクってタスクシステムの話かな?
タスクってのは「処理の単位」以上の意味は無いから
ゲームに処理がある限り「タスク」は存在するんだけどね。
0312名前は開発中のものです。
2009/02/08(日) 23:01:46ID:DctRL+eTなんか違うことを言ってるんだろうか
0313名前は開発中のものです。
2009/02/08(日) 23:02:42ID:3SPyMiZ9タスクとかいう言葉を何の定義もなく使うところがキモいです。
たとえば>>304を実現するのに普通の人はタスクなんて使わないので
管理の必要もないわけでさ。
と書こうとしたら>>308に書かれてた。
0314名前は開発中のものです。
2009/02/08(日) 23:08:29ID:150rW63Bマリオがクリボーに触れたときの処理と、ノコノコに触れたときの処理は別々に書くのか。
0315名前は開発中のものです。
2009/02/08(日) 23:08:51ID:PqcaRaMDギャラがやゼビウス時代の古典的ナムコタスクシステム(関数ポインタ+ワーク)や
マルチコアのジョブ時間管理やりソース共有管理まで行うMTフレームワークレベルのものも
広義のタスクシステムなんだけど。
これらを一切使わずに>>304を実現できる普通の人っているのか?
それとも何か特定の1つのタスクシステム実装についてのみ語っているのか?
0316名前は開発中のものです。
2009/02/08(日) 23:15:44ID:buJH1feoオレはアンチじゃないけど
「広義のタスク」が何を指すのか不明では?
>>49の「タスクとはすなわちフレームをまたいだ継続的処理の抽象化」を言ってる?
0317名前は開発中のものです。
2009/02/08(日) 23:16:26ID:rDw772wv収拾つかなくなるだろ。
古典的ナムコタスクシステム(関数ポインタ+ワーク)
これをウンコを管理するウンコシステムと呼んで区別しよう。
話はそれからだ。
アンチが叩いてるのはこのウンコの部分なんだから。
0318名前は開発中のものです。
2009/02/08(日) 23:17:51ID:L1xVTjvz> 古典的ナムコタスクシステム(関数ポインタ+ワーク)
『コンテキスト保存によるフレーム間の継続性』が抜けてるぞ。
0319名前は開発中のものです。
2009/02/08(日) 23:19:54ID:VfZ7TaKbトムヤムクンプロセッサってのは聞いたことしかないから、よく知らん。
結局、並列動作処理フレームワークの実装がブラックボックス依存なんじゃねえの、それって。
ブラックボックス依存で構わないんだったら、ネガキャンするなと言いたい。
0320名前は開発中のものです。
2009/02/08(日) 23:23:26ID:+Lu8guC0だから、単純なゲームのとあるシーンは以下のようになる。
while(1) {
描画
ゲームオブジェクトの移動
当たり判定
時間調整
}
次にタイトル画面を表示するシーンが欲しいなと思ったら、もう一つループを追加する
while(1) {
描画(タイトル画面表示)
キー入力
時間調整
}
シーンの数だけループができた。
じゃあ、このループを一般化して、ハードコーディングではなく、外部からのスクリプト読み込みなどで
動的に生成できないかと悩んでみると、タスクシステム(っぽい何か)に行き着いた。
0321名前は開発中のものです。
2009/02/08(日) 23:23:57ID:DctRL+eTただのFSMではなくコルーチン&スケジューラが実装されていたのなら
そう書いてもらったほうが分かりやすい
0322名前は開発中のものです。
2009/02/08(日) 23:28:08ID:xD+TYCTG指標をいくつか決めて実装手法ごとに○×付け。一番○が多いのを使う。
これでいいんじゃね?
どういった表現方法使ったってどうせ全部「データの受け渡し」であることには変わりない。
概念的には一つのことを実現しようとしてるだけ。
もし引数の概念が無い言語ならグローバル変数使わざるを得ないし、
グローバル変数の概念が無い言語なら引数使わざるを得ないかもしれない。
この辺の手法の差異なんて言語に左右されるような瑣末なこと。
C++ではたまたまいろいろな手法が利用可能だけども
概念的には「データの受け渡し」だけが目的なんだから、
CPU使用時間とかメモリ使用量とかソース可読性とかそういった瑣末な指標によって選択すればいい。
「C++におけるデータ受け渡しの実装手法はどれが一番概念的に優れてるか」とか悩むのは
そもそも問いかけの選択からして間違ってる。どれも概念的には「データの受け渡し」で同一のもの。比較不可。
優劣が付けられるのは前述の瑣末な指標で比較した場合のみ。
C++がやれること多すぎて悩むの疲れたのならいっそもっと選択肢少ない言語に変えてみたら?
Cとかに。わりと本気で。
#レスなげえ、俺きめえ。ごめんね
0323名前は開発中のものです。
2009/02/08(日) 23:36:38ID:buJH1feo納得しない人たちもいると思う
オレはC++大好きデザパタ大好きだが、自戒をこめてこの言葉を君たちに
C++ はひどい言語だ。これは、多くの平均以下のプログラマーが使ってるために
さらに輪をかけてゲロゲロになっていて、どうしようもないゴミが簡単に生産されるようになってる。
正直いって、C を選ぶ理由が C++ プログラマーを追っぱらうため *だけ* だったとしても、
それ自体、C を使う強力な理由になりうる。
-- Linus Torvalds
0324名前は開発中のものです。
2009/02/08(日) 23:36:54ID:VfZ7TaKb「タスクシステム」を批判できる立場にねーだろ。
0325名前は開発中のものです。
2009/02/08(日) 23:42:17ID:L1xVTjvzいやいや、作ったソフトにどんな名前をつけるかは作者の権利だ。
それについてどうこう言うのと、『タスクシステム』という名前についてアレコレ言うのは
違う気がするぞ。
0326名前は開発中のものです。
2009/02/08(日) 23:44:14ID:VfZ7TaKb悪い、ちょい嫉妬しただけだ。
大人げなかったな。
0327名前は開発中のものです。
2009/02/08(日) 23:46:18ID:L1xVTjvz0328名前は開発中のものです。
2009/02/08(日) 23:48:32ID:iemYL3IE確かになー。
本当に悩むべきはそんなところじゃねーだろーっていつも頭では思うんだけど、
「もし理想のやり方が見つかれば、二度と悩まなくて済む」って甘い罠に取りつかれちゃうんだな。
つーかなんかタスクシステムに限った話じゃなくなってるな。
↓こっちの話題だなすまん。
ゲームにおけるデータ構造・クラス設計・パターン2
http://pc11.2ch.net/test/read.cgi/gamedev/1211544659/
0329名前は開発中のものです。
2009/02/08(日) 23:49:52ID:/7HQNkAmHSP使った方がいいよ、資源の無駄
かっこつけてC++なんて使う意味ないって
俺かっこいい超天才C++使いこなす俺超天才って言って
一ヶ月かけて作ったゲームも
HSPなら三日で作れるから
所詮タスクシステムなんてその程度
DSL的アプローチとしてはHSPの方が有益
タスクシステムはうんこ
うんこに指差してうんこって言って何が悪い
これはうんこじゃないやいって言ったところで
それはうんこだ
うんこうんこ
0330名前は開発中のものです。
2009/02/08(日) 23:54:43ID:L1xVTjvz0331名前は開発中のものです。
2009/02/09(月) 00:03:05ID:jAkDZVnoいっぺん表作っちゃえば二度と悩まなくて済むよ
処理時間短縮重視ならこれ、メモリ使用量極小を狙うならこれ、
とかって簡単に決定できる
まぁ、大体PCならメモリとかCPUなんて潤沢に使えるから気にせず
コードの可読性だけでさくっと決めていい気がするけど
0332名前は開発中のものです。
2009/02/09(月) 00:28:43ID:xIvd3PJC普通にできるだろ
馬鹿かお前大丈夫か?
ていうか一度でも組んでみてから言ってくれよ
つーか、お前、タスクシステム云々がどうとかそういうところこだわる前に
プログラマとしてヤバイだろw
0333名前は開発中のものです。
2009/02/09(月) 00:54:39ID:rrMBb3Sk0334名前は開発中のものです。
2009/02/09(月) 01:34:23ID:K+aHd4rk適材適所。
0335名前は開発中のものです。
2009/02/09(月) 01:44:30ID:Tt5KtR55なーにが広義のタスクシステムだ。バッカじゃねーの?このカッペ野郎
毎度毎度テメェの都合でローカル用語の解釈を変えてんじゃねー
あと"ジョブ時間管理"とか訳のわかんねー用語を発明すんな
お前いつもそんなふうに新しい用語をクリエイトしながら他人とお話しするの?
0336名前は開発中のものです。
2009/02/09(月) 07:48:20ID:tQgf226pタイトル画面や戦闘シーンは、相互依存がほとんどなく、インスタンス数もたかが知れてる。また処理パターンが仕様変更で変わる可能性がある。
そういう用途には、std::list<> に virtual void exec() だけ実装したクラスのインスタンスを入れておいて、定期的に呼び出してやれば良い。システムと呼ぶ程のモノじゃないがな。
一方、プレイヤーや敵キャラなどは、上の前提条件が成り立たない。相互依存が多く、処理も一度「移動、ヒット判定、死亡判定」と決めたら、まず変更しない。
困難なポイントが違うので、解決策も必然的に変わってくる。
0337名前は開発中のものです。
2009/02/09(月) 12:40:04ID:Q7FeorJ2これでFA。
0338名前は開発中のものです。
2009/02/09(月) 13:30:04ID:DGIHyZBW>あと"ジョブ時間管理"とか訳のわかんねー用語を発明すんな
まだ君の頭では理解できないことかもしれないけど
”MTフレームワーク”でググって勉強してみれば意味が分かるかもね…
0339名前は開発中のものです。
2009/02/09(月) 16:20:33ID:rrMBb3Sk今、ゲームを ウィンドウ と DirectX と ゲーム管理 と ゲームオブジェクト の4つに分けて考える。
データの流れ(処理の流れ)に着目すると、
DirectX → ウィンドウ
↑ ↓
ゲームオブジェクト ← ゲーム管理
という関係が成り立っている。
ウィンドウと入力と出力に分解すると、
ウィンドウ(in)→ゲーム管理→ゲームオブジェクト→DirectX→ウィンドウ(out)
となり、<入力>→<プログラム>→<出力> という昔ながらのシンプルなモデルになる。
ところがここにオブジェクト指向の概念(データ構造でプログラムを分解する)を導入すると、
ウィンドウ→DirectX→ゲーム管理→ゲームオブジェクト
となり、前述のデータの流れ(処理の流れ)
ウィンドウ(in)→ゲーム管理→ゲームオブジェクト→DirectX→ウィンドウ(out)
と相反してくる。
この問題を解決するには、データ構造とデータの流れ(処理の流れ(制御構造))をそれぞれ別々に記述できる
C言語が最強ということになる。カプセル化なにそれ。
0340名前は開発中のものです。
2009/02/09(月) 16:42:01ID:rrMBb3Skプログラムの三大要素は
・データ構造(struct、etc)
・制御構造(function、etc)
・定数(define、etc)
である。
それぞれ別のものだから、別々のところに別の方法で別々に作成するのがCスタイル。
一方、データ構造に合わせて制御構造と定数を分断し、すべてデータ構造に括り付けるのがC++スタイル。
当然、C++スタイルでは制御構造は制御的に意味のないところで分断される。
また、C++には制御構造をどこでも分断できるようにするためのナイフが用意されていて、それが仮想関数。
プログラマは仮想関数を使いデータ構造にしたがって制御構造を分解する。
晴れて本来一つのまとまった処理だったものがあちらこちらに散らばる。
0341名前は開発中のものです。
2009/02/09(月) 16:43:55ID:kpyVvUs4わけがわからないから3行でまとめて。
0342名前は開発中のものです。
2009/02/09(月) 16:47:46ID:rrMBb3Sk今一度C++で何が起こったか考えるべき。
データ構造と制御構造と定数はそれぞれ別々のもの。
一つに纏めようとするのはナンセンス。
0343名前は開発中のものです。
2009/02/09(月) 16:54:17ID:Q7FeorJ2知らない奴は
サヨウナラ
0344名前は開発中のものです。
2009/02/09(月) 17:06:06ID:rrMBb3Sk0345名前は開発中のものです。
2009/02/09(月) 17:10:20ID:iuuYPzaN0346名前は開発中のものです。
2009/02/09(月) 17:11:46ID:OcO9vKc8>となり、前述のデータの流れ(処理の流れ)
> ウィンドウ(in)→ゲーム管理→ゲームオブジェクト→DirectX→ウィンドウ(out)
>と相反してくる。
ミドルウェア(グローバル関数)→ゲーム管理(シーンクラス)→ゲームオブジェクト(クラス群)→ミドルウェア
こうならいいのかな。よく分からんけど。
0347名前は開発中のものです。
2009/02/09(月) 17:23:48ID:rrMBb3SkC++とかだと、定数は、
class C
{
private:
enum{ HOGE_MAX=10, PIYO_SIZE=100, };
public:
enum{ ERR_MEM=1, };
};
とかするのが美徳とされている。
0348名前は開発中のものです。
2009/02/09(月) 17:38:52ID:qRHH/+SEそれは、プレイヤーや敵キャラのループはハードコーディングしかありえないって意味?
あるいはループとは違う仕組みとか。(タイマ割り込みとか)
>>339-340
それは単なるプログラミングスタイル(表現)の違い。
Cを始めとする手続き型言語を用いたプログラミングでは処理を始めから最後まで小説のように一本の線で書くことが得意。
それに対しC++やJavaを始めとするオブジェクト指向な言語によるプログラミングでは地図のように、オブジェクト間にはりめぐらされる道(ネットワーク)によってプログラムを表現しようとする。
だからソースを上から順番に読めば全体が理解できるとかいう話では無くなる。
C++で書かれたプログラムの全体を理解したいのであれば、クラス図(UML)でも書き起こすと良いと思うよ。
Doxygen対応のコメント書いておけば自動生成できるし。
0349名前は開発中のものです。
2009/02/09(月) 17:45:46ID:rrMBb3Skゲームオブジェクト(クラス群)→ミドルウェア
の部分はどうなってるの?
1.ミドルウェアはグローバルであり、どこからでもアクセスできる。
2.ミドルウェアへのアクセサは処理の都度、引数でもらう。
3.ゲームオブジェクトはミドルウェアへのアクセサを内部に保持している。
(ゲーム管理クラス経由、など間接的な場合を含む)
0350名前は開発中のものです。
2009/02/09(月) 17:51:54ID:OcO9vKc81
0351名前は開発中のものです。
2009/02/09(月) 18:07:00ID:pOUPLq7jなんかごちゃごちゃ長いけど
タスクシステムが何の問題の何を解決するのかでたのかい?
0352名前は開発中のものです。
2009/02/09(月) 18:10:33ID:rrMBb3Sk>それに対しC++やJavaを始めとするオブジェクト指向な言語によるプログラミングでは地図のように、
>オブジェクト間にはりめぐらされる道(ネットワーク)によってプログラムを表現しようとする。
あなたは「オブジェクト指向では地図のように〜〜」と言うが、その理由までは考えないのか。
また、そういう性質はゲームに向いていると思う?
「地図のようにはりめぐらされるネットワークによってプログラムを表現」したい?
それに例えオブジェクト指向でも、地図のようにはりめぐらされるネットワークは決して歓迎されていない。
0353名前は開発中のものです。
2009/02/09(月) 18:22:40ID:rrMBb3Skデータ構造よりもデータの流れ(処理の流れ)
ミドルウェア(グローバル関数)→ゲーム管理(シーンクラス)→ゲームオブジェクト(クラス群)→ミドルウェア
を重視した設計だね。
0354名前は開発中のものです。
2009/02/09(月) 18:51:16ID:ixLiaNv+タスクシステムは実はフレームワークだったのだよ
なにー!?
0355名前は開発中のものです。
2009/02/09(月) 18:53:31ID:Tt5KtR55> まだ君の頭では理解できないことかもしれないけど
http://www.google.co.jp/search?hl=ja&q="ジョブ時間管理"
"ジョブ時間管理"との一致はありません
google様が聞いたことねーっつってるわけ。意味わかる?
お前はそんだけ奇特な用語をポコポコ発明してるわけよ
自覚ねーの?ワナビーだから?知ったかクンだから?巣篭もりしてっから?
とっとと部屋から出ろよバーカ
で、もしかしてお前、ジョブスケジューラとかジョブスケジューリングのことが言いたいの?
だったら何で
>”MTフレームワーク”でググって勉強してみれば意味が分かるかもね…
何でMTフレームワークでググって勉強とかいう超絶的に頭悪そうなお話になるのかな?
ジョブスケジューラとかジョブスケジューリングってもっと汎用的な、OSの概念だよねぇ?
MTフレームワークのお勉強?低学歴ワナビーは紹介記事を読んだだけでお勉強になるの?
おめぇそんなんで何かを知っちゃった気になれるわけ?ワナビーが背伸び発言するには十分なの?
0356名前は開発中のものです。
2009/02/09(月) 18:59:43ID:ixLiaNv+イディオムなの?
デザインパターンなの?
フレームワークなの?
それとも、それらを超越した存在、神いわゆるGODなの?
それとも、新しいプログラミング言語のプロトタイプなの?
それとも、やっぱりただのうんこなの?
謎は深まるばかりだ
"working time management"
マイナーなつづりだな、きっと一部の選ばれしものだけが読める
論文かなんかで秘密裏に発表されているんだろう
俺ら凡人に対してそんな高度な言葉を使うなんて
普通に嫌な奴だな
0357名前は開発中のものです。
2009/02/09(月) 20:37:24ID:Tt5KtR55mediatorやobserverがゲームプログラムの中に登場するというなら問題ない
タスクシステム(>>2)の中にmediatorやobserverがあるというなら知能障害確定だな
ねーよ。どこにも
前スレで>>2はオブサーバーだとか言って喚いてたバカに何度も何度も何度も
何で?何で?何で?何で?何で?何で?何で?何で?何で?何で?何で?
と質問責めにしたが、まともな返事は返ってこなかった
0358名前は開発中のものです。
2009/02/09(月) 20:47:32ID:xIvd3PJC帰ってきてたじゃん
アレだろ?
更新タイミングはメッセージじゃね?
って返答だっただろ?
んでそうだよ→ちがうよ→そうだもん→ちがうもん・・・以下ループ
で終わったじゃん
俺は当事者じゃねぇけどw
0359名前は開発中のものです。
2009/02/09(月) 21:03:37ID:Tt5KtR55タスクという内部の処理単位を扱う何らかのシステムであるわけだ
>>2はビデオゲームにおけるあらゆる処理を1/60[sec]で起床させる
何で?何で?何で?何で?何で?何で?何で?何で?何で?何で?
バカ?バカ?バカ?バカ?バカ?バカ?バカ?バカ?バカ?バカ?
ほれ。これに答えた奴は一人もいねーよ
0360名前は開発中のものです。
2009/02/09(月) 21:18:37ID:8Rt3AtN00361名前は開発中のものです。
2009/02/09(月) 21:25:02ID:Tt5KtR550362名前は開発中のものです。
2009/02/09(月) 23:04:12ID:ixLiaNv+すげぇむかつく
設計の本読んで初めてタスクシステム詐欺に騙されたと気づいたときには
無意味なクソコードを何ヶ月も書いていたあのいまいましい思い出と共に
うんこと一緒に流れてしまえ
いまだにタスクシステムを擁護している連中は
俺から見ると、やっと流したウンコを拾ってきてまたこびりつけるような奴だ
このクソいまいましい観念は俺が3Dを覚えるときにも邪魔しやがった
本当に俺の前に立ちふさがるうんこだった
このうんこは除去しなければならない
0363名前は開発中のものです。
2009/02/09(月) 23:07:22ID:GJIaJ9hd0364名前は開発中のものです。
2009/02/09(月) 23:24:44ID:Tt5KtR55>そういうのやねうらおだけじゃなかったけどね
>昔は多少わかりにくくても考えながら聞いてやったけど
>いまって時代が変わったってのもあるよね
>もう別に奴等の言うことをわざわざ理解してやる義理も必要もないし
>情報が氾濫しすぎてて何かしゃべっても説明責任はてめぇの方にあんだよバーカ
説明責任かー。前スレでそれ絶叫してシカトされまくってたタスクバカがいたなぁ
自分に都合の良いウソを語る奴には説明責任を追及しないくせに
自分に都合の悪い事実を語る奴に説明責任を追及するタスクバカ
例えば、タスクバカにとってタスクシステム(>>2)ってのはゲーム業界固有の秘儀!至宝のテクニック!
であらねばならなかったわけなんだが、その根拠レスな確信を揺るがしかねない歴史的事実には
頑として抵抗して耳を塞いでたな。ほんとカルトってこえーわ
んで、「それはスレ違い!スレ違い!タスクステムと関係ないから関係ないから!」って一人で騒いでたね
0365名前は開発中のものです。
2009/02/09(月) 23:36:02ID:K+aHd4rkなんか今日は違う流れっぽい。
0366名前は開発中のものです。
2009/02/09(月) 23:43:53ID:UkCGE4Ld>>2の代わりとなるわかりやすい原型を紹介してくんねーかな?
「普通に書く」っていうけど、その実態がよく分からんから、
普通の人に、鼻つまみモノ扱いされるんだと思うぞ。
タスクシステムについては、>>2で最も初歩的な原型が示されているわけだしさ。
0367名前は開発中のものです。
2009/02/09(月) 23:58:01ID:ixLiaNv+それを万能のフレームワークのようにありがたがって無意味に誇張して
本質を語る邪魔をする、全て捨てろ、それは錬金術だ
今の体系的なパターンに含むことも出来ない過去の遺物だ
タスクシステムをありがたがっている奴は
設計の本なんて一冊も読んだことがないだろ、DSLすら知らないだろ
過去の栄光にすがっていると自覚しろ
わしの若いころはこうじゃった、だからお前もこうしろって
じじいかよ、性質の悪い爺かよ
役に立たない上に新しい観念を考えるときに邪魔にしかならない
最初に覚えるべきことじゃない、それは博物館に飾って置いておくだけのもので
実用するべきものじゃない
うんこー
0368名前は開発中のものです。
2009/02/09(月) 23:58:59ID:K+aHd4rk{
wait_vblank();
自機.update( ... );
foreach ( 敵 in 敵リスト )
敵.update( ... );
foreach ( 弾 in 自弾リスト )
弾.update( ... );
foreach ( 弾 in 敵弾リスト )
弾.update( ... );
checkCollision_自機vs敵弾( 自機, 敵弾リスト );
checkCollision_自機vs敵( 自機, 敵リスト );
checkCollision_敵vs自弾( 敵リスト, 自弾リスト );
}
とかやっていくんじゃないの?
これでも出来ないことは無いよ。
0369名前は開発中のものです。
2009/02/10(火) 00:11:36ID:KBLQ7wOOその部分を汎用的にすることを止めれば
すなわちタスコシステムを使わないという選択肢を取れば
使える手が増える、増えるワカメぐらいに増える
それが様々なパターン、フレームワークの選択に繋がる
そこを汎用的にすることに執着することが、もっとも愚かしく
そして考えの浅さを露呈している箇所である
そこを隠しても大きなメリットはない
男の乳首と同じだ、わざわざ隠すような所ではない
お前らは乳首を隠してパンツはいてない
そういう間抜けなことを他人に強要しているのだよ
君たちはノーパン信者なんだよ
何も知らない奴に乳首を隠せノーパンに目覚めよと言っている
恐ろしいカルトなのだよ
0370名前は開発中のものです。
2009/02/10(火) 00:12:45ID:Gj2vSSkO否定的見解はよくわかった。
だがしかし、>>2に代わる初歩的原型は具体的に無いということだな。
>>368
それって実質タスクシステムじゃん。
0371名前は開発中のものです。
2009/02/10(火) 00:13:38ID:D1ATM4io> それが様々なパターン、フレームワークの選択に繋がる
じゃ、タスクというパターンを選択してもいいんだ。
よかったな、お前ら>1-1000
0372名前は開発中のものです。
2009/02/10(火) 00:22:09ID:lnAkDE/Dいや、原型が>>368なんじゃね? もうベタベタまんまの原型なんじゃね?
で、>>368を↓という風に美しくまとめたのがウンコシステムじゃなかったっけ?
while ( true )
{
wait_vblank();
foreach ( ウンコ in ウンコリスト )
ウンコ.update( ... );
}
んで、↓みたいなのはウンコ同士のつっつきあいで表現するんだろ?
ウンコがウンコを生成したり消滅させたりしながら。
checkCollision_自機vs敵弾( 自機, 敵弾リスト );
checkCollision_自機vs敵( 自機, 敵リスト );
checkCollision_敵vs自弾( 敵リスト, 自弾リスト );
違ったっけ?
違ったらスマン。
0373名前は開発中のものです。
2009/02/10(火) 00:23:48ID:D1ATM4io0374名前は開発中のものです。
2009/02/10(火) 00:25:21ID:st5qSMNL>それって実質タスクシステムじゃん。
うん
実質は同じだ。データのやりとり。
違うのは可読性。
実質は同じ。
違うのは可読性。
実質は同じ。
違うのは可読性。
>>371
タスクはOK
マルチスレッドの単位もスレッドだし。
だがタスクシステム。てめーはダメだ!
0375名前は開発中のものです。
2009/02/10(火) 00:37:44ID:D1ATM4io{
virtual void update( Context& );
};
typedef list< BaseTas* > TaskList;
class JikiTask : public BaseTask { ... };
class TekiTask : public BaseTask { ... };
typedef list< TekiTask* > TekiList;
class JidanTask : public BaseTask { ... }; // 自弾全部管理してるタスクだと思えw
class TekidanTask : public BaseTask { ... }; // 敵弾全部管理してる(ry
====
TaskList tasks;
JikiTask jiki;
TekiTask teki[100くらい];
TekiList tekis;
JidanTask jidan( 100くらい );
TekidanTask tekidan( 弾幕系なので2000くらいw );
0376名前は開発中のものです。
2009/02/10(火) 00:38:27ID:D1ATM4iotasks.append( jiki );
tasks.append( teki全部 );
tasks.append( jidan );
tasks.append( tekidan );
while ( true )
{
wait_vblank();
foreach ( タスク in tasks )
タスク.update( context );
当たり判定( jiki, tekis, tekidan );
当たり判定( jidan, tekis );
}
とかはイカンのか?
0377名前は開発中のものです。
2009/02/10(火) 00:39:20ID:D1ATM4iotasks.appen( teki全部 );
が一つ余計だな。
0378名前は開発中のものです。
2009/02/10(火) 00:41:18ID:KBLQ7wOOこれをタスクシステムに投入すると
list.add(a).add(b).add(new C(a, b)).execute();
c.execute() { value = a + b; }
こうなる
dという要素をこのリストに突っ込む場合
abcがdに干渉されないのであれば
d.execute()を適当に実装すればよい
干渉するのであればabcのexecuteを修正する
よって追加に強いというメリットはないと断言できる
コマンドのメリットである追加に強いというメリットはない
ないのだよ
これじゃあコマンドパターンの意味がないじゃないか
この屈辱、コマンドに対する屈辱
コマンドパターンがかわいそうだ
タスク信者はコマンドパターンに謝れ、あやまれよぅ
0379名前は開発中のものです。
2009/02/10(火) 00:46:45ID:Gj2vSSkO>>368は局部的な実装をちょこっとだけ厚化粧しただけ。
その程度の可読性有り難がってどうすんだよ。
必ずしも個々のオブジェクト(タスク)の発生と消滅のタイミングが整然としている、
例えば60フレームごとに、全タスクが一斉に発生・消滅してるわけじゃないじゃん。
つまり発生と消滅のタイミングが、微妙にずれていることにより、カオスが表現できる。
しかしカオスな状態を裏方で制御する努力は、>>2でも>>368でも変わりがない。
つまりさ、
現実を見ろ、
タスクシステムに立ち向かえ、
カオスを克服する運用ルールを見極めろ、
ってことだよ。
0380名前は開発中のものです。
2009/02/10(火) 00:49:09ID:D1ATM4io0381名前は開発中のものです。
2009/02/10(火) 00:53:47ID:0//SUk3r0382名前は開発中のものです。
2009/02/10(火) 00:53:54ID:lnAkDE/D主従関係があるとないとでは全然違う。
要素が要素に直接干渉し、要素がさらなる要素を生成消滅させるのと、
リストを扱う奴が要素同士の関係を管理して、要素を生成消滅させるの、
違うよな。
>>336がFAでいいと思うがな。
>タイトル画面や戦闘シーンは、相互依存がほとんどなく、インスタンス数もたかが知れてる。また処理パターンが仕様変更で変わる可能性がある。
こういう部分で>>2を使うことには何の異論もない。
「相互依存がほとんどなく」ってのがポイント。
タスクシステムとかいう単語を見るとな、全部ウンコリストの中でやっつけようというイメージがあるんだが、ちゃうの?
ちゃんと使い分けしてるんならそれは否定しない。>>2は否定する。全部一緒だから。
0383名前は開発中のものです。
2009/02/10(火) 00:56:22ID:r6EeZy16仮想関数とか関数ポインタとか使うと
可読性が悪くなってデバッガで追えなくなるから
全部switch/caseで書けって言ってたプログラマが居たなぁ…
0384名前は開発中のものです。
2009/02/10(火) 00:57:58ID:M5ksrydA馬鹿じゃね。
>例えば60フレームごとに、全タスクが一斉に発生・消滅してるわけじゃないじゃん。
>つまり発生と消滅のタイミングが、微妙にずれていることにより、カオスが表現できる。
それのどこがカオスなの?寿命管理なんて、結局自クラスで閉じてるジャン。
そんなことより、例えば、宇宙に漂う星々を観賞するソフトをタスクシステムで作ることを考える。
星をタスクで実装したとして、各星の間に働いている万有引力はどう記述するの?
現実を見るのはお前だな。
0385名前は開発中のものです。
2009/02/10(火) 01:05:40ID:D1ATM4io厳密にやるならワークをそれぞれ2つ持って、フレームごとにフリップだろ。
面倒だったら一つ一つ更新して、n+1がnを参照してもn+1を参照しても対して問題が無い様にするさ。
どこまで誤差を容認できるか知らんけど。
0386名前は開発中のものです。
2009/02/10(火) 01:06:43ID:r6EeZy16そーいうタスクの実行順序が結果に影響する場合は
実行時間単位でタスク状態のスナップショットを取って相互参照はそのスナップショットを参照、
という方法で擬似的に「いっせーのせ」をやる方法を物理演算系ライブラリでよくやってる。
0387名前は開発中のものです。
2009/02/10(火) 01:07:10ID:VmByRVIY>>>2に代わる初歩的原型
初歩的原型?>>2が?どーこがだよ
なんだこれ。ジョブエントリのリストを周期的にナメナメしてバッチ処理するだけ
なんでこれがゲームプログラムの初歩的原型なんだよ。バカこくでねーよ
・おめぇ、何か処理したかったら必ず先頭にTCB(は?)を入れたデータ構造にしろよ
・おめぇが書いた処理はどんなものだろうと必ず1/60[sec]で周期的に呼び出すからな。覚悟しろよ
・俺に呼び出された後はてめぇの責任で全部やりな。俺は何にもしらねーからな
こういうちゃんこ鍋ポーリングヘンテコプログラムをゲームプログラムの原型とかほざく理由を書け
0388名前は開発中のものです。
2009/02/10(火) 01:08:43ID:VmByRVIYユーザーのあらゆる処理単位のデータ構造にTCBとかいうものをねじ込んでるよな
・サブルーチンアドレス
・プライオリティ
・連結リストのパラメータ
みんな仲良くなーぜかこういうものを押し付けてきやがる。なーんでなんで?どうして?
おまけにこれが日本ビデオゲーム業界黎明期の秘儀であるなどと権威付ける。正気か?
だったら何度だっていってやる。RAM4KBにROM数十KBにBGやOBJを出力する回路を
積んだZ80マイコンボードでこれ組んでみろよ。ほれ
そして、この仕組みをそのまんま
・64bitマルチコアCPU
・数GBのメインメモリ
・ローカルメモリ数百MB搭載のGPU(DSP)カード
こういう環境上で律儀に真似しようとするのはなーんでなんで?どうして?
0389名前は開発中のものです。
2009/02/10(火) 01:11:15ID:D1ATM4io> >>373
> >>>2に代わる初歩的原型
> 初歩的原型?>>2が?どーこがだよ
俺のレスに突っ込みかよw
0390名前は開発中のものです。
2009/02/10(火) 01:13:56ID:VmByRVIY0391名前は開発中のものです。
2009/02/10(火) 01:15:44ID:M5ksrydA>>386
それは論点が違う。書き方が悪かったかな・・・
>宇宙に漂う星々を観賞するソフトをタスクシステムで作ることを考える。
>星をタスクで実装したとして、各星の間に働いている万有引力はどう記述するか。
この問題の論点は、タスクシステムにおいて、タスク間にまたがる処理はどこに書くのか?。
0392名前は開発中のものです。
2009/02/10(火) 01:17:04ID:D1ATM4ioとりあえずこの問題に限定するけど、フリーの物理エンジンの実装見たことある?
0393名前は開発中のものです。
2009/02/10(火) 01:19:09ID:r6EeZy16>こういう環境上で律儀に真似しようとするのはなーんでなんで?どうして?
そのまま同じコードで実装して使ってるところは無いと思うけど。
特にC++が主流になった現場では。
まぁ、同じ考え方のシステムはスペックにあった実装されて使われてるけどね。
スペックに関係なくゲーム作るうえで処理のプライオリティ付きでゲームの状態遷移によって出し入れできるタスク管理は便利だから。
他にいい方法があれば淘汰されてるだろうけど、この考えのシステムを淘汰できるような物は今のところ無いみたいだしね。
0394名前は開発中のものです。
2009/02/10(火) 01:21:28ID:D1ATM4ioFPSなんかは、全部仮想関数でupdateを持つEntityクラスのサブクラスにしてたりするよ。
0395名前は開発中のものです。
2009/02/10(火) 01:21:36ID:M5ksrydA無いけど。
0396名前は開発中のものです。
2009/02/10(火) 01:24:07ID:D1ATM4io答えが全部書いてあるから、見てみるといいよ。
0397名前は開発中のものです。
2009/02/10(火) 01:24:48ID:M5ksrydA逃げるなよ。絶対書いてないと断言できる。
今ここで示して見せてくれ。
0398名前は開発中のものです。
2009/02/10(火) 01:28:52ID:D1ATM4io万有引力は距離関係ないけどまぁ有効距離を設定したとして、一つ一つの星にかかる引力を合計して
その星の質量から加速度と速度を計算する。
で、単位時間(多分1フレーム)あたりの移動量がでるから、それを位置に加算するだけ。
0399名前は開発中のものです。
2009/02/10(火) 01:33:26ID:VmByRVIY>>394
数値積分の(代表的な、最小の)タイムステップとして例えばリフレッシュレートを選択し
そのタイムステップで可視属性のエンティティの処理を周期的に呼ぶというのは問題ない
アニメーション処理など、表示系の処理はリフレッシュレートに同期させないと美しくないからだ
>>2が腐ってるのは「あらゆる処理をちゃんこ鍋リストに入れてリフレッシュレートを基準に
周期的にバッチ処理して起床させる」というトンチンカンプログラムだから
0400名前は開発中のものです。
2009/02/10(火) 01:41:21ID:M5ksrydA>一つ一つの星にかかる引力を合計して
どこで合計するの?誰が合計するの?星タスクの中でやるの?
結局、タスクシステムの外で計算するしかないんじゃないの?
0401名前は開発中のものです。
2009/02/10(火) 01:45:28ID:VmByRVIY例えばFPSのエンジン。これのエンティティのMODを作る人間がユーザーとしよう
エンジンは内部ではBSPなりPVSで空間領域分割しているがMODの開発者は
そんなこたしらねーわけ
可視範囲内にいる脅威のデータをくれっていえばエンジンはくれるわけ
例えば視界のコーン(or視錐台)を渡して、最近傍のバカのデータをよこしてくれる
俺が使ったのはそういうエンジンだった
敵AIを作る奴の目的はレベル内の敵性物体の掃討であり、それを適切に連携しながら
行なうことだ。
タスクシステムってのは
脅威の情報くれ ⇒ エンティティのちゃんこ鍋リストあげるからテメェで探せバーカ
こういうもの
0402名前は開発中のものです。
2009/02/10(火) 01:46:55ID:M5ksrydA画面のリフレッシュレートは特にウィンドウモードの場合まちまちだから、
ゲームロジックのFPSと描画のFPSが別々になることがある。
例えば、ゲームロジック60FPS、描画72FPSとか。
この辺のギャップを滑らかに埋める仕組みを作るのは結構面倒。
俺の自作描画エンジンはそれを勝手に面倒見てくれるように作ってる。
それすら実装されてないのにタスクシステムとか言われても・・・ねぇ。
0403名前は開発中のものです。
2009/02/10(火) 01:47:59ID:VmByRVIYあ、これですらないわ。全処理のちゃんこ鍋リストだわ。ははーは
0404名前は開発中のものです。
2009/02/10(火) 01:57:23ID:VmByRVIY>画面のリフレッシュレートは特にウィンドウモードの場合まちまちだから、
YES。フルスクリーンであろうと指定したリフレッシュレートにしてくれない
ポンコツビデオカードがまかり通ってた時代もあるしな
>ゲームロジックのFPSと描画のFPSが別々になることがある。
YES。そのとおり。そしてリフレッシュレートが既知であろうとなかろうと
AIを作る奴にイベント駆動システムを提供することだってある
これはゲームエンジンが階層型スケジューラをサポートしている
0405名前は開発中のものです。
2009/02/10(火) 02:05:40ID:r6EeZy16>「あらゆる処理をちゃんこ鍋リストに入れてリフレッシュレートを基準に周期的にバッチ処理して起床させる」
これ、FPS単位では無いけどタイムシェアリングのOSのスレッド管理と同じような考え方だね。
タスクシステムもスリープ状態とか、スレッドのようなフラグ付けして使うのはよくある実装。
独立した時間軸のある処理を複数持ちたい、となるとスレッドなりタスクシステム的なものが必要になるわけで。
で、ゲームの場合はオブジェクト毎にスレッド立てるなんてのはパフォーマンス的に無駄なのでもっと簡素なシステムを使ってると、
そんな感じじゃないのかな。
別にそんなトンチンカンでは無いと思うけど。
タスクシステムで出来ることを全て網羅していてもっとスマートな方法があるならそれを使えばいいんだろうけど…
今まで見たことあるのは結局タスクシステム+αしたようなタスク拡張システムで、パラダイムの違うのは見たこと無いなぁ…
0406名前は開発中のものです。
2009/02/10(火) 02:18:31ID:VmByRVIYやねちゃんなの?
0407名前は開発中のものです。
2009/02/10(火) 02:26:24ID:VmByRVIY>無駄なのでもっと簡素なシステムを使ってると、そんな感じじゃないのかな
ん。違うな。やねちゃんではないな
協調的マルチタスクシステムがタスクシステム的だとか言わんよな。彼なら
眠気を我慢してる状態でごにょごにょ長文を読むとみんなやねに見えるから困る
寝る
0408名前は開発中のものです。
2009/02/10(火) 03:11:04ID:6K+49H2V0409名前は開発中のものです。
2009/02/10(火) 06:04:16ID:VmByRVIY>これ、FPS単位では無いけどタイムシェアリングのOSのスレッド管理と同じような考え方だね。
>タスクシステムもスリープ状態とか、スレッドのようなフラグ付けして使うのはよくある実装。
FPS単位とかよくわかんないけどさ
オラが村の自慢の生娘のウンコ(タスクシステム)に似てるとかドーデモイーわけ
所詮はローカル用語。お前さんの自慢のタスクシステムなんて誰も興味ねーし
お前さんが自慢のウンコを職場内でタスクシステムと呼んでようがドーデモイーわけ
俺がバーカバーカって言ってるのは公衆の前でタスクシステムとして布教されている>>2
そして>>2を超すごいオーパーツだとか可搬性と再利用性に優れたミラクル秘儀だとか
祭り上げてる(いた)バカ共
あと、定義不明瞭なオラが村のローカル用語(タスクシステム)を引っ張り出して擁護するイナカッペ
誰もてめぇのひりだしたウンコの名前の良し悪しの話なんてしてねーから安心しろ
0410名前は開発中のものです。
2009/02/10(火) 06:10:00ID:VmByRVIY>独立した時間軸のある処理を複数持ちたい、となるとスレッドなりタスクシステム的なものが必要になるわけで。
いやだからそのタスクシステム的ってナニ?意味わかんねーのよ
なんでそういうオラが村のローカル用語を駆使するの?自覚ある?ない?
まずお前のいうそのタスクシステムってやつを説明してくれないと
ホント意味わかんねーから
>で、ゲームの場合はオブジェクト毎にスレッド立てるなんてのはパフォーマンス的に
>無駄なのでもっと簡素なシステムを使ってると、 そんな感じじゃないのかな。
もうチンプンカンプンだよ
お前さんは一体ナニが作りたいの?協調的マルチタスクシステムが作りたいの?
だったら何でそれが>>2になっちゃうの?コンテキストスイッチはどこ?目的と実装は一致してるの?
何度も言うけど、一体ナニが作りたいの?ゲーム作りたいんじゃなかったの?目的変わった?
0411名前は開発中のものです。
2009/02/10(火) 06:12:33ID:VmByRVIY>別にそんなトンチンカンでは無いと思うけど。
ちゃんこ鍋リストに全てをぶち込んでバッチ処理がしたいんであれば>>2はトンチンカンじゃないな
ちゃんこじゃなくてウンコ鍋だったっけ
>タスクシステムで出来ることを全て網羅していてもっとスマートな方法があるならそれを使えばいいんだろうけど…
網羅する必要?どこにあるの?ねーよ?まず、ゲームは
ちゃんこ鍋リストに全てをぶち込んでバッチ処理する必要ねーから
でもお前はある。しかもタスクシステムが出来ることが他にもあるという。
網羅できないと駄目だと。じゃあこれについて語ってくれないか?
お前のタスクシステムで出来ることを全て網羅的に説明してくれ
逐一、それが>>2である必要がないことをみんなが説明できるぞ
>今まで見たことあるのは結局タスクシステム+αしたようなタスク拡張システムで、パラダイムの違うのは見たこと無いなぁ…
たしかに>>2は強烈なウンコパラダイムだな。ウンコパラダイムシフトってのは巻き糞なのかな?
0412名前は開発中のものです。
2009/02/10(火) 06:16:14ID:VmByRVIY0413名前は開発中のものです。
2009/02/10(火) 06:27:18ID:uUTFFFLf>ちゃんこ鍋リストに全てをぶち込んでバッチ処理する必要ねーから
まったくその通りだなw
0414名前は開発中のものです。
2009/02/10(火) 07:11:22ID:D1ATM4ioだから『個々の更新で処理しない』って書いてるでしょ?
中じゃなかったら外でやるしか無いじゃん。
>401
そこまで判ってるなら言うこと無いよ。
実行巡回リスト以外に、必要な各種コンテナを追加すればいいだけ。
だいたいその存在目的が違うのに、なんで『ごった煮リスト』からEntityの検索をしないといけないんだ?
> 脅威の情報くれ ⇒ エンティティのちゃんこ鍋リストあげるからテメェで探せバーカ
オマエの邪推だろ。
実行巡回リスト以外に管理しているものがあるとか想像できない、その貧しい発想がダメだな。
0415名前は開発中のものです。
2009/02/10(火) 09:26:37ID:lnAkDE/D話がぶれすぎ。
ウンコ信者は>>2をよく見て、それに含まれていないものを勝手に追加したり「想像しろ」とか言わないように。
>>2について決着がついたら、更なる進化系ウンコを提示してもらおう。
あと、質問には単純明快に答えてほしいな。
「どこで?」と聞かれたら「ここで」と答えよう。
「他のソース見たことある?」とか「フリーのソース見ればわかる」とか「こう計算する」とか「中ではない(だから外だ。でもどこかは言明しない)」ではなく、
明確にどこかを示してほしいもんだ。
0416名前は開発中のものです。
2009/02/10(火) 19:16:53ID:KBLQ7wOOタスカーの目的は保守だから逃げたり煙に巻くことだけを考えている
だからごまかせればそれでいい、逆に揚げ足取りを狙うだけ
自分からサンドバッグになるほどバカじゃないだろう
0417名前は開発中のものです。
2009/02/10(火) 19:22:31ID:uUTFFFLf0418名前は開発中のものです。
2009/02/10(火) 19:35:00ID:KBLQ7wOO使い方だけが記述してある
使う理由や、使うことで得られるもの等は書かれていない
3Dではレンタゲ絡むから単純にコマンドリストにしてソートして描画は無理
一つをレンダリングした後にそれを加工して他に適応するような
複雑な手順が必要となるから、ほぼ間違いなく複雑になる
これを見てくれ、何かが色々とおかしい
>長所は次の通りです。
> * ジャンルを問わず様々なゲームに適用できる
> * 並列処理をうまい具合に実現できる
> * ゲームの流れを自然な形で表現できる
> * 大規模なゲームも開発できる
> * タスクごとに独立しているため、複数人で開発できる
無理やりメリットを列挙した感が伝わってくるよ
0419名前は開発中のものです。
2009/02/10(火) 19:48:28ID:KBLQ7wOO> * ジャンルを問わず様々なゲームに適用できる
ジャンルごとに最適な作り方を模索しようぜ
木造一戸建ての家と鉄筋コンクリートのビルを同じ手法で作らなくてもいいじゃないか
> * 並列処理をうまい具合に実現できる
そのうち、インテルが優秀なコンパイラを作って解決してくれるようになるさ
GPUの並列処理では使えない、全く役に立たない
> * ゲームの流れを自然な形で表現できる
自然な流れといったら、俺にとってはDSL、内部でも外部でもいいけど
DSL的アプローチとしてはHSPをそのまま使った方が比較できないほど有益
> * 大規模なゲームも開発できる
使わなくても出来るだろう
"大規模なゲームを簡単に開発できる"と書かないあたり良心的
> * タスクごとに独立しているため、複数人で開発できる
クラスで見かけ上分離しても、データのやり取りで
相互依存関係が存在しているので独立しているとは断定できない
近い箇所でわざわざ分けずに、サブシステムで担当分けろ
0420名前は開発中のものです。
2009/02/10(火) 19:55:43ID:rFLiGfwYあと、クラスとタスクを勘違いしてる奴が多いな。
0421名前は開発中のものです。
2009/02/10(火) 20:55:11ID:D1ATM4ioイヤならそれで構わない。
というスタンス。
もっといろんなソースを読めばいいのに。そこいら中に転がってるんだし。
0422名前は開発中のものです。
2009/02/10(火) 20:58:01ID:KBLQ7wOOジャンルごと、ゲームごとにルール、論理は異なる
にも関わらずなぜ共通の処理を用いようとするのか
なぜそこまで固着できるのか、それ以外を否定し続けなければならないのか
もはやカルト的、ゲーム脳的、マイナスイオン的
これは広義のタスクシステムなのだよっと言って
俺まで仲間にされたんじゃあ、たまったものではない
今こそ、そのこびりついたウンコを便器の奥に流し去るとき
0423名前は開発中のものです。
2009/02/10(火) 21:05:52ID:b8DkhQKbにも関わらずなぜタスクシステムを否とするのか
なぜそこまで固着できるのか、それを否定し続けなければならないのか
もはやカルト的、ゲーム脳的、マイナスイオン的
これは絶対的に醜悪なシステムなのだよっと言って
悪魔の仲間にされたんじゃあ、たまったものではない
0424名前は開発中のものです。
2009/02/10(火) 21:09:59ID:D1ATM4io0425名前は開発中のものです。
2009/02/10(火) 21:10:30ID:D1ATM4io0426名前は開発中のものです。
2009/02/10(火) 21:23:40ID:Gj2vSSkO>それのどこがカオスなの?
ある時点で、n個のキャラが発生し、だんだん大きくなり、5秒後きっかりに消滅する。
これをnキャラ分同時に繰り返すのが非カオスな状態。
一方、発生時刻、大きくなる時間、消滅時刻をnキャラ全てでずらしてやる。
これを各キャラ別に繰り返すのがカオスな状態。
どうせお前のクソ生産物は、この程度のカオスも実装してないんだろ。
>各星の間に働いている万有引力はどう記述するの?
まず、空間を適当なグリッドに分けてやる。
そして、(z断面数×仮想重力場2次元配列×n方向断面)×2スロットを管理するタスクを、最低プライオリティで
登録。
スロットは1つが【更新用】、もう一つが【参照用】。
各星タスクが呼ばれる際に、付近の【更新用】重力場配列n方向分の値を、遠小近大で所定の範囲を足し算更新する。
足し算する値の大きさは、星の重さごとに異なるものとする。
同時に、【参照用】重力場配列n方向分の直近の値を合成して、加速度ベクトルを決定、自速度に加速。
仮想重力場2次元n方向分のスロットの【更新用】と【参照用】は、フレームごとに切り替える。
【参照用】スロットは毎フレーム、0で全初期化。
タスク登録処理部で、星タスク登録時に、重力場タスクへの参照を渡しておく。
バカはすぐ馬鹿と口にする。むじゅかちい問題よりも簡単なタスクシステムから始めた方がいいんじゃないでちゅか。
>>387
>(>>2)ゲームプログラムの原型とかほざく理由を書け
ボケが記事読めや、ググレカスチンカスが。むいて洗えや。
>>2は、万里ゆうじ氏が、業界現場で使われていると書籍で紹介していた初歩的タスクシステムともおおよそ同じ。
0427名前は開発中のものです。
2009/02/10(火) 21:29:29ID:uUTFFFLf結局、関連の実装がすごく苦しそうじゃん
自機、敵、弾の例でそれぞれ単体テストが普通にできなさそう
自機のソースだけ動かしたいのに敵も弾ももってこないと動かないんでしょ?
0428名前は開発中のものです。
2009/02/10(火) 22:30:38ID:D1ATM4io最近はこういうのも『カオス』って言っちゃうんだ。
0429名前は開発中のものです。
2009/02/10(火) 22:37:10ID:KBLQ7wOOなぜそれを実装しているかという理由を考慮していない
実装したらどういうメリットとデメリットがあるのか考えていない
0430名前は開発中のものです。
2009/02/10(火) 23:18:09ID:mL1fBwYe万里ゆうじって、緑ウンコ本の人?
0431名前は開発中のものです。
2009/02/11(水) 00:32:00ID:+7H05QpINASAが開発した新技術で作られた商品です
プロも愛用しているこの商品
今回はなんとこの値段でご提供します
おおおー
なんだよ、その詐欺臭い言い回しは
0432名前は開発中のものです。
2009/02/11(水) 00:37:35ID:IygtSNqi今なら、このタスクシステム利用したフレームワークも付いて、お値段なんと9割引!
0433名前は開発中のものです。
2009/02/11(水) 05:39:41ID:UOmJaSIc世の中夜勤帰りで朝から寝てる人だっているんだよ?
引っ越しの時ちゃんと挨拶行った?
顔合わせたら軽く会話するとかしてちゃんとコンタクト取り続けてる?
日頃からそういうコミニュケーションが取れてればいつ洗濯機を回していいのか
いつ静かにしなければならないのか
迷惑を掛けないように生活出来るはずなんだが
0434名前は開発中のものです。
2009/02/11(水) 22:16:11ID:+7H05QpI>>433
ちなみに、監視していると告げる行為は
ストーカー認定されますのでご注意ください
しかもリストがひとつずれてるし、おまえバカだろ
0435名前は開発中のものです。
2009/02/12(木) 07:26:55ID:iaB+mZ78タコスシステムもついに終わりか
長い戦いだったな
0436名前は開発中のものです。
2009/02/12(木) 08:20:00ID:S9ebbf2bなんで反対派は口が悪い上に、
相手を言い負かすことにこんなに力を注いでるんだろう。
別に間違ったことは言ってないのに、
言いたいことが曇ってて反感買いやすいし。
ただ口喧嘩がしたいだけなのかなあ。
現実じゃストレス溜まってるのかね。
0437名前は開発中のものです。
2009/02/12(木) 12:41:59ID:iaB+mZ780438名前は開発中のものです。
2009/02/12(木) 12:44:58ID:V7VMrK+q0439名前は開発中のものです。
2009/02/12(木) 14:49:06ID:EGHKIPxYDXライブラリ信者がこの板で多いのも頷ける
0440名前は開発中のものです。
2009/02/12(木) 14:53:50ID:7VGTCBGVどんな問題を解決するのかという問いには問題が発生する場合との比較が
内在していて問題が発生する場合がなければ答えられない。
よってまず非タスクシステムではどう書かれていて
どんな問題があるのかを調査する必要がある。
0441名前は開発中のものです。
2009/02/12(木) 15:45:22ID:efZR4RxD優れた戦術はいくら積み重ねても、簡単に戦略を覆すことはできない
戦略なき集団(盗賊など)に対しては優れた戦術だけで潰すことは可能
所詮タスカーは盗賊程度を相手に戦う村の英雄止まりというわけだ
意味は違うけどローカルヒーローというアンチパターンもあったな
タスカーはタスクシステムが戦術に属するのか戦略に属するのかを明確にしない
仮にタスクシステムが戦術であるとするなら上記の通り
戦略であるとするならば、実装例を重視すべきではない
にもかかわらず、実装に固着するタスカーは行動が矛盾している
それは理解不足が要因であると断定せざるを得ない
すなわち、タスカーはバカで無能である
最後に挑発して和解の道を潰しておきましょうか
この意味すらも理解できないだろうけど
0442名前は開発中のものです。
2009/02/12(木) 16:02:57ID:I7U1tMfT一行目から誤字。すごく馬鹿が書いているみたいなのでそこで読むのやめてNGリストに入れた。ばいばい。
0443名前は開発中のものです。
2009/02/12(木) 16:08:08ID:efZR4RxD売名目的ぐらいしか思いつかない
自分の知名度を向上させるにはどうすればいいかという問題を解決できそうだ
自分ではよくわからなくてもまわりが凄い凄い言ってれば
なんだか凄そうに見えるという人間の心理を応用した
いわばカルト的人民掌握術と言える
実際に、ゲーム脳やマイナスイオンの偽科学もそれで普及した
タスクシステムをわざわざ持ち上げるのは、その恩恵にあずかりたいから
自己顕示欲と無知、それが連鎖してタスクシステムは一大宗教勢力となった
タスカーが全力でタスクシステムを守る理由も
自分の過去を正当化するため、又はその恩恵にあずかりたいから
典型的なカルトに洗脳された信者の行動と類似する
0444名前は開発中のものです。
2009/02/12(木) 16:14:27ID:efZR4RxD黙ってNGに入れないということは
読んだという事実
でも反論する余地がない、又は反論する知識知能がない
揚げ足を取りたいという願望
他者にもNGを呼びかけたい
挑発したい
これらの意図を読み取れる、あんたの心は見え透いている
透け透けなのよ
次は、もう飽きた寝ると言うんだ
何度も何度も繰り返しそう言うんだ
そして俺がいなくなるのを見計らって、またタスクシステムを布教するんだ
0445名前は開発中のものです。
2009/02/12(木) 16:24:01ID:Hu+5ypA8売名目的ぐらいしか思いつかない
自分の知名度を向上させるにはどうすればいいかという問題を解決できそうだ
自分ではよくわからなくてもまわりが凄い凄い言ってれば
なんだか凄そうに見えるという人間の心理を応用した
いわばカルト的人民掌握術と言える
実際に、ゲーム脳やマイナスイオンの偽科学もそれで普及した
●●●●をわざわざ持ち上げるのは、その恩恵にあずかりたいから
自己顕示欲と無知、それが連鎖して●●●●は一大宗教勢力となった
●●●●が全力で●●●●を守る理由も
自分の過去を正当化するため、又はその恩恵にあずかりたいから
典型的なカルトに洗脳された信者の行動と類似する
0446名前は開発中のものです。
2009/02/12(木) 18:39:05ID:eBGIJffi0447名前は開発中のものです。
2009/02/12(木) 19:00:30ID:aNWZiMstどんな問題を解決するかという問いかけを意味あるものにするには
問題意識の共有も必要だよ。コードのスマートさなんてあいまいで
捉え所の無い審美的主張がありうる話題のときは特にね。
そうでないと好き嫌いで終わる話を無駄に続けることに。
荒してる人はそれを承知で挑発してるのかもしれんが。
0448名前は開発中のものです。
2009/02/12(木) 19:09:11ID:efZR4RxDわかっている
議論や正論に負けたカルトは、対象をキチガイ認定して、数の力で押す
ならば問おう
外人が書いた本にタスクシステムの記述はあるのか?
パターン本にタスクシステムの記述はあるのかと
権威を傘に威張る奴は奴は権威に弱いという
日本ローカルな権威であるタスクシステムも
世界的な視点では、所詮日本のローカルパターンに過ぎない
タスカーは世界的な権威に負けたのだよっ
0449名前は開発中のものです。
2009/02/12(木) 19:14:03ID:+8fkivHK0450名前は開発中のものです。
2009/02/12(木) 19:15:10ID:Hu+5ypA80451名前は開発中のものです。
2009/02/12(木) 20:07:41ID:vBg+I3kHあんたには悪いけどな、俺としてみりゃ
内容が伴ってさえいれば口調が悪かろうがドーデモイーわけ
内容が伴ってさえいれば口調なんざ枝葉末節の些細な問題なわけ
内容が伴ってさえいれば口調なんざそいつの目印、そいつのお好みの芸風、フレイバーでしかないわけ
内容の無い一行レス、罵詈雑言レッテル貼りの一行レスを張る奴なんざ気にするな。無視しとけ
そいつらは、気に食わない相手を論破したくても脳みそが付いてこない哀れな低脳だ
言うに事欠いた時点でそいつ自身は詰んでるのに、大人しく引き下がる勇気の無い、低脳ゾンビだ
論理的に死んでるのに、でも悔しくて仕方なくて、だから相手の態度にウダウダブツブツ文句たれて
一行レス(腐れウンコ)を投げつけるしか成す術のない惨めな低脳腐れウンコゾンビだ
ひらしょーさんひらしょーさん言ってるアンチタスク気取り
やねうらおさん松浦さんさん万里ゆうじさん言ってるタスカー気取り
こいつらは等しく無価値な、内容の無い一行レスで吠えるだけの犬っコロだ
文句言っても消えやしない。いくらでも湧いてくる。今日も湧いてるな
>>442 >>445 >>446 >>449 >>450
ほれ。お前らの感想を聞かせろよ?脳みそついてんだろ?
>>2はobserver patternだと思う?思わないよな?思うなら>>359に答えてみ?
>>2はゲームプログラムの初歩的原型だと思う?思わないよな?思うなら>>387 >>388に答えて
0452名前は開発中のものです。
2009/02/12(木) 20:33:34ID:iaB+mZ780453名前は開発中のものです。
2009/02/12(木) 20:38:08ID:vBg+I3kH0454名前は開発中のものです。
2009/02/12(木) 21:30:45ID:efZR4RxDタスカーの方々からも嫌われちゃいました><
俺の言ってることはどんなに有益でもきっと受け入れられないだろうな
というわけで、タスクシステムに疑問を持ってる人や
タスクシステムを嫌っていて模索している人に
DSLを紹介、知ってる人も多いと思うけど
内部DSL, 外部DSLあたりで検索すれば出てくる
これはいいぜ、タスクシステムと違って
wikiに書かれてるし(タスクシステムは残念ながらw)
外国の人も議論しまくってるし、観念的にもそれほど難しくない
使わなくても知っているだけでかなり有益な情報
お勧め
俺がお勧めした時点で、俺を嫌ってる人は
DSLへのハードルが高くなっちゃったね、ごめんね
俺、性格悪くてごめんね、ポエマーでごめんね
0455名前は開発中のものです。
2009/02/12(木) 21:33:27ID:V7VMrK+qここではみんなかまってくれておじさんも楽しそうだね^^
0456名前は開発中のものです。
2009/02/12(木) 21:48:47ID:Hu+5ypA8売名目的ぐらいしか思いつかない
自分の知名度を向上させるにはどうすればいいかという問題を解決できそうだ
自分ではよくわからなくてもまわりが凄い凄い言ってれば
なんだか凄そうに見えるという人間の心理を応用した
いわばカルト的人民掌握術と言える
実際に、ゲーム脳やマイナスイオンの偽科学もそれで普及した
DSLをわざわざ持ち上げるのは、その恩恵にあずかりたいから
自己顕示欲と無知、それが連鎖してDSLは一大宗教勢力となった
DSLスカーが全力でDSLを守る理由も
自分の過去を正当化するため、又はその恩恵にあずかりたいから
典型的なカルトに洗脳された信者の行動と類似する
0457名前は開発中のものです。
2009/02/12(木) 22:14:01ID:S9ebbf2bやっぱり面白がられてるだけだなあ。突付けばすぐ反応してくれるし。
そういうのは何らかの権威がある身元のはっきりした人が言うから意味があるんであって、
ネットの片隅の名無しが言っても説得力なんて皆無なんだよね。
こういう事いうと「分かってくれるやつだけ分かればいい」なんて強がるけど、
そんなん身内でお互いを褒め合って慰めあってる
ネット上の一山いくらの連中と大差ないわけで。
ブログかmixiでやれって感じだ。
0458名前は開発中のものです。
2009/02/12(木) 22:16:26ID:/tzajE1Z0459名前は開発中のものです。
2009/02/12(木) 22:19:35ID:efZR4RxDくやしいっ……でも感じちゃう、ビクビクッ
DSL凄いんだぞー、マイクロソフトなんかの大企業が
研究したり論文書いてたりツール作ったりしちゃうんだぞー
タスクシステムなんてWIKIにすら載ってないじゃんかよー
ばーかばーかちんじゃえ
0460名前は開発中のものです。
2009/02/12(木) 22:32:19ID:/tzajE1Z# デジタル加入者線の略。
# プロレスラー、リングパフォーマードラゴンソルジャーLAWの通称。
# ニンテンドーDS Liteの略称。
# Damn Small Linuxの略称。
0461名前は開発中のものです。
2009/02/12(木) 22:38:49ID:efZR4RxDDSLって言ったらdomain specific languageドメイン固有言語のことに決まってるじゃないかよー
試行錯誤が必要な問題領域を、可読性を高く記述するために必要なんだよー
タスクシステムなんて一番重要な部分の柔軟性を奪って複雑にしてるだけじゃないかよー
0462名前は開発中のものです。
2009/02/12(木) 23:01:07ID:8rFN+WjAタスクシステム(>2の中身とは違うナムコ式の)で製作されたゲームが何本もあるという事実を
どうかんがえているんだろう?
過去にタスクシステム(という名の何か)でモノが作られたという事実と、今それらしい影が見当たらない
という事実は別物なんだがな。
0463名前は開発中のものです。
2009/02/12(木) 23:03:46ID:/tzajE1Zひらしょーさん:なにそれ?
0464名前は開発中のものです。
2009/02/12(木) 23:20:12ID:MNXQWJB9当時はメモリ空間64KBで、
・自動変数、なにそれ?
・アセンブリ言語以外ありえない
・アドレス決め打ち上等
・複数のインスタンスで同一のメモリアドレスを共有
(インスタンスの寿命が重複しないように、人間が考えて割り振り)
・自己書き換えカコイイ!
という世界だよ。
その状況においては、メモリ断片化を避けた動的メモリ確保、複数フレームに
またがるコンテクスト保持(コルーチン)を実現したナムコのタスクシステムは、
煩雑な手作業によるメモリ割り振りを回避し、処理の柔軟性も向上させる
優れた解決策だった。
今はメモリ豊富なんだし、コンパイラがいろいろ面倒見てくれるんだから、そっち
使うだろ。どうしてもアセンブリ言語で組みたいってのなら止めないが、コンパイラが
提供する型チェックの機能や最適化など全部窓から投げ捨てる羽目になるぞ。
0465名前は開発中のものです。
2009/02/12(木) 23:23:39ID:baxVhIC/>>2の中身とは違うナムコ式のタスクシステム?
そんな馬鹿な!>>2は日本ビデオゲーム業界黎明期に開発されたスーパーテクです!
ギャラクシアンが起源です!
やねちゃんなんてパックマンやゼビウスをリバースエンジニアリングして
本を書いたんだぞすごいだろーって日記で豪語してるんだからね!
上のほうでやねちゃんは偉大なプログラマ達と仲良しの凄い人ですよーって
紹介してくれた優しい人がいたでしょ?
やねちゃんは>>2のCodezineの記事をタスクシステムの教科書と呼んでるよ!
どうだ参ったか!
0466名前は開発中のものです。
2009/02/12(木) 23:26:24ID:efZR4RxDDSLの目的も似てる
ほとんどの人はこれを模索していたはずだった
一方タスクシステムは可読性を無視して、目的を失い迷走した
ジョブコンは広義のタスクシステムだよっ
って誰かが言うんだろうな、恥の上塗り
昔の人もいい言葉を残している
君子豹変、小人革面
0467名前は開発中のものです。
2009/02/12(木) 23:30:23ID:baxVhIC/タスクシステムは素晴らしい。夢と希望に溢れているよ
それに比べてひらしょーはどうだ
新清士によればひらしょーには夢も希望もないんだそうだ。全くその通りだね
タスクシステムをなにそれ?なんて言う人が夢や希望を語れるはずがない!
0468名前は開発中のものです。
2009/02/12(木) 23:36:57ID:baxVhIC/タスクシステムとジョブコンを混同するなんてあんまりだね
誰がどう見ても タスクシステム>>>(越えられない壁)>>>ジョブコン ですよ!
ジョブコン?なにあれ?スタックを弄繰り回す変態、超ド変態プログラムじゃん!
可読性のためとかいってアクロバティックなことやってホルホルしてただけじゃん!
0469名前は開発中のものです。
2009/02/12(木) 23:47:50ID:baxVhIC/>>>2はobserver patternだと思う?思わないよな?思うなら>>359に答えてみ?
三下のタスカー共がダンマリを決め込んでるから俺が答えてやる!
何度だって言ってやる!>>2がオブザーバー・パターン?大変な思い違いだ!
順序が違う!オブザーバー・パターンというのはタスクシステムのおいしい部分を
全て取り払った劣化タスクシステムパターンなのだ。GoFは全くバカな奴らだ
ConstrainedTaskSystemだと前スレで言っただろう。あれは間違いだ
Observer Pattern とは Brain Damaged Task System Pattern なんだよ
分かったか!参ったか!
0470名前は開発中のものです。
2009/02/12(木) 23:52:53ID:/tzajE1Zお前等、オブジェクト指向だの、デザインパターンだのいってるが
結局、お前等の使ってるタスクシステムは
自機のソースに敵の処理も弾の処理も書くから
自機のソースだけもってきて単体テストもすることができない=カプセル化全くされてない
ゴミシステムだ
わかったらさっさと
「参りました、いま、すごく恥ずかしくて死にたい気分です」
って3回、大声で復唱して糞して寝ろ
0471名前は開発中のものです。
2009/02/13(金) 00:00:39ID:baxVhIC/>>>2はゲームプログラムの初歩的原型だと思う?思わないよな?思うなら>>387 >>388に答えて
これも三下のタスカー共がダンマリを決め込んでるから俺が答えてやる!
ドアホめ!犬畜生め!
タスクシステムがゲームプログラムの初歩的原型?それはちょっと語弊があるね!
>>2は上位タスクシステマーになれる優性遺伝子を保有する限られた選ばれた初心者が
読むことが許される究極の栄養満点の初歩的原型だ!
そんじょそこらのどこの馬の骨かも分からない劣等の子の初心者が使うことは許されない
下郎共め!ひれ伏せ!したーにー!したーにー!分かったか!
0472名前は開発中のものです。
2009/02/13(金) 00:06:30ID:Y/f9HM+b暴走族と同じでな、馬鹿に「こりゃカッコいい!」と勘違いさせる要素があるのがマズイ。
珍走に倣って「ウンコシステム」と呼ぼうぜ。
そしてこの呼び名を布教させよう。
タスクシステムのせいで「タスク」という単語がずいぶん汚染されたよな。
腹立たしいことだ。
0473名前は開発中のものです。
2009/02/13(金) 00:10:59ID:vXMg0VMqCだけで書いてるけど、自機の中に敵の処理はない。
自機の弾の発射だけはしてる。
0474名前は開発中のものです。
2009/02/13(金) 00:22:58ID:Dzt9fUT0タスクもアンチタスクも作品出さないよね。
もしかしてこのスレには私みたいなワナビーしかいないの?
0475名前は開発中のものです。
2009/02/13(金) 00:33:31ID:jTWpdRUF典型的には、メインループはこんなもんだろ。
for (;;) {
ProcessInput();
ProcessFileIO();
player.Update(*this);
for_each(enemies.begin(), enemies.end(), boost::bind(&Enemy::Update, ::_1, boost::ref(*this));
if (player.Finished())
break;
HitCheck();
backGround.Draw();
player.Draw();
for_each(enemies.begin(), enemies.end(), boost::bind(&Enemy::Draw, ::_1));
WaitVSync();
}
0476名前は開発中のものです。
2009/02/13(金) 00:39:28ID:rBZGA9oWDQ9でタスクシステムを使っていたら、去年の年末には発売されてたに違いない!!!
とかいう人とか、
DQ9はタスクシステムを使ってるから発売延期になったんだよ!
DQ9でタスクシステムを使っていなかったら、去年の年末には発売されてたに違いない!!!
とかいう人ばっかりだな、このスレは。
0477名前は開発中のものです。
2009/02/13(金) 01:05:50ID:xGWapjQs前の方で話題になってたオブジェクト間の相互作用はどうなってるの?
そこのthisに他のオブジェクトを返す関数を持たせてるの?
0478名前は開発中のものです。
2009/02/13(金) 01:45:27ID:JLcOgyKP>タスクもアンチタスクも作品出さないよね。
DSL的に書けばいい、調べればコード例も載ってる
解決したい問題領域を必要最小限にシンプルに書けばそれがDSLのコードになる
それ以外のノイズを含めたものは別のメソッドに追い出す
処理と描画を一まとめに書くかどうかはフレームワーク次第
0479名前は開発中のものです。
2009/02/13(金) 02:08:31ID:s/PWQtfm例えば、星と星の間に働く万有引力の話なら、メインループのどこかに、
for(int i=0; i<size; ++i)
for(int j=0; j<size; ++j)
{
if(i==j){ continue; }
/* ここで万有引力の処理をする */
}
なんかを挟めばいいんじゃない?
0480名前は開発中のものです。
2009/02/13(金) 03:02:38ID:jTWpdRUFそう。もうちょっとまともに書くなら
struct EnemyInterface {
// プレイヤーの位置を取得
virtual bool GetPlayerPos(Position* pos) const = 0;
};
class Scene : public PlayerInterface, public EnemyInterface {
public:
virtual ~Scene() {}
void MainLoop() { /* この中でさっきの for(;;) {} 相当の処理 */ }
// プレイヤーの位置を取得
virtual void GetPlayerPos(Position* pos) const;
private:
Player player_;
std::list<Enemy> enemies_;
};
とでもして、プレイヤーを追跡する敵を作りたければ次のように書く。
void Enemy::Update(EnemyInterface& scene) {
Position pos;
scene.GetPlayerPos(&pos);
// 自分の位置を pos に近づくように更新
}
これだと Enemy::Update, Player::Update から呼ばれる処理を EnemyInterface,
PlayerInterface で細かく指定できるから、予期しないタイミングで変数の値が
変更されて orz となる事が減る。特に、仕事分業するときに役立つ。
0481名前は開発中のものです。
2009/02/13(金) 03:35:55ID:RXyTKZmk"scene is-a player" "scene is-a enemy"じゃなくて
"scene has-a player" "scene has-a enemy"だから
集約を使うんだが
シーングラフってそういうもんでしょ
0482名前は開発中のものです。
2009/02/13(金) 05:00:10ID:RXyTKZmkEnemyInterfaceというのはSceneInterfaceForEnemy
PlayerInterfaceというのはSceneInterfaceForPlayer
なのか。スマン
0483名前は開発中のものです。
2009/02/13(金) 07:33:41ID:zbAaxVahそれは駄目だ
自機は自機のソースだけで動くようにしろ
関連はシーンに書くようにしろ
無理やりでもそう組め
0484名前は開発中のものです。
2009/02/13(金) 07:34:47ID:rBZGA9oW> 解決したい問題領域を必要最小限にシンプルに書けば
言ってることは、タスクシステムとあまり変わらんなw
0485名前は開発中のものです。
2009/02/13(金) 11:40:15ID:JWOETb6dDSLをうたいつつ実体がタスクシステムなものがないとは限りませんし
見当違いのものを見て誤解してしまうとお互いに不幸ですから
具体的にそのコード例を希望します。
URLや論文名でそれが掲載されている資料を指し示してくださっても結構です。
0486名前は開発中のものです。
2009/02/13(金) 12:43:14ID:zbAaxVah0487名前は開発中のものです。
2009/02/13(金) 13:57:19ID:bN8FG44k0488名前は開発中のものです。
2009/02/13(金) 17:57:13ID:zbAaxVahそーはいかねぇんだよ
やねうらお二世
DSLは明確なソース記述例がでるまで
ドラゴンソルジャーLaw以外の解釈を認めない
0489名前は開発中のものです。
2009/02/13(金) 21:14:08ID:rBZGA9oW0490名前は開発中のものです。
2009/02/13(金) 21:22:01ID:JLcOgyKP他人の記事パクって書いてるから読んでみろよ
何かが違う、本質を理解しているのかといわれれば
理解しているように見えて全く理解していないようにも見えるけど
実際のところやねちゃん本人は理解しているんだえへんと
言うだろうけど、やっぱり俺の主観では理解しているようにはみえないけど
本人がそういうんだからそういうことにして置いてあげるのが
人情ってモノじゃないかなと思う今日この頃であった
何がいいたいかというと、うんこしながら考える
0491名前は開発中のものです。
2009/02/13(金) 21:45:40ID:cRTNceU4アセンブリ言語ならともかく、C++なら小細工せずにメンバ変数で良いんじゃない?
コルーチンが欲しいところは、スタックレスVMとスクリプト言語。
0492名前は開発中のものです。
2009/02/13(金) 23:47:47ID:rBZGA9oWcontiuationが無い場合は、protothreadなり何なりでFSMにするしかないか。メンドクサイな。
0493名前は開発中のものです。
2009/02/14(土) 00:04:21ID:8ytu66WRバカアホ連呼の楽しい泥仕合が繰り広げられていて新作ポエムを投下する
タイミングがなかなか見つからなくて悔しいのね
1/17のID:1fr/EvSg以降ご無沙汰なので話の流れがよくわからないんだが
『GPU(DSP)カード』っていうフレーズを見た瞬間ちょっと寒気したのね
何かの意図があってコピペしてるのか?まぁいいけど
>>490
ポエマーの称号はあなたにお譲りします。というかファンです
0494名前は開発中のものです。
2009/02/14(土) 00:18:25ID:8ytu66WR反射的に劣等感を覚えるおじさんはこの話題にコメントするのビクビクなんだが
アセンブリ言語やC言語コードに変換してくれるプリプロセッサを用意して
ゲームコードを楽に記述してもらえるようにする一工夫も外部DSL(?)なのかな?
デバッグ情報も吐いて、デバッガーの画面にゲームコードも出しちゃうやつ
0495名前は開発中のものです。
2009/02/14(土) 00:20:56ID:8ytu66WR×アセンブリ言語やC言語コードに変換してくれるプリプロセッサを用意して
×ゲームコードを楽に記述してもらえるようにする一工夫も外部DSL(?)なのかな?
ゲームコードをアセンブリ言語やC言語コードに変換してくれるプリプロセッサを用意して
ジョブを楽に記述できるようにする一工夫ってあるじゃない?
あーいうのも外部DSL(?)なのかな
寝る
0496名前は開発中のものです。
2009/02/14(土) 00:33:54ID:wj98RZ4CDSLはドラゴンソルジャーLaw以外の解釈を認めない
0497名前は開発中のものです。
2009/02/14(土) 00:41:01ID:vvv9+ke/人によってDSLのレベルは異なるんじゃないの
古い3D迷路探索に特化し、適当なアルゴリズムを外部で書くなら
if (ここはゴール) 終われ;
else if (前は壁) 右向け;
else 進め;
という感じが俺DSL
ただ、こういう風に書くには不向きなOSや言語だったのが不幸の始まり
試行錯誤していった結果、妙な方向に特化した副産物が
タスクシステムということだろう
コルーチンのおかげでようやく道が開けた
0498名前は開発中のものです。
2009/02/14(土) 00:47:41ID:wj98RZ4C駄目だ
そんなあいまいな回答許さん
DSLとはこうだ!
と言い切れ
言い切れないならはじめからDSLなんて言葉自体出すな
話が進んでから「実はそれ違いますーw」とか言い出すに決まってるだろ
いままで何度くだらない繰り返しをしてきたと思っているんだ
0499名前は開発中のものです。
2009/02/14(土) 00:55:34ID:vvv9+ke/>ジョブを楽に記述できるようにする一工夫ってあるじゃない?
>あーいうのも外部DSL(?)なのかな
そういうことじゃないの、超高級言語だから
論理的な部分から余計なものノイズを全部取り除いたものを
何らかの形で表現できればそれが一番欲しかったもの
常に理想的なDSLがあればいいけど
実際は、コストを考慮してある程度の妥協は必要になるから
マクロや、より自分の理想に近いものを見極める必要はあるけど
コルーチンがあればC++でもそれなりにいいものは出来ると思う
テンプレートやプリプロセッサやSEDなんかで軽く変換するだけでも十分
しなくても可読性を出来る限り高くすれば十分読みやすいのは書ける
スクリプトにしなくてもRPGツクールみたいなツール作ってもいいし
ドローソフトで描いた絵をSVGをそのままGUIに使えるようなツールを作る手もあるだろうし
色々と考える余地があるから柔軟でよいのではないかと思う
0500名前は開発中のものです。
2009/02/14(土) 01:00:57ID:vvv9+ke/>そんなあいまいな回答許さん
>DSLとはこうだ!
>と言い切れ
いいんだよ実装は柔軟で、様々なパターンを適用できるから
問題領域を可能な限り簡単にするという目的さえ見えていればそれでいい
タスクシステムは目的が見えてないからおかしいのだよ
そのくせ、実装に介入してくるから柔軟さが大きく欠けていた
それで複雑になって実装時間が長くなるという最悪のデメリットが発生した
0501名前は開発中のものです。
2009/02/14(土) 01:03:10ID:wj98RZ4Cほら、また定義に関する議論になるだろ?
この糞野郎
だから辞めろって言ってるだろ
お前は技術者でもなんでもないただの糞だ
誰もてめーのいうことなんて聞いてねーよ
育ちが悪いな
なんでそうやって曲解して答えるくせが体に染み付いてるの?
0502名前は開発中のものです。
2009/02/14(土) 01:04:38ID:wj98RZ4C誠意もなんにもなくて頭に糞しか詰まってないなら
さっさとプログラマなんて辞めて
儲かる業界いけよ
このチンカス野郎
0503名前は開発中のものです。
2009/02/14(土) 01:22:44ID:vvv9+ke/そのまま文を崩して書いているだけなのだよ
挑発気味に書いているのは、安易な挑発に乗るおばかさん達をひきつける目的と
わざと挑発に乗る性格の悪い人達をひきつける目的があるからだよ
そしてこう書くことで、俺の手のひらに乗ることに嫌悪を感じて
書き込まなくなる人も少しはいるのだろうなと推測してみたり
>なんでそうやって曲解して答えるくせが体に染み付いてるの?
俺が天才だから超天才だから
ちなみに挑発の後に質問しても、感情的に書きなぐるつもりはないよ
俺は、君の発言の目的しか見てないから、怒る理由がない
わざと挑発に乗るのも面白いけど
最後に
……とミサカは挑発します
って感じに文にかかる目的を書いてくれると君の思考が公開されて面白い
と、ミサカは要求します
バカという言葉も、不快だったり不快でなかったりするだろ
それは、発言者のその言葉に目的があるからだよ
そのバカという言葉の目的を見ることが出来れば
もっと幅広いコードも書けるようになるかもしれないね
俺ってやさしいだろー
0504名前は開発中のものです。
2009/02/14(土) 01:23:46ID:1cFYmXpg組み込みスクリプトでいいや俺。Squirrel可愛いよ。Squirrel
0505名前は開発中のものです。
2009/02/14(土) 01:37:28ID:wj98RZ4C気持ち悪いからレスしないでくんない
0506名前は開発中のものです。
2009/02/14(土) 01:43:47ID:GZoT97geシーンが複数あるときはそれぞれが>475のようなものを持ちますか?
言い替えると共通部分はどうしますか?
想像できたのは親シーンを継承してテンプレートメソッドパターンか
別の管理するものを作ってそれに投げるかですがそれ以外がありますか?
それとも現実にはそんなに共通部分は無いですか?
0507名前は開発中のものです。
2009/02/14(土) 02:24:07ID:qebnM/U5こんな気持ち悪い人間が育つのだなあ。
0508名前は開発中のものです。
2009/02/14(土) 08:15:50ID:krP7oFWEまともなプログラマなら、もっと高収入が望める仕事やるだろ
0509名前は開発中のものです。
2009/02/14(土) 08:30:11ID:LGQXbjlW0510名前は開発中のものです。
2009/02/14(土) 08:31:15ID:V87nWtWSちょっと変わったタスクシステム出来たよ。
なにが違うの?
・タスクはデータ構造ではなく制御構造。
・タスクはオブジェクトではない。
・タスクはデータを持たない。
・タスクはオブジェクト間での相互作用を記述する。
・タスクは関数やメソッドの中に定義する。
ちゃんとデバッグしてないから多分バグある。
サンプルプログラムは星の間に働く万有引力のやつ。
0511名前は開発中のものです。
2009/02/14(土) 09:28:11ID:xuJiOY9g・×reflesh ○refresh
・std::vectorだとinsert/deleteがO(N)になるけどオブジェクトが増えてくるとまずくない?
・挙動は、defineマクロじゃなくboost::functionで定義できるようにしようよ
・ifで定数との比較のときに定数を左に書くのはCのころの慣習で、いまや==と=を間違えても
コンパイル時に警告が出るのだから、これはやめたほうがいい。
・2オブジェクト間の挙動を実装するのにループが2重になってるけど、これを改善しないと
オブジェクトが増えてきたときに困りそう。
・structにtypedefは不要。どうせCとしてコンパイルすることはないんだから、こんな書き方やめたほうがいい。
・Operandでvoidの関数の末尾で書いているreturnは何か意味があるの?
・staticでOperandListを持っているのがダサイね。static禁止!
まあ、意図は伝わったし、その意図は大変いいと思う。
今後のさらなる改良を期待します。
0512名前は開発中のものです。
2009/02/14(土) 10:14:19ID:V87nWtWS空きインデックス保持&削除時NULL代入式なのでO(1)のはず・・・
>2オブジェクト間の挙動を実装するのにループが2重になってるけど、これを改善しないと
>オブジェクトが増えてきたときに困りそう。
でもまぁそういう処理を行うというアプリ側の仕様だからなぁ。
オブジェクトは型ごとにリストアップしているけど、
型の種類が増えると、型自体の検索のオーバーヘッドがどうなるかというのはちょっと心配だ。
なんせdynamic_castはむちゃくちゃ重いからなぁ。
すべての型へのキャスト可不可テーブル作って高速化って手はありそう。
>structにtypedefは不要。
マジでしらんかった。勉強になりました。C++すげー
>staticでOperandListを持っているのがダサイね。static禁止!
うーん、これに関しては、static使わないとなると、引数を持ちまわらないといけなくなるから勘弁ねがいたい。
OperandListの切り替え(バンク切り替えみたいに)が出来る仕組みを用意して、お茶を濁そう。
ゲームの場合は事足りるでしょう。
もしくはデータに親子関係をつけたりして、型以外でも検索できるようにするか。理想はSQL。
0513名前は開発中のものです。
2009/02/14(土) 11:07:09ID:xuJiOY9g>>std::vectorだとinsert/deleteがO(N)になるけどオブジェクトが増えてくるとまずくない?
>空きインデックス保持&削除時NULL代入式なのでO(1)のはず・・・
そこまで見てなかった。ごめん。
一時的にオブジェクトを1万ぐらい作って、その99%がdeleteされた場合、
すかすかのstd::vectorが残るのでgarbageは何らかの条件でやったほうがいい気はするけど
まあ、それはそれやね。
> 型の種類が増えると、型自体の検索のオーバーヘッドがどうなるかというのはちょっと心配だ。
> なんせdynamic_castはむちゃくちゃ重いからなぁ。
型ごとに分類するため一回traverseしていいなら、dynamic_castなんか使わずに
typeidでそのアドレスで分類したほうが速いでしょう。
>>structにtypedefは不要。
>マジでしらんかった。勉強になりました。C++すげー
うん
struct XXX
{
};←最後型名とか書かない。
どうも、あなたのソースは書き方がC++としては素人っぽいので、
C++をもう少し勉強しよう。
0514名前は開発中のものです。
2009/02/14(土) 11:13:13ID:xuJiOY9g>>staticでOperandListを持っているのがダサイね。static禁止!
>うーん、これに関しては、static使わないとなると、引数を持ちまわらないといけなくなるから勘弁ねがいたい。
なんで?
TaskSystemがOperandListを持っているなら、素直に
taskSystem.AddOperand(boost::function…)
↑これ指定するだけのことだけど、これがそんなに嫌?
0515名前は開発中のものです。
2009/02/14(土) 11:52:44ID:V87nWtWS「taskSystem」はグローバル変数?
とにかく、OperandListがプロセス中で唯一になれば、あとはどうでも。
0516名前は開発中のものです。
2009/02/14(土) 12:02:55ID:AT9MJLSnまた、目的も計画性も無しにとりあえず組んでみた?
会社だったらその作業に誰にどんな理由で金払わせるの?
説明してよ
0517名前は開発中のものです。
2009/02/14(土) 12:11:31ID:V87nWtWS0518名前は開発中のものです。
2009/02/14(土) 12:27:01ID:q8lA0UPYまーたプロ気取りお説教君がブリブリしてるのか
その学生さんが投下したネタの趣旨くらい適当にESPで汲み取ったれや。な
爪先立ちのワナビー君とかモバゲ底辺のクズにはそんな心の余裕はないかい?ん?
0519名前は開発中のものです。
2009/02/14(土) 12:28:31ID:g0on6kGh他のクソ・パターン?・サンプルにも突っ込んでやれよ。
0520名前は開発中のものです。
2009/02/14(土) 12:29:11ID:AT9MJLSn問題はその意味不明な行動理由だよ
毎回毎回目的もなく脊髄反射的に動いて後から自分の行動に理由付けするから
わけわからない方へいくんじゃないの?
0521名前は開発中のものです。
2009/02/14(土) 12:35:03ID:g0on6kGh自他に害及ぼさない限りにおいて。
0522名前は開発中のものです。
2009/02/14(土) 12:38:40ID:q8lA0UPYおめえ、前スレで頭鈍いせいで話に付いてけなくて説明責任!説明責任!とか
吠えてたバカタスカーだろ
0523名前は開発中のものです。
2009/02/14(土) 13:23:18ID:xuJiOY9g> 「taskSystem」はグローバル変数?
> とにかく、OperandListがプロセス中で唯一になれば、あとはどうでも。
なぜそれがグローバル変数だと思うのだ・・。それはある意味やばいぞ。
グローバル変数もstatic変数もまともなC++のクラス設計では使わないし、使う必要もないのだが。
class GameMain
{
TaskSystem taskSystem;
void Start()
{ ... }
};
int main(...)
{
GameMain().Start();
return 0;
}
こうなってると思ってくれ。
0524名前は開発中のものです。
2009/02/14(土) 13:40:46ID:krP7oFWE最後のGameMain().Start()はGameMainのテンポラリオブジェクトを作ってそのメソッドを呼び出しているのか。
お前、C++の相当のマニアだな?
0525名前は開発中のものです。
2009/02/14(土) 13:50:03ID:ojCD6VCw感動した。
0526名前は開発中のものです。
2009/02/14(土) 13:56:13ID:vCXBLjPV昔C言語の話題で「ポインタなんて難しい言葉つかってえらそーに!
そんなの使わないでもプログラム組めるんだよ!」と涙ながらに吼えてるのを
見たことがあるが…
彼は今もポインタという言葉にトラウマを抱えて生きているのだろうか。
0527名前は開発中のものです。
2009/02/14(土) 14:27:14ID:q8lA0UPYそのお話とタスクシステム話はどう結び付くんだい?
ポインターは意味が明らかなわけだが、タスクシステムはどうよ?
みんな俺俺プログラムだよな。定義不明瞭。みんなバラバラ
なーんてというと『いや共通項は>>2だから。実装付きできちんと定義されてるし。ナムコだし』と擁護&釈明してくる
じゃあと>>2に共通する謎仕様、謎実装を追求すると今度は
『オイラのタスクシステムは違う』
『現代的タスクシステムはもっとすごい(はず)』
とか逃げる
じゃあやっぱローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー
というと、『言葉狩りがしたいだけか。名前が気に入らないだけだろ』と知能障害をきたす
パープリンすぎてトラウマになるな
0528名前は開発中のものです。
2009/02/14(土) 14:33:38ID:V87nWtWSそれだと他所の関数や他所のクラスがtaskSystemへのポインタを知るための仕組みが居るから困る。
taskSystem(の中のOperandList)は、ぶっちゃけデータベースだからプロセス毎に一つあればそれでよい考え。
やりたいことは、
ゲーム中で使うデータ(オブジェクトなど)は全部データベースに登録する。
データを処理するときは、データベースにリクエストする。(このとき排他処理も自動的にかける)
リクエストに引っかかったデータはすべて並列的に処理される。(データが多い場合は各コアで並列に)
ねらいどころは、
排他処理の自動化。データ構造に基づいてロックをかけるのでデッドロックしない。
処理の自動並列化。
すべてのデータがデータベースに登録されているので、データ構造が明確。
処理の流れが基本一本道なので、どこで誰がなにをしているかすぐ分かる。
0529名前は開発中のものです。
2009/02/14(土) 14:56:39ID:vCXBLjPV> みんな俺俺プログラムだよな。定義不明瞭。みんなバラバラ
> じゃあやっぱローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー
何か権威から定義付けされてない言葉は公衆の場で使うな、ということかい?
たとえばデザインパターンが生まれる前からあれらのアルゴリズムはみんな俺俺実装で使われてたし
その時代に彼らは自己流な命名で呼び合ってた。むしろGoFみたいに定義されてる方がマレ。
ふつーにゲーム作ったことあるプログラマなら「タスクシステム」と言われれば
どんなことをしたいシステムなのかだいたい想像つくし。よほどの新人でもない限りその程度で事足りる。
現場ごとにのローカル定義用語なんて開発現場じゃいくらでもあるよ。
それらを厳密に定義した言葉じゃないと認めん、なんて言ってたら社会生活おくれんだろ。
まぁ、ここは開発現場じゃなくてゲーム作りたくて挫折した人とかもいて
何かコンプレックスを刺激されるのかもしらんが、そんなトラウマになるほど思いつめなさんな。
0530名前は開発中のものです。
2009/02/14(土) 14:57:04ID:V87nWtWSこれは無理か。
・データベースへのリクエスト時はデータベース全体をジャイアントロック。
・しかし、リクエストそのものは並列実行される。
こうだな。
0531名前は開発中のものです。
2009/02/14(土) 14:57:19ID:krP7oFWE> ぶっちゃけデータベースだからプロセス毎に一つあればそれでよい考え。
データベースにしてもサイトごとに仮想化して何個も用意するじゃん。
ゲームにしても、全然別の2つのゲーム(例えばミニゲームを2つだとか)を動かしうるなら、
そんな何の関係もないオブジェクトを同じOperandListに登録するのは嫌だし、無駄だ。
> それだと他所の関数や他所のクラスがtaskSystemへのポインタを知るための仕組みが居るから困る。
それは実装技術が足りてないだけだろ。
一体、どういうコードを想定してんだ?
ちょっとソースを例示してくれ。俺が書き直してやる。
0532名前は開発中のものです。
2009/02/14(土) 15:15:06ID:q8lA0UPY>何か権威から定義付けされてない言葉は公衆の場で使うな、ということかい?
人と会話するときはきちんと相手の話を聞こうや
それが文章なら、質問する前によく読み返そう
大人の常識でしょ?というか学校で教わったでしょ?
自分で引用した文くらいちゃんと読もう。な。
はい、では大きな声で復唱しましょー
『ローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー 』
『ローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー 』
『ローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー 』
『ローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー 』
脳みそに染み渡った?質問どうぞ
0533名前は開発中のものです。
2009/02/14(土) 15:21:00ID:XyngaOK40534名前は開発中のものです。
2009/02/14(土) 15:22:55ID:vCXBLjPVまぁ落ち着けや。
別にポインタ分からなくてもプログラムは作れるし
タスクシステム分からなくてもゲームは作れるさ。
君に理解できないことを他人が理解できたからって君が劣っているわけじゃないよ。
人間には個性があるんだから。君にしか出来ないことがあるかもしれない。
涙を拭いて外に出よう。
0535名前は開発中のものです。
2009/02/14(土) 15:23:33ID:vvv9+ke/デザインパターンは良く出る形でメリットがあるものを厳選している
タスクシステムは良く出る形だがメリットがないものを実装だけ俺俺定義している
デザインパターンの本で実装があまり重視されていないのは
メリットデメリットや問題解決などの方が重要だから
一方タスクシステムは実装ばかり重視されてそれ以外がない
よって同一のものではない、形だけが近い別物となる
ちなみにアンチパターンには該当してるみたいだけどね、タスクシステム
次はC++イデオム話ですか、やれやれ
イディオム話をするってことはどうやらフレームワークの話ではないらしい
0536名前は開発中のものです。
2009/02/14(土) 16:01:59ID:q8lA0UPYあれあれ?そうあってほしいの?そう思い込みたいの?
自称大人なのに言うに事欠いて妄想世界にイっちゃうの?
脳内世界で願望を実現して心穏やかになったところ悪いんだけど、何度も聞くよ?
>>529読んでね。脳みそに染み渡った?
で、↓の疑問は氷解した?
>何か権威から定義付けされてない言葉は公衆の場で使うな、ということかい?
もちろん氷解したよね?
0537名前は開発中のものです。
2009/02/14(土) 16:06:35ID:fs9yxo5u0538名前は開発中のものです。
2009/02/14(土) 16:08:51ID:t8bxwdC6>>510よりも良くなればアンチの勝ち。
良くならなかったらタスカーの勝ちだな。
0539名前は開発中のものです。
2009/02/14(土) 16:10:52ID:g0on6kGh結局言葉遊びか。外に出ろ
>>534わろた
0540名前は開発中のものです。
2009/02/14(土) 16:50:55ID:vvv9+ke/>>>510よりも良くなればアンチの勝ち。
>良くならなかったらタスカーの勝ちだな。
負けました、コード見たけど何がなんだかよくわからなかった
俺の知能じゃあ理解できないや
それにしてもタスクシステムはとっても便利な気がします
まさに神に選ばれた超天才のみが使いこなせるという
伝説の剣、そういわゆるゴッド神装備であることを痛感いたしました
俺は凡人だから使わないだろうけど
天才の方々は頑張ってください
凡人の俺はシェーダーでもいじってます
0541名前は開発中のものです。
2009/02/14(土) 17:13:51ID:AT9MJLSnまた、目的もなくとりあえず組んじゃった?
そういう行動改めた方がいいよ
自分では頑張ってるつもりなのにいつも結果に結び付かない状態になるよ
ソース読んであれこれ評価してる奴もおかしい
目的もなにもわかってないのになんであーだこーだ言えるの?
テキトーに気分で評価してテキトーなコメント入れてない?
ちゃんと目的を満たしているかどうかが評価ポイントじゃない?
0542名前は開発中のものです。
2009/02/14(土) 17:14:15ID:krP7oFWEあの程度のコードすら読めないとはよっぽど馬鹿なんだろうな
タスク派とかアンチタスク派とか以前にプログラマとして失格
お前みたいなクルクルパーに絡まれるやねが気の毒だ
0543名前は開発中のものです。
2009/02/14(土) 17:15:10ID:krP7oFWEお前みたいなクルクルパーもこのスレにはいらないからどっか行ってくれ。
0544名前は開発中のものです。
2009/02/14(土) 17:21:40ID:vvv9+ke/>タスク派とかアンチタスク派とか以前にプログラマとして失格
>お前みたいなクルクルパーに絡まれるやねが気の毒だ
おっしゃるとおりです
くやしいっ、でも感じちゃう、ビクビクッ
0545名前は開発中のものです。
2009/02/14(土) 17:29:48ID:vvv9+ke/問題領域がちょっと微妙な気もした
描画とロジックを混在させるのはまぁ、みなかったことにして
ロジックが細切れで、流れは見づらくないだろうかと思った
計算する部分を重視して、それがどう組み合わされているのかの部分が
ブラックボックス化するのには何か意味があるのでしょうか
俺にはその辺の意味が理解できなかった
まぁ、アンチタスカーで敗北者の俺の意見なんて無視していいよ
タスカーは神いわゆるゴッドなのだから気にするな
0546名前は開発中のものです。
2009/02/14(土) 17:32:45ID:laLZtnFH0547名前は開発中のものです。
2009/02/14(土) 17:48:23ID:krP7oFWE> 描画とロジックを混在させるのはまぁ、みなかったことにして
本当に馬鹿なんだなぁ。あれがあのフレームワークの真骨頂なのに。
あのフレームワークは、オブジェクトのinteractionを定義できるようになっているから、
描画すらも、Windowとobject(画面に表示すべき物体)とのinteractionとして定義できるってことだ。
なんで一番大切なところを見なかったことにするかな…
あんたはクルクルパーなんだから、アンチタスカーなんかを名乗ってくれるなよ。
アンチタスカーがみんなクルクルパーだと思われるじゃん。
0548名前は開発中のものです。
2009/02/14(土) 17:54:46ID:wj98RZ4Cで?結局、なんのためのソースだったの?
意味不明な行動してんじゃねーよ
いきなりソースもってきて「どうよ?」とか馬鹿か、頭おかしいのか?
0549名前は開発中のものです。
2009/02/14(土) 17:59:14ID:UJelYgTfおもしろい
void Loop() の相互作用が一覧で見れるってとこがかなりいいね
俺的難点を挙げるなら、「Tasksystem.h」何やってんだかワカンネェ orz
というあたりか。
・staticで定義された唯一のリストにデータを一緒くたに持ってる(型を気にせず)
・TASK1()とかTASK2()とかの引数に指定された型を元にリストから対象データを検索して処理を適用してる
この2点の意図を読み取るのがやっとだった。
演算子の意味づけ変更しちゃうともうC++じゃないね。俺的ゲーム用汎用スクリプト言語って感じ。読めない(俺が)。
他にはデータの保持方法がリストに全突っ込みってのがいいのか悪いのか判断がつかない。あまり問題は無い気もするが。
全体通してみると相互作用が見やすいという利点があって、逆に明確な悪いとこは今すぐ思いつかない。
データアクセス時に検索処理が間に入る分だけ、普通に変数定義しまくって変数名で直接アクセスするよりも重そうだなという程度。
ゲーム部分の可読性は高いし、性能が問題になったらデータ定義方法変えればいい話だし、かなりいけてる気がする。
今までのタスクシステムよりは断然こっち使う方が良い。先につながる。
ちなみに俺はアンチタスクシステム派です。
0550名前は開発中のものです。
2009/02/14(土) 18:02:25ID:Py1NnjYOお美しい・・・
0551名前は開発中のものです。
2009/02/14(土) 18:25:49ID:krP7oFWE頭がおかしいのはお前。あのレベルのソースすら読めないならプログラマの資格なし。
低脳がほざくんじゃねえ!
0552名前は開発中のものです。
2009/02/14(土) 18:30:38ID:ojCD6VCwごった煮リストにすることの利点が、相互作用を
"ちゃちゃっ"と記述ことにあるんだよ
と解釈したのだけれど、自分は結構面白く感じたし、、
十分利点になると思う
速度はどうなの?とか実装的問題は賢い人がなんとか解決するとして。
すると、中身でごった煮になっていない方法もありえるのかも
因みに自分もアンチ
0553名前は開発中のものです。
2009/02/14(土) 19:00:13ID:vvv9+ke/おっしゃるとおりバカでございます
有名なフレームワークの名前は一通り存じてございますので
名前をおっしゃっていただきさえすれば理解することもできましょうが
なにぶん、新種のフレームワーク事情にうといものでして
名前もわからないと何がなんだかわからぬのでございます
問おう、何のフレームワーク?
これだけ、罵ったんだから当然知っているだろうし答えられるよね(はーと)
0554名前は開発中のものです。
2009/02/14(土) 19:06:36ID:krP7oFWE何言ってんのかわからん。
510をフレームワークと呼んで何が悪いんだ?
0555名前は開発中のものです。
2009/02/14(土) 19:13:09ID:vvv9+ke/>510をフレームワークと呼んで何が悪いんだ?
何言ってるんですか
フレームワークといったらMVCやDocument-Viewなんかのことですよ
基本ですよ、知らないはずがないじゃないですか
もし、知らないでフレームワークフレームワークきゃはきゃは言ってたら馬鹿ですよバカ
新種のフレームワークなら名前を付けてください名前を
既存のフレームワークのような口ぶりで語るから
有名なフレームワークと勘違いしたじゃありませんか
あやまってください、お天道様にあやまってください
あやまれよぅ><
0556名前は開発中のものです。
2009/02/14(土) 19:13:48ID:vCXBLjPV結局、言葉遊びで批判はできるけどプログラムで証明することは出来なかったということか。
0557名前は開発中のものです。
2009/02/14(土) 19:14:30ID:q8lA0UPY>> 描画とロジックを混在させるのはまぁ、みなかったことにして
>本当に馬鹿なんだなぁ。あれがあのフレームワークの真骨頂なのに。
あのフレームワークて何?まさか>>2?
描画?真骨頂?OBJやBGを出力してくれる回路積んでた当時の話?
OBJの描画処理つーても基本的にはOAM(OBJの属性情報を入れるRAM。位置とかパターン番号とか)の
指定位置を書き換えるだけ。更新、状態遷移が確定したついでにOAMの指定位置を書き換えてたってだけ
真骨頂?は?
>あのフレームワークは、オブジェクトのinteractionを定義できるようになっているから、
>描画すらも、Windowとobject(画面に表示すべき物体)とのinteractionとして定義できるってことだ。
何いってるのこのバカタスカーは?頭蓋の中に何入ってるの?うんこ?
0558名前は開発中のものです。
2009/02/14(土) 19:16:49ID:krP7oFWE本当に馬鹿なんでね?ソフトウェア工学でフレームワークって言ったら
http://en.wikipedia.org/wiki/Framework
A software framework is a re-usable design for a software system (or subsystem)
この程度の意味だろ。
510は十分、re-usable designだと思うんだが。
0559名前は開発中のものです。
2009/02/14(土) 19:17:49ID:krP7oFWE基地外死んでくれ。
あのソースすら読めないならプログラムを語る資格はあんたにゃ無い。
0560名前は開発中のものです。
2009/02/14(土) 19:27:38ID:q8lA0UPYなんであのフレームワークとか言うんだ?
本人がタスクシステムつー名前付けてるんだから
>>510のタスクシステムて呼んであげればいい
>>2との共通部分はごった煮ってだけだけど
作者の意思は尊重されるべき
0561名前は開発中のものです。
2009/02/14(土) 19:28:26ID:krP7oFWEああ、そういう意味なら、勝手に呼び変えて悪かった。
0562名前は開発中のものです。
2009/02/14(土) 19:29:53ID:vvv9+ke/アーキテクチャパターンの話だと思ったんじゃがのぅ
違ったようじゃのぅ、何の話をしておるのかさっぱりじゃのぅ
しかし、そのスーパータスクシステムフレームワークを使う効能は
なんじゃろのぅ
わしゃいなかものじゃけぇ、ようわからん
0563名前は開発中のものです。
2009/02/14(土) 19:46:22ID:vCXBLjPV無理に理解する必要無いでしょ。特に必要性を感じてないなら。
別に他の方法で実装することもできるんだし。
自分のスキルにあった好きな方法で作ればいいんでない?
いくつかゲーム作ってれば、そのうち「あぁ、ここで使えば便利かも」って思える日が来るかもしれないし。
ゲームのタスクシステムなんて必要性を感じて、あれば便利だと思う人が使えばいいだけのもの。
誰も使用を強制なんてしてないよ。個人で作る範囲ではね。
0564名前は開発中のものです。
2009/02/14(土) 20:04:51ID:vvv9+ke/なるほど、あんたがやねうらおさんか又はそれに類する人ですね
タスクシステムはカルトや偽科学と同じ有害なもので
関わったものをほぼ間違いなく不幸にするだろう
カエルとびをすれば足腰が鍛えられるよって言う時代もあっただろう
焦って高い技能を取得しようとしている人を騙して(本人にその自覚はないだろうが)
あのおかしなパターンの使い方のくせを身に付けさせてしまったら
まともなパターンの使い方を覚える枷となる
ゼロからやるよりも長い時間を費やすことになるだろう
そして、あなたは長い時間をかけて嫌われていくのだろう
自らの無知を自覚せず行動するものは多数の者を傷つけるのだろう
あんたは何もわかっていない、又はわかっていて騙している悪人だ
私はあんたに要求する、黙るか、もっと考えろと、そして私欲を捨てろ
うんこでもしながらよく考えるんだな
0565名前は開発中のものです。
2009/02/14(土) 20:11:13ID:vCXBLjPVあのな
あんた一つの目的を達成する方法は一つしか無い、と考えてるのかい?
別にタスクシステムの考え方は万能じゃない、一つの方法に過ぎんよ。
使えるときには使う、他の方法がいいときは他の方法を使うって柔軟性が無いと
プログラマなんてできんよ。
方法はたくさん知ってるほうが有利だろ、タスクシステムを頭に入れたら
頭の中それだけになって他の方法を入れられないような鶏頭なら別だが…
0566名前は開発中のものです。
2009/02/14(土) 20:20:42ID:KRjtx6a7シンプルな相互作用と、シンプルなインスタンスなら簡単に書けて良いけど、
ちょっと規模が大きくなると辛そうな気はするな。
たとえば FPS だと、ヒット判定は総当りではなく BSP なり何なりで空間分割しないと
キツいが、こうなると TASK2() 使えない。もちろん"タスク”の枠組みでも書けなくは
ないが、ベタ書きより複雑になったら意味ないので。
メンバ変数全部 public も辛いかなぁ。アクセス保護の観点では、Star と Windows の
相互作用では m_x, m_y, m_w を readonly でアクセスしたいが、TASK1(Star) では
メンバ変数全部 read/writeしたい。
あとメンバ変数直接アクセスする仕組みだと、分割コンパイルにも支障が出るかなぁ。
処理が全部 Loop() に集中するから、こいつは Star や Window など全クラスの
定義を知っている必要がある。
また、Star などが単純で状態をほとんどもたないなら良いんだが、状態が複雑になると
外から直接メンバ変数を書き換えるのは危ない。たいていの場合、ヒット判定して、ヒット
してたら双方にメッセージを送っておくだけで、すぐには処理しない。で、後で自分の
Update() 処理の中でメッセージを受け取ってきて、自分の状態とメッセージを照合して
状態遷移する。
この辺の仕組みを入れようとすると、逆に複雑になりそうな気がする。
最後に欠点じゃないけど、タスクの派生クラスをどう扱うかは悩みどころだ。たとえば
Star を継承した Blackhole があったとして、こいつは TASK2(Star,Star) で参照される
べきか無視されるべきかの指定はあったほうが良いと思う。
0567名前は開発中のものです。
2009/02/14(土) 20:27:11ID:krP7oFWEポエマーいい加減死んでくれ
プログラムが読めない低脳がプログラム語るんじゃねえ
0568名前は開発中のものです。
2009/02/14(土) 20:36:30ID:q8lA0UPY寝言は寝て言え
たとえば、アンチタスクシステム側である俺が何故一貫して『>>510のタスクシステム』を
一切叩かないかというと、それが>>2とは提供する機能も実装も異なり、そして思想レベルでも>>2とは異質だから
たまたま同じタスクシステムという名、固有名詞を産みの親より授かった実態の全く異なるプログラムでしかない
俺の攻撃対象である>>2とそれを誉めそやして猿まねしてる石器人とは異質すぎる
0569名前は開発中のものです。
2009/02/14(土) 20:47:33ID:krP7oFWE実装も思想レベルでもありふれたタスクシステムと変わらないと思うが。
510の実装のキーポイントは、型を指定しての列挙だろう。
タスクのinteractionを書けるが、それにしても2つの型を指定して列挙してforeachを2重に回して
書いているのと何ら変わりがない。
これらの必要性は従来のタスクシステムでも散々言われてきたことだ。
0570名前は開発中のものです。
2009/02/14(土) 20:48:47ID:q8lA0UPYそいつはうんこうんこ言う詩的な便意君だろ
うんこが詰まると思考も詰まる体質なのかしらんが言動の水準が不安定だな
0571名前は開発中のものです。
2009/02/14(土) 20:49:11ID:vCXBLjPVあれ?
いつのまにか俺俺タスクシステムは攻撃対象から外れたんだ。
まぁ、それなら話は早い。
今時>>2と同じコードを使った古典的実装の化石なんてまずお目にかかれない。
今使われてる自称タスクシステムはほとんど拡張された俺俺タスクシステム改だよ。
>>2だけが限定なら見えない敵と戦うだけ時間の無駄だからやめとけ。
0572名前は開発中のものです。
2009/02/14(土) 20:54:30ID:ojCD6VCw>ヒット判定は総当りではなく BSP なり何なりで空間分割しないと〜
型から判別するのが方針である以上、判別がそれと違う方法を取る空間分割は
確かにこれに入れないほうがいいと思う
>メンバ変数全部 public も辛いかなぁ。
これは上手くやればなんとかできないだろうか........できないか
列挙と処理を一緒にやっちゃってるから、ここらへんに歪みがでてるんだろうな
列挙だけやらせて、その結果を使ってその別の場所に放り込むように
したほうがいいかもしれない
見た目はとっても面白いんだけれどもなぁ
0573名前は開発中のものです。
2009/02/14(土) 21:01:44ID:krP7oFWEおいおい。書いた本人は、C++は素人なんだからそんなところ突っ込んでやるなよ。
本当は、2つの型の相互作用させるのにしても、510のソースのように単純に
ループを2重に回すと要素数の2乗に比例する時間がかかるから、
指定された2つの型のものを1回のtraverseで、個々のvectorにでも格納して、
そのvector同士に対してfunctorを呼び出してやったほうがいいに決まってる。
だけど、まあ、そのへんは、コンセプトデモってことで別にいいんでね?
0574名前は開発中のものです。
2009/02/14(土) 21:06:12ID:krP7oFWE> 最後に欠点じゃないけど、タスクの派生クラスをどう扱うかは悩みどころだ。たとえば
> Star を継承した Blackhole があったとして、こいつは TASK2(Star,Star) で参照される
> べきか無視されるべきかの指定はあったほうが良いと思う。
510は前者の実装。後者の実装にしたければ、dynamic_castしているところをtypeid
の比較に変更するだけ。
まあ、そのへんは突っ込んでも仕方ないかと。
0575名前は開発中のものです。
2009/02/14(土) 21:08:48ID:krP7oFWE> メンバ変数全部 public も辛いかなぁ。アクセス保護の観点では、Star と Windows の
> 相互作用では m_x, m_y, m_w を readonly でアクセスしたいが、TASK1(Star) では
> メンバ変数全部 read/writeしたい。
これに対してな。
0576名前は開発中のものです。
2009/02/14(土) 21:09:32ID:wj98RZ4C>だけど、まあ、そのへんは、コンセプトデモってことで別にいいんでね?
>>510は目的なんか何も言ってないんだけど?
0577名前は開発中のものです。
2009/02/14(土) 21:11:32ID:krP7oFWEあのソースが本チャンで使えるものだと思ってるなら、お前は頭おかしい。
0578名前は開発中のものです。
2009/02/14(土) 21:20:32ID:krP7oFWE> for(size_t _i1=0; _i1<_size; ++_i1)\
> for(size_t _i2=0; _i2<_size; ++_i2)\
> {\
> if(NULL==dynamic_cast<Operand1 *>(Operand::OperandsList[_i1].Head())){ continue; }\
> if(NULL==dynamic_cast<Operand2 *>(Operand::OperandsList[_i2].Head())){ continue; }\
ここにしても、一つ目のifを2つ目のforより手前に書けばいいものをわざわざ内側に書いてるのは
わかりやすく見せるためだけであって、速度的な観点からすれば無駄以外の何ものでもないんだが。
これがコンセプトデモで無いなら何だと思うんだ?
0579名前は開発中のものです。
2009/02/14(土) 21:22:55ID:UJelYgTfアンチが反応するのは
「タスク=ゲームオブジェクト」システム
俺俺タスクシステムか、C++なんちゃってタスクシステムか、 >>2 かは関係無い。
0580名前は開発中のものです。
2009/02/14(土) 21:26:00ID:krP7oFWEまあ、510のプログラムすら読めないクルクルパーは論外としてな。
アンチタスク派はそもそもタスクシステムを何だと思ってたんだろうかな。
型を指定しての列挙は例えば、やねですら何度もしつこいぐらいに書いているのに。
http://d.hatena.ne.jp/yaneurao/20090203
やねの提唱するタスクシステムでも、510の書き方が出来るわけで、彼にしても
こういう書き方をすることも含みに持たせているのにそれすら
このスレのアンチタスク派はわかってなかったんだろうな。
まあ、結局、こうだろ。
俺>>(超えられない壁)>>やね>>510 >>(超えられない壁)>>このスレのアンチタスク派
0581名前は開発中のものです。
2009/02/14(土) 21:27:52ID:vvv9+ke/バカな奴、墓穴を掘ったな
俺の言葉で語るということは、俺のフィールド上に上がるも同然
フレームワークを選択する場合に必要な情報というものもあるだろう
というわけで、タスクシステムのメリットとデメリット等を
教えてもらおうか
0582名前は開発中のものです。
2009/02/14(土) 21:28:43ID:krP7oFWEなんか知らんが510のプログラムすら読めないポエマーは引っ込んでろ。
0583名前は開発中のものです。
2009/02/14(土) 21:35:46ID:q8lA0UPY文盲妄想更年期障害脳軟化タスクオヤジか
てめえはまず俺の質問に答えろ
>あれ?
>いつのまにか俺俺タスクシステムは攻撃対象から外れたんだ。
おめえはまず両目の瞼と眉を洗濯バサミで挟んで>>527を100回読み返しな
巡回ナメナメは得意なんだろ?ナメるように読め
俺は、議論で窮すとてめえの都合で狭義(は?)だの広義(はぁ?)だのの
新解釈をクリエイトして逃げ回ってるタスカー気取りのカス共が大嫌いなんだよ
0584名前は開発中のものです。
2009/02/14(土) 21:41:12ID:krP7oFWEそいつはどうでもいいから、俺と遊んでくれ。
510のプログラムについてもっと建設的に語り合おうぜ。
0585名前は開発中のものです。
2009/02/14(土) 21:41:39ID:q8lA0UPY>まぁ、それなら話は早い。
>今時>>2と同じコードを使った古典的実装の化石なんてまずお目にかかれない。
>今使われてる自称タスクシステムはほとんど拡張された俺俺タスクシステム改だよ。
おい、また妄想か?てめぇの身の回りのローカル情報か?検証可能なのか?
悪いこた言わねー。黙って目を皿のようにして過去ログ読み返せ
ほれ、21世紀にもなって松浦本や逆引き本で嬉しい嬉しいて喜んでる奴いんじゃねーか
今もが泳いでそうな奴がそこらにいるんじゃないか?あ?
>>>2だけが限定なら見えない敵と戦うだけ時間の無駄だからやめとけ。
てめえに都合の悪いクリーチャー共の存在を無かったことにしようとしても無駄だからやめとけ
0586名前は開発中のものです。
2009/02/14(土) 21:45:21ID:vvv9+ke/>>2を読んでみても実装方法しか書いてありませんっ><
しかも、>>2は違うとまで言われましたっ><
「それは広義のタスクシステムだよ」とわけのわからないことを言われましたっ><
フレームワークの話だと思っていたらイディオムの話でしたっ><
イディオムの話だと思っていたらやっぱりフレームワークの話でしたっ><
海外ではまったく見かけられません、有名な本にも載っていませんっ><
プログラム読めるのになぜか読めないことにされていますっ><
挙句の果てに、なぜか集中攻撃を食らいますっ><
0587名前は開発中のものです。
2009/02/14(土) 21:45:31ID:krP7oFWE誰と戦ってんだ。俺と戦おうぜ。俺と。
0588名前は開発中のものです。
2009/02/14(土) 21:46:46ID:krP7oFWEあんたは510のソースを読めなかったんだから、あと半年ほどROMってなよ。
0589名前は開発中のものです。
2009/02/14(土) 21:49:41ID:q8lA0UPYちょっと待て
今ネトゲやりながらだから頭使うレスできない
0590名前は開発中のものです。
2009/02/14(土) 21:51:10ID:wj98RZ4Cタスクシステムを使うことによって何のどんな問題が解決するの?
0591名前は開発中のものです。
2009/02/14(土) 21:51:17ID:vCXBLjPVノコギリのメリットとデメリットを説明するには骨が折れるなぁ…
タスクシステムの考え方はゲーム作るうえで便利だから、というのは
自分で経験して体感するのがいいと思う。
数当てゲームとか○×ゲームみたいな小さいゲームじゃなくて
ステージ制シューティングとかそれなりに複雑なゲームを作ってみるといいんでないかな。
タスクシステムを使うにしろ使わないにしろ、そーいったシステムの必要性は理解できるようになると思う。
もっといい実装があるなら使わなきゃいいだけの問題だし。
ゲ製作技術に居るってことはゲーム作りたいんでしょ?
たぶんここで屁理屈こねてるより有意義だと思うぞ。
まぁ、それが出来ないコンプレックスからタスクシステム憎しになってるなら
もう何も言えんが…
0592名前は開発中のものです。
2009/02/14(土) 21:54:10ID:wj98RZ4Cで?誰のなんの質問に答えた気になってるの?
馬鹿じゃないの
0593名前は開発中のものです。
2009/02/14(土) 21:54:23ID:vvv9+ke/>あんた一つの目的を達成する方法は一つしか無い、と考えてるのかい?
俺は天才なので数多の戦術から最適な戦略を模索します
>別にタスクシステムの考え方は万能じゃない、一つの方法に過ぎんよ。
>使えるときには使う、他の方法がいいときは他の方法を使うって柔軟性が無いと
>プログラマなんてできんよ。
>方法はたくさん知ってるほうが有利だろ、
だから俺はずっとそう言ってるでしょうが
>タスクシステムを頭に入れたら
>頭の中それだけになって他の方法を入れられないような鶏頭なら別だが…
選択するときに必要な情報がない、全くない、誰も答えない
何度も聞いてるのにタスカーはみんな無視、誰も答えない
メリットとデメリットがわからないものを選択肢に入れろと?
何をバカなことを、わはは
それさえ答えてくれれば話は進む
さぁ、遠慮せずにメリットデメリット等の
タスクシステム特有の情報を惜しむことなく我輩に告げるがよい
チンチン、まだー?
0594名前は開発中のものです。
2009/02/14(土) 21:54:38ID:krP7oFWEそんなことどうでもいいから510読んだ感想でも書いてよ。
0595名前は開発中のものです。
2009/02/14(土) 21:55:04ID:KRjtx6a7問題は、コンセプトを維持したまま本チャンで使えるように改修できるかどうかだな。
俺は、あの"タスク”はネタとしては面白いが、使える場面は極めて限られると思う。
ちょっと複雑な処理をしようと思うと、逆に枷になる。
ネタとしては面白い。
0596名前は開発中のものです。
2009/02/14(土) 22:00:50ID:vvv9+ke/結局、答えられないんじゃん
うちの宗教に入るメリット?
うーん、とりあえず入っちゃって考えればいいよ
さぁ、入会だ
だってよ、ふぅ危ないところだったぜ
こっちは質問は明確でずっとそういい続けてきたのに
タスカーはみんな無視してきた、ずっとだ
何がいいたいかと言うと
ばーかばーかちんじゃえ
0597名前は開発中のものです。
2009/02/14(土) 22:04:44ID:wj98RZ4C何をやるにも目的をはじめにおかない
自分のとった行動の理由を後で考える
とった行動の優劣の判別ができない・させない
これらは他にどんなことができる奴であろうが技術者として最悪だ
何も生み出せない
この先素質や直感だけじゃ解決することができないような仕事をやるハメになるだろうよ
そんときにこの有様ではなにもできない
成長しねぇっつの
>>510が出てきたときにソースがあるってだけで飛びついて
目標もなにもねぇのに評価なんてはじめた馬鹿は何か考えて評価したのか?
目的がわからねぇのにてめぇ、何を評価しようとした?
0598名前は開発中のものです。
2009/02/14(土) 22:07:49ID:KRjtx6a70599名前は開発中のものです。
2009/02/14(土) 22:09:18ID:ojCD6VCw0600名前は開発中のものです。
2009/02/14(土) 22:09:48ID:krP7oFWE目的って、あのソース見て目的がわからなければ相当の低脳だろ。
プログラム一行でも書けんのか?
プログラムかけねぇヤシはすっこんでろ。
0601名前は開発中のものです。
2009/02/14(土) 22:15:03ID:UJelYgTf> 処理の流れが基本一本道なので、どこで誰がなにをしているかすぐ分かる。
これを達成しつつ、
> 処理の自動並列化。
これを実現したいということだよね。
そのためにデータ共有を制御したいということだよね。
> ・データベースへのリクエスト時はデータベース全体をジャイアントロック。
これは分かる。
> ・しかし、リクエストそのものは並列実行される。
意味不
ロックされてるのに?
もしロックしてるやつが書き込みしてたらReadOnlyですら保証されないよね
あと、
> すべてのデータがデータベースに登録されているので、データ構造が明確。
メモリ上の情報だけでなくデバイスもデータとして扱うとデータ間に依存関係あると思うんだ。
DirectXデバイスとTextureとか。その辺不明確では?
>>510 のコードの半分も理解してない(読めない)俺が間違ってる?
0602名前は開発中のものです。
2009/02/14(土) 22:16:34ID:wj98RZ4Cそうやって明確に答えずに変な解釈ばっかりするからこのスレはこんな有様なんだよ
そうだと思ってたことが実は違うなんてことは頻繁に発生する
わかった気になるのが一番怖い
ためしにお前がどう考えたのか>>510に確認とってみろ(別人かどうかは知らんけどなw)
0603名前は開発中のものです。
2009/02/14(土) 22:17:36ID:KRjtx6a7できない。
0604名前は開発中のものです。
2009/02/14(土) 22:17:56ID:LGQXbjlW同じコードから読み取れるものが皆同じってのはちょっとありえないと思うわぁ
0605名前は開発中のものです。
2009/02/14(土) 22:19:14ID:wj98RZ4C本気でその状態で怖いわ
ジャンプにナ○トってカオスな漫画があるけど
このスレも全く同じようなカオスな状態で全然笑えない
プログラマでこれかよって感じ
>>599
それは技術者にとって負債にしかならない
0606名前は開発中のものです。
2009/02/14(土) 22:34:50ID:VBVBn6GZ苦し紛れに罵倒するだけで、結局プログラム的な反論がほとんど無いのかよw
口汚くても有意義な情報が見られるかもと思ってpart1から見てたのに、
アンチタスク派にはホントがっかりだわ。最初から最後まで口だけか。
もーそうやって一生罵倒してろよ。
お前らはもうソレしか出来ないんだから。
やっぱゲ製板の住民だよ、お前ら。
0607名前は開発中のものです。
2009/02/14(土) 22:37:58ID:wj98RZ4Cだからぁ
そうやって主旨を横にどかして感情だけでしゃべるなよ馬鹿
本当にプログラマかてめーは
今日の飲み会盛り上がりましたね!?
って妙な確認とってくる新人かてめーはw
ソース自体を公開するのはいいよ
でもそのソースの目的を明確にしてもらわなきゃなにも判断できないだろ
0608名前は開発中のものです。
2009/02/14(土) 22:40:24ID:UJelYgTfども。やっぱり。
というかもう >>566 で危ないって書いてたんすね
さっき読んだ時はなんか難しいこと言ってんなー、位で理解できてなかった
0609名前は開発中のものです。
2009/02/14(土) 22:49:40ID:segjkn8U正直俺も>>601同様の疑問を持ったけど
C++は参照透明な純粋関数型言語ではないので、副作用だのオブジェクトの破棄だのが
色々ネックになりそうに見える
単なるISAMならともかく
まともなRDBなどでは読み取り一貫性のようなものを保障するためには
相当にしち面倒くさいことをやっているが
0610名前は開発中のものです。
2009/02/14(土) 22:52:53ID:wj98RZ4Cは?
俺にはメリット(=目的でなきゃ駄目だろ?)がまったく見えねー
>>528に書いてあるのはただの処理内容だろ?
やりたいことは〜って文章からまったくつながってねぇよ
C言語やる前に日本語どうにかしろよレベルだろコレ
0611名前は開発中のものです。
2009/02/14(土) 22:54:10ID:segjkn8U>排他処理の自動化。データ構造に基づいてロックをかけるのでデッドロックしない。
>処理の自動並列化。
>すべてのデータがデータベースに登録されているので、データ構造が明確。
>処理の流れが基本一本道なので、どこで誰がなにをしているかすぐ分かる。
これはメリット=目的だと受け取っていいんじゃないの?
できてるかどうかはともかく、ね
0612名前は開発中のものです。
2009/02/14(土) 23:04:48ID:vvv9+ke/それを達成するための手段はいくつあってもいいけど
その手段それぞれにメリットデメリットがある
タスクシステムも手段の一つに過ぎない
さっ、教えてくれ
0613名前は開発中のものです。
2009/02/14(土) 23:16:26ID:wj98RZ4Cは?どれが?
そもそも1つじゃなくてなんでたくさんあるの?
例えばな
「自動化」
ってあるけど
自動化はわかった
で?何がいいの?
ってなるじゃん
機能を並べただけなんだよ
それとそのメリットって>>2と比べてこのソースは〜って話?
それとも普通の組み方と比べてこのソースは〜って話?
0614名前は開発中のものです。
2009/02/14(土) 23:18:24ID:wj98RZ4C>そもそも1つじゃなくてなんでたくさんあるの?
まず、大まかにそんなにたくさん主旨があるのはおかしいだろ
それ、全部目的なの?
仮にそれのどれが欠けた場合に失敗なの?
それの1つでも残れば他にどんなデメリットが出ても成功なわけ?
一つに絞れよ
0615名前は開発中のものです。
2009/02/14(土) 23:20:11ID:segjkn8Uちゃんとpros/consが網羅されいるとも、分析/評価としてちゃんとしてるとも
別に俺は思わないしね
つっかかる相手を間違ってないか?
0616名前は開発中のものです。
2009/02/14(土) 23:35:14ID:vvv9+ke/確信に近づくと止まる、メリットデメリットを聞くと止まる
そして日付が変わってIDが変わる
今までの話はなかったことにして、話題を変えてまた実装の話
これの繰り返しだよ
代わりをよこせといってる人がいたからDSLを持ってきたのに
無視しやがるし、ちくしょうめ
0617名前は開発中のものです。
2009/02/14(土) 23:39:06ID:UJelYgTf俺の目的はゲーム作りの型を身に付けること。これで十分だろ。
まさか2chに来ておいて統一見解求めるつもりは無いよな?
修破離の修を独学でやるには既存の型を学ぶのが手っ取り早い。
そしてそこにC++なんちゃってタスクシステムがあった。だから飛びつく。
全くの初心者がいたとして、運しだいではこういったこともありえる。ただそれだけの話。
それこそ何を目的に何を問題として提起しているのか。
タスクシステムの根本思想が「タスク=ゲームオブジェクト」と腐っていようと、
規模の増大に耐えられない虚弱で捻じ曲がったシステムであろうと、
本当の初心者がたとえミニゲームであっても実際にゲームを完成させることが可能という点で
目的は達成可能な手段ではある。
目的を達成可能な手段がそれしか見つけられないならば、
たとえ先の無い最悪な手段でもあると分かっていても使うやつは使う。
他人ができるのはよりましな手段を残しておく位だと思うが
なぜその議論自体を止めようとするのか。
先達のいない孤独な入門者が必死にゲーム製作への道を模索してようやく腐れタスクシステムを見つけたときに、
それは糞だ。だから使うなと言い放ってまた路頭に迷わせるのと、
それは糞だ。だからもっとましなこっち使えと言うのと、
一体あなたはどちらを今実施しているのか。そういう話。
俺としては「タスク≠ゲームオブジェクト」な養成ギプスシステムを作ることまで邪魔するのは許せない
0618名前は開発中のものです。
2009/02/14(土) 23:39:59ID:UJelYgTf>>610 じゃなくて
>>612 ね
0619名前は開発中のものです。
2009/02/14(土) 23:42:47ID:KRjtx6a7ふつーに書けば良いだけだと思うんだが…
何をそんなに悩むのかが分からん。
0620510
2009/02/14(土) 23:44:17ID:V87nWtWS・タスク → データに格下げ
・foreach → タスクに格上げ
ってだけなんだけどね。
なんせタスクシステムっていう名前が悪かった。
タスクなんて言うから、データに処理をくくりつけたくなってくる。
タスクなんて呼ばず、データなりリソースなりというもっと低レベルな名前にしておけば、
そこに処理を括り付けようなんていう厨発想は消える。
変わりにforeachをタスクと呼びかえ、適当なマクロ定義して、
「ここに処理を書けば自動で並列化できますよ」と提灯ぶら下げとけば、みんなそっちに書く。
かくして世の中は平和になる。タスクシステム論争終わり。めでたしめでたし。
0621名前は開発中のものです。
2009/02/14(土) 23:46:58ID:UJelYgTf配列とりあえずわかったー!(気がするー!)
定義と宣言の違い、わからないー!
ポインタ、全くわからないー!
というレベルを想定してみよう。そして頭は中か下程度。
頭いい人とか身近に先達がいるという幸運なケースは除いて考えるのがミソ。
0622名前は開発中のものです。
2009/02/14(土) 23:53:19ID:vvv9+ke/なんだかよくわからないけど
俺が知りたいのはタスクシステムのメリットデメリットであって
君の目的ではない
長々と書いてもらってすまないが見当違いなので
話題そらしされてるのかと錯覚してしまったよ
以下略>>564
0623名前は開発中のものです。
2009/02/14(土) 23:58:01ID:krP7oFWEお前はプログラマ失格なんだから出てくんな
0624名前は開発中のものです。
2009/02/14(土) 23:59:22ID:vvv9+ke/目的と手段ぐらいは明確にできると思うよ
手段の利点欠点ぐらい明確に知っていると思うよ
頭のいい人はすごいからきっとできるよ、できるよ
俺は頭が悪いから教えて欲しいよ、欲しいよ
タスクシステムのメリットとデメリットを教えてください
また失格言われました><
0625名前は開発中のものです。
2009/02/14(土) 23:59:31ID:g0on6kGhおいおい、>>2は図も使って紳士的に説明努力もしているサイト群だぞ。
ドラゴンソルジャーLaw(笑)だかDouteiSeniorLoliconだか、何だか知らねえが、
キーワードだけって、なんじゃそりゃ?
全然、筋通してねえじゃねえか。
考え甘いんちゃうか?
>>2の説明努力が不足しているなら、それも補ってくれよ?
手前のクソは成分が違うって言いたいんだろ?
あぁ?
0626名前は開発中のものです。
2009/02/14(土) 23:59:31ID:UJelYgTf結構良かった
何人かこれで攻めていくんじゃないかと思う。
難しくて謎めいてるあたりもそそるかもしれないしね。
>>622
だから無意味で無害なパターンが必要とされてるの
初心者以外にとっては無意味でいいの。無意味で当たり前だから価値があるの。
0627名前は開発中のものです。
2009/02/15(日) 00:20:01ID:/3SpaYGWみんな俺だけ仲間はずれにして、泣くぞ
>>625
前に同じこと書いたけど>>2にはメリットデメリットが書いてないし
そのときも誰もメリットデメリットを教えてくれなかったし
推測しろという、不親切過ぎるだろ
補えって言うくらいだから、使ってる人は知ってるんでしょ?メリットデメリットを
まさか知らないで使っているわけないよね
誰でもいいからタスクシステムの
メリットとデメリットを教えてください
いじわるしないで教えてください、お願いします
0628名前は開発中のものです。
2009/02/15(日) 00:24:05ID:h/ugUohbメリットデメリット→相対的な話
0629名前は開発中のものです。
2009/02/15(日) 00:28:19ID:/3SpaYGWA.ハハン、自分で考えろ
……俺はどうすればいいんだろう
0630名前は開発中のものです。
2009/02/15(日) 00:28:29ID:pf6wVUPlお前が一行もプログラムの書けないポエマーなのは十分わかったから、もう出てこなくていいよ
0631名前は開発中のものです。
2009/02/15(日) 00:34:23ID:kIY9LVp/メリット、デメリットを出せって奴は俺もいるぜ
0632名前は開発中のものです。
2009/02/15(日) 00:38:02ID:h/ugUohbアドバンテージ云々って話にはならんだろ
0633名前は開発中のものです。
2009/02/15(日) 00:45:37ID:kIY9LVp/タスクシステムしか知らんの?
0634名前は開発中のものです。
2009/02/15(日) 00:47:57ID:/3SpaYGW>アドバンテージ云々って話にはならんだろ
DSL
タスクシステムがフレームワークに類するのかどうかわからないけど
フレームワークはいくつかある
比較対照はたくさんあるけど
タスクシステムの基本的な事がわからないのでなんとも言えない
それに比較対照がなくても、大きいメリット一つぐらいはわかりそうなものだが
Q.タスクシステムのメリットとデメリットを教えてください
A.ハハン、自分で考えろ
なんだかこのやりとりが気に入ったw
0635名前は開発中のものです。
2009/02/15(日) 00:53:32ID:Oer16jPuboost::protoでevalできるものは全てDSL(*)って言えるし、さらに(*)すらDSLの一部だぞ
0636名前は開発中のものです。
2009/02/15(日) 00:55:04ID:h/ugUohb比較対象として出してみ。
そうすればメリット、デメリットの話もできるだろう。
0637名前は開発中のものです。
2009/02/15(日) 01:01:58ID:/3SpaYGWDSLのメリットとデメリットはわかる
色々あるなら全部比較対照にすればいいから
比較してタスクシステムのメリットとデメリットを教えてもらいたい
>>636
タスクシステム的発想というものがさっぱりわからないけど
DSL
0638名前は開発中のものです。
2009/02/15(日) 01:14:37ID:20MV6lUe・メリット:なんだこんな簡単な仕組みでゲーム作れるんじゃん。やっぱりな。これなら自分でも覚えられるぞ! とか、
おれのSTG(もどき)が動いた! といったあたりまでゲーム製作が推進可能となる
・デメリット:わりと最悪の部類に入る設計思想でした。もう一歩も先に進めません。という時期が来る
ベテラン(?)
・メリット:デバッガとか周辺ツールが便利らしい
・デメリット:デバッガとか周辺ツールを自分で作るらしい。あと、抽象化を見極めるワザが必要らしい。
タスクシステムに設計パターンとしてのメリットは無いね。
Byアンチ
0639名前は開発中のものです。
2009/02/15(日) 01:19:05ID:h/ugUohbDSLとやらと比較したいんだったら、自分で比較作業やればいいじゃないか。
それを他人にさせようとするなよ。
ただしタスクシステム批判するなら、根拠となる比較作業結果を明示する。
0640名前は開発中のものです。
2009/02/15(日) 02:50:31ID:FA9cfUTD> 『ローカル用語だな。公衆の場で何の事前説明もなくタスクシステムとか語られても意味わかんねー 』
> 脳みそに染み渡った?質問どうぞ
つまりアンチタスクシステム厨というのは、自分にとって理解できないものに対して『俺は何が理解できて
いないか理解できていないぞ』と公衆の場で叫ぶキチガイと言うことか?
0641名前は開発中のものです。
2009/02/15(日) 03:05:29ID:kIY9LVp/http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/8884.zip
どこか変わったか?w
っていうか糞わかりにくいコードだったからバグってるかもしれない
まあ、雰囲気だけ受け取ってくれ
どうせやるなら
自機、敵、弾の3種類のクラスがあって
弾は追尾機能(関連を作るため)がついてるほうがいいな
0642名前は開発中のものです。
2009/02/15(日) 08:39:51ID:OFTP7lcImainにwhileがあって中で星の数だけ処理をforで回す…と。
初心者がC言語習って最初に作るミニゲームとかはこーなるだろうなーと。
これでブラックホールとか自機とかさらに複数の要素が加わったら全部の要素をこのwhile内にハードコードで追加して巨大化していくのかな?
タスクシステムなら新しい要素をタスクに登録するだけで、スクリプトとかから動的に要素を増減できるけど。
さらに、ゲームだとタイトルとかコンフィグとか、デモとか、ボーナスステージとかステージ毎に違う仕掛けがあるケースはどう書くのかな?
一個のメインループの中にswitchとかで切り分けて無理やり全部詰め込む?
それとも全ての要素の組み合わせごとにメインループを分ける?
…ってことは見苦しいからやりたくない、って思ったプログラマがタスクシステムを作ったんだけどね。
タスクならメインループは一個。タイトルやゲームも要素の増減もタスクで処理可能。
頑張って非タスク作るって、結局アンチはその程度のことも分かってないプログラマだった、という証明になってるんだが…
まぁ、たまたまこのアンチのレベルが低いだけで、まさか全部のアンチがこんなレベルのプログラマじゃないよな?
0643名前は開発中のものです。
2009/02/15(日) 08:49:10ID:5MvrWTvYオレも最初そう思ったw
Squirrel可愛いよSquirrel
タスクからSquirrel呼んじゃうよ(まあ俺はタスク使わんけど)
んで、まじめにDSLという(Java/Ruby界隈中心に広まった?)言葉の定義を調べてみたが、
どうやら外部DSLはSquirrelやLua、XML、JRuby、Groobyのようないわゆる組み込み言語を指すらしい
で、内部DSLというのはyacc/bisonやboost::lambda、Lispのマクロ機能、
アスペクト指向トランスレータに見られるような言語自体のメタ的拡張手法を指すようだね
煽るつもりはないが、内部DSLがゲームのなにを解決するのか分からないなあ
しかもタスクの問題範囲と競合してるようにも見えない
どういう風にゲーム開発に活用しているんだろう?モナディウスとか?
>>642
売り言葉に買い言葉なのは分かるが、安全なところから他人のコードを叩くなよ
0644名前は開発中のものです。
2009/02/15(日) 09:32:34ID:pf6wVUPlまあ、アンチの代表格が、510のプログラムさえ読めなかった低脳ポエマーだったことが発覚したので仕方ないんじゃね?
あと説明責任君とか。510のプログラム見てわからないなら、プログラマを語るなと言いたいんだが。
0645名前は開発中のものです。
2009/02/15(日) 10:15:31ID:kIY9LVp/だから、こんなサンプルじゃそーゆーのを俺がどう書くのかわかんねーだろ?w
だから、自機、敵、弾のサンプルのがいいって言ってるのに
0646名前は開発中のものです。
2009/02/15(日) 10:21:59ID:OFTP7lcIならこのサンプル出す意味無いんじゃね?
タスクシステムの比較対象にすらなってないし。
0647名前は開発中のものです。
2009/02/15(日) 10:25:34ID:kIY9LVp/ホント、その通りなんだけど
それは>>510にしかわからないw
0648名前は開発中のものです。
2009/02/15(日) 10:30:58ID:/3uMAyPp単純で読みやすい。
whieループの中の「〜タスク」は別関数に切り出して欲しいが。
こんな簡単な問題をなんで変なマクロでくくって、ややこしくするのかが理解できん。
>>510タスクシステムが理解できないのではなく、
簡単な問題をわざわざ複雑に解く理由が分からんと言っている。
事実、>>641のコード量は>>510の半分程度になってるだろ。
0649名前は開発中のものです。
2009/02/15(日) 10:32:18ID:/3uMAyPp0650名前は開発中のものです。
2009/02/15(日) 10:39:55ID:hUQv8RGuDSL具体例出してくれてありがとう。よく分かったよ。
Squirrelな俺にとってはいつのまにか外部DSL派だったわけね。
スクリプトにタスク概念入れると処理の一貫性や可読性やらの諸問題で、
タスク使わない派に戻りました。今のところコルーチンでFAな感じ。すげえし読みやすい/書きやすいよ。
もしコルーチンで記述できない/処理が重い問題にぶち当たればタスクに戻るよ。その辺は柔軟に考えている。
ゲームっつっても、小規模STGなのか大規模RPGなのか、2D/3Dなのかネットワーク対応/非対応なのかにもよって変わってくるだろうし
理論と実践は異なるってことだよだな。銀の弾丸は無いよ。
各自好きなの使えばいいじゃん。
0651名前は開発中のものです。
2009/02/15(日) 10:44:27ID:kIY9LVp/こんなんじゃ納得できないと思うな奴等w
結局オブジェクトも1種類しかないし
種類が増えたときにごった煮が役に立つを思ってる奴等でしょ?w
なんで>>510なんかに飛びついてたのかわからないけどw
0652名前は開発中のものです。
2009/02/15(日) 10:45:34ID:OFTP7lcIそれは庭いじりしか知らない人がハサミで十分だから
ノコギリの必要性が理解できないと言ってるのと同じ。
サンプル規模のプログラムでタスクシステム使うのは庭いじりにノコギリ使うようなものだが
>>642 のような実際のゲーム規模では必ず遭遇する問題にはタスクシステムかそれに変わる何らかのシステムが無いと
こんなベタ組みじゃやってられんよね、ということだ。
0653名前は開発中のものです。
2009/02/15(日) 10:52:37ID:kIY9LVp/絶対、かわんねぇよ
だって書かなきゃいけない処理って決まってるじゃん
書かなきゃいけない処理の一覧書き出して
タスクシステムで書かなくてよくなる処理を○でもつけてみろw
自機、敵、弾ってあってそれぞれが関係するなら
自機x敵、自機x弾、敵x弾の関連の処理は絶対に省略できないってw
アフォでもわかるべ〜w
冷静になって考えてみろよw
0654名前は開発中のものです。
2009/02/15(日) 10:58:26ID:OFTP7lcI>タスクシステムで書かなくてよくなる処理を○でもつけてみろw
タスクシステムは書かなきゃいけない処理を書かなくてもよくするためのものじゃないぞ。
そもそもそんなシステムは無いだろ。
関係するオブジェクトの増減やゲームの状態推移を統一した扱いにできて便利、ぐらいのもの。
自機、敵、弾だけで完結できるほどシンプルなサンプルレベルのなら使わなくてもいいんでない?
0655名前は開発中のものです。
2009/02/15(日) 10:59:18ID:pf6wVUPl抽象化するコストって、TaskSystem自体は再利用できるんだから、たくさんゲームを作るなら
ゼロに近づいていくんだが。
まさかあんたは一本だけゲームを作って一生を終えるつもりか?
0656名前は開発中のものです。
2009/02/15(日) 11:08:15ID:kIY9LVp/>タスクシステムは書かなきゃいけない処理を書かなくてもよくするためのものじゃないぞ。
>関係するオブジェクトの増減やゲームの状態推移を統一した扱いにできて便利、ぐらいのもの。
はぁ?じゃ、何がメリットなんだよw
さっさと言えよ
とりあえず>>510のサンプルなんてなんの役にも立たないってわかった?
目的もなく動いたって無駄なんだよ
ホント馬鹿だな
無駄、呼吸してること自体が無駄
>>510のサンプルに飛びついてたゴミはすべて無能
>自機、敵、弾だけで完結できるほどシンプルなサンプルレベルのなら使わなくてもいいんでない?
だから、そういうだろwお前等w
>>510のサンプルはなんの意味もねーって言ってるのに
わかんねぇかなぁw
0657名前は開発中のものです。
2009/02/15(日) 11:14:35ID:hUQv8RGu>自機x敵、自機x弾、敵x弾の関連の処理は絶対に省略できないってw
処理が似たり寄ったりなら、そこはクラスの「抽象化」の一言で済むんじゃない?
タスクの範疇じゃないでしょ。タスクについて勘違いしてるよ〜
0658名前は開発中のものです。
2009/02/15(日) 11:14:44ID:OFTP7lcI>はぁ?じゃ、何がメリットなんだよw
>>642 でタスク使えばこーかける、ってのが出てるけど。
これじゃ理解できないかな?
まぁ、メリットデメリットが理解できないなら使わなければいいだけなんだが。
誰か君にタスク使うよう強要してるの?
0659名前は開発中のものです。
2009/02/15(日) 11:16:56ID:kIY9LVp/うーん?
何?言ってることさっぱりわからない
苦し紛れに意味わかんないこと言わないでよw
0660名前は開発中のものです。
2009/02/15(日) 11:19:37ID:hUQv8RGuGoFのデザインパターンとか、その辺から見てみるといいよ。
あくまでタスクは状態遷移のためのもので、データの抽象化等とか根本的に違うっしょ。
0661名前は開発中のものです。
2009/02/15(日) 11:20:48ID:kIY9LVp/えーだって結局>>510のサンプルはなんの意味もなしてないわけでしょ?
あのソースにあれこれ言ってた人はどこ行ったの?
0662名前は開発中のものです。
2009/02/15(日) 11:22:49ID:OFTP7lcIタスクシステムの実装の一例として
>>641のサンプルよりは意味があるんでない?
0663名前は開発中のものです。
2009/02/15(日) 11:24:37ID:kIY9LVp/おいおい>>641は>>510がなんの意味もなくね?っていうのを表現するために作ったんだぜ
んでそれは納得できた?YES?orNO?
0664名前は開発中のものです。
2009/02/15(日) 11:29:11ID:hUQv8RGu従来のタスクよりは、可読性について大幅に改善していると思うよ。
今までのタスクは処理が飛びまくるから目で追うのが大変だったからね。
0665名前は開発中のものです。
2009/02/15(日) 11:33:51ID:OFTP7lcI>>510 タスクシステムを使ったサンプル(実装例として意味ある)
>>641 何も使ってないサンプル(実装例として意味無い)
だけの話でしょ…
というか、タスクシステムごとき単純な考え方を煽りじゃなく本当に理解できないとしたら
プログラマとしてどーかと思うぞ。
0666名前は開発中のものです。
2009/02/15(日) 11:34:44ID:/3uMAyPp扱う問題が巨大になったとき、>>510版と>>641版でどれほどの差が出るかなんだが。
なんかあるの?
単にタスクシステムの分だけオーバーヘッドになってるように見えるんだけど。
>>510を使えば使うほど何らかのコストが浮くのかな?
一体何がラクになるのだ。
どんな問題を解決しているのだ。
もともと制御部っていうのは本質的に複雑だから再利用は難しい。
汎用的にすればするほど中身がなくなっていく部分。
「ドラクエ風ゲームエンジン」「横シューエンジン」「スト2風格ゲーエンジン」「アンリアル風エンジン」
ここまで的を絞って3〜4本量産してようやくペイするってところじゃないか。
マルチスレッドに注目したMTフレームワークなんかは、デバッグのしやすさや移植しやすさも売りにして抽象コストをキッチリ回収している。
実行環境/開発環境として、実行/開発において誰もがぶち当たるありふれた問題を一手に引き受けて解決している。
単にforループで済む部分を別のやり方でやって偉ぶっているわけではないので混同しないようにな。
>>510
これはHOW。結局タスクシステムはどの問題を解決しているのか。
ただのforループ以上の何があるんだ。ただのforループに勝ってるのか。
そうでないならforループを使うほうが遥かに良い。単純明快説明不要でコスト0だ。
>>620
「ここに処理を書けば自動で並列化できますよ」
まず、何がどう自動なんだか分からない。
実のところ、何も自動化されていない。
0667名前は開発中のものです。
2009/02/15(日) 11:35:19ID:pf6wVUPlお取り込み中のところ横からで済まないが
>>641 のソースだが、明らかに元のソースより読みにくい。
forがロジック部に出てきてるのだとか、null判定してcontinueしているのとか
Starの空きを探す部分だとか。
結局、
・もし事前に510のタスクシステムが存在していてこの開発コストが0だと見なせるなら、
641のコードのほうが工数が多いのは明らか。
・もし事前に510のタスクシステムが存在していてこの開発コストが0だと見なせるなら、
が成り立たないなら641の書き方でいいんじゃね?とは思うけどな。
0668名前は開発中のものです。
2009/02/15(日) 11:36:30ID:kIY9LVp/で?>>510と>>641は大して変わらないソースになったけど
これがオブジェクトの種類が増えていくとどう変わる?って展望があるのかな?
そーゆーことが言いたいなら少なくともそういう色の出てるソースじゃないと意味ないよね?
つまり、この時点では>>510はなんの意味もない、そういうことだよね?
0669名前は開発中のものです。
2009/02/15(日) 11:37:31ID:kIY9LVp/>>>641 のソースだが、明らかに元のソースより読みにくい。
なんか言い出しちゃったよw
0670名前は開発中のものです。
2009/02/15(日) 11:39:29ID:OFTP7lcI明確なデメリットがあるからアンチとか
他にもっといい方法があるからアンチ
ってわけじゃなく
そもそも経験不足でメリット・デメリットや使いどころが想像つかないけど
他の人は理解してて悔しいからアンチ
って感じにしか見えん。
自分の好みに合わないなら使わなきゃいいだけなのにねぇ…
0671名前は開発中のものです。
2009/02/15(日) 11:40:50ID:pf6wVUPl> 「ドラクエ風ゲームエンジン」「横シューエンジン」「スト2風格ゲーエンジン」「アンリアル風エンジン」
> ここまで的を絞って3〜4本量産してようやくペイするってところじゃないか。
そう簡単な話じゃないんだ。
これは現場の俺から言わせてもらえれば、
エンジンを作ったり設計したりしてるのは賢い連中なのよ。
それぞれのゲームを作ってるのはもっと質の悪い、単価の安い、なんと言うか・・まあ、皆まで言わすな。
だから、プログラムのうち、難しい部分と簡単な部分とを切り分けて、難しい部分を賢い連中に
担当させるのは、理にかなってるんだよ。
0672名前は開発中のものです。
2009/02/15(日) 11:41:22ID:5MvrWTvY組み込みスクリプトには2種類のメリットがあると思う
1.フレームをまたいだ継続処理の記述が平易にできる
コルーチンがもてはやされるけど、実はコルーチンでなくても
コンテキストを保ったままフレームをまたげる実装であれば良い
そういう意味では目新しいものではなく、今までも各社独自でこのようなスクリプト実装は行っていた
2.データをソースコードの外部に出すことができる
Game Programing Gems1巻で最初に触れられるのがこれ(データ主導設計)
今風に言うとXMLよりJSONだよね的な話だが、もちろんコレも新しいものではない
こうして見ると、結局コルーチンもデータ主導設計もDSLと同じで、
それと意識されることなく昔から使われていた手法だよね
考え方に名前を付けるのは必要なことだけど、普及しはじめるとHYPE化するのはどうしてなんだろう
みんな銀の弾丸が欲しくてHYPEに踊らされすぎなんじゃないか?
#もちろん"タスクシステム"もHYPEであり、タスク厨はそれに踊らされ、アンチはそれを嫌うクセに別のHYPEに群がるんだ
0673名前は開発中のものです。
2009/02/15(日) 11:42:11ID:hUQv8RGuわざわざ>>510から戻した理由がわからん……。
0674名前は開発中のものです。
2009/02/15(日) 11:43:39ID:pf6wVUPlいや、比較のためだろう。
俺は、>>641 はそういう意味ではいい仕事したと思うよ。
0675名前は開発中のものです。
2009/02/15(日) 12:01:12ID:hUQv8RGuなかなか深い観点だ。恐れ入った。
業界人じゃないから昔の話とか全然わからんけど、色々と工夫していたみたいね。
いまからゲームを作るのであれば、コルーチンで書く書かないはスクリプターのセンスに任せるとして、
データの外部化については正直必須だと思うんだ。
その辺をしっかり作っておけば、準汎用で使いまわしが便利な資産になる感じだと思ってる。(完全に汎用ではないけど)
HYPE化はしかないんじゃない?
タスクに代わる実装には選択肢が多々あるから、
1択に絞れる(1択に絞れる方法が存在する)のならそれに依存したいとおもうのは仕方ない。信仰宗教と代わらんね。
0676名前は開発中のものです。
2009/02/15(日) 12:19:02ID:D0niLPLq作るゲームの規模や種類によっても違ってくるだろうし、
万事での最善も最悪も無さそうだ。
実際にある程度の規模のゲーム作って
議論してるやつがどれだけいるか知らんがなあ。
0677名前は開発中のものです。
2009/02/15(日) 12:32:22ID:20MV6lUe1000行程度から5000行程度ならタスクシステム導入でもなんとかやりすごせる
30000行程度ならタスクシステムは糞。完全に開発ストップ。 >>641 的に書くとこから再出発。
100000行程度、、、組んだこと無い
>>641 よりタスクシステム導入した方が良いとかいうやつ、30000行以上のもの書いたことあるのか?
また話変わるぞ?
そんな小手先の技術じゃどうにもならなくなる時が来るはずなんだが
なぜそこまでたどり着かないのか不思議
0678名前は開発中のものです。
2009/02/15(日) 12:44:56ID:fgsPvXPGタスクシステム以前に設計が糞なだけだろ
0679名前は開発中のものです。
2009/02/15(日) 12:45:47ID:20MV6lUe>>620
0680名前は開発中のものです。
2009/02/15(日) 12:47:31ID:20MV6lUeタスクシステムは設計の範疇にいれないんだwww
設計じゃないならなんなんだよwww
0681名前は開発中のものです。
2009/02/15(日) 12:47:49ID:hnmq8yzx自分も同人で50Kオーバーの作品を作ったことあるけど、
総ステップと、タスクが使えるかどうかは、>>670と全く同じ考え。
タスクシステムは歪みがこの程度のサイズで出てくる。
行数で、手法を変えるというよりも、タスクでやるのが、無理になってくる。
0682名前は開発中のものです。
2009/02/15(日) 12:48:40ID:hnmq8yzx0683名前は開発中のものです。
2009/02/15(日) 13:03:59ID:pf6wVUPl3万行って、ソースで言えばたったの1MBぐらいだろ?
10万行規模のソースのあるプロジェクトに関わったことがないって、どこの弱小ゲームメーカーだよ。
ちょっとした規模の商用ゲームなら、ライブラリの一部だけでも3万行ぐらいあるだろうに。
タスクシステムに限らんが、使うに値するところには使えばいいんだ。
まあ、たいていのゲームは大規模になってくると、そのゲームに特化したエンジンにせざるを得ないので
汎用的で使い回しの利く部分は減っていくのは仕方ないが。
0684名前は開発中のものです。
2009/02/15(日) 13:08:21ID:hUQv8RGuタスクシステムは規模が大きくなるにつれ処理を追うことが困難になりやすい。
(そのためにタスク管理やタスク監視のデバッグメニューを実装する必要も出てくる)
そんな中>>641に戻すのも手だが、それなら初めから組み込みスクリプト使うかな。自分なら。
0685名前は開発中のものです。
2009/02/15(日) 13:39:19ID:h/ugUohbCGエフェクトのハードコーディングを避ける目的に使うくらいじゃねえの?
ある程度、個々のタスクの動作の選択肢が限られているからこそ、
>>2をより一層抽象化できるというか。
タスクシステムの動作原理を継承しているよな。
0686名前は開発中のものです。
2009/02/15(日) 13:48:09ID:OFTP7lcI決して見やすいソースでは無かったけど、不可能では無いわな。
ゲームのモード用メインループタスク階層。敵や味方のオブジェクト用タスク階層。
メニューシステムタスク階層とか、分割統治方式で使ってたが。
他にはswitch/caseの状態を階層化して管理してる某ステップ方式とかも見たことあるが
どれも規模が大きくなると悲惨なことには変わりなかったなぁ
ただ >>641 は何のシステムも無しに力技でベタに作ってく方法だから、そもそもタスクが使えんほど
大きなコードではまったく話にならんよ…
0687名前は開発中のものです。
2009/02/15(日) 13:59:12ID:hUQv8RGu例えばLuaの適用ゲームはこんな感じ。
http://en.wikipedia.org/wiki/Lua_(programming_language)#Applications
どの程度使ってるのかは、ゲーム内によって異なるので定かではないが、
CEDECでスクエニの中の人が発表していた内容では、
WiiのFFCCというゲームの開発ではSquirrelを使っていて、
コード比はプログラム3割スクリプト7割だってさ。
0688名前は開発中のものです。
2009/02/15(日) 14:10:51ID:h/ugUohb参考になりました
0689名前は開発中のものです。
2009/02/15(日) 14:19:19ID:kIY9LVp/それは意図が全然違うじゃん
スクリプトは処理を企画に渡せるってだけでしょ?
書かなきゃいけない処理はまったく変わらない
スクリプトを話題に出してる時点で意味不明
0690名前は開発中のものです。
2009/02/15(日) 14:20:50ID:h/ugUohbスクリプトだと中間言語経由になるから、高速な相互影響処理には向いてないよね。
>WiiのFFCC
FC世代RPGの厚化粧版か。
>コード比はプログラム3割スクリプト7割
プリミティブな次元では従来のゲームからの変革はなし。
VFXだけ肥大といったところか。
タイトルの詳細をチェックしていないので、テキトーなこと言ってるけど
結局、タスクシステムは必要ってことだ。
0691名前は開発中のものです。
2009/02/15(日) 14:26:13ID:hUQv8RGu減ったりも増えたりもしない。
まずは、フレームワークとスクリプトを完全に分けます。
で、スクリプト言語の持っているコルーチンに頼って、
スクリプト実装者がゴリゴリ書く。
仕事も責任も分担できる。オススメです。
0692名前は開発中のものです。
2009/02/15(日) 14:26:58ID:FA9cfUTDムリになってくるってことだろ?
0693名前は開発中のものです。
2009/02/15(日) 14:27:13ID:kIY9LVp/じゃあ、この場所で出す話題として適切なの?どうなの?
それともその話題はタスクシステムのメリットデメリットに直結するものなの?
ちゃんと考えて発言してよ
0694名前は開発中のものです。
2009/02/15(日) 14:30:08ID:hUQv8RGuJITがあるよ。x86なら公開されてる。必要なら個人で実装すればいいけど、敷居は高いかな。
速度を稼ぐ必要があるのならCに戻すことも考慮されている。
Luaならここかな。http://luajit.org/
0695名前は開発中のものです。
2009/02/15(日) 14:34:20ID:hUQv8RGu俺の考えは、アンチタスク派で、
タスク派がコード量でプログラムが肥大化して可視性が悪いよというのであれば、スクリプト使え
ってこと。
ちゃんと考えて発言してないように見えるかい?
0696名前は開発中のものです。
2009/02/15(日) 14:43:31ID:FA9cfUTDjikiについての関数は当然別々に書くんだよな? 違うの?
0697名前は開発中のものです。
2009/02/15(日) 14:55:33ID:OFTP7lcI今後ゲーム開発はスクリプト使う方向に行くだろうし、
それ自体は賛成だけど
タスクシステムの上にスクリプトが乗っかるのか、スクリプトの上にタスクシステムを構築するのか、って感じで
スクリプト自体はタスクシステムの有無とはまた違う話だよね。
間接的にデータ駆動でコード中の複雑性が減ってタスクシステムでもコード見通しがよくなるね、という程度の話なのかな?
まぁネイティブコードの量は減るから見通しは良くなりそうだけど、スクリプトの分量が増えると
ネイティブコードと中間コードの二系統をメンテする手間で結局あまり変わらない気もする…
0698名前は開発中のものです。
2009/02/15(日) 15:03:18ID:kIY9LVp/処理よっては別になるかもわからんねぇ
敵のパーツを奪って武器・装甲を強化するタイプの自機と
経験値蓄積型のパワーアップをするタイプの自機ぐらいの違いがあると
もうプログラム自体共通部分を探すほうが難しいぐらいになるかもしれんし
まあ、仕様によるかな?
何が来てもいいように別にしておくのがいいな
もし、共通部分があったとしてもたかが数箇所(自機分)でしょ?
0699名前は開発中のものです。
2009/02/15(日) 15:03:19ID:hUQv8RGuスクリプトだけでタスクは乗らないです。
どっちも載せたりすると直感的に分かりづらくなる。
フレーム間をまたぐ処理の場合は、コルーチン(いわゆる協調スレッド、ファイバー、マイクロスレッド)を使います。
>まぁネイティブコードの量は減るから見通しは良くなりそうだけど、スクリプトの分量が増えると
>ネイティブコードと中間コードの二系統をメンテする手間で結局あまり変わらない気もする…
これは同意です。1人で実装するとなると2倍手間になりそうですが、そこは明確な作業分担でできるってことで。
スクリプトのメンテはスクリプトの動的ロードを実装すれば、プログラム実行中でも即座に反映されるようになるから便利ですぜ
0700名前は開発中のものです。
2009/02/15(日) 15:04:07ID:hnmq8yzx>>696
ごめん。よくわからない 多分自分の理解力不足だけれど
タスクでもそうでなくても、jikiを別々には書かないかと。
タスクにした場合と壮でない場合で、その点に違いが出るの?
0701名前は開発中のものです。
2009/02/15(日) 15:13:38ID:OFTP7lcI>フレーム間をまたぐ処理の場合は、コルーチン(いわゆる協調スレッド、ファイバー、マイクロスレッド)を使います。
オブジェクトの粒度をどの単位にするかにもよるけど
例えば敵の弾一個一個につき協調スレッド、ファイバー、マイクロスレッド、のどれかの生成、破壊を繰り返すの?
そりゃパフォーマンス的に厳しいんでないかなぁ…
協調スレッド、ファイバー、マイクロスレッドのどれも普通のスレッドに比べればかなり軽いけど
タスクシステムの関数コール同等の負荷とは比べ物にならないぐらい重いし。
まぁ、十年後のPC環境なら全然問題ないレベルの負荷かもしれんが。
0702名前は開発中のものです。
2009/02/15(日) 15:20:18ID:FA9cfUTDじゃ、自機が変更されると言う仕様を実装すると、それぞれの機体別jikiをswitch〜caseで
分岐して呼び分けるわけ?
>700
じゃ、jikiの内部で、機体によって処理をswitch〜caseで分岐するわけ?
0703名前は開発中のものです。
2009/02/15(日) 15:22:52ID:hUQv8RGuコルーチンはスクリプト言語が実装してくれてるから、スクリプト内で使うんです。
(LuaやSquirrelがスクリプトの実行順に関して、協調型のスレッドをスタック型で内部実装してくれている)
コルーチンの生成にはちょっとコストが掛かるので、一度作ったら再利用して呼び出すことで無駄をなくしますね。
パフォーマンス的に厳しいデメリットに関しては、ネイティブ側で対応します。
(例えばSquirrelはC++のクラスをオブジェクトとして持つことも出来ます)
0704名前は開発中のものです。
2009/02/15(日) 15:24:03ID:FA9cfUTDスクリプト上のコルーチンの中から呼んでるC/C++関数の中でyieldしたい場合は?
0705名前は開発中のものです。
2009/02/15(日) 15:26:41ID:20MV6lUe擁護派 :本来スクリプト言語を適用すべき箇所に絞ってタスクシステムの導入可否の話をしている
アンチ派:本来ネイティブ言語を適用すべき箇所に絞ってタスクシステムの導入可否の話をしている
どちらもスクリプト言語を適用すべき箇所まで >>641 で組むとは考えてないだろうし、
どちらもネイティブ言語を適用すべき箇所までスクリプト化すべきとは考えてないだろう。
多分論点はここかな
論点1:「ゲームエンジン部分=ネイティブ言語の相互作用記述+スクリプト言語解釈部」は意見一致してるよね?
論点2:「個々のスクリプト→個々のタスク」というのも性能UPが必要ならありでは?
アンチはネイティブ言語を全廃してスクリプト言語に置き換えるべきとは言ってないと思うし、
擁護派はネイティブ言語の相互作用記述を分解してタスクに置き換えるべきとは言ってないと思う。
0706名前は開発中のものです。
2009/02/15(日) 15:26:41ID:hnmq8yzxまだ理解し切れていないのだけれど、
普通に継承使っては駄目ですか?
0707名前は開発中のものです。
2009/02/15(日) 15:28:05ID:kIY9LVp/どう変更されるかによるなぁ・・・
例えば、自機Aが後方に下がるシーンと自機Bが変わりに前方に出てくるシーンなんか入る日には
もうインスタンス2ついるわけだし操作がユーザにあるって点以外はすべてが別処理じゃね?
ペカっと光ってチェーンジ!でよくてもやっぱり変更が怖いから完全に別にオブジェクトだな・・・俺なら
0708名前は開発中のものです。
2009/02/15(日) 15:29:29ID:OFTP7lcIスクリプト内で対応しているコルーチンならコンテキストスイッチとか無いからパフォーマンスは大丈夫かもね。
でもそうなるとスクリプト管理オブジェ同士の依存関係が有る場合、状態取得とかで同期処理が必要になるが…
0709名前は開発中のものです。
2009/02/15(日) 15:31:07ID:FA9cfUTDいや、別にそれでいいけど、このスレに約一名C++ワカランチンが常駐してるから、最底辺にあわせて
判りやすいレベルで話した方がいいかと思って。
じゃ、共通部分をtemplateにしてvariantsをfactoryから作るようにして対応するんだ。
常道だよね、やっぱり。
0710名前は開発中のものです。
2009/02/15(日) 15:32:53ID:pf6wVUPlはじめてのCでも猫でもわかるでも読んで出直してくるべきじゃね?
0711名前は開発中のものです。
2009/02/15(日) 15:33:04ID:hUQv8RGuこうやって実装できなくないけど、実装しない方が良いと思う
http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html
速度が必要でC++で実装しつつ、関数を途中で止めて戻す場面ってのがあまり思いつかないし、
スクリプト側でcoroできれば十分かと。
なので、スクリプトからC/C++関数へはサブルーチンのみと縛るべきかな。
もし必要になればそのときに考えます。
0712名前は開発中のものです。
2009/02/15(日) 15:34:28ID:kIY9LVp/そんなことして共通部分が共通でなくなっちゃったら大変だぜ
俺は継承はやらないほうがいい派
メンバで持つ派
0713名前は開発中のものです。
2009/02/15(日) 15:37:12ID:FA9cfUTDそんなのは結局、どこまでをまとめて一つのクラスにするかの問題だから、瑣末なことだよ。
作ったものを修正せずに済むとか思ってるほうが間違いだ。たとえメンバにしたとしても、
それを分離修正する必要があれば同じこと。
0714名前は開発中のものです。
2009/02/15(日) 15:38:45ID:hnmq8yzxあ、すまん 継承って軽く書いてしまったけれど、
自分も>>712と同じく、コンポジションとかいうの派
0715名前は開発中のものです。
2009/02/15(日) 15:39:48ID:hUQv8RGuそこが一番のネックですね。
スレッドは協調型のみですので普通のスレッドのような並列処理に関しては、
同期処理が保障されていないです。
(基本はシングルスレッドのみで実装しているので試してみたことがない)
並列可能なスクリプト言語は今後の課題ですね
0716名前は開発中のものです。
2009/02/15(日) 15:39:54ID:hnmq8yzx上の修正が末代まで来るのがやだから、集約使うのではないの?
0717名前は開発中のものです。
2009/02/15(日) 15:42:33ID:FA9cfUTD修正の手間はさほど変わらないよ。とくに機能を分離する場合はね。
0718名前は開発中のものです。
2009/02/15(日) 15:50:25ID:OFTP7lcIあれ?
>フレーム間をまたぐ処理の場合は、コルーチン(いわゆる協調スレッド、ファイバー、マイクロスレッド)を使います。
ってことはフレームをまたぐオブジェクトが複数ある場合は必然的に
並列処理が必要になるんだよね?
>並列可能なスクリプト言語は今後の課題ですね
となってしまうとその方法(コルーチン)では使い物にならないんじゃない?
結局、スクリプト使ったゲームで一部データ駆動されてるものも
オブジェクト単位ではタスクシステムなりに乗っかってスクリプトのupdate部分がオブジェクト数分定期的に呼ばれる
という実装なんじゃないかな。
でないとマルチスレッドの複雑性の問題をスクリプトが抱え込むことになるような…
0719名前は開発中のものです。
2009/02/15(日) 15:54:46ID:FA9cfUTD内部の状態変更要求を外から通知された場合、どう処理するかが問題。
実行途中のcoroutineを強制的に終了したとしても大丈夫かどうか。
0720名前は開発中のものです。
2009/02/15(日) 15:55:33ID:T/3xZEUAマルチプロセッサでのネイティブスレッドとは違って並列処理にはならないので
同期制御の類は要らないはず
時分割された処理の継続をあからさまにFSMのような形で実装するのと
違って、自然に書けるのがコルーチンの利点で、プログラムカウンタや
スタックのリストアを処理系がやってくれる
>>715が「課題」と言っているのは、マルチコアでのパフォーマンスが求められる
ようになった場合にどうするか、という類の話では
0721名前は開発中のものです。
2009/02/15(日) 16:00:34ID:h/ugUohb>>699
>コルーチン(いわゆる協調スレッド、ファイバー、マイクロスレッド)
ってのは結局・・・
//万里ゆうじ氏が著書で紹介していたタスクシステムを参考
struct Task
{
//(1) データ更新・描画処理用関数ポインタ
void (*Update_n_Draw)(Task*);
//(2) データ記録用バッファ。場合によってはメンバ変数に分解して固定。
char WorkBuf[WOKK_BUF_SZ];
//以下省略
: //タスク・チェーン結合用ポインタ
};
上のタスクシステムで言うところの、
1.Task構造体の生成・破棄
2.(1)の関数の切り替え
3.(2)のメンバ変数への分解
の処理パターンを、ある程度、限定・抽象化して、スクリプト駆動でルーチン化してるだけなんじゃね、実質?
コルーチンの生成・フレーム間維持・破棄のために、結局バックグラウンドで、タスクシステムが必要でしょ。
データのまとまりって言うのは、結局構造体だ。
0722名前は開発中のものです。
2009/02/15(日) 16:03:52ID:FA9cfUTD0723名前は開発中のものです。
2009/02/15(日) 16:03:59ID:hUQv8RGu>>720で合ってます。
現在の組み込みスクリプト言語はシングルスレッド仕様で、
マルチスレッド化やマルチコアの恩恵は受諾できないと思います。
0724名前は開発中のものです。
2009/02/15(日) 16:08:49ID:OFTP7lcIそーなると結局
コルーチン同士のリソース同期処理はどうなったの?
これはスクリプトの仮想マシンがシングルスレッドかマルチスレッドか、というのとは
別の話なのだが。
0725名前は開発中のものです。
2009/02/15(日) 16:11:02ID:h/ugUohb詳しく
0726名前は開発中のものです。
2009/02/15(日) 16:19:47ID:hUQv8RGu同期処理はLuaやSquirrelの仕事ですね。こちらが意識する必要はないです。
そもそも走っているスクリプト解釈スレッドは1つだけです。
複数のコルーチンをつくり、中断/再開を行うことで擬似マルチスレッドっぽいことはできますが、あくまで擬似です……。
あくまでコルーチンはコードの見晴らしの為だけに使います。(使うのも使わないのもスクリプト実装者の裁量による)
0727名前は開発中のものです。
2009/02/15(日) 16:25:01ID:FA9cfUTD> 2.(1)の関数の切り替え
のあたりが違う。
>コルーチン(いわゆる協調スレッド、ファイバー、マイクロスレッド)
でFSM的なものを書くのは、関数ポインタなりswitch〜case使うなりするよりも面倒な時がままある。
特に外から状態が変更されるような場合は。
普通に、外から影響を受けないsequentialな処理を途中でyieldさせつつ、しかも並列に実行したい
場合には効果ある。
だから使う対象をよく観察すること。
0728名前は開発中のものです。
2009/02/15(日) 16:36:18ID:h/ugUohbつまり相互影響処理の無いタスクってことだろ。
関数の切り替えは、スクリプトで駆動されたタスク種類によって切り替えるという意味。
0729名前は開発中のものです。
2009/02/15(日) 16:44:48ID:FA9cfUTD関数ポインタは、FSM的な状態変数の代替という意味ではない、と言うこと?
0730名前は開発中のものです。
2009/02/15(日) 16:51:15ID:h/ugUohbさっきの例ではそう考えていた。
ところで、FSMっていうのは、例えば、
弱気→(攻撃を受ける)→好戦的→(さらに叩かれる)→発狂→・・・
みたいなタスクの状態メンバ変数の仕様がネットワーク化した場合に、
状態切り替え処理の複雑化を吸収するパターンだろ。
0731名前は開発中のものです。
2009/02/15(日) 16:59:21ID:T/3xZEUAコルーチンで楽になるのは、継続を実現するために
FSMを使わなければならないようなケースではないかと
Xをやって→nフレーム寝て→Yをやる
みたいなのを、ある関数(コルーチン)の中に
単に三つの文を繋げて記述できるか
FSMとして書かなければならないかの違いは大きい
0732名前は開発中のものです。
2009/02/15(日) 17:30:58ID:kIY9LVp/0733名前は開発中のものです。
2009/02/15(日) 17:42:03ID:hUQv8RGuコルーチンを使うのは、タスクでもいいし、非タスクでも良い
それにより見通しの良いコードが書ける ってだけ
自分は以前はタスク派だったのが、スクリプトとコルーチンを扱うことで、
アンチタスク派になりました。
(タスクが絶対必要ってわけじゃなく、無くてもコードが書けるよね。
タスクシステムでも別にいいけどさ、正直読みづらくねぇ? という意見)
0734名前は開発中のものです。
2009/02/15(日) 18:42:32ID:/3SpaYGWDSLで紹介されている言語はDSLに近いということ
DSLは理想言語、直感的に書ける言語、又はツール、簡単に手早く書ける言語
コストの問題でDSLに近いスクリプトがよく利用されているという
つまり、DSLについて考えるということは
出来る限り簡単に、出来る限り速く書くことを考えるということ
よくわからないけどそういうこと
0735名前は開発中のものです。
2009/02/15(日) 18:58:38ID:hUQv8RGuすまんが実装例が無い現状ではDSLは良く分からない。
しかし、ゲームプログラマが考える範疇ではないことは理解できた。
0736名前は開発中のものです。
2009/02/15(日) 19:03:00ID:TIpMetgy1.箱入り娘派。全部親が取り持つ。当人同士は直接接点を持たない。完全カプセル化。
2.お見合い派。仲介屋が縁を取り持つ。以降は当人同士の問題。半カプセル化。
3.恋愛結婚派。自分たちで勝手にやってよ。アンチカプセル化。
0737名前は開発中のものです。
2009/02/15(日) 19:14:30ID:FA9cfUTD0738名前は開発中のものです。
2009/02/15(日) 19:15:29ID:TIpMetgy//敵のアルゴリズム定義
//aは動くで、bは止まる。
#define ZAKO_ALGORITHM_DSL "abaaababaaaabababaaab"
#define BOSS_ALGORITHM_DSL = "aaaaaaaaaabababaaaba";
〜〜〜
teki *zako = new teki(ZAKO_ALGORITHM_DSL);
teki *boss = new teki(BOSS_ALGORITHM_DSL);
0739名前は開発中のものです。
2009/02/15(日) 19:17:28ID:kIY9LVp/0740名前は開発中のものです。
2009/02/15(日) 19:26:49ID:TIpMetgy文字列にしろPCMにしろmp3にしろjpgにしろ実行バイナリにしろ。
0741名前は開発中のものです。
2009/02/15(日) 19:36:15ID:hUQv8RGu説明してもらってすまんw
思ってたのとさらに違って、よりわけ分からんくなった
データ主導設計をさらに超えて、アルゴリズムやAIもデータ主導で記述しろってことかな?
全てDSLで渡したとして、どこかでDSLを解釈しなくてはならない箇所ができるから、そこのコストがゲームではネックになってるってこと?
0742名前は開発中のものです。
2009/02/15(日) 19:36:49ID:/3SpaYGWHSPで高い完成度を目指して作った方が速いし完成度も高いのが作れるDSL的に考えて
熟練した職人がのこぎりとプライドを捨てて、チェーンソーを使えば
ものすごい出力を得られるだろう
C++は実用的な言語ではなくて、亀仙人の甲羅だと思っている
脱ぎ捨てたときに初めてその真価を発揮する
0743名前は開発中のものです。
2009/02/15(日) 19:39:36ID:T/3xZEUA>>738はDSLと言っていいんじゃないのかな
正直DSLの適用範囲は非常に広いように思う
0744名前は開発中のものです。
2009/02/15(日) 19:41:04ID:kIY9LVp/DSLとかいう新ワード使ってスレを流そうと必死な奴がいるなw
0745名前は開発中のものです。
2009/02/15(日) 19:43:40ID:/3SpaYGW弾幕の軌道という問題を解決する手は数多にある
そのままコードを書く
マクロで書く
スクリプトで書く
ドローソフトで軌跡を描く
弾幕ツールを作って出力する
自動軌跡生成プログラムを作って出力する
考えられる限りの手段の中から、コストを考慮して、最適なものを選択する
難しいものをできるだけ簡単に書ければ
大量のリソースをできるだけ簡単に作ることができるなら
その問題領域をDSLとして書く意味が大きくなる
0746名前は開発中のものです。
2009/02/15(日) 19:43:44ID:pf6wVUPl> C++は実用的な言語ではなくて、亀仙人の甲羅だと思っている
> 脱ぎ捨てたときに初めてその真価を発揮する
ああ、それはマジでそれは実感するわ・・
俺、C++を10数年やってんだけど、たいていの他の言語がプーだな。
他の言語、ちょろ甘すぎる。
0747名前は開発中のものです。
2009/02/15(日) 19:44:51ID:TIpMetgyHSPではDSL用のコンパイラを書きにくい。
HSPでやり始めると、言語としてHSPしか使えない。
0748名前は開発中のものです。
2009/02/15(日) 19:50:53ID:zFAUOvvv> これでブラックホールとか自機とかさらに複数の要素が加わったら全部の要素を
> このwhile内にハードコードで追加して巨大化していくのかな?
ふつーに書く場合、まずゲーム全体を
1) ゲーム全体で利用する、比較的低レベル(システム寄り)の内容
例:非同期ファイル I/O 管理とか、デバイス管理など
2) 独立性が高く、ユーザから見た「実行中の内容」を反映する単位
例:タイトル、デバッグメニュー、ミニゲーム
「シーン」とか、ウチの社内だと「タスク」と呼ばれてる
3) シーンを構成する個々の要素
例:プレイヤー、体力ゲージ、エフェクト
と 3 レベルに分けて考える。
メインループは 1 の処理と、状態に応じてどれか特定のシーンの更新処理を
呼び出す。更新処理の結果、シーンの遷移が必要になるかもしれないので、
それはシーンから戻り値か何かで取れるようにしておく。
コードはこんな感じ。
0749名前は開発中のものです。
2009/02/15(日) 19:51:14ID:zFAUOvvv// 1) の処理実行
AsyncFileIO::GetInstance().Update();
Pad::GetInsstance().Update();
// 状態に応じてシーン実行
switch (scene_) {
case SCENE_INIT:
title_.reset(Title::Create());
scene_ = SCENE_TITLE:
break;
case SCENE_TITLE:
switch (title_.Update()) {
case TITLE_DEMO_BEGIN:
title_.reset();
demo_.reset(Demo::Create());
case TITLE_GAME_START:
if (title->GetGameMode() == GAMEMODE_SINGLE_PLAYER) {
}
// 以下略
}
0750名前は開発中のものです。
2009/02/15(日) 20:00:55ID:zFAUOvvvSceneDemo::Update() {
player_.Update(*this);
for_each(enemies.begin(), enemies.end(), boost::bind(&Enemy::Update, ::_1, boost::ref(*this));
// ヒット判定など
}
ヒット判定など、シーン更新時に必要になる処理は
1) シンプルならシーンの Update() 関数に直接書く (player_.Update() とかね)
2) ちょっと複雑になってきたら、Scene のプライベートメンバ関数に分割
3) もっと複雑なら、別クラスを用意して、そっちに処理を分ける
とする。3 の例としては、たとえば敵とプレイヤーのヒット判定を行う (総当りではなく
BSP とか使って) ような処理が考えられる。そうすると、SceneDemo はこんな感じ。
class SceneDemo {
Player player_;
std::list<Enemy*> enemies_;
HitManager hitmgr_;
void AddEnemy(const EnemyCreateInfo& info) {
Enemy* enemy_ = Enemy::Create(info);
enemies.push_back(enemy);
hitmgr_.add(enemy);
}
public:
void Update();
};
0751名前は開発中のものです。
2009/02/15(日) 20:05:32ID:hUQv8RGu0752名前は開発中のものです。
2009/02/15(日) 20:06:11ID:zFAUOvvv1) ぜんぜんベツモノなら別クラスにして、シーン側からもまったく別扱い
2) 外から見た振る舞いは同じ (public メンバ関数は同じ) だが中身がぜんぜん違うなら
純粋仮想関数を定義した共通の基底クラスを用意して、それを継承して作る。シーン側からは
基底クラスを介してしか見ない。
3) 中身もほとんど同じでパラメタぐらいの違いから、単一のクラス。パラメタ部分だけスクリプトか
設定ファイルに切り出す
0753名前は開発中のものです。
2009/02/15(日) 22:35:44ID:TIpMetgy当たり判定クラスは、その中の1)に入るのかな。
0754名前は開発中のものです。
2009/02/16(月) 01:42:35ID:x0hhLzknそれは>>643によれば外部DSLだよな
内部DSLを使うべきだと言っていた人とは別人か?
0755名前は開発中のものです。
2009/02/16(月) 03:43:39ID:Bs7zALYv0756名前は開発中のものです。
2009/02/16(月) 07:07:12ID:x0hhLzknそれだと怪しいマクロまみれの>>510も内部DSLだしw
おれイヤだよ21世紀にもなってそんなパラダイムw
DSLは資料読む限り現実路線に見えるんだけど、
アランケイ教の頃のOOPと同じでなんか信者がうさんくさいw
0757名前は開発中のものです。
2009/02/16(月) 07:27:13ID:lrLQRr8L0758名前は開発中のものです。
2009/02/16(月) 07:41:29ID:lrLQRr8L今は説明できなきゃただの詐欺師
新ワード出てきても論争なれてないやつは触るなよ
こういう無駄な勝負は何もにちゃんだけじゃねーぞ
会社でもそういう霞ヶ関風味の腐った人間ってのはたくさんいる
ちゃんとしたメルヘンブレイカーにまかせないと負けるぞ
ではこのスレの主旨をもう一度
で?タスクシステムのメリットって何?
0759名前は開発中のものです。
2009/02/16(月) 08:27:22ID:87EIjZ0N乙。
もう750超えたのか。誰かpart1-4をまとめてくれないかな。
また次スレで不毛なループが発生するのが面倒だ。
>>510や>>641、その他の住人が書いてくれたコードも残しておきたい。
俺はやらんが、誰かやってくれ。
0760名前は開発中のものです。
2009/02/16(月) 13:08:53ID:tnxjBeRs0761名前は開発中のものです。
2009/02/16(月) 15:23:56ID:u/rbw6HO処理を稼ぐって何だよ。実行バイナリの容量削減?処理速度の向上?
どっちにしろ現代のPCでは全くの無駄な努力どころかむしろ余計なお世話だけどな
0762名前は開発中のものです。
2009/02/16(月) 15:37:10ID:u/rbw6HOこういう固定観念に縛られたオールドタイプが若者をカルトへ誘う
0763名前は開発中のものです。
2009/02/16(月) 16:16:43ID:lbHYBkxT0764名前は開発中のものです。
2009/02/16(月) 17:05:06ID:87EIjZ0Nつーか、switch文でテーブルジャンプ利かせるほうが関数ポインタより速いと思うが。
0765名前は開発中のものです。
2009/02/16(月) 17:35:45ID:NF6DrOPp0766名前は開発中のものです。
2009/02/16(月) 18:15:54ID:lrLQRr8L十年は次スレが立たないぐらい
タスク信者ども、ボコボコにしてやろ
0767名前は開発中のものです。
2009/02/16(月) 18:18:43ID:GBQgPfdGQ.タスクシステムのメリットとデメリットを教えてください
A.ハハン、自分で考えろ
Q.タスクシステムの代わりがないだろ、文句言うなら代わりをよこせ
A.コルーチン、DSL、各種フレームワーク
Q.あーあー見えない聞こえなーい
タスクシステムとは、ジョブコンを無駄にいじって
何がなんだかよくわからなくなったものではないかという説
タスクシステムは3Dの描画についてはまったく使い物にならないようだ
全角英数使うなこのバカやろう
0768名前は開発中のものです。
2009/02/16(月) 20:58:30ID:u/rbw6HO>処理を稼ぎたい
君は>>420かな?
>>2はジョブエントリのリストを舐めて、関数アドレスを使って処理を次々にディスパッチしていく仕組み
つまりバッチ処理の仕組みでしかないわけだが、この仕組みをどのような処理群に適用しているのか
教えてほしい
0769名前は開発中のものです。
2009/02/16(月) 21:16:05ID:GBQgPfdGサイトごとに違っているから困る
全部を信じるならば、万能フレームワークという結論になった
弱点なんてないぜ、トレードオフなんて知ったことじゃないぜ
銀の弾丸を見つけたよ
0770名前は開発中のものです。
2009/02/16(月) 21:17:18ID:Bs7zALYvMT車は車の運転を楽しみたい人、スポーツ感を味わいたい人用のもの。
同じように、タスクシステムもプログラミングを楽しみたい人、スポーツ感を味わいたい人用のものだとおもう。
初心者用MT操作説明サイトが有っても良いように、>>2みたいな初心者用タスクシステム説明サイトが有っても良いと思う。
それに対して文句を言うのは、
今日日F1でもパドルシフトなのにMTってなにか意味あるの?とか、
家やホテルがあるのにわざわざキャンプするのってなにか意味あるの?とか、
ロープーウェイがあるのに登山するのってなにか意味あるの?とか、
買ったほうが安いのになんでDIYするの?とか、
言ってるのと同じで、何も分かってないのに分かったふりしたがる、大人ぶりたい子供のすること。
タスクシステムは大人のスポーツなんだから、ガキがごちゃごちゃいうなよ。
0771名前は開発中のものです。
2009/02/16(月) 21:27:46ID:GBQgPfdG>HSPでやり始めると、言語としてHSPしか使えない。
外部的にはその通りで
内部的にはDSLをHSPのコードに変換するという手がある
プリプロセッサ的な解決方法、マクロと言うのだろうか
0772名前は開発中のものです。
2009/02/16(月) 21:33:15ID:Bs7zALYv一方人間様は食べることに必死じゃないから、平気でダイエットしたりもする。
もう、立場がそれぐらい違うわけ。
多くの人にとってプログラミングってのは、単に趣味や遊びでしかなく、
数独やジグソーパズルと同じ感覚。
むしろそんな低俗なことで飯食ってる人が居るのが信じられない、何でそんなに必死なのかも分からない。
プロ野球選手が草野球をやってる人をつべこべ批判してたら、それって痛いだろ。
そういうこと。言われたほうは内心では「野球しか出来ないくせに」と思ってる。
0773名前は開発中のものです。
2009/02/16(月) 21:48:08ID:u/rbw6HO残念だがタスクシステムは燃費最悪のダンボールカー。トラバントみたいなものだ
工作精度の低い2stエンジンで環境に全く優しくなく、煙モーモーあげる癖にスピード全く出ない
しかし走行音が激しいため、物凄く頑張ってくれてるような錯覚を覚える
手作り感抜群で品質は不安定。製造年月日が新しければ新しいほど品質が悪くなる
大半は車体強度不足で安全基準を全く満たしていない。事故るとよく燃える
あらゆる点がタスクシステムと符合している。「通」気取りにしかオススメできないゴミだ
現代社会でタスクシステムを使うというのは、現代社会でトラバントを使うようなものだ
公衆の前でタスクシステム凄いと叫ぶのは、高速の追越車線をトラバントで走る俺凄い!と同じだ
レトロ趣味の変態オヤジの愛車ノロケ話に付き合うと大渋滞が発生する
0774名前は開発中のものです。
2009/02/16(月) 21:51:50ID:Bs7zALYv知らない猟師のおじちゃんが、撃ち方にケチをつけてきた。
そんな構図。
0775名前は開発中のものです。
2009/02/16(月) 21:56:42ID:u/rbw6HO…⇔[ザコ敵A]⇔[通常弾]⇔[閃光(粒子)]⇔[通常弾]⇔[通常弾]⇔[閃光(粒子)]⇔[ザコ敵B]⇔…
あるタイムステップではこういうちゃんこ鍋循環リストをペロペロシコシコナメナメすることになるね
何故このちゃんこリストはOBJの種類別でソートされてないのかって?そりゃ3Dゲーだからさ
>>2のちゃんこリストはOBJの種類でソートされてるように見えるが実は深度ソートなんだね
そもそもスプライト機ではOBJの重ね合わせがOAM内での並び順によって決定されていた
典型的なちゃんこリストはOAM内の属性配列にpush_backする順序でソートされた
典型的な2DSTGでは重ね順(深度)=OBJの種類だった、というわけだね
さて、上のちゃんこの並び順でいくと、ザコ敵Aの処理が終わったら次は通常弾だ
サブルーチンアドレスを使って処理を呼び、『Δtの等速直線移動を計算』し、処理を返した
通常弾の処理が終わったら次は閃光だ。これもほぼ同様の手続きで処理
閃光の処理が終わったら次は通常弾だ。これもほぼ同様の手続きで処理
こうなるわけ
『Δtの等速直線移動を計算』。たったこれだけの処理をするために>>2の仕組みを使う。WHY?
これが処理速度を稼ぐための行為だというなら、鎖国中の独裁国家のファンタジーみたいなものだ
0776名前は開発中のものです。
2009/02/16(月) 22:01:49ID:u/rbw6HOHSPer(俺)が縁日に屋台でワイワイ射的をやってたら、
自称猟師のおじちゃん(=タスクシステマー)が現れ、撃ち方にケチを付けてきた
そんな構図
0777名前は開発中のものです。
2009/02/16(月) 22:02:15ID:Bs7zALYv>工作精度の低い2stエンジンで環境に全く優しくなく、煙モーモーあげる癖にスピード全く出ない
>しかし走行音が激しいため、物凄く頑張ってくれてるような錯覚を覚える
>手作り感抜群で品質は不安定。
要するにDIYってことだろ。
日曜大工のなにが悪い。手作りでなにがわるい。あくまで趣味なわけ。
本職ではちゃんと社会のお役に立ってる。
むしろゲームなんて役にたたないのだから好き勝手で良いだろ。
ダンボールカーで公道を走るわけではない、庭を走るだけだ。
0778名前は開発中のものです。
2009/02/16(月) 22:14:14ID:Bs7zALYv余裕を見せ付けていると言ってもいい。
秋の紅葉を写生しながら楽しむ。写真で良くね?じゃない。もう時間の使い方が全然違うわけ。
まさに貧乏暇なし。
0779名前は開発中のものです。
2009/02/16(月) 22:17:31ID:87EIjZ0N信者の洗脳を解こうと頑張ってるんだよ。
本職でこれをやられると時間と金の無駄だから非常に迷惑。
日本経済が傾いてる時に、こんなアホなことを現場でやられたんじゃ困る。
本職じゃないならいいよ。
0780名前は開発中のものです。
2009/02/16(月) 22:25:17ID:rtdsTJtwハナから理解する気の無いバカに説明する暇人も、そう残ってないだろ。
0781名前は開発中のものです。
2009/02/16(月) 22:25:44ID:b2Mm7nyg早く気づいてほしいもんだな
タスク信者は
0782名前は開発中のものです。
2009/02/16(月) 22:30:42ID:Bs7zALYv>日本経済が傾いてる時に、こんなアホなことを現場でやられたんじゃ困る。
本職の人は困るだろうね。本職以外の人にとっては、
金儲けしなければならない立場であるにもかかわらず、
タスクシステムなんて使っちゃうような低脳の集まりの業界の未来なんて
知ったこっちゃないしな。まさに滅ぶべくして滅んでるだけだし。
そもそも、ゲームなんて社会の役にたたないんだから、そんなもので飯食おうと思うほうがどうかしてる。
社会の役にたたないってことは、それは趣味ってことだ。普通ならそう考える。たとえそこに市場があったとしてもな。
0783名前は開発中のものです。
2009/02/16(月) 22:32:20ID:rtdsTJtw> あるタイムステップではこういうちゃんこ鍋循環リストをペロペロシコシコナメナメすることになるね
相変わらずリスト一つで管理してるつもりになってる構ってチャンかw
> 典型的な2DSTGでは重ね順(深度)=OBJの種類だった、というわけだね
うわぁ…w
> 『Δtの等速直線移動を計算』。たったこれだけの処理
うわぁ…www
0784名前は開発中のものです。
2009/02/16(月) 22:33:02ID:u/rbw6HO歴史と記憶の捏造が始まった?
タスクシステムを褒め称えてきた自称プロ達の行ないを矮小化&無毒化&美化しちゃダメだよ
2003年以降、>>2はプロのスーパーテクとか言って本気で広めてた自称プロ、沢山いたね?
自分に都合の悪いことを全部無かったことにしちゃねー
HSPerは配列厨なんだけど、タスクシステマーに「プギャー。知らないの?」されたことあるよ
それまでフリゲや同人でちょこちょこ出してきたけど、こういう日曜大工にタスクシステム(>>2)
なんて使った試しない。マジこのオッサン死ねばいいのにって思った。リア厨だから仕方ないね
ちょっと前のコミケで売った弾幕STGはタスクシステマーが見たら怒り狂うような簡素なコードだったよ
0785名前は開発中のものです。
2009/02/16(月) 22:34:31ID:u/rbw6HO具体的な反論ヨロー
0786名前は開発中のものです。
2009/02/16(月) 22:46:49ID:u/rbw6HO君、タスクシステム派にとって物凄く迷惑な、無能な味方なんじゃない?
なんで趣味でしか通用しない玩具ですって認めちゃうの?
アンチじゃないの君?
0787名前は開発中のものです。
2009/02/16(月) 22:50:48ID:u/rbw6HOリアル金持ちはリボを使う。リボはリアル金持ちのステータス。一括払いを使う奴は貧乏人
とかいう超理論を展開していた某板の住人さんかしら?
0788名前は開発中のものです。
2009/02/16(月) 22:56:10ID:Bs7zALYv>2003年以降、>>2はプロのスーパーテクとか言って本気で広めてた自称プロ、沢山いたね?
>自分に都合の悪いことを全部無かったことにしちゃね
その自称プロはよっぽどの低脳なんだから放っておけばよい。
「プロのスーパーテク」なんてのは、厨を釣るための餌だよ。
プロとかスーパーとかテクとか、針みえすぎ。
なんちゃらProって名前のついてる商品が一杯あるだろ。あれと一緒だよ。
実際にはプロはあんなもの使わない。
>コミケで売った弾幕STGは
売り物にタスクシステムを使わないのは当たり前。
0789名前は開発中のものです。
2009/02/16(月) 23:04:20ID:u/rbw6HO針じゃないよ。何なら過去ログ、Cマガのタスクシステム特集記事でも読めばいいよ
自分だけはまともな、良識的なタスク派だとか言ったって信じないよ
ギャラクシアン起源の由緒正しいプロテクです、使わないとカッコワルイ!とか叫んで
広めるような毒虫共に利用されるイタタタシステムなら、悪いけど名前ごと抹殺されたほうが世のため
厨房的にはそういう発想に至る。汚物は消毒したいお年頃だから仕方ないね
さて、あえて合理的でないリボ払いを使うことによって、
(金利払いをする)余裕を見せ付けていると言ってもいい。
秋の紅葉を写生しながら楽しむ。写真で良くね?じゃない。もう時間の使い方が全然違うわけ。
まさに貧乏暇なし。
yahoo知恵袋
http://etail.chiebukuro.yahoo.co.jp/qa/question_detail/q113605506
リアル金持ちだからできる、余裕の金利払いだそうです。ID:Bs7zALYvと馬が合いそうだね
0790名前は開発中のものです。
2009/02/16(月) 23:06:14ID:rtdsTJtw自分の間違いに、本気で全然気づいてないのか?
0791名前は開発中のものです。
2009/02/16(月) 23:08:59ID:u/rbw6HO間違いだと言い切れる根拠をお願いします
まさか、あなたは究極の狭義の正しいタスクシステムをご存知の方ですか?
ぜひご教示ください。私の認識はきっと間違っているのでしょう
0792名前は開発中のものです。
2009/02/16(月) 23:17:57ID:Bs7zALYv「プロのスーパーテク」なんて言葉が釣りじゃなきゃ一体なんだって言うんだろう。
この世に真顔でこんな言葉使うやつがいるとでも?
ライターに騙されたやつは本気だっただろうけどな。
ライターってのは読者の精神年齢に合わせて記事書くからな。
あとさ、リボ払いの件だけど、なに言ってるのか意味が分からない。
無駄なことに金をつかうのは単に成金趣味なだけ。
無駄なことに時間をつかうのが余裕のある人。
ただし、利害関係が出てくると仕事モードになって目の色が変わるが。
0793名前は開発中のものです。
2009/02/16(月) 23:22:56ID:rtdsTJtwその変り身、キモイw
煽っといて今更何言っちゃってんのwww
0794名前は開発中のものです。
2009/02/16(月) 23:30:29ID:u/rbw6HO何きみ?誰を擁護してんの?ありえなくね?何故タスクシステムの名誉に固執するの?
誰かを演じてるの?松浦乙とか言ってほしいの?だったらコテ付ければ?
HSPerの厨房の俺でもアンタが何を守ろうとしてるのか全く分からない
利害関係が出てきたから仕事モードになって目の色が変わってるんじゃない?
でないとタスクシステムを必死に庇おうとするアンタの行動は理解できない
俺の行動原理は簡単。厨房だから。配列最高。タスクシステムなんてゴミ
こんな無様(>>2)なものが未だに持てはやされてるのは見るに耐えない
ガソリンぶっかけて信者も道連れにして全部燃やして墓標でも立てとけばいい
それがタスクシステムへのせめてもの供養になるだろう
0795名前は開発中のものです。
2009/02/16(月) 23:32:17ID:Bs7zALYvう〜ん、基本的にずれてるんだよなぁ。
そもそも、ゲーム自体が「抹殺されたほうが世のため」なわけで。
そういう、どうでもよい役にたたないものを暇つぶしで作るんだから、
タスクシステムはむしろ最適ともいえる。
0796名前は開発中のものです。
2009/02/16(月) 23:34:29ID:u/rbw6HOねーねー、HSPerにナメられるってどんな気分?教えてくんない?
君ってさ、C++は亀千人の甲羅だとか言う話を勘違いして解釈して
C++10数年使ってる俺ってストイックカッコヨスゲェとか考えちゃう
>>746みたいな人と同類なの?
だったらこの状況って死にたいほどの屈辱なんじゃない?
0797名前は開発中のものです。
2009/02/16(月) 23:40:44ID:u/rbw6HO>そもそも、ゲーム自体が「抹殺されたほうが世のため」なわけで。
何言ってるの?優等生発言する俺かっこいい状態なの?
>そういう、どうでもよい役にたたないものを暇つぶしで作るんだから、
>タスクシステムはむしろ最適ともいえる。
あー、もしかしてお前、ゲーム完成させたことないけど
ゲーム作ってる俺すげぇクリエイターな俺すげぇ状態を楽しむ人?
そういう趣味は否定しないぜ?
そういや前々スレでタスク擁護派の一人が「ゲーム作ったことない」って口滑らせてたね
ゲーム作れないし勿論完成させたことないけどタスクシステム擁護する俺かっけー状態
を楽しむ趣味もあっていいんじゃない?
0798名前は開発中のものです。
2009/02/16(月) 23:41:47ID:Bs7zALYv俺は誰の見方でもないよ。お前らの脳みそがバグってるから直してあげてるだけ。
時間を無駄に使ってな。
>俺の行動原理は簡単。厨房だから。配列最高。タスクシステムなんてゴミ
どうしてゲーム自体はゴミだと考えない?最高に役にたたないのに。
ゲームは良くてタスクシステムはダメって理屈が分からない。
普通に考えれば、どっちも同じぐらいどうでも良いことなのに。
0799名前は開発中のものです。
2009/02/16(月) 23:43:05ID:Bs7zALYv「抹殺されたほうが世のため」云々って先に言い出したのはお前だろ。
俺はお前の程度に合わせただけだ。
0800名前は開発中のものです。
2009/02/16(月) 23:47:22ID:rtdsTJtwやっぱり煽りしか出来ないのかw
自分で調べるとか出来ないゆとり?
0801名前は開発中のものです。
2009/02/16(月) 23:47:23ID:NF6DrOPp非タスク派もタスク派もしっかり討論していって論破してやってくれ
0802名前は開発中のものです。
2009/02/16(月) 23:49:55ID:rtdsTJtw真顔で言ってるバカって、ホントに救いようが無いねw
0803名前は開発中のものです。
2009/02/16(月) 23:54:10ID:u/rbw6HO>どうしてゲーム自体はゴミだと考えない?最高に役にたたないのに。
おもんなかったれす。おもろかったれす。そういう感想文をもらえて俺もたのしい。シンプル
娯楽を否定するなら共産国家に行けばいい。すぐ隣にあるでしょ?早くいきなよ
>ゲームは良くてタスクシステムはダメって理屈が分からない。
ゲームは誰が楽しむものなの?プレイヤーが楽しんでくれるんだよ
タスクシステムは誰が楽しむものなの?自分自身が楽しむんだよ
後者は合理性に欠けた単なるオナニー。自室に篭ってやってりゃいい
「愛しいしと、俺のタスクシステム、まじすげぇ。。。ハァハァ。。。シコシコ。。すっげぇテクニシャン。。。ウッ」
公開オナニーほど不快なものはない
0804名前は開発中のものです。
2009/02/16(月) 23:54:24ID:Bs7zALYvどうでもいいゲームについて
どうでもいいタスクシステムについて
どうでもいい奴と
どうでもいい議論をして
どうでもいい時間をすごしてるくせに、
タスクシステムだけは受け入れられないってのは意固地だ。
効率を求めるならゲームなんて作らなければ良い。
もともとゲームってそういうものだろ。
0805名前は開発中のものです。
2009/02/16(月) 23:56:35ID:Bs7zALYv>娯楽を否定するなら共産国家に行けばいい。すぐ隣にあるでしょ?早くいきなよ
タスクシステムという娯楽を否定しているのはお前のほうだろ。
おれはゲームは趣味なんだから好きにやればよいと言っている。
0806名前は開発中のものです。
2009/02/16(月) 23:57:07ID:rtdsTJtw> 公開オナニーほど不快なものはない
自虐?
ここ、嘲うところ?
wwwww
0807名前は開発中のものです。
2009/02/17(火) 00:00:27ID:Bs7zALYvゲーム製作がオナニーだとは気づかない脳みそ。救いようがないな。
0808名前は開発中のものです。
2009/02/17(火) 00:01:45ID:NF6DrOPp0809名前は開発中のものです。
2009/02/17(火) 00:03:43ID:u/rbw6HO>タスクシステムという娯楽を否定しているのはお前のほうだろ。
目障りにならない程度に隅っこでウジウジやってる分には否定しないよ
エラッソーにプロ気取りがタスクシステムタスクシステムとか叫んでりゃ
ぶっ潰したくなるさ。HSPerが偉そうにしてると叩かれるだろ?同じこと
お前は糞ゲーを叩くなって言ってる似非平等主義者、共産主義者と同じ
糞プログラムを叩くなって?ないないないない
0810名前は開発中のものです。
2009/02/17(火) 00:05:42ID:rtdsTJtw自分が理解できないものは破壊したくなる。
ガキの衝動ですかwww
0811名前は開発中のものです。
2009/02/17(火) 00:08:48ID:EEKBitmgいいえ。リア厨時代に作ったゲームが
フリゲスレで公開処刑になったこともあるけど俺は元気です
洗礼を受けて、甘んじてそれを受け入れて、改善して、また出して
そういう繰り返しがオナニーだというなら、あきらめるさ
あんたは、タスクシステムがそうした洗礼を受けることを嫌ってる
それが理解できない。気持ち悪い似非平等主義だよ
0812名前は開発中のものです。
2009/02/17(火) 00:10:06ID:EEKBitmg早く理解してない部分を指摘してみろよミジンコ
0813名前は開発中のものです。
2009/02/17(火) 00:11:23ID:xDzcRSYN0814名前は開発中のものです。
2009/02/17(火) 00:19:43ID:/LgLIdHPアンチタスクスレでも立ててそっちでやれば?
EDだから、自分が代わりにスレ立てとはいかないけど。
0815名前は開発中のものです。
2009/02/17(火) 00:23:03ID:EEKBitmgいつもは紳士的厨房なんだけど今日はついカッとなっちゃった
0816名前は開発中のものです。
2009/02/17(火) 00:27:36ID:/LgLIdHPなんか矛盾。言葉遣いは丁寧で、でも思考は厨房ってことなのかな?
ま、それはそれとして、今までに『アンチタスクスレ』みたいなものって立ったことあるの?
part4から見始めてpart3の過去ログ読んで、その頃からずっとアンチ派vsそれなりに受け入れ派で
やり合ってるみたいだけど。
0817名前は開発中のものです。
2009/02/17(火) 00:33:45ID:EEKBitmgひどくない?追い詰められると出て行けって。それはないと思う
だったらタスクシステムの楽園スレを作ればいいと思う。殴りこむけど
0818名前は開発中のものです。
2009/02/17(火) 00:38:11ID:Vt7gWCzD0819名前は開発中のものです。
2009/02/17(火) 01:09:56ID:VwYosUVR本当に居たら絶対話に付いていけないと思うもん
0820名前は開発中のものです。
2009/02/17(火) 01:23:03ID:owhQ5IqZ「いわゆるタスク」みたいな処理ってそもそもできないんじゃねーの?
0821名前は開発中のものです。
2009/02/17(火) 01:28:07ID:VwYosUVRっと思ってちょっと調べてみたけど、ぱっと見では無いようですね〜
0822名前は開発中のものです。
2009/02/17(火) 01:31:53ID:VwYosUVRhttp://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2F%A5%DD%A5%A4%A5%F3%A5%BF%A4%F2%BB%C8%A4%C3%A4%C6%A4%CE%A4%A2%A4%EC%A4%B3%A4%EC
頑張ればHSPでもタスクシステムは可能だわ。頑張れば……
0823名前は開発中のものです。
2009/02/17(火) 01:36:07ID:mYkPFH12ゲームってのは、一般的にそんな切磋琢磨する分野じゃないんだよ。
そういう熱いエネルギーは皆の役にたつもっと有効な分野に使えばよい。
ま、それが出来ないからゲームごときで吼えるんだろうけど。
クソゲー結構。糞プログラム結構じゃないか。息抜きで作ってるのにカリカリするのは嫌だ。
業界人的にも、使える奴と使えない奴の見分けがついて好都合じゃないか。
タスカーは泳がせておけばよい。本当のことを教えてあげる必要はない。競争だからな。
0824名前は開発中のものです。
2009/02/17(火) 01:36:50ID:mYkPFH120825名前は開発中のものです。
2009/02/17(火) 01:39:19ID:VwYosUVRそれはちょっと驚きだわ
ゲーム作るのに構造体って無いとすげえ不便(というか作るの無理)だと思うんだが
あー。ちょっと遊びでDLしかけたけど止めますわ
0826名前は開発中のものです。
2009/02/17(火) 01:41:06ID:owhQ5IqZ関数ポインタやクロージャの類もやはりなさげ。
HSPでタスク不可能だろ。
しかし、なんでHSPerがなんでこんなに必死にタスクを否定するんだろか?
実装不可能なんじゃ、良し悪しがわかるはずもないだろ。
0827名前は開発中のものです。
2009/02/17(火) 01:44:23ID:ScXrKJNp参加できるからゲーム作成の裾野を広げる意味で有意義な言語だと思ってたけど
あんまり敷居が低くなると弊害も出てくるんだな…
0828名前は開発中のものです。
2009/02/17(火) 01:44:39ID:VwYosUVR中学の頃はPC88で5インチFDだった俺の時代と考え方が異なるのも仕方が無いわ
0829名前は開発中のものです。
2009/02/17(火) 01:49:00ID:ScXrKJNp他に便利な道具があれば使わなければいいだけ。
なんでアンチタスク派なんて存在するのか不思議だったけど
そもそもタスクシステム自体を使えない環境ってのがあったわけね。
すっぱい葡萄というやつか。
0830名前は開発中のものです。
2009/02/17(火) 01:54:02ID:VwYosUVRHSPで才能の伸びを制限してしまうよりは、
Cで苦しんでポインタで躓いて、C++のOOPで悩んで、
Win32APIやDirectXや3D計算や物理学などを勉強して、
一人前のゲームプログラマになっていってほしい
0831名前は開発中のものです。
2009/02/17(火) 02:52:00ID:4dhZL46Vコンプレックス感じる必要なんてないんだぜ?みんな同じ道を歩んできたんだから
>>830
いや、HSPで先にプログラムの楽しさを覚えた方がよくね?
10代くらいの若い頃にCみたいなひたすら挫折する言語をやるのは賛成できんなー
昔のBASIC使いがやりこむと自然とアセンブリに手を出したように、
HSP使いもやりこむと自然にC++やJava、Rubyなんかへ手を出すと思う
つか、自分だって昔はベーマガとかプロポシェとか読んでただろ、このオッサンどもw
0832名前は開発中のものです。
2009/02/17(火) 03:15:04ID:fzK3Nh2o語彙がメインフレームっぽい……
かなりのオッサンだと思う
0833名前は開発中のものです。
2009/02/17(火) 03:47:31ID:EEKBitmg>>829
>>830
んー、HSパーは前スレの>>174なんだけど、あれどう思う?質問ある?
なんでHエスパーは他の言語が使えないって思い込んじゃうんだろう。そう思い込みたいのかな?
拡張プラグインを使えばHSPスクリプトで書いたユーザー定義命令(サブルーチン)のポインタを取得できる
自作の拡張プラグインからHSPスクリプトを呼び出せる。つまりHSPスクリプトのコールバック関数が作れる
俺は衝突イベントでHSPスクリプトを呼び出してる。何がどんだけの速度で自分に当たったか、が入力
ゲーム固有の処理、体力を減らす、増やす、モーション切り替え(倒れる、死ぬ、復活、etc)等の結果が出力
自作の拡張プラグインはIrrlichtとBulletライブラリの機能をHSPで利用するための橋渡し役
元々はE3D使ってたんだけど色々思うところあって自作することになってしまった。今でもE3Dは使ってる
HSPを酸っぱい葡萄だと思ってない?食わず嫌いは良くないよ。玉葱はいいよ
0834名前は開発中のものです。
2009/02/17(火) 03:52:42ID:EEKBitmg高専の指導教官から色々教わってるから
このスレで出てきたメインフレームのOSのこと聞いたら色々教えてくれた
あとインターフェース3月号やるから嫁って言われた。面白かった
0835名前は開発中のものです。
2009/02/17(火) 04:00:37ID:EEKBitmg0836名前は開発中のものです。
2009/02/17(火) 04:05:21ID:4dhZL46Vとりあえず、その自称はやめた方がよくね?
自意識過剰なLisperとかSmalltalkerみたいで将来きっとこっぱずかしくなると思うんだが
普通にHSPプログラマでいいじゃん
0837名前は開発中のものです。
2009/02/17(火) 04:08:15ID:EEKBitmgわざと名乗ってるだけだから。いつもは大人しい良い子です
0838名前は開発中のものです。
2009/02/17(火) 04:15:38ID:mYkPFH12>俺は衝突イベントでHSPスクリプトを呼び出してる。何がどんだけの速度で自分に当たったか、が入力
>ゲーム固有の処理、体力を減らす、増やす、モーション切り替え(倒れる、死ぬ、復活、etc)等の結果が出力
>自作の拡張プラグインはIrrlichtとBulletライブラリの機能をHSPで利用するための橋渡し役
衝突イベントをHSPで処理する意味が分からない。Cでやっちゃダメなの?
0839名前は開発中のものです。
2009/02/17(火) 04:23:58ID:EEKBitmgそれ元々はC/C++のゲームだったんだよね
HSP使いの友人がMOD作りたいっていうから
無理矢理HSPで処理を噛ませるようにした
0840名前は開発中のものです。
2009/02/17(火) 05:52:02ID:mYkPFH12とか書くから、いつもそうしてるのかと勘違いした。
でも、HSP使うメリットって一体何?
0841名前は開発中のものです。
2009/02/17(火) 05:55:13ID:mYkPFH12わざと非合理的な方法でゲーム作ったことをアピールするためか。
結局タスカーといっしょじゃん。
0842名前は開発中のものです。
2009/02/17(火) 07:15:05ID:kHMs+A/2作用に関する処理、イベント処理をスクリプトで記述できるようにするというのは
別に非合理ではないけどな
否定するには材料不足。勇み足
他人に記述してもらいやすいように工夫する必要、需要があるからそれを行う
これはごく自然なこと
カーゴカルトのタスク信者に欠如する行動動機が彼にはある。タスク信者とは明らかに異質。遥かに正常だ
0843名前は開発中のものです。
2009/02/17(火) 07:32:57ID:/LgLIdHP0844名前は開発中のものです。
2009/02/17(火) 08:10:03ID:mYkPFH12マクロ一つとっても、Cの方が柔軟性あるから、スクリプト書くにしてもHSP使うぐらいならC使うだろうなぁ、普通は。
0845名前は開発中のものです。
2009/02/17(火) 08:26:57ID:zD2G8Hpzって自分で言ってたくせに、
偉そうにしてて叩かれると、ムキになって反論するのかw
0846名前は開発中のものです。
2009/02/17(火) 08:35:45ID:U09axd+cZ80とか6502向けにアセンブリ言語で書くなら、タスクシステムは便利だわな。
非合理的な方法でゲームプログラミングするなら、ちょっと草植えときますね型
言語 Grass とか良いんじゃね? ちょっとプリミティブ増やさないと辛いが。
ttp://www.blue.sky.or.jp/grass/doc_ja.html
0847名前は開発中のものです。
2009/02/17(火) 08:53:13ID:mYkPFH120848名前は開発中のものです。
2009/02/17(火) 10:09:35ID:yhxdYNxkただ残念なことにHSPは言語として認められているかといわれるとそこは疑問だ。
2年ぐらい前にうちの人事でHSPで作ったゲーム持ってきたヤツが居て笑いものにされていたのを思い出した。
いくらHSPで高度な事をやったとしても、業務では使えないよね。
HSP(笑)といわれてしまうのは仕方が無いぜ。
けどフレームワークがあって、組み込みスクリプトとしてHSPを使うのなら、俺は賛成派です。
最も底辺なスクリプターのレベルに合わせてやれるし、マニュアルも豊富だしね。
個人で複数人でのゲーム製作なら有意な選択肢だと思う。業務ならLuaやSquirrel使うだろうけどな。
0849名前は開発中のものです。
2009/02/17(火) 10:24:59ID:yhxdYNxkそうそう。少しでも関数にたどり着くオーバーヘッドを少なくしようとすると、タスクが必要な時代があったんだよ。
太古のコンパイラはswitchがジャンプテーブルを生成してくれないもんだから、switch分岐がタブーとされていた。
条件分岐の多いゲームにおいて苦し紛れに出て来た呪われた子がタスクシステムなんだよ。
今は、現場でも新人教育の場でもタスクシステムなんて言葉は出てこない。
(携帯畑は知らないが、据え置きの設計でタスク使ってるのは見たことがない)
シーン管理やイベント管理がボトルネックになる箇所では無い時代になってもなお、
タスクシステムを”プロの技法”として讃えるのはいささか疑問があるでしょうね。
で、執筆者もそれを分かっていてタスクが古い技法であることを明記している場合がほとんどだとおもうぜ。
0850名前は開発中のものです。
2009/02/17(火) 10:29:08ID:5AsmfnlE0851名前は開発中のものです。
2009/02/17(火) 10:35:08ID:yhxdYNxk他にネックな箇所はいくらでもある。
その誤差レベルの高速化の為に人員を費やし、バグの温床を作るのであれば、
タスクを選択しないという時代になったわけよ。
0852名前は開発中のものです。
2009/02/17(火) 10:51:53ID:mYkPFH12最底辺に合わせるのなら、パラメーターだけでやった方が良くない?
teki *akaiteki = new teki(0xFFFF0000);
teki *kuroiteki = new teki(0xFF000000);
スクリプトっていっても、Luaなんて汎用的すぎてCと変わらないと思うんだよなぁ。
マップとかもテキストエディタで編集できるのがクールでいいね。
例)横スクロールのマップ
? @@@@@@@@@
@@@@@@@
vv *
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
これだって言語の一種だし。
0853名前は開発中のものです。
2009/02/17(火) 11:01:46ID:mYkPFH12動的関数呼び出しが速い訳ないじゃん。
switchがどうとか言ってる人も居るけど、ごった煮リスト使わないならそもそも分岐すらいらないし。
for(int i=0; i<size; ++i)
{
array[i].x += 1;
}
for(int i=0; i<size; ++i)
{
array[i]->update(); //←これ仮想関数ね
}
どっちが速いかなんて考えるまでもない。
0854名前は開発中のものです。
2009/02/17(火) 11:17:56ID:yhxdYNxkシーンを階層化すれば無駄なswitchも減らすことも0にすることもできるよね
タスク分割を仮想関数を呼びまくるレベルまで細かくしたのなら重いだろうね
いくらタスク使う場合も関数はそこまで細かくしないと思いますぜ
0855名前は開発中のものです。
2009/02/17(火) 11:28:44ID:mYkPFH12タスクシステム使っといて、
シューティングの弾幕は数が多いからタスクシステムで管理せず配列で、とかありえないだろ。
何のためのタスクシステムなのか意味が分からん。
それにタスクの数が少なくても、2重ループすれば2乗、3重ループすれば3条だよ。
え、2重ループなんて使わないって?ヒント:当り判定
0856名前は開発中のものです。
2009/02/17(火) 11:29:03ID:yhxdYNxk最終的な外部データの形としてはパラメータだけ置換させる程度の留めるのが理想だわな〜
(底辺のラインがどの程度か難しいが)Luaも結局のところCと同じぐらい複雑ではあるのは確かですね。
デザイナーが容易に扱えるようにスクリプト化しても、
結局はプログラマしか理解できていない/弄れないってのは本末転倒だよね。と反省している。
0857名前は開発中のものです。
2009/02/17(火) 11:32:16ID:yhxdYNxk仮想関数なんていう高級な仕様は存在せず、
C++がコンソールで使えない時代で、CもしくはASMで書いてた話なんだって。
速度を稼ぐためには仕方が無かったんだ。分かってくれ。
0858名前は開発中のものです。
2009/02/17(火) 16:50:02ID:Vt7gWCzD0859名前は開発中のものです。
2009/02/17(火) 16:51:29ID:5iQxaPu6ただでさえ沸点の低いおまえら(間違った事を偉そうに知ったかぶりする人間を見るとムカムカして許せない)がこのスレ見たら
あまりの痛々しさに悶え苦しむだろう。
識者とはどこかで諦観できる器を持つ必要があるのかもしれない。
馬鹿に何を言っても結局無駄なんだ。善意にもならない。悲しいけど。
0860名前は開発中のものです。
2009/02/17(火) 18:07:11ID:dYjC/tB60861名前は開発中のものです。
2009/02/17(火) 18:38:49ID:rv15b0x5HSPでウィンドウに文字を出すなら
mes "hello world"
Cで同じようなコードを書くなら
MES("hello world");
でもさ、Cの場合は前準備がものすごく必要になるだろ
それだけ前準備してやっとHSPと同じ条件になる
バカらしくないの?
確かにCの方が言語として多機能だろうけど
使わない機能なら、存在していないのと同じこと
一つの手段にこだわりすぎて、他の手段が見えてないのは
ちょっと視野が狭すぎる
一年間ぐらい便所に引きこもってうんこでもしながら考えてみる事をお勧めする
0862名前は開発中のものです。
2009/02/17(火) 18:59:10ID:dYjC/tB60863名前は開発中のものです。
2009/02/17(火) 19:20:26ID:rv15b0x5俺の思想など理解できまい
おまえら雑魚が言語にこだわって時間を浪費している間
俺はゆっくりと十分に睡眠を取るだけだ
0864名前は開発中のものです。
2009/02/17(火) 19:58:13ID:bunjUX2fその事実を無能なる韓国人どもに思い知らせ、我が日本領土である竹島を取り返すべくただいまより攻撃にでる
愚かなる韓国人に対し、再び裁きの鉄槌を振るう時が来た!
/⌒ヽ
( ^ω^)/ ̄/ ̄/
( 二二つ / と)
| / / /
|  ̄| ̄ ̄
攻撃:(p)http://dokdo.andu.hanafos.com/sign/
サイトで右側を選択すれば竹島は日本の領土!
作戦指令本部:(p)http://takeshima.2ch.net/test/read.cgi/news4vip/1234862529/
0865名前は開発中のものです。
2009/02/17(火) 20:58:17ID:cf75l7e40866名前は開発中のものです。
2009/02/17(火) 21:16:27ID:Vt7gWCzD510のソースすら読めない自称プログラマのアンチタスク君
同人ゲーしか作ったことがないのに自信満々にタスクシステムを否定する奴とか
3万行ぐらいのソースしか書いたことがないくせにプロきどりの奴とか
最後に極めつけはクルクルパーのHSP使いか
このスレ、本当にネタに困らないな
頭のおかしい奴、大集合だ
この分ならまだ3スレぐらい行けそうだな
0867名前は開発中のものです。
2009/02/17(火) 21:30:37ID:+g64AY4w話はそれからだ。
全く期待してないけどな。色んな意味で。
0868名前は開発中のものです。
2009/02/17(火) 21:48:21ID:rv15b0x5反論できなくなって主観で罵倒する程度しか手がないのだろ
そして、相手に情報を出させて揚げ足取りを狙うだけ
それらも俺にあっさりと見抜かれる
愚かである、そして哀れである
なんなら怒ったふりでもしてやろうか
わはは
0869名前は開発中のものです。
2009/02/17(火) 21:52:17ID:9PUyhKNF何を作るかじゃなくてどう作るかがここの話題じゃないのか
0870名前は開発中のものです。
2009/02/17(火) 21:55:16ID:+g64AY4w成果を見るのが一番手っ取り早いだろうが。
いいんだよ別に。初めっからミジンコも期待してなかったから。
0871名前は開発中のものです。
2009/02/17(火) 21:56:43ID:mYkPFH12構造体が使えないぶんHSPの方が使いにくい。
DSLっていったら、マップデータとか、iniファイルとか、そのレベルで初めて効果が出てくるわけで、
HSPですら豪華すぎる。
0872名前は開発中のものです。
2009/02/17(火) 22:07:45ID:mYkPFH12マップデータ→マップ
Xファイル→メッシュ
png→画像
mp3→音
C→メイン
HSP→?
0873名前は開発中のものです。
2009/02/17(火) 22:12:00ID:/LgLIdHPその比較に意味があるのかどうか、聞いてみたいところだ。
array[i].x+=1といった固定の処理しかしないなら確かに速いのだろうが、現実的にはそれだけで
済まないだろ。
>855
いまどき実直に二重ループで当たり判定するのは、素人でもありえない様な気がするが…。
0874名前は開発中のものです。
2009/02/17(火) 22:14:35ID:mYkPFH12ではHSPは一体どの特定の種類の問題に特化してるっていうの?
ゲーム?構造体も無いのに?
HSPは総合的にみれば厨問題に特化した言語で間違いない。
0875名前は開発中のものです。
2009/02/17(火) 22:17:24ID:mYkPFH12現実には、クラスごとにarrayを用意するから問題ない。処理固定で良い。
0876869
2009/02/17(火) 22:32:25ID:w3hFLKWnパフォーマンスは多義語だから何を指しているかわからないけど
生産効率とか実行効率を指しているなら上げられている動画を
みるだけじゃわからなくね?
ちなみにIDでわかると思うけどHSP使いの人ではない、ただの横槍
0877名前は開発中のものです。
2009/02/17(火) 22:43:06ID:/LgLIdHPまぁ、PCでメモリが潤沢にあればそれでもいいかもね。
0878名前は開発中のものです。
2009/02/17(火) 22:44:52ID:+g64AY4w何にしろ、ぱっと見、すごかったら興味が湧かね?
まずは興味じゃね。
0879名前は開発中のものです。
2009/02/17(火) 22:50:52ID:ezRPv93x使わない機能ってほとんど無いだろ?
みんなCじゃ足りないからC++/STL/Boostまで使ってますよ。
Windows環境でゲームに特化した言語であるHSPの方が記述量が減るのは正しいよ。
ウィンドウにたった1行表示させるだけでも、ウィンドウクラス登録->ウィンドウ生成->メッセージ処理->HDC取得->描画
と手間だらけだわな。
HSPでたった1行で書けるのは50行にもなってしまうのを悲観するのも分からんでもない。
でも、MFCやWTL使えばその労力も減るでしょ。
ライブラリのほとんどはCを基準に作ってあり、積み重ねられてきた言語としての拡張性が雲泥の差だよ。
0880名前は開発中のものです。
2009/02/17(火) 23:21:36ID:rv15b0x5>ゲーム?構造体も無いのに?
>HSPは総合的にみれば厨問題に特化した言語で間違いない。
DSLのことについて何も知らないだろ、マクロも知らないバカは黙ってろ
>HSPの人はついにC言語批判に入ったか。ある意味すげえな。
Cを批判した覚えはない、DSLの説明を補足しただけだ
>みんなCじゃ足りないからC++/STL/Boostまで使ってますよ。
君は視野が狭いね
俺はあらゆる言語と、あらゆるツール
それ以外のことまで視野に入れて考えますよ
言語とライブラリの使用方法だけ考えていればいいなんて楽ですね
何も考えなくていいから
0881名前は開発中のものです。
2009/02/17(火) 23:34:42ID:Vt7gWCzDこんな、このクルクルパーと遊んでやれ
あと3スレぐらい、このクルクルパーで引っ張れそうだ
0882名前は開発中のものです。
2009/02/17(火) 23:37:01ID:6sHiblZtHSPはDSLの範疇外だけど…
0883名前は開発中のものです。
2009/02/17(火) 23:37:04ID:fzK3Nh2ocppぐらいだと、正直あんま妙ちきりんなマクロはヤメテと言いたい
Cのマクロの珍妙技のっけたような本、昔は出てたと思うけど
今はネタ扱いでない?
0884名前は開発中のものです。
2009/02/17(火) 23:48:21ID:/LgLIdHP> 俺はあらゆる言語と、あらゆるツール
> それ以外のことまで視野に入れて考えますよ
ガンバレ(棒
キミはやれば出来る子だ(棒
0885名前は開発中のものです。
2009/02/18(水) 00:13:36ID:ruZ8m6GoHSPクンはDSLの定義を何か勘違いしてると思うよ。
調べなおそうねw
0886ID:EEKBitmg
2009/02/18(水) 00:24:04ID:KYcjScW5うちの研究室は指導教官含めてHSP使いが多いから別に非合理的じゃない
実験装置の制御にもHSPを使ってたりする
HSP⇔拡張プラグイン⇔デバイスドライバ⇔PCIバスの制御ボード⇔実験装置
計測終了、エラーで中断、などを写メで知らせてくれる
0887名前は開発中のものです。
2009/02/18(水) 00:29:01ID:Xkqn3VRgCとHSPならCの方がマクロが強力だから、
DSL構築するならCの方が良いね。
0888名前は開発中のものです。
2009/02/18(水) 00:32:30ID:Xkqn3VRgそれは、日本人は日本語を話す人が多いから、コンピュータ言語はひまわりが良い、
と言ってるようなものだぞ。
0889ID:EEKBitmg
2009/02/18(水) 00:39:57ID:KYcjScW5>けどフレームワークがあって、組み込みスクリプトとしてHSPを使うのなら、俺は賛成派です。
ありがとう
>>888
何を言ってるのか分からない
使う奴らの多数意見でHSPがいいっつー環境だからHSPを選択した
それだけのこと。ちなみに第2位はRuby。ツクラーも多いから
0890名前は開発中のものです。
2009/02/18(水) 00:57:42ID:Xkqn3VRgお前の研究室の台所事情なんて皆知らないし、聞きたくも無いわけ。
お前の研究室で何か物を作るという特定の種類の問題に特化したコンピュータ言語がHSPだったってだけだろ。
だから、>>874でも、HSPのことを、厨問題に特化した言語だって予め言っておいたんだ。
それに対するお前のレスがこれ>>880
0891ID:EEKBitmg
2009/02/18(水) 01:00:54ID:KYcjScW5いや、それ別人なんすけど。。。
DSL?なにそれ?食べられるの?
ウンコきばって思考する詩人の発想なんて知らない
0892名前は開発中のものです。
2009/02/18(水) 01:11:28ID:Xkqn3VRgちょっとまってくれ。ややこし。
HSP野郎は二人も居るのか?
>>891用に書き換える。
お前の研究室で何か物を作るという特定の種類の問題に特化したコンピュータ言語がHSPだったってだけだろ。
HSPがゲームに適しているかどうかとは別問題。
ここはお前の研究室の台所事情について話し合うスレではない。
しかし、まさかHSP使いが二人も居るなんて。
コテ付けてくれなきゃ見分けがつかん。
0893ID:EEKBitmg
2009/02/18(水) 01:22:33ID:KYcjScW5つ>>841
↑これよく読んでもらえれば分かると思うのだが
>>841は何をもって非合理といってるのか、その理由を書いていない
だから俺は、HSPを選択したことを非合理だと言ってるのかなーとESPし
とりあえず>>886のレスをした。それだけのこと
あと、IDコテ付けてるんで。よろしく
0894名前は開発中のものです。
2009/02/18(水) 01:43:01ID:QEJ22uYfその前にお前なんでこのスレでHSPの主張をしてるん?
HSPのスレにいけよ
めちゃくちゃたくさんスレあるっぽいじゃん
0895名前は開発中のものです。
2009/02/18(水) 01:44:56ID:Xkqn3VRg>うちの研究室は指導教官含めてHSP使いが多いから別に非合理的じゃない
は、裏を返せば、一般的にはHSP使いなんて少数派だから、
非合理的だと認めているようなものだというのは分かるよね。
別に数が多けりゃ正しいって議論をしたかった訳ではないのだが、
少数派みずから多数決を肯定するような議論展開をするなんてな。
そりゃもしこの世にHSP使いしか居ない状況だったら、ゲームもHSPで作るさ。
でもそんなガラパゴス諸島での経験を元に2chで議論展開されてもなぁ。
いやいや、研究室の皆も、HSPも使えるけど、CもC++も使えるんだ!
それでも皆がHSPが良いっていったんだ!!
っていうんなら、また話はややこしいが。
0896ID:EEKBitmg
2009/02/18(水) 01:50:56ID:KYcjScW5HSPの主張を始めたのは以下のおじちゃん達です
つ>>820-822 >>824-827 >>830-831
俺は自分がHSPer(HSP使い)だと言っただけ。悪い?
0897名前は開発中のものです。
2009/02/18(水) 01:55:22ID:Xkqn3VRg言語そのものを見比べた場合、Cに勝っている部分は無いよな。
0898ID:EEKBitmg
2009/02/18(水) 02:08:41ID:KYcjScW5>は、裏を返せば、一般的にはHSP使いなんて少数派だから
>別に数が多けりゃ正しいって議論をしたかった訳ではないのだが
>少数派みずから多数決を肯定するような議論展開をするなんてな。
>そりゃもしこの世にHSP使いしか居ない状況だったら、ゲームもHSPで作るさ。
>でもそんなガラパゴス諸島での経験を元に2chで議論展開されてもなぁ。
>
>いやいや、研究室の皆も、HSPも使えるけど、CもC++も使えるんだ!
>それでも皆がHSPが良いっていったんだ!!
>っていうんなら、また話はややこしいが。
(;・∀・)?
0899名前は開発中のものです。
2009/02/18(水) 02:11:52ID:Xkqn3VRg0900名前は開発中のものです。
2009/02/18(水) 02:14:08ID:Xkqn3VRgさりげなく一文抜いて小細工して引用するなよ。
0901名前は開発中のものです。
2009/02/18(水) 02:48:15ID:DvmgYXWUHPSは安全バサミみたいなもんだ
切れ味いいし怪我しないし悪くないんだが
お仕事でやってる大工のおじちゃんたちに
安全バサミを使え、良い工具だと認めろと言っても怒鳴られるだけ
ちなみにタスクはあれだな。十徳ナイフ
ごてごてして使いにくいからちゃんとしたナイフとかドライバーとか買えよ
付属のドライバーでネジ回すとか変なとこで頑張らなくていいんだよ今の時代
0902名前は開発中のものです。
2009/02/18(水) 08:21:00ID:ixSqyf14それでも信者のままなら哀れを通り越してキモイな。
0903名前は開発中のものです。
2009/02/18(水) 10:57:49ID:GfDZ95jT0904名前は開発中のものです。
2009/02/18(水) 13:47:58ID:iuYGZeAh>>667
まあ、クルクルパーにはわからないと思うが。
0905名前は開発中のものです。
2009/02/18(水) 15:35:09ID:QEJ22uYfクルクルパーはお前だろw
本当に>>641みたいにかけるコードを>>510にして喜んでるアフォなら
いままで何やって生きてきたのかと虚しくならないか?w
0906名前は開発中のものです。
2009/02/18(水) 16:48:10ID:iuYGZeAhクルクルパーはお前。>>667 がわからないとはお前こそ本当にプログラマか?
一行でもプログラム書けんのか?
0907名前は開発中のものです。
2009/02/18(水) 16:50:21ID:QEJ22uYfはぁ?
で、やったことはfor文をマクロに変えただけみたいな
ウンコソース?プププwウケルーw
0908名前は開発中のものです。
2009/02/18(水) 16:52:21ID:iuYGZeAhfor文をマクロに変えただけのようにしか見えないとは
お前の目は潰れてんでねーの
0909名前は開発中のものです。
2009/02/18(水) 16:55:47ID:QEJ22uYfでもソースみるとそれしか違いがないよね?w
0910名前は開発中のものです。
2009/02/18(水) 16:58:37ID:iuYGZeAh>>667
0911名前は開発中のものです。
2009/02/18(水) 17:00:53ID:QEJ22uYfそいつ馬鹿だから「明らか」とかアフォなこと言ってるけど
全然「明らか」じゃねーしw
実際はソースが物語ってるように>>641のがわかりやすい上に
誰でも理解できるから保守もしやすい
0912名前は開発中のものです。
2009/02/18(水) 17:02:13ID:iuYGZeAh明らかじゃないと思うのはお前のプログラミング経験が浅いから。
クルクルパーはプログラミングする資格がない。
0913名前は開発中のものです。
2009/02/18(水) 17:03:30ID:QEJ22uYf説明できないほうが悪いでしょ?
仮にも技術板なわけだし?
異論あるの?
0914名前は開発中のものです。
2009/02/18(水) 17:04:13ID:iuYGZeAh説明されてるじゃん。>>667 が読めないなら国語から勉強しなおしなよ。
0915名前は開発中のものです。
2009/02/18(水) 17:05:52ID:QEJ22uYfなんで工数が増えるの?
なにで工数カウントしてんの?
とか>>667に出てきた単語そのものに疑問が尽きない
はっきりいって>>667は日本人ですらない可能性がある
0916名前は開発中のものです。
2009/02/18(水) 17:10:18ID:iuYGZeAhはっきり言って667すら読めないお前は中国人だと思う。
0917名前は開発中のものです。
2009/02/18(水) 17:12:34ID:QEJ22uYf説明できないの?
0918名前は開発中のものです。
2009/02/18(水) 17:14:17ID:9Nw4LaaLこりゃ、あと2、3スレは行けそうだな
0919名前は開発中のものです。
2009/02/18(水) 17:15:12ID:iuYGZeAhここは日本語教室じゃねーでな
金払って教えてもらって来いよ、この中国人風情が
0920名前は開発中のものです。
2009/02/18(水) 17:16:15ID:b7s8KJ/b0921名前は開発中のものです。
2009/02/18(水) 17:18:17ID:iuYGZeAh被害妄想が始まったか
中国人らしいな
0922名前は開発中のものです。
2009/02/18(水) 17:24:54ID:b7s8KJ/b0923名前は開発中のものです。
2009/02/18(水) 17:25:41ID:iuYGZeAh0924名前は開発中のものです。
2009/02/18(水) 17:30:30ID:b7s8KJ/bコードは>>641のがすくないよ
>>667で指摘する問題がコード量からみた工数を上回ることを説明しろ
0925名前は開発中のものです。
2009/02/18(水) 17:34:09ID:iuYGZeAhタスクシステムの工数は0とみなすということは、そのコードは0とみなすわけだから。
0926名前は開発中のものです。
2009/02/18(水) 18:17:45ID:QEJ22uYfほうほう
んで、その比較に一体なんの意味が?w
0927名前は開発中のものです。
2009/02/18(水) 19:50:58ID:9BPs9aRQ理想的な可読性の高いプログラムだと思う
よくわからないプログラムは書き換えたくない
ここはアセンブラで書いた方が速いですよって人とは
リポジトリを共有したくないです
俺が死にます
0928名前は開発中のものです。
2009/02/18(水) 21:04:33ID:wv7aA83zlinusじゃないけど、べったりなコードしか読めない、書けない人が
プロジェクトに参加しても邪魔なだけ。
0929名前は開発中のものです。
2009/02/18(水) 21:06:58ID:QEJ22uYfダメ
どんな天才であろうが数には勝てない
0930名前は開発中のものです。
2009/02/18(水) 21:14:46ID:wv7aA83z参加させるにも最低限のレベルがあるだろ。
0931名前は開発中のものです。
2009/02/18(水) 21:14:51ID:/uiRnghpそれはどうかな。
根拠は?
0932名前は開発中のものです。
2009/02/18(水) 21:52:19ID:QEJ22uYf給料の高い奴なんてめったにいねぇし
常時おいておくコストがそもそも無駄
その辺にいるようなのを必要なときに必要な期間だけ
必要な人数を集めたほうが圧倒的に楽、コストも低い
超難解で凄腕PGしか理解できない
その辺のアフォを集めてきてもすぐに触れる
誰が見ても明らかだろう
まだわからないか?
わざわざ難解なコードを書くPGは末期
自分の保身のためにコードを書いてるやね○ら○みたいな奴
こうなったらもうPGなんてやめたほうがいい
0933名前は開発中のものです。
2009/02/18(水) 21:52:54ID:ndw1pg6/クズは何人集まってもクズだ。
0934名前は開発中のものです。
2009/02/18(水) 22:09:03ID:iuYGZeAh> 自分の保身のためにコードを書いてるやね○ら○みたいな奴
彼はお前の10倍ぐらい年収がありそうだけどな
0935名前は開発中のものです。
2009/02/18(水) 22:37:46ID:/uiRnghp言っていることはわかる。
しかし、抽象的な話だが、一般論としてプログラムで実現できる効率性に限界はあるのかな。
プログラムで実現できる効率性の限界がたやすいものであれば、数には勝てないというのは正論だと思う。
ちょっとした複雑なプログラム作るにしても、短時間で堅牢な動作を実現するプログラマもいれば、
長時間かけてもグダグダなのしか作れないのもいるじゃん。
プログラムにより確保する作業補助ツールや、本体プログラムの設計や実装作業。
これらに効率性の上限はないと思う。
一方、素材生産も時間かかるけど、むしろこちらの方がセンスの差が現れやすい。
ところで一般論として、稼ぎが多いからといって、無差別に尊敬できるわけではない。
あくまで一般論。
0936名前は開発中のものです。
2009/02/18(水) 22:59:53ID:iuYGZeAhあくまで一般論として。
0937名前は開発中のものです。
2009/02/18(水) 23:04:31ID:/uiRnghpあくまで一般論。
0938名前は開発中のものです。
2009/02/18(水) 23:05:59ID:iuYGZeAhなんで勝手に、尊敬とすり替えるのか
あんた、頭大丈夫?
0939510
2009/02/18(水) 23:06:59ID:Xkqn3VRgちなみに私はタスク信者ではない。
それから510のキモは、forループをマクロにした部分にあるわけではなく、
各オブジェクトを何処からでも参照できるようにしたこと、
そのための画一的手法を提供したこと、
自動並列処理への余地を残したこと、
にある。
タスクシステム=DBという視点で見て、
ゲームにDBは必要か否かを議論するのが有効かと。
0940名前は開発中のものです。
2009/02/18(水) 23:07:35ID:/uiRnghp気にすんな。
0941名前は開発中のものです。
2009/02/18(水) 23:08:10ID:Xkqn3VRg0942名前は開発中のものです。
2009/02/18(水) 23:10:10ID:iuYGZeAhDBのつもりなら、staticで値持つの勘弁してくれ。
DBがシステムに1つしか無いだなんていつの時代だ?
0943名前は開発中のものです。
2009/02/18(水) 23:10:35ID:QEJ22uYf正直、俺はあまり差がでないって考えてる
仮に会社で仕事を割り振るときに
「お前、すごいから2倍ね」
って仕事わたされて本当に2倍できるか?って話
どんな天才でも、まず、不可能だと思う
すごいすごいいっても実際に比べてみるとその程度
それともう一つ
そもそも、実はプロジェクト全体からみて開発時間に
占めるお金の割合ってのがはっきりいってカスだから
そーユー部分に金かけてもしゃーないって理由がやっぱ大きいからね
ちょっと別の話題だけど
スクリプトも微妙でしょ?w
スクリプト作れて整備するほど優秀な人間1人飼うより
プログラムほどほど組める人間大量に雇っちゃってベタ貼りで美味くいくとしたら?
どっち?って結論としてはどっちでもよくない?w
0944名前は開発中のものです。
2009/02/18(水) 23:14:08ID:iuYGZeAhせっかく510が来てるんだから、クルクルパーは引っ込んでな
0945名前は開発中のものです。
2009/02/18(水) 23:15:55ID:QEJ22uYfDBにすると何がいいの?
0946名前は開発中のものです。
2009/02/18(水) 23:26:22ID:N8MnRZP3しょうがないだろう。
このスレにはタスクを全てまとめた一つだけのリストで管理していると勘違いしているバカが
わんさか居るんだ。
0947名前は開発中のものです。
2009/02/18(水) 23:26:58ID:4pei0XiHゲーム内パラメータ類の管理としてはDBも有りだけど。
なんとなくDBっていうと記録・検索ってイメージで
タスクシステムが対象としてる時間軸で対象オブジェクトの状態推移や生成・消滅が頻発するケースの場合
あんまりDBの考え方は合わないような気がする。
まぁ、表示用オブジェのリストやコリジョン用リストなどを種類別に簡易SQLで取得とか、DBの検索機能に限った
考え方としては面白いけど…
0948名前は開発中のものです。
2009/02/18(水) 23:28:34ID:ixSqyf140949名前は開発中のものです。
2009/02/18(水) 23:29:42ID:QEJ22uYfアフォ技術者いい加減にしろ
目的もなしに行動するな
キチガイがかよ
すべてが無駄
まったく大成しねぇ
する要素がねぇ
0950名前は開発中のものです。
2009/02/18(水) 23:29:45ID:iuYGZeAhどんだけ阿呆なんだ
お前、普通のDB使ったことないだろ
0951名前は開発中のものです。
2009/02/18(水) 23:30:12ID:iuYGZeAh基地外はお前
0952名前は開発中のものです。
2009/02/18(水) 23:30:29ID:ixSqyf140953名前は開発中のものです。
2009/02/18(水) 23:37:55ID:ixSqyf14>タスクシステム=DBという視点で見て、
>ゲームにDBは必要か否かを議論するのが有効かと。
これはゲームによるとしか言えないんじゃね。
一般化してなんにでも適用できる話じゃないよね。
0954名前は開発中のものです。
2009/02/18(水) 23:44:41ID:4pei0XiHゲームに特化したActor Modelの一実装例、としたほうが自然かと。
タスクシステム自体では何も定義されてないため実装依存で千差万別になってる
メッセージパッシングに関する議論とか、Actor Modelとして見た場合のほうが分かりやすい。
0955名前は開発中のものです。
2009/02/18(水) 23:51:01ID:iuYGZeAhそれは言えてる。
0956名前は開発中のものです。
2009/02/18(水) 23:56:34ID:QEJ22uYfとりあえずやってみてメリットは後で考えますとかふざけるのもいい加減にしろって思うよ
DBにするのが目的です
はぁ?馬鹿じゃねぇの
DBにして何がよくなるからDBにしたのか?ってそこを考えずに
まずDBにするのかよw
チョーウケルw
0957名前は開発中のものです。
2009/02/18(水) 23:56:56ID:ixSqyf14どこからでも参照できるようになることがメリットとは思えない。
なので、
>そのための画一的手法を提供したこと、
これもメリットとは思えない。
>自動並列処理への余地を残したこと、
この「自動」の意味が分からないんだよな。
結局クラス作ってリストに入れるんだよね。
どの辺の労力の肩代わりを指して「自動」と言ってるんだろうか。
「これが、こうなる」という風にズバリ示してもらえないかな。
0958名前は開発中のものです。
2009/02/18(水) 23:59:26ID:QEJ22uYf0959名前は開発中のものです。
2009/02/19(木) 00:00:45ID:ju+RHZ1R誰か代わりに頼む。
0960名前は開発中のものです。
2009/02/19(木) 00:08:04ID:SBcP9gszお前は510のソースすら読めなかった給料泥棒ではないか。
0961名前は開発中のものです。
2009/02/19(木) 00:08:50ID:zgcM2jV6遅レスだが、
>仮に会社で仕事を割り振るときに
>「お前、すごいから2倍ね」
>って仕事わたされて本当に2倍できるか?って話
>どんな天才でも、まず、不可能だと思う
別にプログラムに限った話ではなく、個人差はあるんじゃね。
俗にプログラマの生産性のバラつきは、非常に大きいとも言うよな。
>スクリプト作れて整備するほど優秀な人間1人飼うより
>プログラムほどほど組める人間大量に雇っちゃってベタ貼りで美味くいくとしたら?
>どっち?って結論としてはどっちでもよくない?w
後者の場合、結局、マトモな責任感持ってる奴が、全部見直して修正とかいう羽目になるんじゃね。
個人的には、ことプログラムに関しては、単純作業にブレークダウンできるものは、手足れが一気にやった方が早くて品質も守れる気がするな。
0962名前は開発中のものです。
2009/02/19(木) 00:30:09ID:4unT5BXH1行変えるたびにいちいちコンパイルしてたらキリが無いんだよ
0963ID:EEKBitmg
2009/02/19(木) 00:32:51ID:f7wngrJTへー。これは意外だね
HSP厨おこちゃまの俺をうんこ詩人と勘違いして、コテ付けてる俺にコテ付けろとか要求し
それを違うと指摘してあげると、今度はやたらネチネチと執拗にHSP使ってることに絡んでくる
チョー嫌なオッサンだなー、と思ったら。あれが>>510なのかー。面白いな
HSP嫌いの頭コチコチオヤジの脳みそが出してくる解が>>510?趣味野郎のコードだね
0964510
2009/02/19(木) 00:34:45ID:Qg2fxa2Uだけど、実はもう少し野望がある。
何処から誰が何に参照可能かどうかを定義するため、
今までの、「データ構造」「制御構造」「定数」に加え、新たに「参照構造」というものを作り、別途定義する。
参照構造を作るメリットは、今まで制御構造の中に散らばってしまっていたオブジェクト間の参照の定義を、
一箇所に纏めることが出来ること。参照構造がプログラムのすべてを決める。参照構造はプログラムの設計書といえる。
今までこんな大事なものが制御構造にまぎれてプログラムのあちこちに散らばってしまっていたわけだ。
また、何でもかんでもオブジェクトに括りつけようとするオブジェクト指向とは全く正反対の考え方であり、
ゆえに、従来型タスクシステムとも正反対の考え方といえる。
>この「自動」の意味が分からないんだよな。
いちいち説明するまでも無いと思っていたが。
自動並列処理ってのは、処理の自動並列化ってこと。
マルチスレッドでパフォーマンス稼ぐこと。
0965名前は開発中のものです。
2009/02/19(木) 00:37:07ID:SBcP9gszお前は頭おかしそうだから、このままコテにしといてくれ。
0966ID:EEKBitmg
2009/02/19(木) 01:01:23ID:f7wngrJTで、タスクシステム(>>2)は実はDBだったんだ説が生まれたのか
まーたタスク信者が一般化・抽象化しまくって何がなんだか分からないこと言い出してるな
一般化・抽象化してタスクシステムを再解釈・再定義しようと躍起になるのってタスク信者の
十八番だったよね?
なにが『ちなみに私はタスク信者ではない』だ。タスクカルト教団の模範的振る舞いじゃん
歯も浮いてるしヅラも浮いてんだよオッサン。気付いてねーの?
0967名前は開発中のものです。
2009/02/19(木) 01:03:38ID:SBcP9gszコテにしてくれているようだな 感心感心
0968名前は開発中のものです。
2009/02/19(木) 01:04:58ID:Ijljdy2D> 自動並列処理ってのは、処理の自動並列化ってこと。
510と自動並列化の間には、越えられない壁が見えるが…
0969名前は開発中のものです。
2009/02/19(木) 01:06:53ID:Tu1TE6hAいや、稼げてないんですけど。
シングルスレッドで動いているようにしか見えないし、マルチ化しやすい構造でもないだろ。
仮にパフォーマンスが稼げてるとして、これをやるとやらないとではどんだけ違うの?
>自動並列処理ってのは、処理の自動並列化ってこと。
だからさ、ただの並列化と「自動」並列化の違いって何。
その差分を示してくれと言っているんだが。
0970名前は開発中のものです。
2009/02/19(木) 01:09:57ID:dlYlbeaRタスクシステムはオブジェクト間のメッセージ方法を定義していない点で不完全だけど
ここを定義してないってのが実はタスクシステムが今まで生き延びてきたミソで
Actor Model一番の難問をゲーム側の実装に投げてるわけ。
Actor Modelは並列計算モデルとしてはごく王道な考え方。
実装が汚くアンチが攻撃するメッセージ部分などの問題点は実はタスクシステムではなくゲーム側実装です。となるから。
まぁ、アンチにこれよりスマートな並列計算モデルは提示できんだろうし、攻撃してもそこはタスクシステムの本質じゃない、となる。
信者もアンチも頭の中のタスクシステムがみんな違う理由は「タスクシステムは定義が不完全だから」だ。
つまりこんな宗教論争は永遠に終わらんということだ。
0971名前は開発中のものです。
2009/02/19(木) 01:10:13ID:4unT5BXH0972名前は開発中のものです。
2009/02/19(木) 01:13:52ID:dlYlbeaRそれスレッドをポータブルに使う”ルール”で
並列計算モデルじゃないから。
0973名前は開発中のものです。
2009/02/19(木) 01:17:34ID:4unT5BXHゲームのフレームワーク部に真面目にMPI使うなんて気が狂いそうだ
0974名前は開発中のものです。
2009/02/19(木) 01:19:00ID:Qg2fxa2Uだから「自動並列化への余地を残した」って。
まぁ並列化はどうでも。流行みたいなものだから取り入れたってだけだし。
0975名前は開発中のものです。
2009/02/19(木) 01:19:01ID:ju+RHZ1R> で、タスクシステム(>>2)は実はDBだったんだ説が生まれたのか
そこまで曲解できるオマエの頭の中身を見てみたいwww
0976ID:EEKBitmg
2009/02/19(木) 01:19:26ID:f7wngrJTウンコきばって思案する詩人と一緒にされちゃ適わないからね
昨日は輪講で時間が余ったんでDSLとは何か。HSPはDSLなのか
について指導教官を交えて皆で討論した
DSLとはDamn Sophisticate Languageではないか、という説が有力となり
ならばHSPはDSLであることに疑う余地はない。という多数意見でまとまった
指導教官はFORTRANもDSLであると強く主張したが賛同は得られなかった
RubyこそDSL、StarRubyマンセー、と主張するツクラーも若干名いたが
HSP使いの数の暴力により封殺された
0977ID:EEKBitmg
2009/02/19(木) 01:20:53ID:f7wngrJT0978名前は開発中のものです。
2009/02/19(木) 01:25:09ID:Qg2fxa2U分からない奴だな。
・ただの並列化
→手動でスレッド作成して手動で仕事割り振り。
・自動並列化
→予め作成された幾つかのスレッドに自動で仕事割り振り。
ごちゃごちゃ言ってないで、MPIでも勉強して来い
0979名前は開発中のものです。
2009/02/19(木) 01:25:32ID:Ijljdy2D> だから「自動並列化への余地を残した」って。
それなら、タスクシステムw も「自動並列化への余地」とやらは残ってるな。
0980ID:EEKBitmg
2009/02/19(木) 01:30:35ID:f7wngrJT学生の俺でも分かる。俺と同じ臭いがする。無知の臭い。
世界を知らず、既出も何も知らない。車輪の再発明して俺tuee状態を楽しむタイプだ。
HSP使いは常にこの状態だからよく分かる
HSP使いと大差ない無教養・無知の底辺層の民こそがHSPを執拗に毛嫌いする
というのは知ってけど、再確認できた気がする
>>510はかなり無知なアマチュアだ。たぶん俺と歳は大差ない。
ただ、この人はおそらくは、俺と違ってゲーム作った本数は物凄く少ない、orゼロだと思う
ゲーム作って誰かに遊んでもらって感想聞いたりするより、ゲームの仕組みに固執する系の人だと思う
サクっと作り捨てのゲームプログラムをガシガシ作って周りの連中に遊んでもらって
これここつまらん俺が改造してやる、ほれどうだ、あー、おー、なにー、みたいなこととは
無縁の人っぽい
0981名前は開発中のものです。
2009/02/19(木) 01:32:42ID:Tu1TE6hAしかも全然MPI関係なくね?
>>510の中にMPI関係ありそうな部分て、どこ?
0982名前は開発中のものです。
2009/02/19(木) 01:37:03ID:4unT5BXH夢を見て何人ものPGが死んでいった
やめておけやめておけ
0983名前は開発中のものです。
2009/02/19(木) 01:38:19ID:Qg2fxa2U>DSLとはDamn Sophisticate Languageではないか、という説が有力となり
>ならばHSPはDSLであることに疑う余地はない。という多数意見でまとまった
その思考過程が意味が分からん。
天才とは、先天的に常人をはるかに超えた能力を持った人を言うという説が有力となり、
ならば俺が天才であることに疑う余地は無い、と同じことを言ってるぞ。しかも多数決て。
確かにHSPは
・ゲーム作りたい
・お金ない
・スキル無い
という特定の問題を解決するのに特化した言語だがな。
0984名前は開発中のものです。
2009/02/19(木) 01:39:38ID:Qg2fxa2Uカプコンがやってたぞ。
http://game.watch.impress.co.jp/docs/20070131/3dlp.htm
MTフレームワーク
0985名前は開発中のものです。
2009/02/19(木) 01:40:55ID:k4ODtuXPいやおまえ、みんな別にHSP叩いてないし、
むしろ優しく勘違いをさとされてるんだぞ?w
自分の言い分が通らないから全員底辺とか、どうなのよそれw
0986ID:EEKBitmg
2009/02/19(木) 01:41:42ID:f7wngrJT>ゲームでDBを使う理由は、特定の条件にマッチするオブジェクトを列挙する機能を一箇所に纏めるため
ちょっと待って。このタスク信者は何をボケかましてるの?
HSP使いの厨房の俺でも、学内RPGとか作るときに既存のDBMを
組み込んだりするわけだけど、そんな低レベルなことをお前は今発見したわけ?
つーか、話が摩り替わってない?タスクシステム=DBなんだろ?なんで?池沼?
0987名前は開発中のものです。
2009/02/19(木) 01:43:58ID:4unT5BXH0988ID:EEKBitmg
2009/02/19(木) 01:44:42ID:f7wngrJT全員だなんて言ってない。声がでかい奴がHSP叩いてるだけ
いい歳したまともな大人は、HSP使ってるガキンチョ相手に
クソ言語だあーだこーだとか言わない。華麗にスルーする
0989名前は開発中のものです。
2009/02/19(木) 01:46:35ID:Qg2fxa2U俺も高校性のころは作ってたサ。
ただ、今風のゲームは規模が大きすぎて趣味で作るにしては資本がかかりすぎる。
だから方法論ぐらいしか遊び場が無いんだよ。
それに、ゲームで飯食うなんて嫌だから、アマチュアで結構。
0990名前は開発中のものです。
2009/02/19(木) 01:52:51ID:Qg2fxa2U既存のDBじゃねぇっつーの。
いちいち自分が知ってる単語が出てくるたびに自分が分かる範囲で拡大解釈して突っ込んでくるな。
0991ID:EEKBitmg
2009/02/19(木) 01:52:54ID:f7wngrJTゲハ板で妄想でウダウダ知ったかブリブリっ子してるチンマンコ共と同じじゃん
クリエイター気取りっていう趣味があるのは知ってるけど、なんなの君らって?
何も生み出さないんだけど、作る過程を研究してる俺ってクリエイターみたいな
気分だけ楽しむ自称クリエイター。タスク信者なんtえ、永遠に終わることのない
山篭りして、ロクなもの生み出さずに歳ばかり重ねて人知れず朽ち果てるタイプじゃない?
なんでこういう頭でっかちのオッサンがこういう板のこういうスレでデカイ面して
HSPを叩くのか全く理解できない。2ちゃんってすげえな。口先野郎の中年ばっか
0992ID:EEKBitmg
2009/02/19(木) 01:59:03ID:f7wngrJTはぁ?
あんたゲームでDB使うのが新規性に富む、野望と野心に溢れたフロンティア
みたいに考えてるんだろ
DBがハンドメイドのものか既存のものかに一体何の重要な違いがある?
あとさ、シーングラフの中から、条件にあったオブジェクトを高速に列挙する
それをお前はDBだとかあんた言ってるんだろ?
そんな機能、シーングラフを扱うライブラリなら大抵入ってるじゃん
or用意に組み込めるようなトラバーサのインターフェースを提供してるじゃん
0993ID:EEKBitmg
2009/02/19(木) 02:05:08ID:f7wngrJTうぜぇんだよ。三下
ネタにマジレスとか正気か?マジでキチガイなんじゃね?
0994名前は開発中のものです。
2009/02/19(木) 02:11:09ID:Tu1TE6hAこのひどい徒労感はどうすりゃいいんだ。
一応>>2は化石みたいなもので実際使ってるやつはいないからクソ、
っつーことはタスク信者が言ってたから終了でいいよな。
で、新たにレベルアップしたカスタムウンコシステムが>>510だと思っていたのに、
なんか違うと言って逃げられた。
もうアマチュアしか残ってないのかな、タスカーは。
現場で使ってる人、まだいる?
0995名前は開発中のものです。
2009/02/19(木) 02:17:14ID:Qg2fxa2U0996名前は開発中のものです。
2009/02/19(木) 02:20:48ID:4unT5BXHそうだな。こういうこともあるさ。ドンマイ。頑張れQg2fxa2U
0997名前は開発中のものです。
2009/02/19(木) 02:24:13ID:k4ODtuXPhttp://pc11.2ch.net/test/read.cgi/gamedev/1234977661/
0998ID:EEKBitmg
2009/02/19(木) 02:28:12ID:f7wngrJTなに?もうギブアップ?俺のせりふがプロっぽく見えるなんて
相当にレベル低いな
あとさ、高専は高校であって高校ではない。高専でぐぐれ。ナメてんのか
あとさ、輪講の内容がネタなんだよ。わっかんねーやつだな
0999ID:EEKBitmg
2009/02/19(木) 02:32:17ID:f7wngrJT>>510を庇ってたアンチタスク。寝返ったとか言われてたけどなw
1000名前は開発中のものです。
2009/02/19(木) 02:33:47ID:PSw+2OVR10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。