タスクシステム総合スレ part3at GAMEDEV
タスクシステム総合スレ part3 - 暇つぶし2ch158:名前は開発中のものです。
08/12/01 21:32:13 igKS/Zf4
大手ならどこでも通じる

159:名前は開発中のものです。
08/12/01 22:17:35 JLnsfkv1
>>158
そしたら下請けに流れてきてもおかしくないじゃん

160:名前は開発中のものです。
08/12/01 23:06:38 /JTH9VCP
俺は自分からは使わんが、他社の2回くらい見たぞ?
もちろん>>2そのままじゃなかったが、ネットでよく聞くから増えてんじゃね

つーかさー、NDSのサンプルよく読んでみろよ・・・
現場で見たことないって騒いでるやつはDS開発やったことないのか?

161:名前は開発中のものです。
08/12/02 01:05:14 68pyN8gN
サターンしかやったこtない

162:名前は開発中のものです。
08/12/02 08:48:36 2eboyQhG
俺は、据え置き型ばっかり


163:名前は開発中のものです。
08/12/02 17:21:35 2m2wCEKn
URLリンク(www.page.sannet.ne.jp)
ひらしょ氏、今日の日記でも検討してるな。

いずれにしても銀の弾丸じゃないのは当然として、鉛の弾丸かどうかは微妙なところか。
否定派のつもりはないけどね俺。

164:名前は開発中のものです。
08/12/02 19:37:52 RctAWrR8
>>163
いいなこの人
説明に難しい言葉を使わないようにしてるし
ちゃんと人に伝えようという文章に好感が持てる

165:名前は開発中のものです。
08/12/02 20:12:02 VDtsWa1y
たしかに
タスクシステムとは可搬性と再利用性に優れた素晴らしいシステムなんです
とか繰り返してた人たちの話よりよっぽど分かりやすい

166:名前は開発中のものです。
08/12/03 02:05:13 lPaxGufd
ひらしょ氏の日記見て来ますたw

つか、ヒープのフラグメント避けるためにサイズの違うデータでも固定長メモリ確保するとか
俺が学生時代にごくナチュラルに作ったものだが・・・。メモリプールという言葉の存在すら知らないまま。
まずさ、ゲームで使われている技術なんて、3Dやら除けば全然大したことがなくて
独自性などどこにもなということを認識するべきじゃなかろうか。とりわけ今となっては。

> だからタスクシステムなんて聞くのは2chだけだって

昔のアマゲ周辺でそれなりに聞いたかな。某よっしん氏等も使ってた記憶が。
ただ、言葉は聞くけど実体は人それぞれという類のものだよね。
オブジェクトをリストで繋げて更新ルーチンへのポインタ保持してるだけで
俺がガンダムだって言っても、言葉の定義なんかないんだから自由なわけだしさ。
実際、昔言ってたタスクシステムもその程度の代物でしかなかったと思うんだよ。

そうだな、それでも、C++がまだ使われていなかった頃はそれなりに画期的、というのもちげーな
「ああこうすればいいのか」と人を感心させられる程度のものではあったかもしれない。
ひとつのテクニックとして名前をつけて呼ぶ価値があったと思うよ。10年以上前の話。

でも、今となってはこんな普通にC++で書けば自然にできるようなことをシステムなんてとても呼べないし、
それでもタスクシステムという名前にこだわってる人は、もっと高度な何かを語ってると思うんだが

何それ?っていうか、要らんよねぶっちゃけというか、コード見せれ、というか

俺としては、C・アセンブラ時代に言ってたタスクシステムが、ものすごいタイムラグを経て、
一部のアマチュアに、おかしな形で伝わってしまっただけじゃね?と思っているのだが。
もしそうだとすれば、素人を混乱させる有害情報でしかないので火消しが必要なレベルだと思う。

そうでないなら、とにかくコード見せて。

167:名前は開発中のものです。
08/12/03 02:14:33 Smp60beT
>164は>165を指してるんだよね。
スレリンク(gamedev板:860-862番)

168:名前は開発中のものです。
08/12/03 03:28:15 uVk3FrZq
そのスレ読んだ
LGPLを含むEXEがLGPLに感染してるなんてライセンス文読めば一目瞭然のことを
何とか超解釈で否定しようとしてる子が定期的に出没していて
その理屈は違くね?という人達が理詰めで外堀から確実に徐々に埋め立ててる
そんな感じ?

