[過去ログ] ゲームプログラミング相談室【Part5】 (970レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
569: 03/11/28 03:02 ID:9gvB7mcn(2/2) AAS
>>565
ネットゲーのパッチ当てほど緊張感を要するものはないと思うよ。

俺がJavaアプレットのゲームくらいしか経験ないけど、
下手なことしたら、二次災害で一挙に全プレイヤーのデータがおかしくなるから。
570: 03/11/29 23:15 ID:pBEeDpxB(1) AAS
アルゴリズム関連になるけど、いいですか?
縦シューティングゲームを作ろうと思うんですけど
リプレイを記録するには如何すれば良い?
自分ではコントローラーから入力された信号を
そのまま記録してtxtファイルにでも出力すれば良いと思ったんだけど、
それでは処理落ちの時やら
ゲーム内での自機の動作に関わらずランダムに動作する敵の行動が把握できない。
省4
571: 03/11/30 00:36 ID:+XdWbi7E(1) AAS
ランダムは本当にランダムなわけではないのだから、記録するときに何の障害にもならない。
ついでに入力そのものではなく、それをどう処理したかを記録すればいいだけの話。
572
(1): 03/11/30 00:59 ID:qgJCqKCU(1) AAS
>>ランダムは本当にランダムなわけではないのだから、記録するときに何の障害にもならない。

それは何故ですか?
ランダム=規則性がない → リプレイが表現できない
になるんじゃないでしょうか?
何か間違ってます?
573: 03/11/30 01:16 ID:qCnBVWJj(1) AAS
逆にソフトのみで規則性の無い乱数を
作成する方法があったら教えてほしい。
574
(1): 03/11/30 01:26 ID:N9tcc+S+(1) AAS
>>572
現状の乱数ルーチンは、ランダムのシードが同じなら乱数ルーチンを呼び出した回数ごとに値は常に同じ値になる。
(例外があるかは知らん。メルセンヌツイスター辺りは違うんだっけ?)
なので、ゲームを開始した時点で特定の値をシードに設定しておけば、基本的にはまったく同じ乱数が発生するので問題ない。
逆に、毎回違う値を出したい場合はシードに日付や時間を設定してやる。
コンシュ−マなんかでタイマーが無い場合は、タイトル画面などのユーザー入力を伴う部分で毎フレーム乱数を発生させておくことで
乱数に変化を持たせるようにしたりします(毎回まったく同じフレーム数でボタンを押せる人はいないので)
575: 03/11/30 03:48 ID:zskFBT42(1) AAS
リプレイが必要なゲームでは、ランダムシードも一緒に保存しておくので、
再現できます。

処理落ち:
描画も入力も全て処理落ちするのが原則なので、CPUにとっては処理落ちは無視できます。
人間が見たときに処理落ちしているように見えるだけ。
ま、おかしな作り方されてれば処理落ちでリプレイ狂うこともあるだろうが、それは設計を見直せ。
576: 03/11/30 07:28 ID:wLSg/D/g(1) AAS
フレームレート固定のゲーム(シューティング、アクション)でリプレイつけました。
・再現性のある乱数を使う
・キー入力の記録
だけでできます。

例えフレームレート固定でなくても、
更新時間とかdtも一緒に記録しておけば問題ないはず。

FPSのネットゲーでリプレイ記録できのは、あれはどうやってるのかな。
省1
577: 03/11/30 21:28 ID:8v/2nacI(1) AAS
>>574
メルセンヌはシードの桁がものすごく大きい(=周期がものすごく長い)だけで
普通の乱数と同じだよ。(あれは乱数の「質」のほうが本質)
578
(1): 名前は開発中のものです 03/12/01 15:57 ID:k4JdNCPO(1/2) AAS
PCで作成しているのですが、リプレイデータの保存はどうするのが
一般的なのでしょうか?

プレイ毎にデータ長が違ってくるので、現在、プレイ開始時に
ファイルを追加モードで開いて、プレイデータを直接ファイルに
書き込んでいき、プレイ終了時にファイルを閉じるという方法を
取っていますが、方法としてはどうなのでしょう。今のところ
トラブルはないんですが…。
579
(1): 03/12/01 16:09 ID:BBKzfG41(1) AAS
ファイルに書き出しながらってのはパフォーマンス的によくなさそう。

・いっぱいリプレイ用のメモリを確保しておいて、足りなくなったら記録打ち切り
・ある程度のメモリを確保しておいて、足りなくなったら新たに確保していく。
 確保したメモリはリストなどにして管理する。
で、プレイが終わったら一気にファイル保存(+開放)、あたりかな?
580: 578 03/12/01 17:09 ID:k4JdNCPO(2/2) AAS
>>579
ありがとうございます。
幸い、パフォーマンスの面でも特に問題はなかったのですが、実行環境
によって大きな差が出るようだと困るなと考えていました。メモリを
リストで管理する案がいいですね、無駄も少なく済みそうですし。
こちらを採用しようと思います。
参考になりました。
581: 03/12/03 01:41 ID:loFrTj4I(1) AAS
すみません
任意で処理落ちさせたいときはどうすればいいんでしょうか?

main(){
for(;;){
game(){ //ゲーム実行部分
if(処理落ちさせたい状況) return 0; // 処理落ち部分
// コマンド入力受付やら衝突判定等の処理
省5
582
(1): 03/12/03 07:39 ID:GBUksMAa(1/2) AAS
システムによりけり

うちのだと、処理が遅い場合に描画を飛ばすので、
単に待つわけにいかない。
FPS管理させているオブジェクトに、FPSの変更を要求する感じ。
583
(2): 03/12/03 13:14 ID:xnKuHohi(1/2) AAS
質問。
ゲームのBGMをMIDIでやってるんですが、
繰り返し再生の為に頭出しをして再生させると、
再生した直後に1秒ほど固まります。
これって何が原因なんでしょう?

言語はVC++で、MIDIはmciを使用して鳴らしてます。
こんな感じ。
省6
584
(1): 03/12/03 14:42 ID:YS6bl20k(1) AAS
>>583
・mciSendCommand(...)を使えば改善されるかも。
・自前のMIDI解析ルーチンを書いてmidiOut系APIで演奏。
・MIDIをやめてoggなどの波形データを演奏。
MIDIデバイスドライバ側の問題だと自前で組んでもどうしようもならない気がするけど。
585
(2): 03/12/03 15:42 ID:0OppputG(1) AAS
処理が止まるのはデバイスドライバの問題だが、
デバイスドライバを初期化する際に固まるだけなので、
自前で組んでどうしようもないということにはならない。
MCIは必要もないのにご丁寧に初期化を入れる。
自前で組んでループ時にデバイスを初期化しなければいいだけの話。
586
(1): 03/12/03 15:56 ID:bmqPDPad(1) AAS
>>583
>>585の言うとおり自前で組めば問題はないっての聞いたことあるけど、
「自前ぇ〜?え〜、面倒臭ぇ〜」
っていうときは
BGMに使うmidiファイルをあらかじめ糞長いファイルにしておくといいかも。
頭出しを含む30分ぐらいの長い曲にしておくとか・・・。
よほどのものを求めない限りこれで足りた。駄目?
587
(1): 03/12/03 17:28 ID:GBUksMAa(2/2) AAS
長いmidiほど初期化に時間が掛かる気がする
mciを使わず midiOut するのが俺の結論

ま、今は、ogg vorbisに切り替えたけどな
588: 03/12/03 21:15 ID:xnKuHohi(2/2) AAS
>>584 >>585 >>586 >>587
レス感謝。
mciとかデバイスドライバが原因とは思ってましたが、
やはりそうでしたか。
midiOutで何とか頑張ってみます。

ちなみに、
・mciSendCommandは同じでした。
省2
589: 03/12/06 16:19 ID:4bWKg8eo(1) AAS
お客からみれば、MIDIってだけで萎えないか?
ほとんどの人はいい音源持ってないわけだし。
590
(2): 03/12/06 18:01 ID:EO4hEUp+(1) AAS
>>582
それってリプレイの見た目も実プレイ時に左右されるってことだよね?
遅い環境ではまともに再生できない気もする。
たとえば、FPSやゲーム全体を制御しているマスタータイマー
(システムでもCPUクロックでも何でも)を基準にすれば
描画はその時点での最高状態で、動作はプレイ時に忠実に再現されるんじゃないの?
591: 03/12/07 01:22 ID:fcdwlAwb(1) AAS
言葉は少し違うけど、同じ事いってない?
592: 03/12/07 10:19 ID:Jd1VJ/+b(1) AAS
毎回全座標のデーターを記憶させるだけじゃダメ?
593: 03/12/07 12:53 ID:bmrLDONK(1) AAS
>>590
何言ってるのかわからん とりあえず組め
594: 03/12/07 13:40 ID:Rno+nzv+(1) AAS
582では、描画処理を飛ばすと書いているけど、
描画処理以外はフレームレート固定処理だったりします。

とはいえ、>>590は何いってるかわからん
595: 03/12/08 03:49 ID:NMX1XHQq(1) AAS
STGの敵キャラの出現タイミングなどを記述した簡易スクリプトの実行方法について。

1. 実行時にifでキャラクタ名を判定してnew CEnemy1。
2. 1を発展させキャラクタをnewするファクトリクラスをキャラクタ名をキーとしたハッシュリストに突っ込んでおいて、
  実行時にハッシュリストからファクトリクラスを得て間接的にpEnemy1Factory->NewInstance()。
3. キャラクタIDと個々のファクトリクラスの対応関係を示す定義ファイルを読み込み、その対応間を元に配列にファクトリクラスを
  突っ込んでおく。スクリプトのキャラクタ名をキャラクタIDに置き換えるなどして予めコンパイルしておき、
  キャラクタIDを添え字として配列からファクトリクラスを得てpEnemy1Factory->NewInstance()。
省2
596: 03/12/08 10:42 ID:m+V0WGeU(1/2) AAS
時間とキャラ名とパラメータが書いてあるだけのスクリプトなら、
それらとファクトリクラスをまとめて敵出現リストを作るってのは?

俺はめんどくさいので2.だが。
597: 03/12/08 22:25 ID:mzGfPbsW(1) AAS
よくハッシュハッシュ聞くけどふつーのリストとどう違うの?
598: 03/12/08 22:43 ID:m+V0WGeU(2/2) AAS
連想配列と配列の違い。
厳密には、リストと配列も違うけど。
599: 03/12/08 22:56 ID:VTZ87dv3(1) AAS
Down板に行くと、クレクレ君がハッシュハッシュと騒いでます。
600
(2): [あああああああああ] 03/12/09 14:06 ID:GAJG/7qG(1) AAS
申し訳ないのだが 画像の出力の仕方を教えてくれないだろうか
ファミコン程度の画像でいいから誰か教えてくれう
C++でお願い
601
(1): 03/12/09 15:03 ID:eq3RAG/L(1) AAS
>600
外部リンク:www.kumei.ne.jp
外部リンク[html]:www.kumei.ne.jp
602: 03/12/09 18:23 ID:t6oW0f2A(1) AAS
AA省
603
(1): 03/12/09 22:50 ID:WfZiY/0G(1) AAS
>>600
あなたが2Dゲームを最も効率よく生産するための
最良の選択肢の一つである(by俺)

外部リンク[htm]:mpulip.cool.ne.jp
604: 600 [あああああああああ] 03/12/10 18:12 ID:eJ544RAW(1) AAS
>>601 >>603
とても勉強になった 素直にありがとう
605: 03/12/11 15:56 ID:1yRvOvyV(1) AAS
>>541
吐き気するコードだな
そんなもん見るな、いや見せるな
606
(2): 03/12/11 21:00 ID:GP77MA8t(1) AAS
プログラム書いたんで、コンパイルすて軌道したらエラー(´・ω・`)
どこが変とかわかるようなのないでつか?(つД`;)
607: 03/12/11 22:48 ID:Au4/Ez5E(1) AAS
エラーをよく読む。
608: 03/12/11 22:57 ID:YX3Hip/p(1) AAS
>>606

今日はもう寝る
609: 03/12/12 01:44 ID:FkR56qTt(1) AAS
>>606
エラーメッセージは慣れないとわからない場合が多いからね。
ある程度英語が読めなければ、慣れる以前の問題だけど。
とりあえずスペルミスと、半角スペース・全角スペースをチェックしてみたら?
あと、作業環境を書かないと。
610
(7): 03/12/13 01:35 ID:vZuyHI4l(1/2) AAS
ゲームブックをブラウザで楽しめるようにHTMLに移植したいのですが、
せっかくパソコンで遊ぶのでアドベンチャーシートの更新は自動化したいですよね。
ゲームブックプレイに特化したアプリを開発すれば簡単なのですが、
あえてNN、IEのような一般的なブラウザだけでプレイできるようにしたいのです。
HTML、CSS、javascriptといったクライアント技術だけで実現できますでしょうか?
CGI、SSIは、借りてるサーバが対応してないので・・・
611
(1): 03/12/13 02:23 ID:r4wUzSVx(1) AAS
Flashで良いのでないかと
612
(1): 03/12/13 02:25 ID:QNEM2G11(1/3) AAS
ノベルツールとかでは出来ないかな?
苦労するだけ?
613
(1): 610 03/12/13 02:45 ID:vZuyHI4l(2/2) AAS
>>611
Flashは高くて手が出ません。
テキストエディタだけで作りたいんです。

>>612
ブラウザだけでプレイできるようにしたいんです。

やっぱり無茶かなあ・・・
614: 03/12/13 04:03 ID:q/JWkGSg(1) AAS
>613
簡単なFlashファイルを作成するフリーのツールがあったはず
名前は忘れた
615: 03/12/13 09:32 ID:zWKnFblv(1) AAS
Javaアプレットは?
616
(1): 03/12/13 09:34 ID:QNEM2G11(2/3) AAS
>>610
>HTML、CSS、javascriptといったクライアント技術だけで実現できますでしょうか?
IE専用でいいなら出来ると思うよ。
NNにも対応となると…こっちはわからん。
617
(2): 03/12/13 11:30 ID:KAN5T8i8(1) AAS
タダで作れるのに高いなんて言い訳するのは良くないな
外部リンク:www.google.co.jp
618: 03/12/13 11:52 ID:QNEM2G11(3/3) AAS
>>617
ActionScriptもちゃんとかけるんだね>ming
なかなか凄いかも。
619
(2): 03/12/13 18:31 ID:G82iwqlO(1) AAS
>>610
ゲームブックってなによ?
と思ってぐぐったら 結構ヒットしたことにびっくり
TRPG (トークアールピージー) のことかな
もしくは昔あった 小説とゲーム性をからめた
剣をふるなら → p135 へ
盾で防御するなら → p75 へ
省6
620: 610 03/12/13 20:26 ID:Lg0RzSGy(1) AAS
>>619
みたいなやつのことです。
パラグラフごとにhtmlファイルを作成し、<a href="">タグで分岐を実現するだけのプロジェクト。
ただこれだけでは芸がないので、アドベンチャーシートの更新もブラウザの機能だけで自動化できないかと悩んでいます。

>>617
それは凄そうですね。MXしか知らなかたーよ。

>>616
省1
621: 03/12/13 21:50 ID:5tVTS+rx(1) AAS
>>619
>ゲームブックってなによ?

明らかに >>610 より >>619 の方が年下だという罠。

おそらく5-10歳ぐらいの差があるな。
622
(2): 03/12/13 21:54 ID:6Ye4OwQW(1) AAS
一瞬、火吹き山の魔法使いを作ろうと思ったが
既に携帯のアプリでありやがった。
623: 03/12/13 22:01 ID:g30CrM3C(1) AAS
>622
>火吹山の魔法使い
なつかしー。昔何回もやったなぁ。まだ本棚にある、はず。
iアプリになってるんだね
624
(1): 03/12/13 23:36 ID:5hakK8vm(1) AAS
>>610
JavaScript使えばいいじゃん。
 ・NN系でも閲覧可能
 ・パラメータなんかはCookieで保存
 ・計算なんかもできる。乱数も作れる。
 ・テキストエディタだけで開発できる
 ・クライアントで実行されるんで、サーバー側に特別な設定不要
省1
625
(1): 03/12/14 00:58 ID:jER6I9AI(1/2) AAS
>>624
>せっかくパソコンで遊ぶのでアドベンチャーシートの更新は自動化したいですよね。
一番難しいのは ここかなと。

実際にプレイしている最中に データの書き換えなんか発生すると
選択肢が増えたり、減ったり、はたまた 絶対に通れない道が
できあがってしまうがネックじゃないかな

後 書かれていないけど、誰がアドベンチャーシートの更新を行うのか。
省2
626: 03/12/14 11:03 ID:OSN5M1Al(1) AAS
>>622
なついな。
漏れはソーサリーシリーズをやりまくったよ。
下手なゲームより遥かに面白かったな。
627: 03/12/14 14:26 ID:/IfdCHPv(1) AAS
>>846
「支払督促」は以前は「支払命令」と呼ばれていました。
ネットで「支払命令」で検索すれば、方法は書いてあると思います。
相手が2週間以内に異議申立をしなければ債務名義が取れ、差押え等ができますが、
反対に異議の申し立てがあった場合は裁判になってしまう両刃の剣です。
ただ実際に異議申立をする人はほとんどいないので、有効な方法ではあります。
また、督促状を出す際も、内容証明郵便の用紙を使い、「〜日までに返済頂けない
省4
628
(2): 03/12/14 14:28 ID:B+FjSPdw(1) AAS
>>625
だから、Cookie使えよと言っている。
アドベンチャーシートは、それぞれページを見たマシンのハードディスクに保存される。
データ破損については、データ消去用ページでも作っとけばいいのでは。
629: 03/12/14 16:40 ID:jER6I9AI(2/2) AAS
>>628
><a href="">タグで分岐を実現するだけの
これはクリアーできるのか?
630
(4): 03/12/14 21:04 ID:/L/FeOc2(1) AAS
質問なんですが、同人のゲームファイルはどうして
一つのEXEファイルにまとまってないんでしょうか?
やっぱり修正パッチの関係ですか?
それとも何か別に理由が有るの?
631
(1): 03/12/14 21:33 ID:jWJ0FevD(1) AAS
>>630

質問の意味が分からない。
632
(1): 03/12/14 21:41 ID:mPcMPJ5W(1/2) AAS
>>630
普通、商業ゲームもexe一つでまとまってませんが何か?
633
(2): 03/12/14 22:30 ID:zQ7NPUST(1) AAS
質問なんだけど、ダブルバッファリングしたときって
自分でv_sinc待ちする必要はないですか?
634
(1): 03/12/14 22:46 ID:0b2VQiwA(1) AAS
>>633
なに寝言をほざいているんですか?
635
(3): 03/12/14 22:58 ID:P8MilpUB(1) AAS
今更なことだけど、質スレで質問者相手に高説たれる人ってカッコ悪いよね
>>628>>631>>632>>634とかさ
本人が自覚してないともう最低
こいつらにリアルで何か聞いたら不機嫌そうに答えるんだろうなぁ
そういう人を見かけたら可哀想な目で見てあげることにしてるよ
まぁ俺にゃぁ関係無いけどぉ、フフ
636
(1): 03/12/14 23:06 ID:1WAWcVdl(1) AAS
>>635
あーいるいる。
「そんなの調べれば分かるだろ!?いちいち聞くなよ!」とか言うお人。
自分を客観的に見れないんだろうな。傍目で見るとひく。
もっと周りからどういう目で見られてるか意識した方がいいかと。
637: 610 03/12/14 23:38 ID:e7E+Ph1V(1) AAS
>>635-636
いや、レスくれるだけありがたいんすけどね。

というわけでjavascriptとクッキーでがんばってみます。
flash技術はそんなに身近だとおもわなかったんですぐには無理っぽい。
レスくれた方ありがとうでした。
638: 03/12/14 23:48 ID:mPcMPJ5W(2/2) AAS
635=636は自演して説教ですか…いいご身分ですね。
639
(2): 03/12/14 23:58 ID:+TPOVGlv(1) AAS
>>635
なんていうか…2chのノリを理解できないあなたの方が哀れです。
現実では孤立しているんでしょうね…。
他の掲示板へ行かれることをお薦めしますよ。
640
(1): 03/12/15 00:01 ID:gVuZsoC0(1/3) AAS
>>639
2chのノリにどっぷり浸かっているお前も哀れだけどそれ以上にキモいね。
そして俺も・・・。
641: 639 03/12/15 00:09 ID:p8fXx1+p(1/3) AAS
>>640
それは言えてるな…。

まぁ、635とか636とか馬鹿真面目(?)な方には2chには馴染めないだろう。
閑散としたこの板で煽りが入るだけありがたいんだけどね…。
642
(1): 03/12/15 01:23 ID:TQFlj3Po(1/6) AAS
>>630
1MB のexeファイルを実行するには 1MB メモリに読みこむ必要がある。
10MBのexeファイルを実行するには 10MB メモリに読みこむ必要がある。

実際開発すれば分かるけど、開発中は 何回も修正するから
相手に渡すときはやっぱり データは小さくするのが礼儀としてあるし、
小さい方が 効率がいい。

修正のたびに10MBのメールを送るのはしんどい
省4
643
(1): 03/12/15 01:25 ID:gKTo5NW5(1/2) AAS
>>642
>1MB のexeファイルを実行するには 1MB メモリに読みこむ必要がある。
>10MBのexeファイルを実行するには 10MB メモリに読みこむ必要がある。

んなわけない、windowsのページングについて勉強しなおして来い。
644
(1): 03/12/15 01:31 ID:TQFlj3Po(2/6) AAS
>>643
なにがどう違うのだ?
説明できないなら意味ないぞ
645: 03/12/15 01:37 ID:6ZSfGgnw(1) AAS
みなさん、3Dモデリングツール何使ってます?
やっぱりShadeとかLWとか買ってるんでしょうか?
metaseqというシェアウェアもあるんですが、
ゲームで使うモデル作成はこういうシェアウェアでも十分なんでしょうか?
646
(1): 03/12/15 01:43 ID:gKTo5NW5(2/2) AAS
>>644
言葉通りだが?
10Mバイトのexeファイルだからといって10MBのメモリが必要とは限らないということだ。
ページング不可とされない限り、そのセクションは必要になるまでロードされないし
ロードされた後でもメモリから追い出される可能性がある。
647
(1): 633 03/12/15 01:49 ID:cBvIei7N(1) AAS
で、通常ダブルバッファ使った場合、v-sync待ちする必要はあるんですか?
648
(1): 03/12/15 02:06 ID:TQFlj3Po(3/6) AAS
>>646
>読みこむ必要がある
日本語勉強してこい
649: 03/12/15 02:07 ID:p8fXx1+p(2/3) AAS
まぁ実行ファイルで100Mなんてまずないだろうけど
仮にそんなのがあって実行時にすべて読みこんだら時間かかるし効率悪いからね…。

>>647
…ネタかな…?

催促すると余計答えてくれなくなるぞ。
じっくり待たれよ。
1-
あと 321 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s