日本鋼豹司令部 トップページへ SPWAW解説記事は、トップページからどうぞ。

セーブデータエディター

暗号解読部長
Posts: 58
Joined: Mon Mar 12, 2007 12:51 UTC
島風です。

 
そういっていただけるんではないかなぁ、と思っていた通りの展開となり、
いやぁ、dugongさんも、お人が悪い。ほんまに、いけずやわぁ。
というわけで、大歓迎です。
 さて、いろいろと、深い考察ありがとうございます。
「order of battle」の利用の仕方として重要なのは、ゲーム画面とユニット情報が同時に見れる、とか、作戦を考えられるという、作戦立案作業を補完的に助力をすることにあると思うんです。ということで、ゲーム画面で便利できることは、やはりゲーム画面でやったほうが良いのではないかと思うんです。
 なるほど、納得です。ただ、僕がNorさんの「order of battle」の案を見たときに思いついたのが、「長く中断していたシナリオを再開する際に全体像を把握する」ということだったので、位置情報や状態をつらつらと眺めると、in coverの部隊が固まっていてる辺りは防衛任務についているとか、状態が悪化している辺りは攻撃を受けているとか、そういうことがざっと見てわかるかな、と考えたのでした。徒歩で通勤できるので、「電車の中で作戦を考える」のは、思いつきませんでしたです。 :D
 そのうえで、dugongさんが書かれていたものはどれもあると便利そうですが、「指揮系統」は特に有用な情報ですね。C&C offで小隊長とリンク切れで抑圧回復できない場合でも中隊長が隣接すれば回復のチャンスができますし、C&C on ならなおさら必要性は高いですが、dugongさんご指摘の通り「指揮系統」はゲーム中ではわかりやすくまとめられていないですよね。
 それから、*、は、オプションのスイッチを作成するのが大変であれば、無くてもかまいません。正直、あると嬉しいですが、来るべきEnh.DVRN MOD導入に向けて修業ですね。そのうち「俺の後ろに立つな」とか言うようになれる、かな。

 さて、Nor司令官、2点、任務報告を。
おうおう!命令ポイントは特定済みですっ!セクション35の18列です!・・・もう遅いか?!
 失礼しました。てっきり、セクション34の指揮官情報かセクション1に入っていると思い、見逃してしまいました。情報確認は大切ですね。 :pale

 状態を表すデータですが、
セクション1
75列 Speed=0で、Immobilized
79列  0=Ready, 1=Pinned, 2=Retreating, 3=Routed, 4=Abandoned, 5=Destroyed
でした。「1」等で表されるフラグを見つけることはできませんでしたが、75列に「0」を入れるとImmobilizedになりました。
 普通にゲームをやる場合は見たことがありませんけど、歩兵ユニットの場合でも、79列を「4」にすると「Abandoned」になり、グラフィックは表示されますが、命令はもちろん、ユニットの選択すらできなくなりました。(軍服だけ残されている??)。
 本日は以上です。
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
島風さん。
島風 wrote:
島風です。

 
そういっていただけるんではないかなぁ、と思っていた通りの展開となり、
 いやぁ、dugongさんも、お人が悪い。ほんまに、いけずやわぁ。
 というわけで、大歓迎です。
 すいません。こういう性格なもんで。お許しください :wink: 。

 すぐ、カメムシみたいに死んだフリをしちゃうんです :porc 。
 気分は、猪木&坂口率いるノリノリ新日本に背水の陣で乗り込んだ国際プロレス
ラッシャー木村の気分だったものですから・・・って?わかります?? :porc

 しかも、私の独りよがりの考察にまでレスまでつけていただいて、ありがとうございます :salut 。
島風 wrote:
 なるほど、納得です。ただ、僕がNorさんの「order of battle」の案を見たときに思いついたのが、「長く中断していたシナリオを再開する際に全体像を把握する」ということだったので、位置情報や状態をつらつらと眺めると、in coverの部隊が固まっていてる辺りは防衛任務についているとか、状態が悪化している辺りは攻撃を受けているとか、そういうことがざっと見てわかるかな、と考えたのでした。徒歩で通勤できるので、「電車の中で作戦を考える」のは、思いつきませんでしたです。 :D
>「長く中断していたシナリオを再開する際に全体像を把握する」

 なんてのは、逆に、私は考え付きもしませんでした。 :lol:

 私は、大体、シナリオを一回やり出したら最後まで貫徹させる方なので、長く中断ということ自体無いんですね。多分、長く中断をするような事があれば、最初からやり直しちゃうんですよ。

 しかし、島風さんは、これまでの書き込みから拝察するに、キャンペーンを主体にやられているようですので、確かに長丁場のキャンペーンなんかをやられていて、ゲームの途中で長い中断なんかがあったりすると、さすがに、「最初っからやるか!!」とはなりませんよね。出来れば続きを、しかも最良の状態で再開したいと思うのが人情ですよね。

 なるほど、議論はしてみるもんです。 :P

 と、いったところで、記載情報に関する意見ですが、島風さんご指摘の部隊の「ステータス」情報は是非あったほうがよいと思います。この点に関して、私は前の島風さんの意見に対して疑問は感じておりません。諸手をあげて賛成です。 :cheers

 ただ、位置情報となると、私、(56,48)って書かれている数字を見ても、すぐ直感的に「あぁ、あそこだ!!」とは、ならないんですよ。
 たとえば、位置情報が「order of battle」に記載されていたとしても、「お、BA小隊、in-conerやdefendがおおいなぁ〜。どの辺りだぁ(と、ユニットメニューを開いて、B0をクリックしてジャンプ)。おお、こいつら相手に、この森でがんばってたかぁ〜」ていう風に場所を確認するんだろうなぁと思うのです。で、そんなこんなをしながら、MapThing のMap上に戦況や部隊配置をメモして、その上で、「order of battle」と「Map」を見比べながら、電車や昼飯を食いながらや、風呂や布団の中でニヤニヤしながら作戦を考えている自分がいるんですよ :lol:
ということで、「絶対に無くても良い!!」とまでは言い切れないんですが、あっても私は使わん(というか、使いこなせん)かなぁと思った次第です。

島風 wrote:
 C&C offで小隊長とリンク切れで抑圧回復できない場合でも中隊長が隣接すれば回復のチャンスができますし、
 この辺が、よくわかんなくなっちゃったんですよね。私。
 C&C off で、そもそもリンク切れの概念が発生したかどうか・・・・??
 ここ2回ほどのシナリオはC&Coffでやったんですが、C&Conの時の癖で、出来るだけ小隊内はVisibleな距離を保っているようにしていたし、もうひとつのトリプルヤクパンのシナリオは、そもそも指揮系統と呼べるほどの系統も無かった・・・。一応、小隊ごとに役割は分けたんですけどね(笑)。
 とはいえ、中隊長がわかっているのは、C&C offであろうがC&Conであろうが重要ということでしょうか・・・。
島風 wrote:
それから、*、は、オプションのスイッチを作成するのが大変であれば、無くてもかまいません。正直、あると嬉しいですが、来るべきEnh.DVRN MOD導入に向けて修業ですね。そのうち「俺の後ろに立つな」とか言うようになれる、かな。
 Enh.DV(DVRN)を入れなくても、たしか「shift+8」で「※」は切れたと思います。ためしにやってみてはいかがでしょうか。市街戦なんかだと、敵を発見する為に、一分隊は人身御供に出さなきゃならないような気分になります(今、市街戦をやっているのですが、これが終わったら、どこかに御祓いをしにいかなきゃならんような気分になります :porc 。)。
島風 wrote:
 普通にゲームをやる場合は見たことがありませんけど、歩兵ユニットの場合でも、79列を「4」にすると「Abandoned」になり、グラフィックは表示されますが、命令はもちろん、ユニットの選択すらできなくなりました。(軍服だけ残されている??)。。
 今やっている市街戦では、初期画面で「Destroyed」した歩兵分隊がメラメラ燃えていました。それは一種異様な光景です。壊れたAFVよろしく、雰囲気倍増キャラだとは思いますが、死体の山が燃えているようで気分がグシュンとしてしまって、「とんでもないところに足を踏み入れちまった。」と思った次第です。
 ということで、歩兵の「Abandoned」も、多分、逃亡した部隊を表す初期画面用の雰囲気倍増キャラなのかもしれません・・・・、が、想像してみると島風さんと同じように、気が狂ってしまった歩兵たちが装備や軍服を脱ぎ捨てて裸で踊っている光景しか目に浮かびません(爆)。 :porc
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
ちょいとマクロを書くのにかかりきりで、データ解析の方がおろそかになっていますが・・・

まず現在の進捗状況です。
1ページ目と2ページ目は、当初案の形式でほぼ完成しました。3ページ目と島風さん・Dugongさんご提案による新たな追加要素はこれから・・・です。

