2012年6月15日金曜日

パリ陥落1940(CMJ別冊)


 出張のついでに書泉グランデ三階へ。古めのCMJ別冊を見ているとパリ陥落1940に日独最終決戦1948が並んでいた。悩むこと10分、店員さんに断って内容を確かめる。パリ陥落はヒストリカルノートと背景記事が20ページ強。1948にはそれがない。ルール中の数節のみ。仮想戦だから当然か。この違いを決め手にパリ陥落を購入。やっぱり細かいルールが多いものの、Ty Bombaシステムは同じである。勝利条件にダイスを振るのは家訓なのだ。
 ディベロップの一人はテッドレイサー、日本版テストプレイヤーと製作は超豪華。マップはまあ洒落ということで。バリアントというか1939シナリオは、入手無理だろう。
 スキャンしたので駒は週末に切る。せっかくオランダ戦にページを割いているのだからオランダ戦シナリオやセダンシナリオなどがあるとよかったのだが、雑誌ゲームにそれを望んではいけないということか。

検索で現れるページ。2007年頃のものが多いのは偶然?
http://guchiese.way-nifty.com/then_what/2007/10/1940cmj_666c.html

http://www.h7.dion.ne.jp/~yosimoto/floor/50/index.html

http://plaza.rakuten.co.jp/luckysign/diary/200910210000/

http://plaza.rakuten.co.jp/sinogohara/diary/200710170000/

2012年6月7日木曜日

賽の目(MAから再掲、数式注意)


 賽の出目とは酔歩ですから、偏っているかにみえる事象は実は正しくランダムであることを反映しているのです。一回振るごとに、期待される結果の平均値(期待値)を実現してしまう出目は、全然ランダムではありません。全部3か4とかの目が出ることになるわけですから。二回とか三回ごとに実現するならいいかといっても、そんなことはないわけです。それこそ偏った周期みたいな出目そのものです。
 つまり、正しい賽を振っていると、しばらくは平均から離れたところでうろうろしています。そんな出目は一方に厳しく、他方に有利と偏って感じられるでしょう。そうこうするうちに平均値へ戻ります。その間は偏りが逆転したように感じられます。が、やはり偏っているように感じるはずです。で、平均値から賽を振り始めて偏りながら平均値に戻ってくるまでの回数はどれだけかというと、n回振って初めて戻ってくる確率
\[P_n=\frac{1}{n+1} {}_{2n}C_n=\frac{(2n)!}{n!(n+1)!}2^{-2n}\]
はnが大きいときにスターリングの公式を用いて階乗を評価すると\(n^{-3/2}\)に比例するので、回数の期待値はおおよそ
\[\sum_n\frac{n}{n^{3/2}}=\sum_n\frac{1}{\sqrt{n}}\]
となります。この和は発散しますから、ほとんどの時間を偏っていると思いながら進むことになります。
 結局、長いゲームほど偏りを感じる時間は長くなってしまいます。偏りの平均がやはりn回振るとして\(\sqrt{n}\)くらいです。1戦で100回振るとして10くらいの偏りは当たり前に起きることになります。終わったときに\(\pm 10\)くらいの間に入っている確率がおおよそ1に近いということでもあります。
 図は有利な目と不利な目が半々として、有利なら1、不利なら−1を加算することを1000回繰り返したもので、開始点かつ平均の0に戻ることわずか数回。上下とも1000の平方根におさまってます。上の二枚は\(\pm\sqrt{n}\)をグラフに追加していますので、偏りはあってもおよそこの範囲に入っていることがわかります。




2012年5月27日日曜日

VASSALモジュールの初期スタック、ユニット登録と内部構造

来週から忙しくなること確定なので、備忘録とバックアップを兼ねてまとめておくことにする。

ZIPファイルであるVASSALモジュールを解凍すると、次のように二つのファイルと一つのディレクトリで構成している。
  buildFile
  moduleData
  images
imagesはディレクトリ(フォルダ)であり、マップとユニットの画像ファイルを格納する。moduleDataはモジュールのバージョンと作成日を記述するXMLファイルで、数行ほど。XML形式のbuildFileがメインである。ここに全ての情報が入る。

