[過去ログ]
ゲームプログラミング相談室【Part5】 (970レス)
ゲームプログラミング相談室【Part5】 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
514: 510 [sage] 03/11/23 02:37 ID:81yBiszZ まだミスしてた --; 脳内コンパイラはミスだらけだ・・・・合体して動くの出すよ #include <iostream> using namespace std;// <---これいらないかも class CWeapon{// 武器のクラス public: int attack;// 武器の攻撃力 CWeapon(int pow) { attack=pow; } }; class CHero{// キャラのクラス int strength;// キャラの力 public: CWeapon * pWeapon; // 装備武器 CHero(int pow) { strength=pow; } void setAttack(CWeapon * p){ pWeapon = p; } // 武器を装備する int getAttack() const{ return strength + pWeapon->attack; } // 攻撃力を返す }; int main(int argc, char * argv[]) { CWeapon wep(12);// 初期値12の武器を作成 CHero chr(20);// 初期値20の伽羅を作成 chr.setAttack(&wep);// キャラに武器を持たせる cout << "chr は攻撃した " << chr.getAttack() << "のダメージを与えた!" << endl; cout << "何か入力で終了します。" << endl; char win[200]; cin >> win; return 0; } http://echo.5ch.net/test/read.cgi/gamedev/1036410116/514
515: 名前は開発中のものです。 [sage] 03/11/23 03:09 ID:7lIkxGuJ ちなみに何も装備しないで(素手で)攻撃するとエラーでるよ あれだ…発売当時のRPGツクール2003のバグ…。 エラー出ないようにするにはどうすればいいのか考えてみてね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/515
516: 名前は開発中のものです。 [あああああああああ] 03/11/23 12:17 ID:tSKJTIzS >>514 わかりやすくて(・∀・)イイ! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/516
517: 名前は開発中のものです。 [sage] 03/11/23 13:09 ID:QtG4HSSG (・∀・)イイ!じゃなくてとっとと(・∀・)ヤレ! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/517
518: 名前は開発中のものです。 [sage] 03/11/23 16:22 ID:5ilOVNRf >>517 とっとと(・∀・)ヤレ! とは、エラー処理か?、簡単すぎて下らん。 やりたいんなら、おまえがやれ! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/518
519: 名前は開発中のものです。 [sage] 03/11/23 17:07 ID:WauLd5th >>518 きっと君は勘違いボーイ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/519
520: 名前は開発中のものです。 [sage] 03/11/23 18:41 ID:J4atYXVd エラーももちらんだが次は敵を作成して(・∀・)ヤレ! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/520
521: [ ] 03/11/24 00:05 ID:P4JvmJJc 放物線を描きたいのですが 最も処理が軽くて簡単な方法は何ですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/521
522: 521 [ ] 03/11/24 00:07 ID:P4JvmJJc あ。整数のみの処理でです。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/522
523: 名前は開発中のものです。 [あああああああああ] 03/11/24 00:30 ID:y1O+xSWo だれか514の続きをしてやれ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/523
524: 名前は開発中のものです。 [sage] 03/11/24 01:13 ID:jvU8bqbW >>521 y = x * x; http://echo.5ch.net/test/read.cgi/gamedev/1036410116/524
525: 名前は開発中のものです。 [sage] 03/11/24 09:56 ID:UUxn7nSE >>524は何故ベストを尽くさないのか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/525
526: 偽524 [sage] 03/11/24 10:53 ID:rvwKDc/0 ふぉぉぉぉ!! ベストだーー!! http://echo.5ch.net/test/read.cgi/gamedev/1036410116/526
527: 名前は開発中のものです。 [sage] 03/11/24 11:21 ID:fe0QjvTd ベストエフォートです http://echo.5ch.net/test/read.cgi/gamedev/1036410116/527
528: 名前は開発中のものです。 [sage] 03/11/24 15:41 ID:HoJo3JBu 今時整数のみとかいってるなんてプゲラッチョすぎてもうダメポ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/528
529: 名前は開発中のものです。 [sage] 03/11/25 04:50 ID:b47pLzot ゲームだし結局は整数が最速だろ?(プゲラウヒハムヒョー http://echo.5ch.net/test/read.cgi/gamedev/1036410116/529
530: 名前は開発中のものです。 [sage] 03/11/25 05:09 ID:pJ/rVsUL 放物線なら三角関数で描けるよ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/530
531: 名前は開発中のものです。 [sage] 03/11/25 06:37 ID:G5ewz3ab >>530 まあ三角関数(cosかなんかを0まわりで)を二次近似したらそんな項が出てくるから 間違っては無いけど、なぜx^2でいかんのかと・・。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/531
532: 名前は開発中のものです。 [sage] 03/11/25 20:37 ID:myR/xvCb 528はヘボプログラマーかな? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/532
533: 名前は開発中のものです。 [sage] 03/11/25 23:56 ID:Qk78KVyQ 画像でも音でも浮動小数使う時代だしなー http://echo.5ch.net/test/read.cgi/gamedev/1036410116/533
534: 名前は開発中のものです。 [sage] 03/11/26 02:16 ID:FDG9W9vy >>531 三角関数云々は由緒あるネタなので、あまり気にするな。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/534
535: 名前は開発中のものです。 [] 03/11/26 05:08 ID:+cuEUmib 質問。 浮動少数のゼロ割チェックってどうしてる? たとえば長さがゼロのベクトルを正規化する ときなんかに長さを求めてゼロであればエラーでとめたりしてるの? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/535
536: 名前は開発中のものです。 [] 03/11/26 08:47 ID:ueZRq0X0 >>535 ゼロだったらじゃ駄目だろ? ゼロ付近(かなりあいまいだが)を調べなきゃ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/536
537: 名前は開発中のものです。 [] 03/11/26 09:48 ID:txivx5Le タスクシステムとはいったい何なんでしょうか ぐぐってもいまいちわかりません 情報工学にでてくるプリエンプティブなマルチタスクとも違うようですし どういういったものか教えてください 今の理解では関数ポインタを持つ線形リストなのではないかと思っているのですが…… http://echo.5ch.net/test/read.cgi/gamedev/1036410116/537
538: 名前は開発中のものです。 [] 03/11/26 10:47 ID:ueZRq0X0 >>537 そんなもの必要ないから知らなくていいよ。 ゲーム制作者がいってるタスクってのは 擬似タスクとか誰かがつけた奴だな。(まぎわらしいしはずかしいからやめてほしい) >今の理解では関数ポインタを持つ線形リストなのではないかと思っているのですが…… ああ、そんな感じ、そんな感じ。 もういい加減糞設計だって気づいてほしい今日このごろ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/538
539: 名前は開発中のものです。 [] 03/11/26 11:21 ID:RsfevxOF てか、JAVAで携帯のシムシティ風ゲームつーか、シムシティ作りたいんだけどね、今のJAVAでつくれるのかと。どうでしょうか。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/539
540: 名前は開発中のものです。 [sage] 03/11/26 11:52 ID:PfSyQyV9 >538 単にstateパターンでいいんでない? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/540
541: 名前は開発中のものです。 [] 03/11/26 12:08 ID:ueZRq0X0 >>540 いや、つーかさ、結局、種類が増えると 「switch caseをずらずらたくさんかかなくてはならない」 ってところが複雑になる要因であって、 これ↓って ttp://member.nifty.ne.jp/yamazaki/doc/cpp_design_pattern.html#State 何も解決してないと思うんだけど。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/541
542: 541 [] 03/11/26 12:11 ID:ueZRq0X0 541はタスクの話と繋がるまでちと長めの補間がいるかも。 Stateパターンだけの話ね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/542
543: 名前は開発中のものです。 [] 03/11/26 14:46 ID:Weo6peER JavaのSwingか何か使ってNetHack風のゲーム作ってみませんか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/543
544: 名前は開発中のものです。 [] 03/11/26 14:56 ID:gp+Vdr2Y >>538 >もういい加減糞設計だって気づいてほしい今日このごろ。 設計の善し悪しは気付いたり感じたりするもんじゃねぇんだ。ヴォケ。 おまえが無益性を論じて証明してみせろ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/544
545: 名前は開発中のものです。 [] 03/11/26 16:44 ID:ueZRq0X0 >>544 >設計の善し悪しは気付いたり感じたりするもんじゃねぇんだ。 いや、設計はそういうもんだよ。 直感でわかりやすくなければその時点で破棄して間違いない。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/545
546: 名前は開発中のものです。 [] 03/11/26 16:49 ID:TJpicHgi >>544 >>545 もしもこの二人が分かり合えたら、 イスラエル - アラブ間での長年の抗争を解決する銀の弾丸が見えてくるような気がする http://echo.5ch.net/test/read.cgi/gamedev/1036410116/546
547: 名前は開発中のものです。 [] 03/11/26 17:07 ID:gp+Vdr2Y >>545 直感で、というのはいったい誰の直感で? ある設計に直面したときに誰もが同じ直感を得ると思ってる? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/547
548: 名前は開発中のものです。 [] 03/11/26 17:20 ID:ueZRq0X0 >>547 >誰の直感で? 自分のでいい。 >誰もが同じ直感を得ると なんで誰もが同じでなければいけないの? 大事なのは「わかりやすい」ということかどうかだ。 同じである必要はない。 また、オブジェクト指向に基づいているかどうかというのも判断材料の一つだ。 この板のOOスレでやってるようなMだかVだか処理でわけるようなのは そもそもオブジェクト指向がわかっていない(この場合は論外だ)。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/548
549: 名前は開発中のものです。 [sage] 03/11/26 17:26 ID:ziRRWzvj 他の人にはわからないけど自分だけにはわかりやすい設計なのですか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/549
550: 名前は開発中のものです。 [] 03/11/26 17:35 ID:ueZRq0X0 >>549 ちがうな。 そもそもオブジェクト指向自体 「現実に則したものにのっとって設計すればみんなだいたい同じになってわかりやすいんじゃね?」 みたいないい加減なものなんだから、これにのっとって組む限り どうあがいたってキャパシティはこんなもんだろ? 逆にこれを超えようと努力するな。 余計複雑になってる奴多いぞ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/550
551: 名前は開発中のものです。 [] 03/11/26 17:56 ID:gp+Vdr2Y >>550 脱力しちゃって突っ込む気もおきないよ… 頼むから、せめて初心者も見ているこういう場所でだけは そういういい加減なことを自信満々で書き込むのは我慢できないか? 他ではやっても構わんから。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/551
552: 名前は開発中のものです。 [sage] 03/11/26 18:38 ID:PfSyQyV9 550=OOスレの48 とみた。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/552
553: 名前は開発中のものです。 [sage] 03/11/26 18:46 ID:zEqLFBTd 俺は、>>550は、 まともな事いってると思うけどな。 MだかVだか言ってる奴の方が脱力するわ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/553
554: 名前は開発中のものです。 [sage] 03/11/26 19:57 ID:xTI5bNZ5 むかしアイボのソースみたら、case文の羅列で萎えたことがあるなぁ。 たくさんのcase文と、たくさんのclass、どちらが幸せなんだろう。 MVCモデルも、いわゆる「最近の」ゲームには向かないだけなので、 一概に否定するのはどうかと思う。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/554
555: 名前は開発中のものです。 [sage] 03/11/26 22:07 ID:Hfp/lcva まぁ、一般的にゲームは、業務系プログラムよりは「保守」を考える必要が無いからね。 だから、書きっぱなしに特化した方法論が有効だというのもうなずける。 純粋にコストの問題だけどね。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/555
556: 名前は開発中のものです。 [sage] 03/11/26 23:25 ID:kCY8Ly/h >>555 いつもこの類の発言が出るが、比べる事自体が無意味。 一般的に業務系プログラムは、ゲームプログラムと違って パッチ当てたりバージョンアップしたりして何度もコードいじれるから 「保守」の名目のもと、バグがあっても直せるって感じで作るからね。 だから、ゲーム見たく発売後は修正は無理だからって徹底的にバグチェックしないしね。 純粋にコーディング姿勢の問題だけどね。 って言われも気が付かない? プログラムだからって何でも比べる無意味に。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/556
557: 名前は開発中のものです。 [sage] 03/11/26 23:45 ID:Tq38HXMm >>556 ええと…、>>555は>>556が言っていることを否定しているように読めましたか? 比べてるって言うか、その分野にはその分野のやり方があるっていう>>556と 同じことを言ってるんだけど… http://echo.5ch.net/test/read.cgi/gamedev/1036410116/557
558: 名前は開発中のものです。 [sage] 03/11/27 00:40 ID:j94eY1vB ……どうも最近、勝手に脳内で仮想敵を作り上げて それに見下すように反論する性癖のヤツが常駐している気がするよな。OOスレもそうだが。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/558
559: それはそれで面白いんだが [sage] 03/11/27 00:56 ID:ghFgKWyL 「ゲーム」「プログラマ」とそういう香具師が集まりやすい板のテーマだからね。。。 自戒自戒っと http://echo.5ch.net/test/read.cgi/gamedev/1036410116/559
560: 名前は開発中のものです。 [sage] 03/11/27 09:18 ID:7MaG36fL 自我崩壊 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/560
561: 名前は開発中のものです。 [sage] 03/11/27 09:47 ID:1HzzDQie list<VE*>brain; brain.push_front(static_cast<VE*>(558)); http://echo.5ch.net/test/read.cgi/gamedev/1036410116/561
562: 名前は開発中のものです。 [sage] 03/11/27 09:53 ID:fhZO2C7/ pSoNet* = new SoNet2; pSoNet->Destructor(); void SoNet::Destructor(){Attack(brain)} http://echo.5ch.net/test/read.cgi/gamedev/1036410116/562
563: 名前は開発中のものです。 [sage] 03/11/27 20:05 ID:wD8LR/s0 ゲームでもネトゲの場合だと、後々までの機能追加や修正に耐えられるような姿勢が求められるけどね。 それこそ途中でPGや開発会社が替わっても保守できるようにプログラムの整理やドキュメント化といった作業が必要になるし、 DB(ユーザーのデータ)が絡んでくる都合上、最初の設計段階でかなりキチンとしてないと、いずれ破綻するしね。 ネトゲ開発はゲームの知識に加えて、業務系の高度な知識も要求される、かなり難易度の高い分野だと思うぞ。 そういう意味じゃ、 ネトゲ開発>>>>業務>>>>コンシューマ>>>>携帯アプリ (ま、煽りだけどな) http://echo.5ch.net/test/read.cgi/gamedev/1036410116/563
564: 名前は開発中のものです。 [sage] 03/11/27 21:10 ID:7MaG36fL ネットゲの方がバグだらけでも、パッチで継ぎ接ぎできる。 失敗したら再パッチ。 そういう意味ではプログラマに緊張感がない。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/564
565: 名前は開発中のものです。 [sage] 03/11/27 21:43 ID:BoqYAr6p >ゲームでもネトゲの場合だと、後々までの機能追加や修正に耐えられるような姿勢が求められるけどね。 ついでにいうと、継続的に運営し、かつアップデートすることも求められるね。 大変すぎ。 >失敗したら再パッチ。 >そういう意味ではプログラマに緊張感がない。 そうかねぇ?ビッグネーム以外は、それやると速攻で寂れると思うんだが… http://echo.5ch.net/test/read.cgi/gamedev/1036410116/565
566: 名前は開発中のものです。 [sage] 03/11/27 22:05 ID:xI+aEUwA >>554 おそらくswitch文の羅列の方がコンパクトで速く動くよ http://echo.5ch.net/test/read.cgi/gamedev/1036410116/566
567: 名前は開発中のものです。 [sage] 03/11/28 02:52 ID:zaH9w9Q9 組み込みだしね 見た目がオブジェクト指向してるけどw http://echo.5ch.net/test/read.cgi/gamedev/1036410116/567
568: 名前は開発中のものです。 [sage] 03/11/28 02:59 ID:9gvB7mcn ホンダの二足歩行ロボのソースも、case文の羅列が何十画面も続いていたぞ。 まさか制御系の常識なんてことはないだろうが。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/568
569: 名前は開発中のものです。 [sage] 03/11/28 03:02 ID:9gvB7mcn >>565 ネットゲーのパッチ当てほど緊張感を要するものはないと思うよ。 俺がJavaアプレットのゲームくらいしか経験ないけど、 下手なことしたら、二次災害で一挙に全プレイヤーのデータがおかしくなるから。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/569
570: 名前は開発中のものです。 [sage] 03/11/29 23:15 ID:pBEeDpxB アルゴリズム関連になるけど、いいですか? 縦シューティングゲームを作ろうと思うんですけど リプレイを記録するには如何すれば良い? 自分ではコントローラーから入力された信号を そのまま記録してtxtファイルにでも出力すれば良いと思ったんだけど、 それでは処理落ちの時やら ゲーム内での自機の動作に関わらずランダムに動作する敵の行動が把握できない。 それで敵機自機弾辺り判定等の動作を記録するとなると それだけで重くなるしリプレイデータがでかくなる。 その辺りは アーケードとか同人のリプレイ機能のついた縦シューではどうなってるんでしょうか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/570
571: 名前は開発中のものです。 [sage] 03/11/30 00:36 ID:+XdWbi7E ランダムは本当にランダムなわけではないのだから、記録するときに何の障害にもならない。 ついでに入力そのものではなく、それをどう処理したかを記録すればいいだけの話。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/571
572: 名前は開発中のものです。 [sage] 03/11/30 00:59 ID:qgJCqKCU >>ランダムは本当にランダムなわけではないのだから、記録するときに何の障害にもならない。 それは何故ですか? ランダム=規則性がない → リプレイが表現できない になるんじゃないでしょうか? 何か間違ってます? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/572
573: 名前は開発中のものです。 [sage] 03/11/30 01:16 ID:qCnBVWJj 逆にソフトのみで規則性の無い乱数を 作成する方法があったら教えてほしい。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/573
574: 名前は開発中のものです。 [] 03/11/30 01:26 ID:N9tcc+S+ >>572 現状の乱数ルーチンは、ランダムのシードが同じなら乱数ルーチンを呼び出した回数ごとに値は常に同じ値になる。 (例外があるかは知らん。メルセンヌツイスター辺りは違うんだっけ?) なので、ゲームを開始した時点で特定の値をシードに設定しておけば、基本的にはまったく同じ乱数が発生するので問題ない。 逆に、毎回違う値を出したい場合はシードに日付や時間を設定してやる。 コンシュ−マなんかでタイマーが無い場合は、タイトル画面などのユーザー入力を伴う部分で毎フレーム乱数を発生させておくことで 乱数に変化を持たせるようにしたりします(毎回まったく同じフレーム数でボタンを押せる人はいないので) http://echo.5ch.net/test/read.cgi/gamedev/1036410116/574
575: 名前は開発中のものです。 [sage] 03/11/30 03:48 ID:zskFBT42 リプレイが必要なゲームでは、ランダムシードも一緒に保存しておくので、 再現できます。 処理落ち: 描画も入力も全て処理落ちするのが原則なので、CPUにとっては処理落ちは無視できます。 人間が見たときに処理落ちしているように見えるだけ。 ま、おかしな作り方されてれば処理落ちでリプレイ狂うこともあるだろうが、それは設計を見直せ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/575
576: 名前は開発中のものです。 [sage] 03/11/30 07:28 ID:wLSg/D/g フレームレート固定のゲーム(シューティング、アクション)でリプレイつけました。 ・再現性のある乱数を使う ・キー入力の記録 だけでできます。 例えフレームレート固定でなくても、 更新時間とかdtも一緒に記録しておけば問題ないはず。 FPSのネットゲーでリプレイ記録できのは、あれはどうやってるのかな。 ネットワークで受信したコマンドを全部記録? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/576
577: 名前は開発中のものです。 [sage] 03/11/30 21:28 ID:8v/2nacI >>574 メルセンヌはシードの桁がものすごく大きい(=周期がものすごく長い)だけで 普通の乱数と同じだよ。(あれは乱数の「質」のほうが本質) http://echo.5ch.net/test/read.cgi/gamedev/1036410116/577
578: 名前は開発中のものです [sage] 03/12/01 15:57 ID:k4JdNCPO PCで作成しているのですが、リプレイデータの保存はどうするのが 一般的なのでしょうか? プレイ毎にデータ長が違ってくるので、現在、プレイ開始時に ファイルを追加モードで開いて、プレイデータを直接ファイルに 書き込んでいき、プレイ終了時にファイルを閉じるという方法を 取っていますが、方法としてはどうなのでしょう。今のところ トラブルはないんですが…。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/578
579: 名前は開発中のものです。 [sage] 03/12/01 16:09 ID:BBKzfG41 ファイルに書き出しながらってのはパフォーマンス的によくなさそう。 ・いっぱいリプレイ用のメモリを確保しておいて、足りなくなったら記録打ち切り ・ある程度のメモリを確保しておいて、足りなくなったら新たに確保していく。 確保したメモリはリストなどにして管理する。 で、プレイが終わったら一気にファイル保存(+開放)、あたりかな? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/579
580: 578 [sage] 03/12/01 17:09 ID:k4JdNCPO >>579 ありがとうございます。 幸い、パフォーマンスの面でも特に問題はなかったのですが、実行環境 によって大きな差が出るようだと困るなと考えていました。メモリを リストで管理する案がいいですね、無駄も少なく済みそうですし。 こちらを採用しようと思います。 参考になりました。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/580
581: 名前は開発中のものです。 [sage] 03/12/03 01:41 ID:loFrTj4I すみません 任意で処理落ちさせたいときはどうすればいいんでしょうか? main(){ for(;;){ game(){ //ゲーム実行部分 if(処理落ちさせたい状況) return 0; // 処理落ち部分 // コマンド入力受付やら衝突判定等の処理 // 結果出力 } } } だいたいはこんな感じなのでしょうか? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/581
582: 名前は開発中のものです。 [sage] 03/12/03 07:39 ID:GBUksMAa システムによりけり うちのだと、処理が遅い場合に描画を飛ばすので、 単に待つわけにいかない。 FPS管理させているオブジェクトに、FPSの変更を要求する感じ。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/582
583: 名前は開発中のものです。 [] 03/12/03 13:14 ID:xnKuHohi 質問。 ゲームのBGMをMIDIでやってるんですが、 繰り返し再生の為に頭出しをして再生させると、 再生した直後に1秒ほど固まります。 これって何が原因なんでしょう? 言語はVC++で、MIDIはmciを使用して鳴らしてます。 こんな感じ。 <再生> mciSendString("open test.mid alias music",NULL,0,NULL); mciSendString("play music NOTIFY",NULL,0,hwnd); <頭出し> mciSendString("seek music to start",NULL,0,hwnd); mciSendString("play music NOTIFY",NULL,0,hwnd); http://echo.5ch.net/test/read.cgi/gamedev/1036410116/583
584: 名前は開発中のものです。 [sage] 03/12/03 14:42 ID:YS6bl20k >>583 ・mciSendCommand(...)を使えば改善されるかも。 ・自前のMIDI解析ルーチンを書いてmidiOut系APIで演奏。 ・MIDIをやめてoggなどの波形データを演奏。 MIDIデバイスドライバ側の問題だと自前で組んでもどうしようもならない気がするけど。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/584
585: 名前は開発中のものです。 [sage] 03/12/03 15:42 ID:0OppputG 処理が止まるのはデバイスドライバの問題だが、 デバイスドライバを初期化する際に固まるだけなので、 自前で組んでどうしようもないということにはならない。 MCIは必要もないのにご丁寧に初期化を入れる。 自前で組んでループ時にデバイスを初期化しなければいいだけの話。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/585
586: 名前は開発中のものです。 [sage] 03/12/03 15:56 ID:bmqPDPad >>583 >>585の言うとおり自前で組めば問題はないっての聞いたことあるけど、 「自前ぇ〜?え〜、面倒臭ぇ〜」 っていうときは BGMに使うmidiファイルをあらかじめ糞長いファイルにしておくといいかも。 頭出しを含む30分ぐらいの長い曲にしておくとか・・・。 よほどのものを求めない限りこれで足りた。駄目? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/586
587: 名前は開発中のものです。 [sage] 03/12/03 17:28 ID:GBUksMAa 長いmidiほど初期化に時間が掛かる気がする mciを使わず midiOut するのが俺の結論 ま、今は、ogg vorbisに切り替えたけどな http://echo.5ch.net/test/read.cgi/gamedev/1036410116/587
588: 名前は開発中のものです。 [sage] 03/12/03 21:15 ID:xnKuHohi >>584 >>585 >>586 >>587 レス感謝。 mciとかデバイスドライバが原因とは思ってましたが、 やはりそうでしたか。 midiOutで何とか頑張ってみます。 ちなみに、 ・mciSendCommandは同じでした。 ・oggは考えたけど出来るだけ容量削減したかったのでmidiを使ってます ・30分くらいの長い曲てのは想定外でした。面倒だったらこうしようかな。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/588
589: 名前は開発中のものです。 [sage] 03/12/06 16:19 ID:4bWKg8eo お客からみれば、MIDIってだけで萎えないか? ほとんどの人はいい音源持ってないわけだし。 http://echo.5ch.net/test/read.cgi/gamedev/1036410116/589
590: 名前は開発中のものです。 [sage] 03/12/06 18:01 ID:EO4hEUp+ >>582 それってリプレイの見た目も実プレイ時に左右されるってことだよね? 遅い環境ではまともに再生できない気もする。 たとえば、FPSやゲーム全体を制御しているマスタータイマー (システムでもCPUクロックでも何でも)を基準にすれば 描画はその時点での最高状態で、動作はプレイ時に忠実に再現されるんじゃないの? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/590
591: 名前は開発中のものです。 [sage] 03/12/07 01:22 ID:fcdwlAwb 言葉は少し違うけど、同じ事いってない? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/591
592: 名前は開発中のものです。 [sage] 03/12/07 10:19 ID:Jd1VJ/+b 毎回全座標のデーターを記憶させるだけじゃダメ? http://echo.5ch.net/test/read.cgi/gamedev/1036410116/592
593: 名前は開発中のものです。 [sage] 03/12/07 12:53 ID:bmrLDONK >>590 何言ってるのかわからん とりあえず組め http://echo.5ch.net/test/read.cgi/gamedev/1036410116/593
594: 名前は開発中のものです。 [sage] 03/12/07 13:40 ID:Rno+nzv+ 582では、描画処理を飛ばすと書いているけど、 描画処理以外はフレームレート固定処理だったりします。 とはいえ、>>590は何いってるかわからん http://echo.5ch.net/test/read.cgi/gamedev/1036410116/594
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 376 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s