次に今後の予定。とりあえず近日中に第一版を公開しようと思います。・・たぶん今度の土日くらいには(あ〜あ、言っちゃったよ・・大丈夫か? :mad: )

この第一版にはおそらくバグがあると思うので、その修正も兼ねた第二版を今月中には公開したいと思います。追加要素などは、この第二版以降に盛り込んでいきたいと考えています。


で、まずデータ解析の話から。
75列 Speed=0で、Immobilized
79列  0=Ready, 1=Pinned, 2=Retreating, 3=Routed, 4=Abandoned, 5=Destroyed
これ、素晴らしい情報です!! :cheers
そうか〜、破壊フラグとして5なんて値が立つのはおかしいなあと思っていたら、そういうことでしたか!全然気づきませんでした。めちゃめちゃ基本的で重要な情報ですね。

これでB7列のReady,In-Cover,Entrenchedを含めると、全ての状態表示が可能になるのですが・・・・この3箇所の関連性はいかがなものなのでしょう?

まず、79列とB7列ではともに0=Ready となっているのが不思議ですよね。これって、B7列の0は「改良状態(In-CoverかEntrenched)ではない」ことを指すと解釈すべきでしょうか?つまり、79列に1〜5が立っている場合は、B7列の値は必ず0になるという理解でよろしいでしょうか?

また、どんなユニット種でも75列に0が立つ可能性があるのでしょうか?そして、その場合、79列の値はどうなるのでしょう?
というのも、ちょっと手元のデータを見ると、敵歩兵の中に75列が0のユニットがいるのです。で、79列も0になっています。そして、このユニットは生存しています。ただし、このデータはシナリオ終了時点(スコア画面)のものなので、あまりあてにならないのでしょうか?

さらに、セクション1でユニットのSpeedを表してるっぽい項目として"ED列"がありますが、このED列と75列の関係はどうなんでしょう?質問ばかりで申し訳ありませんが・・・。 :cry:
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
まずは島風さんdugongさん、いろいろなご提案ありがとうございます。 :salut

え〜と、お二人とも印刷を前提とした使い方を想定しているようなので、正直言って驚きました。私はどうも面倒くさがりなので、Mapthingで出力したMAPさえも、気力・体力が充実した時しか印刷したことがありません(おそらく5回くらいしか経験なし)。 :P

それはともかく、このツールの使い時ですが、私が漠然と考えていたのは、シナリオ開始時と終了時の二回だけです。開始時はもちろん、状況把握と作戦立案が目的です。終了時の目的は、ニヤニヤすること(!)とAARの資料にするのが目的です。

個人的には、AARを書く際に、シナリオ情報やユニットデータを見返したり、スコアをメモったりするのがものすごく面倒だったので、その点だけでも役にたつかなと思ってました。いずれは、これらAARを書く際に必要な情報をtxt形式で出力するオプションをつけようと思ってましたから。 :cool:

ちなみに、このツールはPBEMのセーブデータには使用できません。通常のPBEMはパスワードをかけるので、このツールでもWAWEDでもセーブデータはまったく読み取れません。だから、本当にソロプレイを充実させるためだけのツールですね。

で、本題。要望のあった項目について。

<ユニット座標>
島風さんのリクエストですが、dugongさんから物言いがつきました。 :cool:
これを実現するのはとても簡単で、プログラム上は何の支障もありません。
ユニット座標が必要な情報かどうかは人によりけりでしょうから、あとは他の項目との優先順位の問題だと思われます。

ここでお知らせしておきたいのは、Order of Battle をA4用紙(横)に出力することを考えると、横列に表示できる情報量(項目数)には制限があるということです。当初、私は印刷なんて考えてなかったので、オプションで表示項目を増減すればいいやと思っていたのですが・・・

現在の形式では、ユニット情報と対応する指揮官情報を横に並べているので、すでにA4縦で印刷すると文字が非常に読みにくくなっています。フォントを小さくしたり、余白を削ったりする余地はまだありますが、いずれにせよ、A4横でもあと3〜5項目も入れれば限界だと思われます。

<ユニット状態>
これは全員一致の必須項目ですね。できれば第一版で採用する予定です。前ポストで書いた疑問が解決されれば、プログラム上も問題なくなります。

<被発見マーク(*)>
まず、ver8.403でもEnhanced でも、「Shift+*(アスタリスク)」を押せば、被発見マークの表示・非表示は切り替えられるはずです。Enhanced はデフォルトで表示しない設定にしているというだけです。

で、この機能ですが、やはりEnhancedを使用している方が多いと思うので、第一版での実装は見送り、第二版以降に表示オプションをつけようと思います。ユニット名に続けて表示すれば、表示項目を別にとらなくて済むと思うので、問題にはならないはずです。