物事をひん曲げて解釈したがる人を諭すには
駄目押し気味でもああいうのも有効かなとはおもた

169:名前は開発中のものです。
08/12/03 11:42:42 YzqEx1FO
>>167
あのスレのレスは三行でまとめて欲しい

>>168
あのスレごちゃごちゃしすぎてて、自分で何書いたかさえ忘れる

ところで、感染しないライセンスなんて無いよ。例えパブリックドメインであっても。
結合したら二次著作物なんだから。

170:名前は開発中のものです。
08/12/03 12:08:41 1jatayxx
>>169
二次利用に縛りをかけないライセンスは存在する。

ていうか、パブリックドメインとは、だれのものでもない存在だから、
二次著作物とかそういう縛りもない、はず。

171:名前は開発中のものです。
08/12/03 12:59:17 YzqEx1FO
>>170
うーん、有名どころで二次利用に縛りをかけないライセンスを見たことないけどな。
少なくとも「本ライセンス文書を同封しろ」と書いてある。

パブリックドメインに関しては著作権者が権利放棄してるから、利用に縛りはないだろうけど。

172:名前は開発中のものです。
08/12/03 13:23:37 6uS+aRN8
>>169-170
おまえらあっちのスレでやれ。
>>168
むしろ逆効果にしか見えないのだが、
前スレで釣り宣言してたからそれで狙い通りなのだろう。

173:名前は開発中のものです。
08/12/03 13:25:50 ls+0FiDV
三次利用以降に縛りをかけない事、という縛りをかけてるものはあるな

174:名前は開発中のものです。
08/12/04 00:21:20 J8DrEDup
数年前のとある同人STGのメイン関数。趣味だから何も考えてないね。仕方ないね
int _tmain(int argc, _TCHAR* argv[]){
  boost::shared_ptr<GAMEENV> gameenv(new GAMEENV);   //D3D,SOUND,INPUT,USERDATA,etc
  boost::scoped_ptr<SCENE> logo(new LOGO(gameenv));    //ロゴ画面
  boost::scoped_ptr<SCENE> demo(new DEMO(gameenv));   //デモ画面
  boost::scoped_ptr<SCENE> title(new TITLE(gameenv));    //タイトル画面
  boost::scoped_ptr<SCENE> config(new CONFIG(gameenv));  //コンフィグ画面
  boost::scoped_ptr<SCENE> stage1(new STAGE1(gameenv)); //ステージ1
  (…中略…)
  boost::scoped_ptr<SCENE> stage8(new STAGE8(gameenv)); //ステージ8
  boost::scoped_ptr<SCENE> ending(new ENDING(gameenv));  //エンディング
  logo->Run();                              //ロゴ画面再生
  try{
    while(1){
      demo->Run();                         //デモ画面再生
      switch(title->Run()){                     //タイトル画面再生
      case TITLEOPTIONTYPE_GAMESTART:         //ゲームスタート
        try{ //STAGEEXCEPTIONTYPE_GAMEOVERという例外を投げるまでゲーム続行
          stage1->Run();stage2->Run();stage3->Run();stage4->Run();
          stage5->Run();stage6->Run();stage7->Run();stage8->Run();
          ending->Run();                     //エンディング画面再生
        }catch(STAGEEXCEPTIONTYPE){;}break;       //GAMEOVER例外投げてきた
      case TITLEOPTIONTYPE_CONFIG:            //オプション画面再生
        config->Run();break;
      }
    }
  }
  catch(GAMEEXCEPTIONTYPE){;}catch(...){return EXIT_FAILURE;}//糞ゲーだからやめるらしい
  return EXIT_SUCCESS;
}

175:名前は開発中のものです。
08/12/04 00:28:18 J8DrEDup
_tmainじゃなくて_tWinMainだったかな。よくおぼえてないや
各シーンはいわゆるベタベタの配列厨コード。元HSパーだから仕方ないね
でもメモリもGPUリソースもジャブジャブ使いまくったおかげで
見た目はバリバリのイケイケになったよ。動作も軽快だったよ。自惚れだね

176:名前は開発中のものです。
08/12/04 02:00:33 yi3zavJ4
>>174
たのむ
なにが言いたいのか最後に書いてくれ

俺が気になるのは、メインループが本当に必要なのかどうかだな
タスクシステムも、それ以外のC++コードでも、なんでメインループ作るん?いらなくね?
普通に書けばいいじゃん(普通ってなによ)

