忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

先日、HSPコンテストに出品したSolid State SURVIVORですが
コメント欄でハリコさんに、リプレイのずれをご報告頂きました。

とりあえず、家にあるパソコン総動員で確認してみると・・・
1台目、win2000・・・問題なし
2台目、win2000・・・問題なし
3台目、win XP   ・・・3面でずれる
4台目、win XP   ・・・3面でずれる
どうやら、win2000とwin XPでずれるような感じです。
同じプログラムなのになぜ?と言った感じなのですが
もう一つ判った事は、win XPで録画したリプレイの場合は
win XPで再生させると正常
win 2000で再生さえるとエラー
という結果になる事です。

randomizeの数字が違っているのかな?と思って見てみても同じですし
なんでずれるのか、全くわからないんですよね・・・

あと、せっかくなのでショートプログラム部門にも出品してみました。
blur01.jpg
HPで公開しているAwakeninb Blurを元に6000バイトに収まるように機能を削除した
ものなのですが、この6000バイトに収めるのがとても大変でした^^;
最初は15000バイトくらいあり、アレコレ削って省略して何とか収めたって感じです。
一応、ランキングにも対応しています。
改めて、自分のスクリプト見てみると無駄が多いな~と感じさせられて、良い経験に
なりましたよ。
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
先日正常に再生されたと報告したのは、
自分のプレイを記録したリプレイだったので、
今度は最初から同梱されているリプレイを確認してみました。
すると、ハリコさんと同じように死んでしまい、
ラスボスまで再生されませんでした。

リプレイでポーズが掛かりますが、リプレイを録った人の操作設定になるようですね。
自分が設定しているポーズボタンからは解除できなかったものですから。
表示が出てるから気づけというものかもしれませんが、一瞬戸惑いましたので…。
ASD 2007/10/30(Tue)15:47:56 編集
無題
私も、自分で録った リプレイはズレませんでした。

ちなみにAwakening Blurの最初から入っている
リプレイファイルはハイスコアどおり81230点で終りました。
ハリコ 2007/10/30(Tue)18:22:09 編集
無題
一度返事を書いたはずなのに消えてる・・・?

ASDさん>
ASDさんのとこでもリプレイずれてしまったんですね・・・orz

ポーズボタンですが、ポーズボタンに限らず決定ボタンなども統一したいんですが、オプションのからみで統一する事が出来ず、現状ではバラバラなんで何とかしたいんですが、どうしようかと悩みつつ今のような状態になっています。
とりあえず、リプレイ時にポーズが掛かるのとエンディングが見れてしまうのはおかしいかな?と思い始めて来たので、これらは削除してポーズ解除後は
1秒程度停止してから再開、という感じにしようかと思っています。
ご報告有難うございました!

ハリコさん>
確認して頂き有難うございましたm(_ _)m
Awakening Blurの方はずれないと言う事は、やはりプログラム的にどこかおかしいんでしょうねぇ・・・
今の所、全く原因がわからないんですが何とか直せるよう原因追求してみるつもりですので
お手数お掛けしますが今後ともよろしくお願い致します。
kt. 2007/10/31(Wed)21:20:34 編集
無題
はじめまして。
元ゲーム業界人(プログラマ)でHSP初心者のLightwellです。

リプレイの問題ですが、もしかしたら…思う節があります。
見当違いな可能性もあるので、その時は受け流しちゃって下さい。


あくまでも推測ですが、ハードウェア性能の違うPCでのみ発生するのかもしれません。

HSPのオブジェクトの移動処理に、処理落ちが発生した際は遅れた時間を考慮に入れて移動量を補正する仕組みがあると仮定します。
この場合、どんなハードウェアスペックでも、時系列では全く同じ結果が得られます。
(半分の処理速度の場合は、倍のドット数を移動して補正される)

しかし、この仕様がリプレイデータとの整合性に問題を発生させている可能性があります。
半分の処理速度の場合ですと、リプレイデータ(コントローラの操作データ)を収集する間隔も倍になってしまい、必然的にリプレイデータの総量は半分になってしまいます。
このデータを別のスペックのPCで再生すると、想定していたリプレイにならない事になります。
昨今のハードウェアが倍も性能が違うという事は無いでしょうから、徐々にリプレイデータの不整合(ゲーム進行とのズレ)が発生する事が予想できます。

お役に立てましたでしょうか。
Lightwell 2007/11/02(Fri)02:58:08 編集
無題
Lightwellさん>
はじめまして&アドバイスありがとう御座います。
処理落ち時にHSP(HSPDXFIX)がどう言う処理を行っているのが私にはわからないんですが
マシンスペックによってリプレイデータが変わるとすると対処方法も大変そうですね・・・

ただ、最初のバージョンを公開した時に色んな方にリプレイデータの検証を行って頂いたのですが、その時は全く不具合報告を頂かなかったので
ひょっとしたら、現在のプログラムは何かおかしいところがあるんじゃないだろうか?と思って色々と原因を追究しています。
でもスクリプトが肥大化してしまい、見直すのが非常に大変で、もっと綺麗に書けば良かったと後悔しております(汗)
今後ともよろしくお願いいたします。
kt. 2007/11/02(Fri)05:59:11 編集
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]