旅人への電文・旅人からの電文 掲示板

▼過去ログ12
2014/10/7 21:21

○あけぼの
「SB3」の新イベント
 こんばんは。
 もしかしたらまだそこまでゲームが進んでないかもしれませんが、念のためお知らせしておきます。
 新しい「SB3 姿なき敵」では、艦内に侵入者が多数入り込み、それを排除するというイベントが最後に出てきます。
 しかし、時により、プログラムが動作を停止することがあり、私も正直、不思議に思っていました。んで、イベント直前でロードしておいて、やりなおすときちんと行ったりする。
 今、もしかしたらと思ってちょっと調べてみましたら、原因がわかりました。なんてことはありません。
 ゲーム内では、「侵入者の数は不明」として、具体的な数値はわからないようになっていますが、実はプログラムの上では、上限を決めてあるのです。
 各エリアにランダムで敵が侵入し、規定値と同一になったとき、排除イベントが起きるようになっています。ここに問題がありました。
 つまり、最初から設定されている数と、ランダムで選ばれた数の合計が一致しないと次に進めないため、一つでも数が多くなると、プログラムとして対応できなくなり、エラーが起きるとわかりました。
 それでif文の=を>=に書き換えて再度テストを少ししましたら、今度はうまく行くようです。つまり、規定数と同じでなくても、それを超えれば次に進めとしたことで、互いの数が完全に同一である必要がなくなったので、処理不能に陥ることはないというわけです。
 これはほかのパラメータの書き方でも言えますが、=にするか、>=、<=にするかで、思わぬことになりますね。
 「おかしいな、正しく動くときと動かないときがある」場合は、こういうことも頭に入れないとならないなと、改めて感じました。
 さて、残りの作業は明日以降にします。
2014/10/7 21:21
[HP]

○あけぼの
戦闘開始・パラメータ選択画面
 今、上記画面についても、修正作業をはじめています。
 「パラメータを表示する」という大見出しをなくして、直接耐久力や座標などの項目に飛べるよう、書式を簡素化しています。
 bgmの鳴り方とのかねあいで、今まで複雑な書式にしていましたが、それを基本的に見直すことにしました。
 そのかわり、選択肢ごとにbgmについて細かい設定を書くという方法にかえている途中です。
 まだシリーズすべてで終えてませんが、一部で修正後の確認をしつつ、作業をはじめています。
 全部終わるまでそんなにかからないと思います。
2014/10/7 19:45
[HP]

○あけぼの
「行動選択」の不具合について
「SB3」のごっちさんの言われた「現在位置固定」と、敵の存在がわかっていない時点で「操舵する」画面が出たときの、エスケープキーを押した時のエラーの原因がわかりました。
 まず、操舵時、現在位置固定を選択した場合の行き先が、間違ってはないものの、敵の存在を前提にした行動画面に飛ぶようにgo命令が書かれていたため、敵がいない状態で錨をおろすと、別画面が出てしまうことがわかりました。
 これは、行き先をかえたので、すでに修正確認してあります。
 また、敵がいない状態で行動選択画面が出たとき、エスケープキーを押すと「ポポホポポ」となるのは、choi命令文の上下位置の関係で起こることがわかりました。
 つまり、命令文の書式では、sel文でもchoi文でも、「操舵する」が一番上に書かれています。
 「SB3」では、敵のステルス機能を把握してない状態では、「操舵する」しか出ないように命令が書かれています。
 先日のごっちさんの実験報告では、choi文を何行か書いた場合、エスケープキーを押すと、常に一番下の行の命令文に位置する性質があるとのことでしたね。そこなんです。
 今のこちらの書き方では、その性質のおかげで、敵の正体を見破れない限り、行き先のchoe文は出てこないため、そこでバグになるというわけです。
 これも、今、「操舵する」を一番下に配置したところ、エスケープキーを押しても「ポポポポ」は出なくなりました。
 selからchoiにかわると、書き換え一つでこんなふうになってしまうんですね。勉強になりました。
2014/10/7 18:40
[HP]

○あけぼの
SB3 姿なき敵
 今、「SOLITUDE BATTLESHIP」の各バージョンで「戦闘開始」の選択画面を表示させて、エスケープキーを押してみました。
 ごっちさんのお話にあったように、「SB3 姿なき敵」だけ、プログラムが動かなくなりますね。ほかは選択画面からかわることはありませんでした。
 ということは、「SB3」とほかの同じ部分を比べれば原因がわかるはずです。
 どうせそこの一覧も全部修正しますので、ついでにやってしまえば、解決するかもしれません。