177:名前は開発中のものです。
08/12/04 02:16:23 vVwN1TZ0
stage1->Run()はstage1が終わるまで返ってこないんだろ。
いずれにせよゲームなんて毎フレームの同じ処理の繰り替えしなんだから
どこぞかにループは存在するのが当たり前だと思うが。

178:名前は開発中のものです。
08/12/04 02:16:58 iyneYGG1
>>176が言う普通ってどんなコードなんだろうね

179:名前は開発中のものです。
08/12/04 03:27:17 yi3zavJ4
あーすまん
メインループはどんなプログラムにもあんね

なんかさ、1フレームごとに回るループを作るやり方と
作らないやり方(あちこちでupdateする)について
急に気になって言ってみたんだが
やっぱどっちでもいい気がしてきたからいいや

180:名前は開発中のものです。
08/12/04 04:04:02 BYcsjOha
スレッド作るにしろなんにしろ
どこかでスケジューラが回ってるがな

181:名前は開発中のものです。
08/12/04 10:56:55 vVwN1TZ0
>>179
> 作らないやり方(あちこちでupdateする)について
> 急に気になって言ってみたんだが

それは使ってるフレームワークが裏でループ回してupdate()呼んでるんだろ。
あるいは割り込み駆動の可能性もあるが。


182:名前は開発中のものです。
08/12/04 22:22:51 wPvA+LuT
>>175
>見た目はバリバリのイケイケ
気になるな。

183:名前は開発中のものです。
08/12/05 00:50:08 Vt/x/8eI
>>176
>たのむ
>なにが言いたいのか最後に書いてくれ

地域担当の教団勧誘員に>>174を見せると彼の顔はみるみる青ざめ、ついには目を背けてしまいました。
ただごとでない様子を感じ取った私は恐る恐るその訳を尋ねました。すると彼はおずおずと耳元で囁くのです。
「それはいけない。凶兆が見えます。そのようなものを作っていては遠からず仏罰が下るでしょう。南無妙法蓮華」
>>174は彼らの"先生"の教義に反する、知性体として恥ずべきお猿さんコードなのだそうです。私は狼狽してみました。
幼少の砌よりツクラーにしてHSPerである私の深層に眠る劣等感の残滓の存在をESPで見抜いたのか、彼は目を細め
「安心なさい。今からでも間に合う。私共のように三宝(  *  )に帰依なさい。そうすれば必ず道は開けますよ」
と仏様のような微笑みを湛えながらビール券とこの案内状をくれたのです

184:名前は開発中のものです。
08/12/05 00:51:18 Vt/x/8eI
>>183続き
(∀・ *)【三宝】…■松浦本■やね本■逆引き本
┌─────────────────────┐
│ 【集会のご案内】                                                       │
│   タスクシステム(>>2)こそ失われた聖杯、伝説の神器、至高のオーパーツ、現代のエクスカリバー  |
│   私どもの教団では、身も心も何もかも唯一無二のリンクリストに捧げることで驚きのTCBがプライ  |
|  オリティすることをお約束します。奮ってご参加ください                                |
│  タスクシステム総合スレ part3                                              |
│  スレリンク(gamedev板)l50                           │
|                                                                  |
| 【社説】反動分子の煽動記事に惑わされてはならない                                  |
|  URLリンク(diary.imou.to)                         |
|  URLリンク(d.hatena.ne.jp)                                     |
|  URLリンク(qo.sakuratan.com)タスクシステムのこと。/                        |
|  万物を支配するは唯一無二のリンクリストをおいて他に無く、秩序をもたらすはTCBのプライオリテイのみ。|
|   この崇高なる輪廻転生の法を冒涜し踏み躙る邪教徒共はママの愛情が足りなかったに違いない。 .|
|  敬虔なる信徒諸君は彼らの妄言に惑わされることなく修行に励みたまえ。そして最終解脱者となっ.|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ビール券に弱い僕は誘われるままホイホイとこのスレにやって来たんだね

185:名前は開発中のものです。
08/12/05 03:20:55 JyB7wu71
そろそろタスクシステム総合スレじゃなくて
ゲームシステム総合スレに名前変えね?
>>2を使ってる人は皆無なわけだし

186:名前は開発中のものです。
08/12/05 04:47:21 U4VbVISL
いや、ここ隔離スレだから…

187:名前は開発中のものです。
08/12/05 05:37:33 lg/+bi94
>>185
あー、ゲームシステム総合とか間抜けたスレタイいちいち考えなくていいから
既存スレちゃんとあるんで。こっちでは撲殺天使の人もあっちでは普通だから