<被射撃マーク(#)>
これも被発見マークと同様に、ユニット名の後ろに表示しようと思います。・・・が、今のところデータの特定ができておりません!!

<命令ポイント & 編隊構造>
いずれは編隊構造を変更するツールを作成したいと思っていたので、これも採用する気は満々です。必要なデータは特定できているのですが・・・プログラム上の問題があります。というより、私のプログラム能力ではなかなか難しいということです。 :pirat

まず、dugongさんご提案のように、Order of Battle の中に項目を確保して、上級編隊を表示するのは簡単です。この場合、編隊長ユニットのみ上級編隊を表示することになります(つまり、分隊ユニットには表示しない)。

試しにこの形式で表示してみると、ヒジョ〜にわかりにくいのです。編隊数が増え、中隊長クラスが多くなるほど、わかりにくくなります。正直言って、実用性は低いです。

で、いろいろと方法を考えていましたが、理想的なのはエクセルの組織図機能を使ったものです(添付図参照)。これだとわかりやすさは完璧なのですが、組織図をマクロで描くということが・・そもそも不可能なのか、私の能力では不可能なのかさえわかりませんが、無理!ってことは分かっています。 :porc

で、次善の策として、OOBとは別のシートに、添付図2のような表っぽい形式で出力することを思いつきました。これなら、たぶん私にも不可能ではないはずです。しかし、今すぐ作るのはやはり不可能なので、今後の優先課題としておきます。 :cool:

<弾薬数>
これは一部採用する予定です。
このツールを使用する「人物」は、戦闘団を指揮する大佐クラスの人間です。状況報告、戦闘序列、戦闘報告といった重要情報を一手に把握する立場にある人物が、何で歩兵の煙幕装備数まで確認する必要がありましょうか!!そんなことは歩兵小隊長の把握事項であって、戦闘団長たるものはもっと大局をみるべきです!! :cool:

というわけで、結論から言うと、迫撃砲と砲兵の弾薬・煙幕数のみ表示しようと思います。これらの要素なら、戦闘団の指揮官たるもの把握してしかるべきで、作戦立案上も必要な情報だと思われるからです。

もう一つ、思想上の(!)理由としては、歩兵の煙幕や戦車のスモークディスチャージャーなどは、そのユニットが危急の場合に応急処置的に使用するものであり、一作戦の要素に組み込まれるべきでないという考え方です。つまり、作戦遂行に必要な煙幕は、砲兵が展開せよということですな。

まあ、砲兵で煙幕展開したものの、市街地に入った歩兵の煙幕が全然ないことが判明!!という場合もあるでしょうが、そのときは「お偉方にはわからんですよ・・」とでもつぶやいて下さい。 :lol:

まあ本音を言えば、計算上の制限がいろいろあるのです。これまで砲兵として一緒に扱っていたユニットを、迫撃砲と砲兵という二つのユニット種に分けることで、本当に知りたい砲の弾薬数が計算できるようになりました。たぶん。 :porc

<スコア>
却下です。 :mad:
シナリオが終了するまで、セクション37のスコア情報はセーブデータに出力されないようです。セクション1のユニットdamage値の合計でその時点のスコアを算出するのは可能かもしれませんが・・・。

上記のとおり、このツールはソロプレイにしか使えないので、チートしようが何しようが問題はないのですが、手間の割りには必要性を感じないので優先順位「低」で棚上げ先送りです。 :pirat

<"HIGHTER HQ LINK”>
採用です。 :cool:
必要データはあるし、実装も簡単なので、第一版で採用予定です。これでまたOOBの項目が埋まるけど・・。


以上、これまでのご提案に関するコメントです。
異論・反論、新たなご提案など、今後も幅広くお待ちしております。 :salut
sam2.gif
Attachment: sam2.gif
sam1.gif
Attachment: sam1.gif
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下

ツール作成ご苦労様です。 :salut

返信遅れてスイマセン。
私のほうは、仕事で昨日今日と今話題の社○保○事務所で戦っておったんですが、職員の聞きしに勝るひどさに、性も根も尽き果てました。
人の年金だけじゃなく、自分の年金も恐ろしくなってきました・・・。はぁ・・・。
いや、単なる愚痴です。すいません。 :porc


いや、随分と作業も進んでいるようで、ツールが出来るのが楽しみです。いや、別にプレッシャーをかけているわけではありません。この土日にといわずに、ゆっくり作成ください。気長に待っております。

で、いろいろと意見を述べさせていただきましたが

Nor司令官が示された掲載情報の方向で私としてはまったく異存はございません。 :salut


そうですか、PBEMには使えませんか。そりゃそうですよね、WAWEdにかかれば、絶対チートにつながりますもんねぇ。:cool:
ソロプレイオンリーということは解りました。

ところで、被発見マーク「*」なのですが、Enh.DVRNで使えるということなど露とも考えていなかったので、試しに「shift+*(8じゃなかったですね。適当なこと書いてスイマセンm(__)m。)」でonにしてみたんです。確かに「Asterisk toggled on」の表示が出ました。しかし、それでも、どうも「*」はつかないようなのです。あからさまに、敵のLOSに入って視認、攻撃されたのですが「#」はついても「*」はついてこないのです。この辺はもう強引に「*」無しなのでしょうか?それとも後何か一手必要なのかなぁ。


編隊構造は次善の策でまったく問題ございません。
というか、すばらしいです。
ここまでしていただければ、「Order of Battle」に入れる必要はまったく無いといえます。 :cheers
 ところで、各部隊名の右欄の数値は、命令ポイントでしょうか?
 命令ポイントということであれば、デフォルトの命令ポイントかセーブ時点の残命令ポイントということがあると思いますが、残命令ポイントのほうが抽出しやすいということであれば残命令ポイントで問題ないかと思います。1ターン目最初のセーブデータが残命令ポイント数=デフォルトの命令ポイント数ということになると思うので、デフォルトの命令ポイントは確認できますし・・・。


弾薬数については「了解であります」 :salut
 戦闘団長の心得、叩き込んでいただきありがとうございます!!!!
 しかし、やはり煙幕をもたずに突っ込ませたら「お偉方にはわからんですよ・・」とさげすまれるのもやむなしですな :lol:
 ところで、砲兵の弾薬・煙幕弾数は1枚目の<Composition>あたりに出る情報となるでしょうか。そうすると、ますます、<Composition>の感じが戦闘団長に参謀から差し出される情報っぽくっていいですね。
 ということで、弾薬数についてもまったく異存はございません。

スコアも、同様に了解です。
 ソロプレイなら、ぜんぜん必要なかろうと思います。
 途中スコアを知りたいなら、「F9=Surrender」で、無理やり出せましたよね。確か。
ただ、VH分はポイントは入ってなかったんでしたっけ?


最後に、私がどのように使うかといったことまで書いてしまった為に、A4横打ち出しで見せられる範囲というレイアウト的なことまで、ツール作成で考えさせるようになって申し訳ありません。 :pale
 しかし、考えてみれば、スプレッドシートにさえなってくれれば、あとは、それを抽出した人間が、エクセルなりで書式調整をすればいいだけの話かもしれません。そういう意味では、そういうところまで、マクロに任せるのはユーザー側の甘えかもしれません。失礼しました。
 ということで、もしレイアウト的に「面倒だなぁ」という事態があるようでしたら、その辺はあまり気になさらずに作成していただければと思います。
 とにかく、ユニットデータが紙で見みられるというだけですばらしいことなのですから :cheers
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
暗号解読部長
Posts: 58
Joined: Mon Mar 12, 2007 12:51 UTC
島風です。

 少し遅めの、田植え後に豊作を祈って行う宴会(さなぶり、と言います)等ありましてお返事遅れました、すみません。

 まずは、任務です。
75列について
盤外砲、バンカーなど、非移動ユニットは75列は「0」。
シナリオ作者の意図で75列が「0」(移動力が「0」)の歩兵系ユニットが登場することがある。
75列が「0」の場合、車両系ユニットのみ  Immobilized と表示される。その他のユニットは状態表示に影響を与えない。
75列が「0」の場合、In-cover への状態改良はされない、と思われる。塹壕化されているヘックス内で移動力が0になった場合は、 Entrenched への状態改良はされる。
75列が「0」になっても、79列の値に影響しない、と思われる。
75列、79列、B7列の関係
79列、B7列ともに「0」の場合のみ Ready と表示される。ただし、車両系ユニットは75列、79列、B7列がすべて「0」なら Immobilized と表示される。
それ以外の場合は、79列、B7列の値に応じて、単独、または並列して状態表示される。
被攻撃マークは、セクション1の EB列 が1以上の数字になると表示される。
 上から順番に説明します。
 移動力について調べてみたら、75列が「0」、すなわち、移動力が「0」のユニットは結構ありました。上記以外には MG Nest 等です(移動する MG Nest って、もしあったら怖いですね)。そのようなユニットの場合、 Immobilized の表示は無いので、車両系ユニットのみ Imm〜 と表示されるのだと思います。歩兵系ユニットのバイク兵も機関故障は発生しますが、ユニット画面などでImm〜 の表示は無く、移動力が「0」になるだけです。
 ところで、75列が「0」になったユニットを見つけた場合、プログラムはOOBのユニット番号を参照して、ユニットの種類を判断して、それから Imm〜 と表示したり、しなかったり、と、大変そうなので、どこかにフラグがあると思って調べてみましたが・・・、やっばり見つけることはできませんでした。マクロでユニットの種類の判断をするのは難しいと思いますので、Norさんに作成して頂いている今回のツールでは、75列が「0」の場合は「移動力 0」と表示してもらうしかないのかもしれません・・・・。セクション17の0C列「LOS用砲塔の向き」は車両系ユニットのみで「0」以外の数値が入るので判別に使えるかも、と思いましたが、砲塔が3時辺りの方向を向いているとやっぱり「0」になるので使えません。また、08、09列「旋回砲塔のグラフィック内部コード」も、突撃砲や兵員輸送装甲車などでは「0」なので使えませんね。 :porc
 移動力「0」のユニットの防御効果変化についてですが、DRのチタデレで、Immobolizedでないけど移動をしない戦車は数ターン後にはだいたい In-cover 状態になっていましたが、Immobolized の状態のタイガー戦車は十数ターン以上経っても(最終ターンまで) In-cover 状態にはなりませんでした。また、作者が意図して移動力0の歩兵ユニットを用意しているシナリオがありますが、この場合も、そのユニットは最終ターンまで In-cover 状態にはなりませんでした。これは、そのヘックス内で一番防御に適した場所への移動もできず、クルーは車体の修理で忙しいので戦車の周りに土嚢を積んだりすることもできないため、防御力を高めることができない、と考えればいいんでしょうね。ただし、あらかじめ塹壕化されているヘックスに歩兵を移動し、Hex エディターで移動力を0にして、次のターンの状態を見たところ、ちゃんと Entrenched になっていました。すでに準備してある防御強化効果は利用できる、ということでしょう。

 75列、79列、B7列の関係と、被攻撃マークの場所を調べるために、既にIn-cover や Entrenced 、Immobilized の味方ユニットがうじゃうじゃいるデータを使って、それらの上に105mm砲弾を雨霰と降らせてみました(許せよ戦友)。状態表示については、HQメニュー、ユニットメニュー、個々のユニットの右クリック、どれでも同じ内容が表示され、75列、79列が優先されるようです。Immobilized ユニットがピヨピヨになると、例えばRoutedのみ表示され、Immobilized は非表示になりました。それから、75列、79列は順番はこのままですが、優先権(?)は同じで、例えば、「 Pinned, In-cover 」や「Routed, Entrenced 」と表示されました。えーと、塹壕化されたヘックスの中で、アワワアワワとなっている、ということでしょうね。また、「 Pinned, Ready 」や「Ready, Entrenced 」とはならず、それぞれ、「 Pinned 」や「 Entrenced 」と表示されるため、79列、B7列ともに「0」の場合のみ「 Ready 」と表示されるようです。また、75列、79列、B7列の数値はお互いに影響を与えないと思われ、移動などをしない限り、どこか1箇所が変化しても他の数値が変わることはありませんでした。

 攻撃されちゃった「#」マークですが、セクション1の EB列のようです。ただし、僕が確認した限りでは、数字が「1」と「2」の場合があって、攻撃を受けなければ1ターンごとに1ずつ減っていました。あまりに激しい攻撃を受けた場合はこの数字が「2」になって、最低2ターンは移動力や攻撃命中率等(?)に何らかの影響を受ける、ということなんだと思います。

 えーと、これで任務完了?、いやいやもう一つ。セクション1のED列と75列の関係ですが、
75列はユニット本来の最大移動力。
ED列は現在の最大移動力。
 です。状態が悪化したり、攻撃を受けたり、発見されたりすると移動力が落ちますよね。例えば、 GE Mtrcy Sqd はユニット本来の最大移動力は「55」ですが、H0ユニットはReadyの状態、H1ユニットは攻撃を受けて「#」マークがついて移動力が「27」、H2ユニットは発見されて「*」マークがついて移動力が「41」になっているとします。すると、どのユニットも75列は「55」ですが、ED列はそれぞれ、「55」、「27」、「41」となっていました。ユニットはそのターンはED列に書かれた移動力までしか使えませんが、ターンが進んで状態が改善すると、ED列の数値そのものが75列の数値までは回復するようです。もちろん、故障して75列が「0」になると、ED列も「0」になり、移動ができなくなります。ちなみに、ユニットメニューのMove列は、「ED列-消費移動力=残存移動力」の値が示され、個別ユニットを右クリックして現れる画面のSpeedは、「ED列」の値が表示されます。


 次は、dugongさんからいただいた任務への報告ですが、
C&C off でもリンク切れの概念は発生する。
 です。えー、DRキャンペーンで推奨されているので、C&C offにしていますが、リンク切れはおきますです。そして、抑圧解消ができずに困ることがあります。いつでも基本は3ヘックス以内ですね。
 それから、なんだか原因が分からないうちに「*」マークが消えたことがありまして、プレーヤーのセクション1の79列に「3」が立ち、そのうち「4」、「5」と悪化し、このHPで解決方法を見つけるまでしばらくの間SPWAWに手をつけなかったことがありました。 :porc
(質問してくれた方、回答してくれた方、ありがとうございました)。その後、自分で意識して「*」マークを消したこともありますが、DRキャンペーンは消さずにやっていました。ですが、「大戦略」等はそもそも被発見マークなどは無かったですけどよく遊んでいましたし、Enh.DVでもデフォルトで消えていますので、そろりそろりと修行を始めます。


 さて、Norさん、まずは、ツール開発お疲れ様です。
ちょいとマクロを書くのにかかりきりで、データ解析の方がおろそかになっていますが・・・
 いえいえ、解析は不詳島風、ちまちまとですが進めますので、お気になさらずに。 :wink:
それにしても、Norさんも書かれていましたが、はっきりとしたすぐ目の前の目標「ツールに必要な情報を集める」があると、燃えますね。ジャングルの彼方のインパールを目指すより、目の前のシンガポール要塞を落とせ、の方が士気が上がりますです。

Nor司令官が示された掲載情報の方向で私としてはまったく異存はございません。
 dugongさんのご意見に僕も同感です。特に、「もしレイアウト的に「面倒だなぁ」という事態があるようでしたら、その辺はあまり気になさらずに作成していただければ」と思います。

 よろしくお願いします。
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
え〜と、島風さん。毎度毎度データ解析ありがとうございます。
今日はもう私の電池が切れぎみなので、解析結果についてのコメントは日を改めてさせていただきます。 :cry:

で、本題。とりあえず、予告通り「確認君(仮称)」の第一版(人柱バージョン)をアップさせていただきます。人柱バージョンの名に違わず、ほんっとにヤバいです。たぶん、エラー続出でがっかりされること間違いないと思いますが、まれに奇跡のようにきっちり読めることもあります。 :cool:

まず、使い方ですが・・・ファイルを開くと、マクロを有効にするかどうかの確認メッセージがでますが、これは有効にしてください。でないと動きません。
マクロを有効にすると、自動で変なウィンドウが開きます。開きたいセーブファイルを指定して、実行ボタンを押してください。
その後はおよそ10秒くらい悩んだ後に、"Intel Reports.xls"というファイルを吐き出して、勝手に終了します。
あ、保存場所やファイル名は変更できるようにしてますのでご安心を。あとは、出力された"Intel Reports.xls"ファイルをじっくり眺めてください。

で、次にエラーが出たときの対処ですが、マクロ画面が開いてエラー行が表示されます。この場合、もうどうしようもないのでエクセルファイルを保存せずに閉じてください。
そして、できれば、読み込んだファイルを添付してメールにて報告していただければ、今後の改善につながる・・はずです。

宛先↓
spwaw.nor@gmail.com

現時点で判明している不具合と推測される原因を挙げておきます。
・地形(Terrain)が正しく取得できない−そもそもデータの場所が正しいのか不明
・天候(Weather)が正しく取得できない−データの場所・取得方法が正しいのか不明
・ユニット状態(Stat)が正しく取得できない−現在は79列のみで判定している(改善予定)
・Scoreの勝敗判定が正しく取得できないかも−算出方法に問題ありかも
・Depot基準の勝敗判定(Fixed Result)は未実装
・結局、OOBのレイアウトは無視してます 
他にも不具合は沢山あると思います。例えば、総兵力より現兵力の方が多かったりするかもしれません。 :shock:
おかしな点があれば、メールでも掲示板でも報告してくださいませ。 :salut

ま、作成段階でもついさっきまでエラー続出で、そのたびに対症療法的にバグ取りを行い、結果的にものすごくつぎはぎだらけのプログラムになってしまいました。これでちゃんと動くことがあること自体が私にも驚きです。 :pirat

そうそう。最後にちょいと報告です。

すでにセーブデータの圧縮フォーマットは完全解読したかに思われましたが・・・盲点がありました。3バイトの圧縮指示列の最終バイトです。通常、最後の3バイト目は次の圧縮指示列までのバイト数を指しているのですが、この値が7F(h)の場合、127+1バイト目には、3バイトの圧縮指示列が立たず、83(h)以上の値が立つとも限りません。

・・・ってよくわかりませんね。具体的に言うと、次のようなデータです。
84 00 7F (127バイト分のデータ) 7F (127バイト分のデータ) 3D (61バイト分のデータ)  83 00 1D
島風さんならこれを見ただけで理解できるでしょうが、要は、3バイト目の値の最大値は7F(h)なのです。ある圧縮指示列から次の圧縮指示列までが127(d)バイト以上離れている場合は、1バイト分の指示バイトを何個か重ねて、3バイトからなる圧縮指示列までつなぐわけですね。

私は、圧縮指示列は3バイトから構成され、先頭の圧縮指示列がわかれば、次の圧縮指示列が一発で完全に把握できるという前提でプログラムを組んでいたため、ここで大ハマリしました。とりあえず手持ちのデータで問題が起きた部分のみ修正しましたが、同様の問題は他にも発生する可能性大です。次のバージョンまでに、圧縮解除ルーチンをきっちり書き換える・・・予定です。 :mad:
Last edited by Nor on Wed Jul 11, 2007 14:41 UTC, edited 1 time in total.
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下

えー確認君、私dugong、まず人身御供として約20のセーブデータで使用してみました。 :salut

まず、使用できるかどうかのレベルでいきますと、私のセーブデータすべてで

問題なく使用できました。

但し、私のエクセルのマクロセキュリティレベルが「高」だったので、最初に

「このような危ないマクロは使えません(意訳)」

といったような、まったくもって失礼なメッセージが出ました。 :evil:
そこでツール>オプション>セキュリティでセキュリティレベルを「中」にしたところ問題なく稼動したような次第です。
ということで、人によっては、この過程が一手必要ということでしょうか。


で、出てきた情報を見て

感動いたしております PDT_Armataz_01_34 。

あぁ、これで、ターン数の多いシナリオをやる際の心の障壁も低くなった・・・・。
と思った次第です(修行の足りん未熟者です :porc 。)。

細かい点は、Nor閣下も指摘されている通り、
・1枚目≪Status Report≫Forceのところでデフォルト人員数に対して現在人員数
 が多くなってしまう事がある(1例だけ1ターン開始直後データで、2人くらい多くなっ
 ていました。ゲーム途中のセーブデータは、その程度の誤差は吹き飛ばされる人
 員被害がありますので(笑)、見た目にはわかりません。)。
・3枚目≪Combat Report≫VHの表記が結果を反映していない
 どうしても先攻側で「21 100pct」の表記にしかならない(ダミーデータ?)。
・3枚目≪Combat Report≫のLoss、後攻側の「Art」と「Gil」の表記(0でない。空欄
 になっている)がない?
 (ひとつのScoreSaveデータしかやっていないので、何ともよく言わないのです
  が・・・)
ぱっと見ただけで、こんなところが気になったところではあります。但し、致命的というレベルではまったくない、瑣末な問題だと思います。

個々のデータの使い勝手や不具合なんかは、使用しながら、追々こんな問題があった、や、こんなデータがあればという意見をまとめておけばよいのかなぁと思います。

OOBのレイアウトは、小隊毎の並びなんかも含めて、これは使う側が自分自身で使いやすいように工夫すれば問題ないと思います。もう、あまり、カラム数なんかは気にしないほうが良いと思います(言い出しておいて何なのですが・・・)。

ということで、早速、現在やろうと思っているシナリオで使用してみて、その後、その使用感なんかをレポートできればと思います。 :salut

 ※個人的には≪Status Report≫表題下につく「For.CG.(A0ユニットリーダー名)」にしびれました:pirat。雰囲気抜群です。 :cheers


島風様。

任務だなんて!!とんでもないm(__)m:pale

いや、本当に良くわかんなくなっちゃっただけなんですよ。 :cry: :oops:
このゲーム最初の数回はC&Coffでやってたんですが、その頃は抑圧回復すらも良くわからずにやってたもんですから、Link切れすらも意識してなかったんです。
で、これじゃSPWAW特有の「じれったい感」が体得できずにイカンだろうということで、C&Conでやるようになって、それから抑圧回復やLinkを意識するようになったものですから、C&CoffのときにLinkや抑圧回復がどうだったのか良くわからんようになってしまっていただけなのです。 :D :D

ということでご教授ありがとうございますm(__)m。
今度、C&Coffシナリオをやるときには、Link切れは意識するようにしておきます。 :wink:

いらぬ、気遣いをさせてしまって、申し訳ありませんでした。 :salut

あと、インモビライズの車輌ユニットがin-Coverを取れないという点に関しては、過去において歩兵を中心とした「in-Cover実験」なる益体も無い実験を行っておったのですが、その後の実験で(未公開ですが・・・。て、いうか実験が中断しちゃってますm(__)m。)それに似たような結果が一部出ておりました。

その実験では、歩兵だけではなくその他の兵科での「in-Cover」獲得の状況を実験で確認しつつあったのですが(いまだ未完!! :porc )、その実験の一部で88なんかの自分で動けない(デフォルトで移動力0)のユニットはin-Cover取れないという結果が得られていました。すべての兵科で実験が終わっていないのでまだ仮説段階を抜けていないのですが、理屈で考えて、「動けん部隊は「掩蔽物」のところへ行けない」ということなんでしょう。
  「in-Cover」はユニットが防御体制になった上で、相手に反撃するのもそっちのけで這いつくばって、その場所で掩蔽物を探し出して、そこに隠れる「掩蔽物あり」の状態ですから、そもそも動けなければそんなことも出来ないということなのでしょう。
Entrenched は良くわからんのですが、そもそもゲーム途中段階で獲得させることの出来ないユニットの状態ではなかったでしたっけ?ということであれば、島風さんが書くように

・「(ゲームはじめから)すでに準備してある(Entrenchedの)防御強化効果は(移動力0のユニットでも)利用できる」

ということで、

・「自分で掩蔽物を探す(in-Coverの)防御強化効果は(移動力0のユニットでは)利用できない」

ということなんでしょうね。

この理屈を敷衍させれば、Immobolizedや設定で移動力0になってしまった歩兵ユニットも、同様の理由で、隠れる事が出来ないのでしょうね。 :lol:
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
暗号解読部長
Posts: 58
Joined: Mon Mar 12, 2007 12:51 UTC
島風です。

 Nor司令官殿、短期間での膨大な作業、たいへんお疲れ様でした。いやぁ、シミュレーションウォーゲーマーの大好物のツボがばっちり押さえてあって、これはやっぱり実用的だし、かっちょよいです。

 さて、こちらでも問題なく動いていますが、Norさんとdugongさんが書かれた以外にいくつか気づいた点を。

1. 僕はSPWAWをゲームがデフォルトで作成するフォルダに入れていないので、「セーブデータが見つかりません」とメッセージがでました。その後、プログラムの修正画面がでましたので、フォルダのバス名を修正して使っています。
2. 「Order of Battle」で、敵のユニットがリストの最後にいくつか入ることがあります。ユニット数の誤差の原因かもしれません。
3. 早速プリントアウトしましたが、なんだか違和感があって、その原因は「Carbon type」のフォントが僕のパソコンに入っていないことだと気づきました。せっかくなので、Norさんのサンプルのようにかっちょよいフォントで印刷したいのですが、このフォントはどこで手に入りますか。もし分かれば教えて頂けませんか。

 dugongさんも書かれているように、修正などは、お暇なときに、追々でいいと思います。なにより、お疲れ様でした。
3バイト目の値の最大値は7F(h)なのです。ある圧縮指示列から次の圧縮指示列までが127(d)バイト以上離れている場合は、1バイト分の指示バイトを何個か重ねて、3バイトからなる圧縮指示列までつなぐわけですね。
 なんと、驚きです!!! :shock:
大はまりされたとのこと。貴重な時間を浪費させてしまい、申し訳ありませんでした。 :pale
 ふーむ、 「80+#」は特別な数値(書式)なので、3バイト目は「7F」までとなっているのでしょうね。一部分だけ見て全体を分かったようなつもりになるのはよろしくない、という教訓ですね。何回目かの反省です。


 dugongさま、恐縮して頂かなくて結構ですよ。あのー、宿題がでると、萌えるし、燃えるので。 :wink:
 過去の In-Cover 実験の記事読ませて頂きましたが、CSVファイルの謎解きの先駆者はdugongさんですよね。すごいなぁ。何事もパイオニアの方はたいへんですよね。そういえば、EC列 の謎が残っていますね。うふふふふふ。次はコレでしょうか。
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
ああ、そういえばフォントを同梱しておこうと思ったのに、すっかり忘れてました。
このフォントは再頒布可能なので、ここに添付しておきます。
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下
島風さん
島風 wrote:
2. 「Order of Battle」で、敵のユニットがリストの最後にいくつか入ることがあります。ユニット数の誤差の原因かもしれません。
私も、本日、このツールをつかって「THE 'DESERT RATS' ARE BORN(by FlashfyreSP氏 英軍VSイタリア軍)」を英軍側やり始めたのですが、その開始直後のセーブデータでOOBを抽出したところ、OOBの最後に2小隊(6ユニット)のシナリオには援軍でも登場しないユニットが表示されました。
で、この余分な2小隊の名称というのがは「CruiserII A10」だの「CruiserI A9」だのとなっとりまして、まあ、私の場合は島風さんと違って、見えない英軍ユニット(味方ユニット)と言う事が出来るのかなと思います。で、これらの余分2小隊のリーダー項目がどのユニットも「KIA」で、ラインが引かれた状態となっています。ということで、私はシナリオ作者が、EDIT画面で購入した部隊の一部を、ゲームバランスを取る為か何かのために、消去されてしまった部隊が、亡霊のごとく出てきてしまったのではないかと思いました(笑)。

予断ながら、島風さんの言うように1枚目の「Force」の人員数はこの余分2小隊を含む「OOB」の「Men」の合計と一致しましたから、人員数の逆転現象もOOBに抽出された見えない部隊の影響ということも大いに考えられます(但し、このシナリオのゲーム開始直後の「Status Report」では、「Full Strength」と「Current Strength」の逆転現象は起こっていませんでした。)。

ということで、使用に耐えないバグではないですが、一応報告まで・・・。 :salut

※必要があれば、先のメールアドレスに、本件で話題に出したシナリオのセーブデータを添付して送付しますが?
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
今までずっとフォントと戦っておりました・・・ :porc

というのは、現在使っている「Carbon type」フォントは、ちょいと問題がありまして・・・
このフォントには「#」文字が含まれていないのです。

島風さんの解析結果を元に、ユニット状態の後に(#)を表示させるようにしたものの、これでは画面に表示されません。 :evil:

そこでお願いです。要は、見た目がタイプライター風のフォントで、アルファベットの大文字・小文字・「#」・「*」が含まれているフォントを探してもらえませんか。もちろん、かっこよく・表示に都合が良い(10ポイント程度の大きさでもある程度視認性が良い)フォントを求めています。

実は、この条件に完全に適う「1942 Report」というフォントがあるのですが、うちのエクセルではフォントリストに表示されないのです(メモ帳では表示される)!!どうやら、これはエクセルのバグのようで、サービスパック2を当てれば直るらしいのですが、うちのExcel2003SP2適用済みバージョンでは直りません!

というわけで、もう一個の条件として、「エクセルでフォント一覧にちゃんと表示されること」を加えます。

フリーで使えるタイプライター風フォントは沢山ありますが、↓がもっとも種類が豊富っぽいです。推奨フォントを発見されましたら、ご報告ください。
http://www.dafont.com/theme.php?cat=113&page=1
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
え〜と、変なユニットが一覧に表示されるという問題ですが・・・これは、ほとんどプログラム側の問題です。 :porc

現在のプログラムでは、ユニットの取り込みは以下のように行っています。

1.まずセクション1のデータを800(ユニット)×243(ユニット名は結合済み)の配列変数に取り込んで、あるシートに一括表示させます。
2.A列(ユニット名)の800行目の値をチェックし、A列が空であれば、行を上に辿ってデータが入っている行数を取得し、それ以降の行は削除します。
3.今度はA列を1行目から下に見ていって、データが入っている最終行数を取得し、それ以降の行は削除します。
4.最後にFR列(陣営フラグ)を見ていって、1が立つ(敵)行を全て削除します。

こうして残ったデータは、全て味方ユニットで、1行目から最終行まで隙間無く並ぶはず・・・なのですが、実際はいろいろね。 :cool:


まず、典型的なキャンペーンのセーブデータを覗くと、セクション1の構造は次のようになっています。

行数
1  自軍A0 ・・・・
2  自軍・・・・・・・
・・・・・・・・・・・・・・
X  敵軍A0・・・・
Y  敵軍・・・・・・
さらに、自軍車両の乗員が離脱している場合は、敵軍データの後ろに
Z  自軍離脱乗員・・・・
というデータが並びます。

全てのデータがこの規則に従ってくれれば簡単なのですが、実際には例外が沢山あるようです。現在確認しているのは、

行数
1  自軍A0 ・・・・
2  自軍・・・・・・・
3  (空白行、値は全て0)
4  (空白行、値は全て0)
5  自軍・・・・・・・
・・・・・・・・・・・・・・
X  敵軍A0・・・・
Y  敵軍・・・・・・
なんて場合があります。この場合5行目以降の自軍ユニットはゲームには登場しません。おそらくエディット段階で購入・キャンセルしたデータが残っているのでしょう。
この場合は、上記作業3によって3行目以下のデータを全て削除してしまうので、とりあえず問題は発生しない・・・はずです。
ただし、離脱乗員の扱いに不安が残ります。このような場合の離脱乗員は、敵データの後ろではなく、空いている3行目に挿入されていきます。したがって、離脱乗員がいれば、その行は削除されないはずですが・・
もしも空白行の数より離脱乗員数が多ければ、当然問題ですね。 :porc

また、これ以外にも、自軍ユニットは1行目から始まり、敵軍ユニットは401行目から始まるというデータもあります。あるいは、島風さんのチタデルシナリオのように、1行目から800行目までびっしり埋まって・・・これって800行じゃ足りてないんじゃないの??という場合もあります。


で、まずdugongさんの症例ですが・・・まあ予想範囲内のバグですが検討に値しますね。ちょっと確認したいので、データを送ってくださいませ。
一方、島風さんの症例は重症です。敵ユニットのデータは全て消えていなければならないはず!ちょいと要確認です。データください!!

まあ、現段階ではいろいろと不具合がありますが、この問題はいずれ解決できる見通しです。ホントか? :?
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下
Nor wrote:
・・・・・
そこでお願いです。要は、見た目がタイプライター風のフォントで、アルファベットの大文字・小文字・「#」・「*」が含まれているフォントを探してもらえませんか。もちろん、かっこよく・表示に都合が良い(10ポイント程度の大きさでもある程度視認性が良い)フォントを求めています。
・・・・
というわけで、もう一個の条件として、「エクセルでフォント一覧にちゃんと表示されること」を加えます。

フリーで使えるタイプライター風フォントは沢山ありますが、↓がもっとも種類が豊富っぽいです。推奨フォントを発見されましたら、ご報告ください。
http://www.dafont.com/theme.php?cat=113&page=1
一応、労力提供くらいしか出来ないので、上記ホームページで、上記条件に沿うフォントを探してみました。

結果

1.daisy_wheel
2.dislexiae
3.love_letter_tw
4.royal_pain
5.vt_portable_remingt

あたりが、「CarbonType」の雰囲気を持ちつつ、上記条件を満たすのかなと思います。
(一応、AOユニットに、#と*を入れてみました。)
どのフォントも、私のエクセル環境(Excel 2002 SP3)では、メニューに表示されました。

私としては、この中では、「vt_portable_remingt」が、添付した画面ではどうか?といった感じなのですが、実は打ち出した感じも、ディスプレイ上も雰囲気・視認性共に申し分ないように思います。
「royal_pain」は雰囲気は、「CarbonType」に近いですが、いかんせん視認性が悪いかなぁと思います。

ということで、少しでもNor閣下の労苦の軽減に資すればと思います。
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
え〜と、まずはdugongさん。フォント探しありがとうございます。わかりやすい添付図で、どれが好みか選びやすいと思います。

そういえば、フォントなんて自分の好きなやつを入れればいいんでしたね。私は興奮した勢いで、自分でフォントを作ってやろうかなんて思ってしまいましたが、これを見て落ち着きを取り戻しました。 :cool:

個人的には、「love_letter_tw」 か 「vt_portable_remingt」 かといった感じですが、どちらも字体がやや細めなので14ポイントくらいまで拡大しないとやや見にくい印象です。やはり10ポイントでの視認性は「CarbonType」がベストっぽいですね・・・

まあ、「CarbonType」 で表示できないのは「#」だけですしね。ま、雰囲気なんか無視してOOBの項目ごとに並べ替えたりするには、単純に見やすい「MS ゴシック」なんかでもいいわけですし。

一応、推奨フォントとしては、「CarbonType」「love_letter_tw」 「vt_portable_remingt」 の3つを挙げておきましょう。

ちなみに、タイトル部分なんかには、"CLASSIFIED"のハンコ画像に使っている「Armalite Rifle」なんていうステンシル系のフォントもいいですよ〜 :cool:
http://www.dafont.com/armalite-rifle.font

ダメだ・・・フォントにこだわり出すとキリがないのでこのへんで。


え〜と、次はぐっと戻って、島風さんの解析結果へのコメント。

<状態表示データ>
まず、79列とB7列を利用したユニット状態表示はたぶん完成しました。
しかし、ご指摘のとおり"Immobilized"の判定はちょっと難しいですね。ユニット種で車両タイプのものを選別する作業が必要です。現在使用しているユニット種分類はそのまま使えないので、新たに「車両−非車両」でタイプ分けする必要があります。せっかく苦労して見つけてもらったのですが、これはちょいと先送りということにしたいと思います。

<被射撃マーク>
これもよく見つけて下さいました。そういえば、被射撃マークって「過去2ターン内に攻撃を受けたユニット」につくんでした。値が0〜2で変動するのは、そういうワケですね。
これもすでに実装テストが完了したので、次バージョンからお楽しみです。

<移動力>
75列とED列の謎をよく解いてくださいました。とりあえずツールでの使い道はまだ考えていませんが、これでいつでも使用可能ですね。

<リンク切れについて>
C&Cはオフでもリンク切れは起きますね。これは、Preferencesの「Unit Comm」項目で決まります。ここがオンならリンク切れの可能性アリで、オフなら無しです。
いえいえ、解析は不詳島風、ちまちまとですが進めますので、お気になさらずに。 Wink
それにしても、Norさんも書かれていましたが、はっきりとしたすぐ目の前の目標「ツールに必要な情報を集める」があると、燃えますね。ジャングルの彼方のインパールを目指すより、目の前のシンガポール要塞を落とせ、の方が士気が上がりますです。
暖かいお言葉、まことに有難うございます。
まだまだ解析が必要なデータがあると思いますが、今後ともよろしくお願いします。 :salut


次は、Dugongさんへのレスです。
私のエクセルのマクロセキュリティレベルが「高」だったので、最初に「このような危ないマクロは使えません(意訳)」
そうでした。これを書くのを忘れていました。マクロのセキュリティを「高」にしていると、マクロは一切実行できません。また、「低」にしていると、確認なしにマクロが実行されてしまいます。なので通常は、「中」設定が良いですね。

≪Status Report≫Forceのところでデフォルト人員数に対して現在人員数が多くなってしまう事がある
はい。これは単純に私のプログラムミスっぽいですね。可能性は二つあります。

<可能性1>
ユニットのもともとの人数を取るデータを間違えてるんだと思います。現在は、セクション1のE7列の合計値を取っていますが、そもそもこのE7列のデータが本当にユニット定員を示すのかどうか確認されていません(なんていい加減!)。 :cool:

<可能性2>
E7列の値が本当にユニット定員を示すものだったとしても、味方ユニット全部の合計が取れていない可能性があります。
先のポストで書いたとおり、セーブデータから読み取ったセクション1のデータは、整形した上でシートに貼り付け、その後、敵ユニットの行や不必要な行を削除したりしています。この作業中に、味方データの一部を誤って削除したり、不必要な敵データが残ったりしている可能性はいかにもありそうです。いや、きっとあるな。 :pirat

≪Combat Report≫VHの表記が結果を反映していない
これもプログラムミスです。はい。今見返してみると、一目で動くわけないとわかるコードを書いていました。 :oops:
次バージョンまでに修正します。

≪Combat Report≫のLoss、後攻側の「Art」と「Gil」の表記(0でない。空欄になっている)がない?
はい。これはまだデータが特定できていないのが原因です。敵の砲兵をやっつけたり、グライダー・輸送機を撃墜したシナリオ終了時のセーブデータがあれば、ぜひ下さいませ。


続いて島風さんのテスト感想についてのレスです。
SPWAWをゲームがデフォルトで作成するフォルダに入れていないので、「セーブデータが見つかりません」とメッセージがでました。その後、プログラムの修正画面がでましたので、フォルダのバス名を修正して使っています。
失礼いたしました。そういう場合も想定してたのですが、対処を忘れてました。 :pirat
ご自分でマクロを変更されたようで、いや何よりです。データ読み取り時のデフォルトパスは、気を利かせたつもりで、
"C:\Matrix Games\Steel Panthers World At War\SAVE\"
にしていたのでした。次バージョンでは、デフォルトパスを最初に選択できるようにしておきましょう。

「Order of Battle」で、敵のユニットがリストの最後にいくつか入ることがあります。ユニット数の誤差の原因かもしれません。
この件については島風さんからもdugongさんからも対象データをいただきました。現在、原因究明中です。少々お待ちください。 :roll:


データ解析備忘録
・地形(セクション37)
・天候(セクション37)
・敵のArt、Glider損害(セクション37)
・E7列が本当にユニット定員を示すのか(セクション1)
・兵員数を表す74列とE7列の違い(セクション1)
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下
Nor wrote:
≪Combat Report≫のLoss、後攻側の「Art」と「Gil」の表記(0でない。空欄になっている)がない?
はい。これはまだデータが特定できていないのが原因です。敵の砲兵をやっつけたり、グライダー・輸送機を撃墜したシナリオ終了時のセーブデータがあれば、ぜひ下さいませ。
こういったセーブデータを用意するぐらいは、お手伝いできるかなと思うので、今晩中に用意してみようと思うのですが、セーブデータの構造について未だお二人についていけてないので、質問です。

この「砲兵をやっつけたり、グライダー・輸送機を撃墜したシナリオ終了時のセーブデータ」の敵は後攻でなくてはならないでしょうか?裏シナリオ(敵先攻)ならいくつかこれらのセーブデータを取得しやすそうなシナリオを思いつくのですが・・・・。
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
暗号解読部長
Posts: 58
Joined: Mon Mar 12, 2007 12:51 UTC
島風です。

 お昼休みが終わりそうなので要点だけ。
・敵のArt、Glider損害(セクション37)
 えーと、確かArtは特定できていると思いますので、これは「AircraftとGlider」ではないでしょうか。自分のデータでも確認しましたが「Combat Report」の敵のArt(空欄)とAirの値が入れ替わってました。
兵員数を表す74列とE7列の違い(セクション1)
74列は現ターンの残兵員数で、E7列はシナリオを開始したときの0ターンでの初期値のようです。ですので、"Reduced Squads"をONにすると、歩兵分隊は定数より減った値がE7列に入ります。
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下
島風さん。
dugong wrote:
この「砲兵をやっつけたり、グライダー・輸送機を撃墜したシナリオ終了時のセーブデータ」の敵は後攻でなくてはならないでしょうか?裏シナリオ(敵先攻)ならいくつかこれらのセーブデータを取得しやすそうなシナリオを思いつくのですが・・・・。
については、

viewtopic.php?p=2975&highlight=gli#2975

でNor閣下が
Nor wrote:
・自軍(Side0)のArt、SV、APC、Glider、Air 損害 ⇒(dugong注)解明済み)
・敵軍(Side1)のGlider、Air 損害
と、書かれていたので、
敵側が先攻(Side0)では、後攻側(Side1)のAir(Art?)、Gliを解明しうるデータにはならない、と解ったんですが・・・・・・。

ここで、ちょっといやな予感・・・・・ :pale

ということで、裏でとあるシナリオをやってしみました!!!

つまり、先攻(Side2)敵、後攻(Side1)味方でやったということです。
で、確認君で抽出した結果、ものの見事に、

敵側、機密資料の入手に成功しました!! :salut :porc :porc

いらんでいい事を思いついてしまったばっかりに、藪から蛇が出てしまいました!!
単純に考えただけで、マクロが倍近くになってしまいそうないやな予感・・・

裏からやるなんぞという、アブノーマルなことをしてスイマセンです。 :pale :porc
余計なことして、申し訳ありません、申し訳ありませんm(__)mm(__)mm(__)m
(いやぁ、これはもう、死んだフリではありません(爆))


取り急ぎ、ご報告まで・・・・。
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
お返事送れて申し訳ありません。
えーと、確かArtは特定できていると思いますので、これは「AircraftとGlider」ではないでしょうか。自分のデータでも確認しましたが「Combat Report」の敵のArt(空欄)とAirの値が入れ替わってました。
失礼しました。これは私のケアレスミスです。
ご指摘のとおり、現在データが判明していないのは、敵(Side1)側のAircraftとGliderです。
74列は現ターンの残兵員数で、E7列はシナリオを開始したときの0ターンでの初期値のようです。ですので、"Reduced Squads"をONにすると、歩兵分隊は定数より減った値がE7列に入ります。
確認ありがとうございます。E7列がユニット定数ということが確認されて一安心です。 :P
つまり、先攻(Side2)敵、後攻(Side1)味方でやったということです。
で、確認君で抽出した結果、ものの見事に、敵側、機密資料の入手に成功しました!!
つまり、人間プレイヤーが後攻を担当するシナリオでは、確認君は使えないということですね。これは・・・まあ、今のところそういう仕様ですので。 :cool:

いずれは、Side0とSide1のどちら側の情報を出力するかを選べるようにすべきですね。これを実現するのは、まあちょっと面倒ですが、プログラムが倍になるくらいに大変ではないでしょう。たぶん、そのうち実現できると思います。 :cool:
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
本日の報告です。

一番問題のOOBが正しく表示されないという問題ですが・・・コードをよく見直すととてもマヌケな処理がしてあったので、きっちり書き換えました。

その結果、島風さんからもらったデータでは、全て正しく表示できるようになった・・と思います。さて、問題はdugongさんのデータです。こちらは新たな問題が判明しました。

まず、dugongさんのデータのセクション1は、1行目からSide0のユニットが隙間なく並び、同様にSide1のユニットは400行目からきっちり並んでいます。

で、ゲームに登場しない問題のユニット6個は、Side0ユニットの末尾に並んでいます。厳密に言えば、実は最後尾にもう一つ正体不明のデータ痕跡がありますが、これはうまい具合に除去できています。

問題なのは、データを見渡しても、登場しないユニットと登場するユニットとの明らかな違いが・・・・17列しかないのです。そして、この17列の意味は未解読です。具体的には、登場するユニットの17列の値は敵味方問わず全て「9」になっており、登場しないユニットは「0」になっています。

この違いを利用して、「17列の値が0ならば行ごと削除」みたいな感じでコードを書けば、きちんと除去できると思いますが・・・・この17列にどんな値が立つ可能性があるか、その意味は?という点が全くわかっていないので、ちょいと作業中止です。

スプレッドシートの17列には、私が「移動効果関係?」と書いていますが、これは過去にユニットを移動させた前後のセーブデータを比較したときに、値が変動したからだと思います。どのような値を取りうるのかは・・全く記憶にございません。 :mad:
さあ、島風解析部長!出番です!! :cool:

ついでに、プログラムを書く途中で気になった点を To Doリストに追加してますが、気力・体力・時間に余裕がある時だけで結構ですので、ゆるりとお願いします。 :salut


<修正済み・追加済み事項>
・"Immobilized" を除く状態表示
・被射撃マーク
・デフォルト人員数に対して現在人員数が多くなってしまう事がある
・「Combat Report」の敵のArt(空欄)とAirの値が入れ替わる

<To Do プログラム修正・追加>
・VHの表記が結果を反映していない
・デフォルトパスを最初に選択
・Side0・1の選択
・地形(Terrain)が正しく取得できない
・天候(Weather)が正しく取得できない
・Scoreの勝敗判定が正しく取得できないかも
・Depot基準の勝敗判定

<To Do データ解析>
・地形(セクション37)
・天候(セクション37)
・敵のAircraft、Glider損害(セクション37)
・17列の意味(セクション1)
・キルスコアは本当に2バイトか(セクション34の1C・1D列)
・79列に4が立つときのみ、F9列の放棄フラグに1が立つのか(セクション1)
・BC列とF8列の違い。両方ともSide番号を表しているのか(セクション1)
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下
島風暗号解読部長。
Nor wrote:
ご指摘のとおり、現在データが判明していないのは、敵(Side1)側のAircraftとGliderです。
ということは、Side1側にAircraftとGliderが必要ということですね。

ということで、パッとそういったシナリオを思いつかなかったので、「じゃぁ、作ってみれ」と、久々にDugong実験フィールドで実例シナリオ作ってみました(笑)。 :salut

シナリオの両軍の序列は以下の通り。

Side0 USA(自軍)
 US Commander × 1
 40mm AA Gun × 48

Side1 Ger(敵軍)
 GE Kommandant × 1
 Fw 190G-2 × 4(⇒Air)
 DFS 230 ×5(⇒Gli)
 Ju 52/3 m ×4(⇒Gli)


結果、Side1側でGliとAirの損害を発生させたスコアセーブデータが出来たので、Nor閣下に送付しておきます(必要があれば、島風部長に転送ください。)。
パッと作ったシナリオなので、お役に立つかどうかは解らんのですがm(__)m。



ところで、直接このセーブデータ解析やツール作成とは関係ないと思うんですが・・・・。グライダーというのは、ゲームのバトルレポートではLossesとしてカウントされないようですね。

  このシナリオを走らせた時の、バトル画面上の結果は

   Fw 190G-2 3機撃墜
   DFS 230  3機撃墜(2機着陸)
   Ju 52/3 m  2機撃墜

だったんですが、BattleReport上のLossesには「DFS 230  3機撃墜」分の戦果はGliには入っていなさそうです。Gli=2はJu 52/3 m2機撃墜分ですね。

一方で、最終のOOBを確認してみると、OOB上(ユニットメニュー)は、DFS 230は全機破壊扱いでした(但し着陸した2機のDam値は0)。

この辺は、たしかjunkersさんのキャンペーンAAR「空挺歩兵によるLLV」#1で言及がありましたよね。

viewtopic.php?t=546 

ということで、一応、GliのLossesには実際のグライダーの撃墜分はカウントされていない様という、注意喚起でした。
(スコアにこのグライダー破壊分が反映されているかどうかは???)
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image
暗号解読部長
Posts: 58
Joined: Mon Mar 12, 2007 12:51 UTC
島風です。

 梅雨空なのに、任務がいっぱいあって燃え萌えの今日この頃。
などと言っている場合ではなくて、2回目ですが、時間があまり無いので要点だけ。
・17列の意味(セクション1)
 ケーム途中のターンでも味方ユニットでも17列に「0」が立つことがあります。0ターンのセーブデータで敵・味方すべて「0」になることがあることも確認しました。17列の意味はまだ確認していませんが、少なくとも、敵・味方識別には利用できないようです。
結果、Side1側でGliとAirの損害を発生させたスコアセーブデータが出来たので、Nor閣下に送付しておきます(必要があれば、島風部長に転送ください。)。
パッと作ったシナリオなので、お役に立つかどうかは解らんのですがm(__)m。
 ください下さいクダサイください、ください!!!! Nor様よろしくお願いします。
・天候(セクション37)
 は、バトルジェネレーターなどで作成して確認したり、HEXエディターで直接値をいじって天候の表示が変わるかどうかなどで調べた限りでは、Norさんがシートに書かれているとおり、セクション37の「68」で間違いないようです。HEXエディターで変更前後のセクション37の値を比べてみても、それらしい数値はまだ見つかっていません。ダンプデータマニュアルなどとつきあわせて考えると、時期・地域などとあわせて実際の天候が決まっているのかもしれません。もう少しやってみます。

 それでは。
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
dugongさん、素晴らしい実験データありがとうございました。
早速解析し、Side1のGlider・Aircraft損害のありかをつきとめました。
Side1のAircraft損害(計) 12A〜12B
Side1のAircraft損害(現) 16A〜16B
Side1のGlider損害(計) 12C〜12D
Side1のGlider損害(現) 16C〜16D
グライダーユニットが、Gliderの損害項目に入らないという点は了解です。Gliderに入るのは輸送機で、グライダーユニットはどの損害値にも入ってないようですね。そういえば、他にもおかしなことってあったような気がします。例えば要塞系のユニットの損害はAircraftに入ったような・・。

で、グライダーのDamage値がスコアに加算されるかどうかですが、結論から言うとよくわかりません。このシナリオのスコアは559:183で、両軍のDamage値をそれぞれ合計すると、363:140になります。このシナリオはVHもないのに足りませんね・・・。 :roll:

セーブデータに含まれているCostやDamage値は、True Troop 設定が加味されたものだと思っていましたが、もしかすると違うのかもしれません。このシナリオに登場するグライダーはコストが22なのに、撃墜されたグライダーの一つはDamage値が23になっていました。なんだかよくわかりません。 :porc

もう一点、本題から離れますが、シナリオ作成時にドイツ軍ユニットとして 155mm Howitzer ×7 を買いました?セクション1のドイツ軍データをみると、実際に登場するユニットの後に、空白行が一行あって、その後に入っていましたが。

ケーム途中のターンでも味方ユニットでも17列に「0」が立つことがあります。0ターンのセーブデータで敵・味方すべて「0」になることがあることも確認しました。17列の意味はまだ確認していませんが、少なくとも、敵・味方識別には利用できないようです。

そうか〜、残念!じゃ、dugongさんのデータはどうやって不要ユニットを除去したらいいのか・・・。もう少しデータを眺めてみます。
ください下さいクダサイください、ください!!!! Nor様よろしくお願いします。
・・・というわけで、解析部長のお手を煩わせるまでもなく必要データは発見しました。 :cool:
ダンプデータマニュアルなどとつきあわせて考えると、時期・地域などとあわせて実際の天候が決まっているのかもしれません。
現在の天候値取得方法は、最初に地形(05列)値をチェックし、この値によって3パターンに分けた後、天候(68列)を表示しています。というのも、地形によって天候値の意味するところが違うようだからです。私が参照したのは、SPWAWのルートにある"rbhelp.txt"です。以下、一部抜粋します。
Weather Values:

Temperate
1)	Clear
2)	Hazy
3)	Foggy
4)	Rain
5)	Heavy Rain
6)	Thunderstorm