ユニット一個は次のように記述する。
<VASSAL.build.widget.PieceSlot entryName="第111装甲旅団" gpid="66" height="0" width="0">+/null/emb2;;2;;Flip;2;F;;0;;;;1;false;0;0;dtp-units200dpi-1-8.png,dtp-units-r200dpi-1-8.png;,;true;;;;false;;1 piece;;;dtp-units200dpi-1-8.png;第111装甲旅団/1;        null;0;0;66</VASSAL.build.widget.PieceSlot>
ユニット名(entryName)、ユニットのid (gpid)、表と裏のファイル名をユニットごとに変更すればよい。この1行の意味を確認したことはないのだが、これだけを変更して動いている。この例では、ユニット名: 第111装甲旅団(二カ所ある)、ユニットのid: 66 (二カ所ある)、表のファイル名: dtp-units200dpi-1-8.png (二カ所)、裏のファイル名: dtp-units-r200dpi-1-8.png (一カ所) である。

初期スタックは次のように記述する。
<VASSAL.build.module.map.SetupStack name="3-G" owningBoard="Dagger Thrust Patton" useGridLocation="false" x="136" y="4526"> 上記ユニットの定義を何個でも記述</VASSAL.build.module.map.SetupStack>
nameがスタック名、owingBoardが所属マップ名である。マップ画像上のx,y座標(恐らくマップのドット数で数える)は適当に設定しておいて、VASSALで編集する際に調整する。

これをプログラムで自動生成するには、ユニット情報を下記のように揃えておけばよい。
第3機甲偵察連隊 0-0 1-A
第6機甲偵察連隊 1-0 1-A
(以下同様)
とユニットに応じて全て記述。ユニット名に続き、通し番号(画像ファイル名を特定する)と所属スタック名を1行で書いておく。スキャン画像から部隊名を生成するというのは画像処理でできないこともないだろうが。。。下記のperlスクリプトに通して終わり。出力結果をファイルに保存しておいて、buildFileへ挿入した後、ZIPし直すことでモジュールが完成する。
my %stack=();
my $gpid=0;
while(<>){
  ++$gpid;
  my $unitname;
  my $seq;
  ( $unitname, $seq, $stackid )=split " ";
  my $unitfilename="dtp-units200dpi-$seq.png";
  my $unitfilename2="dtp-units-r200dpi-$seq.png";
  if ( $unitfilename2 ){
    $stack{$stackid}.= qq#<VASSAL.build.widget.PieceSlot entryName="$unitname" gpid="$gpid" height="0" width="0">+/null/emb2;;2;;Flip;2;F;;0;;;;1;false;0;0;$unitfilename,$unitfilename2;,;true;;;;false;;1 piece;;;$unitfilename;$unitname/1; null;0;0;$gpid</VASSAL.build.widget.PieceSlot>
#;
  }else{
    $stack{$stackid}.= qq#<VASSAL.build.widget.PieceSlot entryName="$unitname" gpid="$gpid" height="0" width="0">+/null/piece;;;$unitfilename;$unitname/null;0;0;$gpid</VASSAL.build.widget.PieceSlot>
#;
  }
}
my $offset=116;
foreach( keys %stack ){
  $offset += 20;
  print qq#<VASSAL.build.module.map.SetupStack name="$_" owningBoard="Dagger Thrust Patton" useGridLocation="false" x="$offset" y="4526">
#;
  print $stack{$_};
  print qq#</VASSAL.build.module.map.SetupStack>
#;
}

これで作ったモジュールがDagger Thrust: Patton (CMJ98)。ターンマーカーだけ小さくなってしまった。マップ二つでMontgomeryと二個一緒にできるだろうか。
2011/6/2
二個一緒にできたのでMAに書いた。

2012年5月10日木曜日

S&TのLibrary Subscriptionなかなか

1年19ドルちょっとでStrategy & Tactics の#178-#266、Moves #1-#60とWorld at Warの#1-#15の記事だけ(付録ゲームなし)、1号1ファイルのpdfで読める。携帯デバイスに放り込んで読むのに好都合。読める号は順次拡大の予定とある。この収録状況(2010年12月発売分までか)だと最近の号は2年遅れで収録だろうか。まあ本誌が売れなければ意味がない。

提供されるファイルは、本当に1号分からルールブックを外してそのまま。太っ腹というべきか、バックナンバーで稼ぐ気がないというべきか。

ファイルサイズは1号あたり20Mほど。AppleのPDFドライバとは相性が悪いのか、写真が表示されないこともある。

2012年4月13日金曜日

Grossdeutschland Panzer Division, World at War, #20

例によって書泉で入手。シンプルな表紙がよい。

付録ゲームはFamous Divisions: Grossdeutschland Panzer Division。1ヘックス約500メートル、中隊規模ユニット、1ターン6時間でZOCあり、長射程射撃(Ranged Fire)あり。何か違和感があるけれどもPanzer Blitzと作戦級の融合といったところか。敵の移動に対する阻止射撃あり。ユニットは中隊を反映、戦車ユニットはシルエットつき。マップはシナリオに対応してKursk, Akhtyrka, Mischurin-Rog, Lutchessa Valleyをそれぞれハーフマップで表現。記事を読むまではKurskしか知らなかった。

デザインノートによると、WWIIにおける高名な師団の戦歴を浮き彫りにしつつ、師団の特徴的な組織構成を見ることができるようにデザインしたとのこと。追体験できるのはしばらく先になりそうだ。WaWのサイトでは既に売り切れ。シリーズとして続くのか?



記事内では大ドイツ歩兵連隊の設立からフランス戦、バルバロッサを経て1942年に自動車化歩兵師団に再編、43年に装甲擲弾兵師団、クルスクを経て44年にはブランデンブルグ師団と統合、45年3月には4500名を切ってソ連軍へ降伏するまでが概観できる。42年、43年、44年の移動と戦歴も地図付きで解説。東部戦線を縦横に転戦していることがよくわかる。書泉価格でも買ってよかったかも。




ソロプレイしている方がいました。
http://slgplayer.exblog.jp/16479830/

持ってる方。
http://utsu-log.tumblr.com/post/10401528380/world-at-war-20-famous-divisions-gross

2012年4月9日月曜日

GJ 29号のバルジでチットルール無しの練習

そこそこの規模のゲームで練習しようと手持ちの付録ゲーム群を見渡し、まずバルジ。

付録ゲームをVASSALモジュールで初期配置。バルジの初期配置で師団規模なら米軍はほとんど戦線を張れない。WaWのThe Bulge と比べれば、米第28師団の扱いが違っている。本作は師団で1ユニット、The Bulgeは連隊に分けている。システムの違いか。
せっかくのVASSALモジュールだから、まずはチットルール抜きで進めてみる。チットシステムに慣れていないのだ。尾根や森林、河川ヘックスに入ると移動停止、ZOC喪失というルールは思いのほか独軍の前進を止めて米軍の後退を促している。アルデンヌとはこのような地形だったか。

そういえばPanzer Leaderでのアルデンヌを模したマップも森林の中の一本道を描いていた。シナリオは橋の奪取と突破という記憶がある。今ならなるほどと思う設定だ。

米第28師団は一目散に後退。米軍のいない中央部でも道路を外れると独軍は遅々として進めず。1ターンだけで「アントワープ無理」を実感する。

1940年の対仏戦、仏軍の混乱がなければどうなっていたのだろう。

2012年4月8日日曜日

1940年のバルバロッサ(CMJ)

2012/04/07
1940年途中までチャーチルは首相ではなかったとのこと。そう言われればそうだ。攻撃側に立った場合の指揮統制は防御側で崩壊した史実の西方戦役よりも円滑になるのではなかろうか。
http://d.hatena.ne.jp/k-takahashi/20120318/1332083854
このゲーム、英仏軍ユニットの除去でも独軍勝利。選択肢の一つとして西方集中という手もあるのかと思うが、まあやらないだろう。検索しても意外にヒットしないのは仮想戦だからだろうか。

2012/03/31
書泉グランデで購入したもの。一昨年WaWの原版を入手していて、付録ゲームもメインの記事も手元にあるわけだが、結局はリプレイ他の記事につられた。ポーランド東側とリトアニアの交換という仮想戦。確かにレニングラードもモスクワも近くなるのだが、だからといって独軍有利かどうかはわからない。西方との二正面作戦を強いられ、戦力も整わず東部戦線は南方軍集団が登場しない。この設定だとウクライナ資源地帯を目指す戦争経済どころではないとも言う。戦争指導の幅が狭くなる分、独軍に有利かもしれない。電撃戦という概念もポーランド戦だけでは未発達だろうか。

1940年には史実の対仏戦同様に装甲師団の主力はI号とII号で一部がIII号だろう。T34やKVは出るのかどうか(この辺の兵器の詳細は本作と関係ない)。西部戦線を耐えるのみ、だと逆シュリーフェンプランのようにも読める。

杉原千畝が命のビザを発行した年でもある。彼は独ソ戦の開戦時期を探る任務を持っていたという。本作の設定であれば寧ろポーランドに赴任するのだろうか。

とりあえずの初期配置、西部戦線

同、東部戦線









http://pegassacity.tumblr.com/post/20212131445/decision-games-slg-world-at-war-1940-what-if