ゲームにおけるデータ構造・クラス設計・パターン2
スレリンク(gamedev板)l50

既存スレからタスクシステムを隔離するためにこのスレは作られたんで
このスレが誘蛾灯として機能するにはこのスレタイは好都合この上ないんで
悪いけどお前が思ってる以上にそこそこ需要あるんだわ

>>2を使ってる人は皆無なわけだし

は?お前が憤死しても代わりは幾らでも湧いてくるから心配しなくていいって


188:名前は開発中のものです。
08/12/05 09:54:30 bKzmksBZ
やね本はプレミア付く程のレア物

189:名前は開発中のものです。
08/12/06 00:08:37 AlgIGpgY
>>166
何がいいたいかわからん。動的インスタンスリスト巡回アップデートwの具体的なメリットデメリットを指摘すればいいんじゃないか?
URLリンク(www.issei.org)
そのひらしょ氏の本を手伝ったらしいPGさんのブログ。タスクシステムらしきソースがある。
問い詰めた知人てこのひとかな?
例えば>>174をタスクシステムで書いたとして、単純に比較すればそりゃ
>直感的でない、変に抽象化されてデバグしにくい、実行順がコードの形で書かれておらずメンテしにくい
コードだと思うんだよ。んで、それでも使いたいメリットあるのか?て話だよな。

俺は本職のゲーム屋さんじゃないんで失礼かもしれないが、わかりにくいところもあるけど、
結構融通が利いて便利かもと思ったよ。
ためしにプロトタイプを作ってて、「ここで一発エフェクトが欲しいな」と思ったところで、new してリストにつなぐだけで動くってのはちょっと感心した。

あと、メインループ周りを作ってしまえば、そこをいじらなくても別のゲームが作れるのは
なれれば安心感があるな。
ただ、万人にお勧めできるかつと、それはちょっと難しいかもとは思う。


190:名前は開発中のものです。
08/12/06 00:15:03 +2mVCqZ1
>>189
>ためしにプロトタイプを作ってて、「ここで一発エフェクトが欲しいな」と思ったところで、new してリストにつなぐだけで動くってのはちょっと感心した。
これホントは動かないのが普通なんだよ
裏でグローバル変数でつながってるからnewするだけで動くように見えるだけ
可能でしょ?そういうの?
本来あるべき手続きを見た目見えなくするもんだから
後で「え?そんなところと関係あるの?」っていう部分がボロボロ出てくる

結果これ以上ないデスマになる

191:名前は開発中のものです。
08/12/06 00:28:23 AlgIGpgY
>>190
レス早すぎるだろw
>後で「え?そんなところと関係あるの?」っていう部分がボロボロ出てくる

そういう不安は、まあ、あるな。自分が把握していられる範囲ならともかく、
「3日前のコードは他人のコード」な人(俺だ)とか。

>裏でグローバル変数でつながってるから
これ、このスレでよく批判の対象になってるけど、俺が見た範囲では
それぞれ listはprivateにしたり一応保護する工夫をしているように見えるけど
「オブジェクト同士が相互参照できるならグローバルと同じで無意味」ってこと?


192:名前は開発中のものです。
08/12/06 03:37:13 +2mVCqZ1
>>191
タスクシステム云々ってよりグローバル変数の駄目な理由そのものじゃん

193:issei
08/12/06 07:28:54 wah4ZAkA
>>189
> タスクシステムらしきソースがある。
どこに?

私は、いまどきのハードウェアならタスクシステムは捨てて、役割ごとに std::list<> なり
配列なり作った方が良いと思ってる。

URLリンク(www.issei.org)

194:名前は開発中のものです。
08/12/06 11:22:47 r2noZKmJ
>>193
名前欄入れてらっしゃるけど、ご本人様で?

そのエントリによると、新人研修でタスクシステムのようなものを教えてる
ところは実在するわけですかね。

195:名前は開発中のものです。
08/12/06 12:02:44 +2mVCqZ1
散々タスクシステムを崇拝してきた人間も
ひらしょーさんの「なにそれ?」で完全に散ったなw

196:名前は開発中のものです。
08/12/06 12:40:25 r2noZKmJ
入門を脱したばかりの奴が入門記事を書く悪循環に、
ちょうどタスクシステムがはまっていた感はあったな。
CodeZineとか。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch