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

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

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

part2 http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/
part1 http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/
0002名前は開発中のものです。2008/11/09(日) 11:56:00ID:+pjnJyQQ
White Paper - Programming
http://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名前は開発中のものです。2008/11/09(日) 12:19:21ID:Jr7+0IfN
1乙
0004名前は開発中のものです。2008/11/09(日) 13:02:33ID:Pg+PR9ol
1おつ


前スレ>>995を実行しようとしたら、
「MSVCP60D.dllがみつかりません」って出て実行できんです。

0005名前は開発中のものです。2008/11/09(日) 13:37:28ID:95rhOgJ5
同じく下記2ファイルがみつかりませんと出てきた

  MSVCP60D.DLL
  msvcrtd.dll
0006名前は開発中のものです。2008/11/09(日) 15:05:15ID:clryvbVu
windows用の関数のスタブを用意したりして
linuxにてコンパイルして動作確認はできた
boost, boost build必須だけど…
0007名前は開発中のものです。2008/11/09(日) 15:15:38ID:clryvbVu
boostはいらんな、
なんかCTextBuffer::Openで落ちるから色々調べてたときに使ってただけね
パスやらファイル名の問題で*.mqoが開けなかったときにぬるぽが発生して落ちてただけね
あとglutの初期化忘れとか

タスクシステムと全然関係無いですねゴメソ
0008名前は開発中のものです。2008/11/09(日) 21:43:46ID:+pjnJyQQ
>>4
それVC6のデバッグ版のDLLだな
うちは入ってるから気づかなかったが

>>995はリリース版でビルドしちゃれよ
0009名前は開発中のものです。2008/11/09(日) 22:46:40ID:G/ueWH6s
>>8
もしくは CRT をスタティックリンク。
0010名前は開発中のものです。2008/11/09(日) 23:28:18ID:zHkW8xfN
ここで10年前に買ったVC6の恩恵を初めて受けることになるとは
0011名前は開発中のものです。2008/11/10(月) 22:26:56ID:nDrMpAC2
>MSVCP60D.dllがみつかりません

だっせー!>俺
すびばせんでした。再うpしました。

http://uproda11.2ch-library.com/src/11133655.zip.shtml

DLキー task

修正項目
・実行ファイルを Release ビルド
・背景スクロールを実装してみた。
・データローダの別スレッド動作のテストなど
0012名前は開発中のものです。2008/11/10(月) 22:36:07ID:nDrMpAC2
>>7
ガッ!(AA略)

>linuxにてコンパイルして動作確認はできた
さすがゲーム板。いや、LinuxでブートCD配布とかできたらと思ってたので。

>前スレの人
・実行順制御よりオブジェクト相互の関係が重要

サンプルを組んでみて、そのあたりの解決が提示されているわけではなさそうですね。< タスクシステム

サンプルのなかで、プレーヤーオブジェクトをポインタで保持してたり、その弊害を
避けるためにフラグ立ててたりとけっしてスマートとはいいがたいような。

TCB+関数ポインタをクラスで置き換えるのは悪いとはいわないが、オブジェクトの
生成削除が頻繁に起こるゲームで、std::listで管理するのはどうかなと思いました。
手軽ではあるのだけど。
0013名前は開発中のものです。2008/11/10(月) 22:42:17ID:nDrMpAC2
>前スレの人
>実行順制御・描画順制御
まだ慣れていないので評価しにくいですが、サンプルではシナリオの読み込みとか優先度を高くしてありますね。それなりに意味はあるのか?

描画順制御についていえば、OpenGL を使っていても半透明オブジェクトの重ねがき
みたいに描画順をメンテする例もあるので、まあ、あれば使うかなと。
(爆発表現にちょっとつかってみた)

描画に関してはもっとちゃんとしたやり方があるように思いますが。
0014名前は開発中のものです。2008/11/11(火) 22:13:14ID:BOKiifWA
>>12
> オブジェクトの生成削除が頻繁に起こるゲーム
今時のマシンなら高がしれてるよ。エフェクトでパーティクル個別に new するとかだと、さすがに
氏ねと思うが。
0015名前は開発中のものです。2008/11/11(火) 23:33:37ID:YONi9ugo
>>14
>今時のマシンなら高がしれてるよ

CPU負荷や処理速度じゃなくて、サンプルの例だと、stl::list からオブジェクトを
削除する場合のトリッキーに見える処理がちょっといやらしいかなと思ったんですよ。

ただ、シーケンシャルな処理だと考えればそんなに問題もないのかな。
0016名前は開発中のものです。2008/11/11(火) 23:45:14ID:BOKiifWA
>>15
そういう話なら同意。というか、何でもかんでも一つのリストにつながなくても、ふつーに
std::list<Enemy> enemy_list;
std::list<Effect> effect_list;
と分けとけば良いのにね。
0017名前は開発中のものです。2008/11/11(火) 23:45:44ID:bfqrEb/4
今時のマシンでもメモリ問題は意識すべきだよ。
少なくとも自分以外の人に遊んでもらえるゲームを作るつもりならね。
モジュールのライフスパンに応じて適切にヒープを分けるだけなんだから
最初からやれば手間はかからない。

今時はコンシューマゲーム機の開発者でさえもメモリ管理をおろそかにする未熟者が多い。
マスターアップ近くになってフラグメント化のためゲームがハング。
対策を練ろうにもグローバルでnew、deleteだったから全部書き直しするしかないという
実話もあるほど。
0018名前は開発中のものです。2008/11/12(水) 00:46:23ID:N/n8r37l
1GHz 512MB VRAM8MBで起動した
超絶スローで
0019名前は開発中のものです。2008/11/12(水) 01:05:05ID:sxpmqDHH
>>17
CodeZine のサンプルはメモリ管理にこだわってたよね。
「タスクシステム」の要件にメモリ管理を加えるべきか、みたいな
話もあったけど。
0020名前は開発中のものです。2008/11/12(水) 01:07:38ID:sxpmqDHH
>>18
>VRAM8M て、trio64とか?w
さすがにOpenGL のハードアクセラレーションないとちょっときついかと。
0021名前は開発中のものです。2008/11/12(水) 06:58:36ID:3e5+3Sl/
>>17
> 対策を練ろうにもグローバルでnew、deleteだったから全部書き直しするしかないという

なんでそうなるんだ?
「モジュールのライフスパンに応じて適切にヒープを分けるだけ」なんだろ?
後でもできるじゃん。
0022名前は開発中のものです。2008/11/12(水) 08:16:49ID:qQkBoxEr
>>17
メモリの断片化が問題になるのは、極端にサイズが大きいものと小さいものを
同じヒープから確保する場合。

テクスチャ・モデル・モーション・サウンドなどのリソース類だけ分けておけば、
あとのゲーム制御用のインスタンスは気にせずグローバルなヒープから new,
delete で OK だよ。
0023名前は開発中のものです。2008/11/12(水) 12:09:14ID:eqQiBZB/
そんなどんぶり勘定が許されるのは素人ゲーだけだよ
少なくともヒープ使用量の最大値は見積もれていないと
売り物にしてはいけないね。
フラグメント化対策の方法論なんて確立されているんだから
それをおろそかにするのは単なる手抜き以外の何者でもない。
■ このスレッドは過去ログ倉庫に格納されています