2014/10/7 18:08
[HP]

○あけぼの
Re:ごっちさん
Re:SB3 姿なき敵にて
こんばんは。
 お気遣いありがとうございます。
 ごっちさんのエラー報告を見て、だいたいなところの原因は予測しています。
 つまり、「現在位置固定」を選択した場合、普通は「行動選択画面」に戻るようにしてあるはずなのです。
 要するに、操舵するのか、攻撃するのか、ほかの選択肢を選ぶのかというところに戻るようにしてあったはず。
 とすればたぶん、敵のステルス機能を見破っていない状態での行き先を間違えて書いてしまっている、choi命令に書き換えた段階で、sel命令での行き先のままになっていて、条件分岐がかみあっていない可能性があります。
 なので、訂正はさほど難しくないだろうと考えています。そこだけわかればいいわけですから。
 また、「パラメータ」の部分は、たぶんその下にいろいろと行き先ラベルがありますので、ごっちさんのご希望のとおり、「戦闘開始」の下に直接「耐久力」「残り弾数」「座標」などと直接項目が出るようにすれば、書式としても、プレイヤーとしても、すっきり片付く気がします。
 へんに「パラメータを表示」という大見出しをつけたことで、逆に書式をめんどうにしている節はあるのかもしれません。
 やれるときにとりかかりたいと思います。おそらく、そんなにめんどうな修正ではない気がします。
 go命令とlab命令の記述も、検索でたどって行けば、抜けている箇所があれば出てくるはずなので、これもそんなに大がかりな作業にはならないかなと思っています。
 時間のあるときにちょっといじっておきますね。
 たぶん、if文の書き換えが忘れられたままのところがあるかもしれません。それかif文の優先順位の配列が上下逆だとか。
 if文も、意外とどの文を上に、どれを下に持ってくるかで、こちらはこれでいいかなと思っても、実際はだめだったなんてことありますから。
 またプレイしてておかしいところがあればご指摘ください。作者が気づかないところって、案外多いので。
2014/10/7 17:56
[HP]

○ごっち
Re:あけぼのさん
Re:SB3 姿なき敵にて
言葉が足りなかったというか違う言葉で説明すればよかったと反省。
> 周囲に敵がいなくて、操舵フェーズにて現在位置で待機(みたいな感じのコマンド)を選び空間アンカーを放ち、
ここの、「周囲に敵がいなくて」、の部分は、いなくてではなく、いない状態の時にと書けばよかったです。
引用文のままでは、周囲に敵がいなくてさー、こまっちゃってさー、しかたないから家へ帰ったよ、なんてゆーよーな感じになってましたね。
周囲に敵がいる時ではなく、周囲に敵がいない状態、もっといえば敵の居場所が不明の状態の時に、(以降は引用文に同じ)。
エラー部分の修正もさらに思いついた新しいフィーチャーや、プログラムの開発も、お体の様子を見ながらでかまいません。できるときはゆっくりやって、できないときは一切やらないでいて、修正したいという欲求が高まるのをながめつつその時がくるのをじっとまちましょう。

艦載機を発進か帰艦させるかがでるだろう元と鳴る艦載機コマンドのchoi命令以後の部分、
それぞれのchoi命令の第三パラメータから第五パラメータにかけての部分で、敵の居場所が判明しているまたは不明どちらであっても条件が合わずに表示できる選択肢がないのか、
または、敵の居場所が判明しているのが前提となってそれから艦載機を発進させるように組んである箇所がエラーになるのか、つまりは判明している敵との距離が0より大きいことが前提だとか?
または、哨戒機は敵の居場所を判明させるのが目的の機なのだから敵の居場所が不明であるのは想定内であるのだが、その想定内である事柄が、choi命令の表示へ伝えられないでいるのか。
choi命令の選択肢が一つも表示できないのは、もしかしたらくっついているchoi命令の部分に書きかけのchoi命令があるのか、はたまた、基本的なことで、choi命令の中でカンマ・コンマを二つ続けて書いてしまっているのかもしれないです。
そういうこともあるかもしれない。
2014/10/7 7:18

[13][11]
[掲示板に戻る]