Desert
1)	Clear
2)	Clear
3)	Clear
4)	Dusty
5)	Dust Storm
6)	Sandstorm

Winter
1)	Clear
2)	Clear
3)	Clear
4)	Light Snow
5)	Snowy Windstorm
6)	Heavy Snow
image
Nor
大佐
rank
Posts: 783
Joined: Sat Feb 07, 2004 20:09 UTC
不要ユニットを判別する方法を見つけた!ような気がします。 :cool:

鍵は「B6」列です。ここはまだ未解読ですが、不要ユニットが存在する3つのデータのいずれでも、不要ユニットは全てB6列の値が0になっています(他は全て1)。

ああ、なんで昨日はこんなこと気づかなかったんだろ。やっぱ眠いときにデータを見てはいけませんな。

というわけで、解析部長様。余計なお手数おかけして申し訳ありませんが、17列の調査はとりあえず打ち切って、この仮説の裏づけを取ってくださいませ。 :salut
image
技術将校
Posts: 141
Joined: Tue Jan 24, 2006 10:50 UTC
Nor閣下
島風部長
Nor wrote:
もう一点、本題から離れますが、シナリオ作成時にドイツ軍ユニットとして 155mm Howitzer ×7 を買いました?セクション1のドイツ軍データをみると、実際に登場するユニットの後に、空白行が一行あって、その後に入っていましたが。。

そ、そ、そ、そ、それ・・・・。多分、この実例シナリオを作る前に作った、試作シナリオの、
ぼぼぼぼ亡霊です・・・・(ガクブル)。 :pale

 今回の実例シナリオを作る際に、最初、Side0ドイツ軍、Side1米軍でシナリオNo.93を使って試作シナリオを作っていたんです。
 その時は、まだ私は、Side1の不明がArtとGliだと思っていたので、試しに Side1の米軍で輸送機多数と155mm Howitzer(いくつ買ったかは失念。ただ10は切っていたような・・・。8だったかなぁ・・・)を購入・配置して、独軍AAで迎撃やスツーカでバチカルダイブするようなシナリオを作ってたんです・・・・。エディタを使って・・・・。

 その後、ArtはAirの間違いとわかったんで、んじゃぁと今回の実例シナリオに状況を切り替えて、Side0米軍、Side1独軍として、独軍のフォッケウルフやグライダーやユンカースを米軍AAがボコボコにするということにしたんです。
 で、そのデータを、No.93の試作シナリオの上にエディタで上書きしたんです。私・・・・・・。
(試作シナリオをロードして、新しいシナリオにしたなんてことはしていません。状況が一変したので、最初から作り直したほうが早いですから・・・・)

 ・・・・・ぼぼぼぼぼ亡霊ですよ!!それ!!だって、ドイツ軍には155mm Howitzer なんて、なななな無いんじゃないですか・・・・。 :shocked

つーことで、ひょっとしたら、OOBにでてしまう見えないユニットてのは、エディターで上書き保存した際の、上書きされたほうのデータの残骸では無いでしょうか????
そんなことって、あるんだろうか???

この怪談話、解析の役に立ちます?たたんか(笑)!!!:wink:
”だから、どんな場合でもまず攻撃できないかを考えよ” − ナポレオン・ボナパルド
image