2015年4月30日木曜日

X3:Albion Prelude: Qを鹵獲してみた

何だかやることもなくなってきたので、これまで何気なく育てていた海兵隊員もいつの間にかALL100点満点を達成しているものが50名を超えていたので、これだけいればなんとでもなるだろう、と思い、過日、Qの鹵獲を行ってみました。
最初はCobraと、何だかわからないうちに頂戴したM6のくせに搭乗用ポッドが使えるアシノニックス試作機の計28名でいつも阿鼻叫喚の賑わいの大取引所へと向かいチャレンジしたのですが、必ず2機から兵員を送り込む必要があるのが面倒になってすぐチャレンジを中断し撃墜し引き上げました。
Sirokosなら1度に30人を送れるということで、早速発注して整備し、Cobraの20人とともに揚陸要員の海兵隊員合計50人体制で、先ほど制圧したばかりなのに再び阿鼻叫喚地獄絵図を描き出している大取引所に引き返しました。

どうでもいいですけど、OTASさんが作る船のデザインはやたらとチューブというかなんというかがお好きなようですね。

それにしても大取引所はいつもJとかQとかPとかいっぱいいて賑やかでいいですねえ。
表題にうたった話からは大いに脱線しますが、工場と艦隊システムの話に脱線します。
私の初めて作った工場が2つ隣のミッドナイト・スターにあるので、たまに流れてくるのが困りものです。なんでこんなところに作っちゃったんでしょうねえ。Oreの容量が極めて大きいアステロイドがあったからだったような記憶もありますが、結果としてOreはほとんど使わず。

それでも初の工場とあって、規模も工場数12と小さくて、見た目も何だか遠目にはサナダミズヒキガニのような、グロテスクなHUBですが、自分なりに愛着があって拡張もせず、M1*3,M2*5,M7*7を主力に、艦載機とミサイルを満載して海賊さんとキセノンさんご一行様のご来訪の際には必要以上に盛大に歓待しています。(実はその歓迎委員のうちの大多数は実際には事情によりただの飾りとなっています)
おまけに、自動操縦でもってセクタへの進入から複合ハブへの接舷を行わせると、狙ってもできないような必ず激突する位置にドーンと一本、立派な支柱(工場同士を接続する例の管)が配置されてしまい、思い入れも一入強まっている次第です。自動接舷を試みるたびに必ず一回激突するのですが、こちらのシールドも減らないので、まあ愛嬌のうちだと思って放置しているほどのかわいがりようです。

で、その愛くるしくてたまらない複合ハブの警備を行う艦艇の内、海賊さんからプレゼントされたM8も一応賑やかしにはいるのですが、M8って発射率100%にしたところで、OOSでは全くミサイルを発射しないんですねえ。専用ミサイル工場まで作ったというのに。
何がしたいのかわかりませんが、自慢のミサイルも全く発射せず、速度を生かして戦闘機に負けじと我先に敵に突っ込んでいって掻き消えてしまいます。本当に何がしたいのでしょうか、全くわかりませんが、爆撃機乗りにしかわからない辛さに耐えられなくなった挙句の自暴自棄なんでしょうか。相談してほしいですねえ。わが社の艦隊も、配転先なら選り取り見取りで希望通りにかなえてあげられる程度に規模はあるつもりなのですがねえ。

ついでにミッドナイト・スターを防衛する艦船だけX3APの艦隊システムを使用して艦隊として警備に当たらせていますが、あれって空母と艦載機にしか意味がないんですかねえ。
何のために作った艦隊システムなのか、今のところよく理解できていません。

艦隊にTSとTLを配属しておけば、艦載機や空母や艦隊に参加している艦艇のミサイルや燃料を、各艦に指定してある数量分きちんと補給してくれるのかな、という点に期待していたのですが、なんだか艦隊司令官たるM1とその艦載機にしか補給しているように見えません。
さらに艦載機が10を超えると、超えた機体には補給してくれないほか、艦隊に参加しているM2やM7にはミサイルもエナジーセルもいつまでたっても補給しようとしているようには見えません。なんなんですかねえ。
瞬間移動装置やらの装備品や、ゲーム内に存在しているすべてのソフトウェア(さすがに交易MK3やClaim関連のソフトは入れていませんが)やらを艦隊に参加しているM1,M2,M7,M8,TS,TLに搭載して見たのですが、結果は変わりません。何が悪いんでしょうねえ。
工場やEQ、PHQにはミサイルが有り余っているので、補給を自動化したかったので艦隊を組んでみたんですが、期待はものの見事に外れてしまいました。

さらに、この艦隊、戦力をやたらと小出しにするように見えます。とりあえずM3だけ、しかも数十機もいるうちのほんの数機だけを派遣して返り討ちされまくっています。結果、戦力の逐次投入の見本を見事に演じ切って、本来落ちなくていいM3がボロボロ死んでいきますねえ。なんなんですかねえあの機能。
足並みをそろえて行動するということもないですし、せっかくのM2やM7を主に艦隊司令艦の警備を優先させて攻撃任務を与えないとか、まあなんというか。ここまで来ると味付けとして敵をなめすぎて自滅するように設計されてるんでしょうかねえ。クレジットの使い道がないのは確かですが、わざとやられるのは、どうもねえ。

試しに大型艦のみで艦隊を構成して、海賊セクタの制圧を命じたことがありますが、ゲート付近にジャンプしたまま動かなくなりました。何しに行ったんですかねえ。
今度は艦載機も満載して、再度同一の海賊セクタの制圧を命じると、今度は艦載機だけでセクタを蹂躙しようとします。が、M7にM3数機だけ向かわせるとかレーザータワーをM3だけで排除させようとか、ちょっとわけのわからないケチっぷりを披露して、結局全滅していました。なんなんですかねえ。ただこの場合、主力艦はセクタ内のステーションの方向に向かって動いているようにも見えましたので、なんかいろいろ条件があるんでしょうねえ。

こんなわけで、補給しないわ戦力は小出しにするわでもう本当にこの艦隊は使い道のない、単なる賑やかしに成り果てています。

結局、現在ではセクタの防衛はゲート付近に配置した艦隊に属さない大型艦に、配置場所の周辺の警備だけ命じておけば賄えてしまえているのでいいといえばいいんですが、ちょっと味気ないのと本来の目的である補給の自動化も満足にできなかったことは本当に残念でした。
まあ、味気無さから言えばM7で十分だといえばそれまでですし(むしろ、安い、速い、強いのバランスの三拍子が揃っているのがM7ですねえ)、それ以上に味気なくしたいならゲート付近にレーザータワーをばら撒いておくだけでお客さんは溶けちゃうんですけどねえ。海賊の5,6機程度なら3基も設置しておけば警報が入る前にお客さんはご融解なされますからねえ。

艦艇数の多さからCommodity Logistics Softwareで運用することは実用的ではありませんしねえ。配送先艦艇に指定できるのはTLだけのようですしねえ。そこから先はやっぱり手動で配給なわけで、誠にザンネンなことです。何か私のやり方が間違っているんでしょうねえ。そうでなければ艦隊システムの存在意義がわからないですしねえ。

結局、補給は就役時に手動で詰めるだけ積んで、戦闘報告が入った際、気が向けばチェックして減ってたことに気づいたときに手動で補給するという形になってがっかりです。手動で補給するのが大変だというくらいミサイルを使ってほしかったのにさっぱり使わないのがもっとガッカリです。
まあ、補給といったところで、やることは各所のEQ、PHQ、そしてなぜかプレイヤーが支配権を握る次第になったXenonHUBにミサイルを蓄えておいて、そこへ適宜着艦させるだけなんですけどね。艦載機がやや面倒ですが、ほとんど発射しないので手間がかかりません・・・。

そうそう、数日前にこんなことがあった事を急に思い出しました。
先日ミッドナイト・スターのお飾り駐留艦隊の空母に所属しているはずの艦載機のM3三機が、ミッドナイト・スターから4セクタ隔てたキセノンセクター472で撃墜されたという報告が入っていてびっくりしました。最初、何を言っているのか理解に苦しみました。

ちょっと理解できなかったので、ここでいったんセーブして、一度直近のオートセーブデータをロードして観察してみると、例の三機はブラックホール・サンを北ゲートに向かって吶喊すべく、えっちらおっちらと向かっている状況が観察されました。
これから察するに、足の速いM5かM4か何か、おそらくゲート付近で捕捉されない速力を持つとなると単機で運用されている偵察用M5でしょうが、それが海賊かキセノンかもわかりませんが敵性で、ゲートを警戒している大型艦の攻撃を、その速度でもって軽快にすり抜けてしまい、ミッドナイト・スターの構造上、艦船がセクタを通過する際の経路が1本しかないため、セクタ中央に陣取っている「艦隊」に存在を捕捉され、その敵機が、キセノンセクター472に戻ったのか、さらに通り抜けて先に進んだものかはわかりませんが、それを攻撃すべく派遣されたものと思われました。

セクタの防衛を任せた覚えはありますが、本体および取り巻きはミッドナイト・スターの中央に鎮座したまま、遠く離れたセクタまでM3で追いつけるわけもないのにひたすら追撃させるとか、それも全軍で全力を挙げて見敵必殺を実行してくれるなら、むしろ頼もしいのですが、たかだか戦闘機3機だけで何をさせようというのか、甚だ理解に苦しみました。プレイヤ自身より鬼畜度が高いかもしれませんわよ、この艦隊指揮官。

それにしても、この場合もやっぱりたったの3機。追いつけないのにどうして勝てるのか?深追いした先で必要とされる戦力は3機で足りるのか?このシステムを設計した人は多分なあーんにも考えてないか、確信的にやっているのか、単純にスクリプトのテストが足りないだけなのか、さっぱり判断のしようがありませんが、結論から言うと使い物にならないという点では変わりがないという評価以外を与えることができないという寂しい結果に。
まあ、以前観察されたように、この場合も戦力小出しの上に増援する気振りも示さず、ご本尊は動かない。かつ、挙句の果てに深追いを麾下(MSIMEにこの熟語登録されてないのねえ。"隷下"はあるのにねえ。どの業者に辞書作成を発注しているのやら,またまたwindowsの不思議に触れてしまいましたねえ。余談中の余談ですねえ)に命じて下さるということがわかりました。
昔のニンジャやサムライでもあるまいに、「敵を討たずんば帰投するに及ばず」とか言われちゃって、追いつけるわけもなく実施が極めて困難な任務を命ぜられ、ひたすら途方に暮れるながらも任務を果たすべく発艦していった搭乗員を想うと涙を禁じえません。

艦隊システムが飾りにもならないどころか、むしろ兵を損ねるためにさまざまな手段を以てする有様ををありありと見せられてしまい、もう、ひたすら役に立たないどころか害悪があるシステムだと確信しました。飾りにしておいて艦隊システムを停止していなかった私が悪いのですけれどね。

なんで工数をかけてこんなものを設計・製造したのか、Egosoftさんに聞きたくなったほど疑問だったことを思い出しました。

まあ、すぐに、あまりにもばかばかしくなって、元のデータをロードしなおしてみなかったことにして、今の今まで忘れていた程度なのですが、その時のあまりに情けない挙動を急に思い出してしまいました。
艦隊システムはISでもたいして使い道がないし、これ、本気でその存在意義ってなんなんですかねえ。
艦隊システムじゃなくて、これ、自滅システムと呼び換えたほうがいいと思いますよ、本当に。
いつまでたってもプレイヤの想定通りに動かないところが、まあ、魅力といえば魅力なのではありますが、やっぱりへぼいものはへぼいですわ。

艦隊システムが期待通りのものであれば、私の憧れの、あの優美なメガロドンを就役させて(憧れなので、これを買ったとたん何かが終わりそうなのでいまだに眺めるだけで我慢しているだけです)第一艦隊旗艦メガロドン!!2番艦メガロドン!!!!ていうか全部メガロドン!!!!!!準備完了次第順次発進せよ!!!!!!!!とか悦に入りたかったんですけどねえ。第七艦隊までは各種族とか派閥をテーマにできたのに、そしてもしやる気があるなら第八艦隊はキセノンの艦艇で構成するってのも(彼らの艦形は好みじゃないし、鹵獲が面倒だし、その気になるかどうかは別として)できたのに、返す返す遺憾に思います。
艦隊総指揮を気取れるわけではなく、これまで通り自分自身で編隊指揮をはじめ、参謀やら補給担当士官やら主計官やら、さらには土建屋から挙句には艦載機の飛行隊長ランクの尉官級の仕事(というのは、Albion Prelude のプロットでM6まで支給されながら最後まで昇級もなく軍曹と呼ばれ続けていたので、少なくともM6の操艦指揮程度までは曹クラスのお仕事なのかな、と思いまして上司は尉官だろうと思ったまでで明確な根拠はありません。もしかして飛行隊長くらいでは曹長なのかもしれませんねえ)まで全部やらなくてはいけないのでした。
ただ、艦隊システムの出来、不出来の件はさておいて、そもそもこういうことができるため、自分の気分に合わせて立ち位置を柔軟に変えながらプレイできるというメリットでもありますからこの作品にメロメロになっているわけです。
自分がプレイしたかったポジションのプレイに専念できない代わりに、いつでもほかのポジションをメインにプレイできるという、誠に困った二律背反ですねえ。

ミサイル工場といえば、そういえば以前、複合ハブはいくつくらいからFPSが落ち始めるのかな、と書きましたが、ミサイル工場を増設した際に100を超えたHUBになりまして、これだと操船自体には不自由しないもののFPSが目に見えてガックリ落ちました。6,70くらいまではそれほど低下しなかったので、私のマシン構成での一線はこのあたりにありそうです。
複合ハブのほうを見なければ特にFPSは落ちないし、そもそも工場があるセクタは艦船の出入りが激しいのと、プレイヤーがセクタに入った途端、何がしたいのか工場にご来店のお客さんや警備を命じておいたM6やらがやたらと工場に激突して爆散するので増設時以外に出入りすることはないのですが。

まあ、せっかく作ったミサイル工場ですが、OOSでは発射率を100%に設定していてもほとんど使ってくれなないことがわかってしまったので、ただのセーブデータを大きくするだけのシロモノに成り果てているわけです。

さて、Qの鹵獲の話でしたが、今回のゲームでは大取引所はいつもキセノンさんが蹂躙しているので、Qも必ずと言っていいほど常駐していて探す手間が省け、かつテラディ軍に鹵獲中に撃墜されることもなく、ちょっとかすっただけで顔を真っ赤にした友軍に追い掛け回されるようなことも起きませんから、手っ取り早くお目当てのQ以外を殲滅して、1 vs 2 の状況を作ってしまえます。うっかり撃墜してもお代わり自由なので安心です。

後はいつも通り、距離を保ってシールドを削って、海兵隊員を送り込むだけです。
話では21名で成功させることができるラシイのですが、当社の兵員は余ってますので数にはこだわりません。どっさり送ってあっさり終わらせよう。そう思っていました。

さて、シールドを削った後、無事海兵隊員を敵艦に送り込むところまでは普段通り成功するのですが、そのあとあっさりQにとりついた海兵隊員が全滅します。50名全員が。

噂には聞いていたものの、なんだこりゃあ、という感じです。

何度かやってみましたが、一度とりついた後の結果は、多少次のデッキに上がる人数は変わるものの、成否は既に決定されている印象を受けました。

最初は30名投入し、各デッキで死亡者が出たら追加投入する、という方法も数回試みましたが、いずれも全滅しましたので、効果なしと見做し、もう面倒なので、とりつく前のデータだけ取っておいて、そこを起点に失敗したら再度海兵隊員を送り込む、という方法をとりました。

50人を毎度毎度送り込むのは面倒だし、そもそも2機から同時に送り込むのが面倒なので就役させたSirokosですから、Sirokosに搭乗している兵員だけを投入してはSETAで早送りを繰り返してみたところ、やがて成功しました。回数は数えていませんが、私が我慢できる程度なので、それほどの長時間ということはないと思います。なんといってもあまり回数を重ねていたら、ロード時間に耐えられずに投げていたに相違ありません。それでも1時間くらいはやったでしょうか。
Sirokosを買って整備する時間もあったので、セーブデータも残っていない今、ちょっと今となっては鹵獲作業だけでどれだけ費やしたのかわかりません。申し訳ありません。
30人中5名死亡、なぜか艦の外に放り出されているもの7名。残存人員18名。
先達の話によれば第五デッキで16名残れば成功、ということでしたが、まさにその通りとなりました。
成功時は7名投げ出されていましたが、失敗時でも投げ出されるときは9名を上限として投げ出されているように見受けられました。
ということは、これもまた先達の言う通り21名でいいっていうことなんでしょうね。というより、21名以上は無駄だということっぽいですね。言われてみれば50名投入時はわんさか船から投げ出されている海兵隊員を見受けたような気がします。

ところで、最後まで船体切断から第一デッキでの戦闘状態に一斉に切り替わるという状況は起こりませんでした。必ずパラパラと切断中と戦闘中の両者が混在していました。
一斉に切り替わるほうが鹵獲より難しいのかもしれません。

ちなみに、念のため成功するかも?と思ってどのデッキでだか忘れましたが(確か第4デッキだったような)、成功したときにとりついた後のセーブデータを保存しておいたので、現在の成功したデータを保存後、成功前のデータをロードしてみると、今度は鹵獲に失敗しました。こうなると、とりついた段階で成否が確定している、という印象は誤りだったということになります。またまた恥をかいてしまいました。

なんというか、まあ、ロードを繰り返してまで鹵獲したい性能があるわけでもないし、かといって失敗して海兵が全滅したら地道に再建をして雪辱を期する、などというほどマゾっ気もないし、という感じです。そんなことをしていたら、訓練のため鹵獲されたブリガンチンとガレオンとキャラックですべてのセクタが警備され、補給用大気圏リフターがありとあらゆる造船所やEQ、MP、他社のHQに接舷され、調子に乗ったプレイヤによって海賊どころか肝心のキセノンもセクタごと一掃されて、AGIの根絶によりあれだけ猜疑心の強かったテランがついに心を開き、五大種族との最終的かつ恒久的和平が実現し、宇宙の平和が実現するという事態になりかねません。なりませんがね。

再検証したり全員生還を目指す気力も出ないし、宇宙の平和なんかコレッポッチも気にしていないので、成功時のデータを再度ロード後、初回チャレンジに使用したM6を呼び返して船外に飛び出た海兵の回収を指示しておいて、QをPHQに向かわせ、(係留させても邪魔なので)リバースエンジニアリングに回して、二度と使わないであろうSirokosは普段海兵の訓練を委託しているエイティーン・ビリオンの軍事基地に飛ばし、プレイヤがいると回収がままならないので5人の冥福を祈りながら、なにか釈然としないものを感じつつ大取引所を後にし、M7M係留専用EQに戻りました。

もうセーブデータが残っていないので誰が死んだか既に分からなくなってしまいました。
成功前後の差分をとってせめて名前だけでも記録しておけば、彼らの名前やイニシャルを冠した複合ハブ名とか艦艇名として記念しておけたのに。
どうしてその場で思いつかなかったかなあ。

とらなくてもいい実績をとるために、そしてとった挙句に釈然としないなどと言われてしまうただのダイスゲーでしかない任務に従事させられた挙句、名前すら残せず散った5人には本当に申し訳ないことをしました。

上司の命令って、理不尽なことばかりでいやよねえ。

Windows8.1 消せないTSファイル

表題、正確には「アクセスするとシステムの負荷が極めて高くなり、かつその状態が長時間つづくTSファイルがある」です。

前置きです。
今日、午前中に完了しているはずのwbadmin.exeによるバックアップが「アクセス拒否」によって失敗していました。

どこにアクセスしようとして、いかなる理由で拒否されたのかは言わず、ただ「アクセス拒否」。
もう、windowsに限った話ではありませんが、ほんと最近の「お前ら愚民にはどうせ理由なんか言ったってわかんねえだろ?結果だけ知らせるだけでも親切と思え」っていう設計思想、真面目に何とかなりませんかねえ。
それでもなお、管理者向けツールだという自覚があったらしく、エラーログが保存された先はここです、というメッセージが出ていたのでさっそく参照してみると、そんなファイルはそもそも存在していない、とまあ、そんな体たらく。
作成する以前に失敗したのか、エラーログを作成しようとして失敗したのかはわかりませんが、結局再起動後手動で実行させてみたら今度は正常に処理を開始しました。

確かにどんどんOSの品質も上がってきていて、その恩恵にあずかること大です。
しかしNT3.5から何年たっても「何だか知らないけど再起動したら成功した」とかいうトラブルが残り続けているくせに、やれNT4.0だ2000だxpだvistaだ7だ8だ8.1だ挙句に10だお前ら買え!但し1年間だけ待ってやる!!とかもう。
再起動が必要なシステムトラブルが発生したらユーザに通知できるような保護機能って、現在のNTのアーキテクチャじゃ難しいんですかねえ。
必ず何らかのプログラムが動作した結果がそういうトラブルを発生させているわけですから、理論上は可能ですよね。まあ、宇宙線によるデータ化けっていうことも現実にはありますし、それ以前にDRAMは実際にはかなりエラーレートが高いのですべてOSで何とかせよ、というわけにもいかないことはわかりますが、以前にも指摘というか愚痴った通り、不適切なエラーメッセージが多すぎるのは確かで、まずそれを改善したうえで、すべからくOSとして期待される機能が確実に動くようにしてもらいたいところです。
それとも、原因はどうあれ、再起動すりゃいいんだからそんな機能を実装するコストなんか省こうぜ、という考えなのかもしれませんが。

こんなことがあったので、以前体験したトラブルを思い出しました。
バックアップ中でもあり退屈なので、恥の記録を残しておきたいと思います。
そこで、本題に移ります。

以前、特定のMPEG-2 Transport Stream(以下TS)を保存したファイルが消せないという問題に突き当たりました。

  1. エクスプローラでゴミ箱に
     ->削除の準備画面が出たまま停止し、ゴミ箱に入らない
  2. cmd.exeからdelコマンドで直接削除
     ->delコマンドが応答しなくなる
  3. エクスプローラで直接削除
      ->削除の準備画面が出たまま停止し、消えない
  4. エクスプローラ上から当該TSファイルをクリックして選択する
      ->選択しただけで追加で発生する現象(後述)が発現する。
とまあ、こんな具合です。
要するに、最初は削除しようとして顕在化したこの問題は、4番目の現象から、ただアクセスしただけで発生するということがわかりました。
さらに、上のすべてで追加で発生する現象として

  • メモリがどんどん消費されてゆく
  • OS全体の動作が急に重くなる

という点が特徴的です。
なんだかext2/3/4の大きいファイルの削除時の挙動に似ていますが、あちらはファイルシステムの構造そのものが原因ですので、関連性はありません。

なお、念のためLAN経由でほかのマシンにある同一のファイルにアクセスしてみると、この問題は起きませんでした。
ローカルに接続されているストレージに保存されているファイルにのみ発生する問題でした。

エクスプローラの場合、一度TSファイルをクリックしたり、削除作業を開始した旨の例の進捗グラフ付きの画面が出たまま停止してしまったら最後、削除のキャンセルを行い再度削除しようとしても、エクスプローラを再起動して再度削除を試みても「ファイルが使用中」となって削除できません。おまけにOSの動作が異常に重くなるという害まで出てきてお手上げ。

再起動すると、やはり削除は行われておらず、再度削除を試みても上のとおりになる。
もう面倒になってほっといたら、大変な時間がかかってはいるが、最終的にはゴミ箱に入ることがわかりました。
一度ゴミ箱に入っても、「ゴミ箱を空にする」コマンドで消去を試みるとまた上記のような状況に陥りますが、やがてこちらもいずれは削除が完了することがわかりました。

とはいえ、やがて消えるからいい、というわけにもいかず、消去作業の間、OSが重くて使い物にならなくなるのは困ります。
困るというのは、重くなると、WindowsのようなデスクトップOSの場合は、各アプリケーション製作者自身や、アプリケーションの動作前提となるプラットフォームやライブラリそのものがタイムアウト時間などを思い込みで作っていたりするようなしょぼい設計のアプリケーションが非常に多いので、こういう高負荷状態が一定以上続くような場合に余計なトラブルをさらに呼び込む結果につながるためです。

特定のTSファイルに限ってこの現象の再現性は100%のため、テスト自体は楽なので、何らかの原因があるはずだと思って暇なときに調べてみました。

まず最初にゴミ箱そのものを削除して再生成させてみましたが、結果は変わりませんでした。

まあ、ダメ元でやったのでゴミ箱の件はどうでもいいとして、まず、削除しようとしたときに誰かがファイルを掴んだままとなるために、2回目に同一ファイルを削除しようとすると排他されて「使用中だよ」と怒られることから、誰かが何かをしようとしていることは察せられます。
以前のOSで、画像がらみのトラブルとして、エクスプローラが頼みもしないサムネイルづくりに精を出して、エクスプローラ自身が掴んだままになるために同じような現象になる例があったのを思い出して、タスクマネージャでエクスプローラの挙動を観察していると、エクスプローラ自身はCPU利用率もメモリ使用量もディスクアクセス頻度も増加しないという観察結果になり、さらに、エクスプローラを再起動してもファイルが使用中のままになる、delコマンドでも同じようなことになるという点から考えても、他のプログラムが掴んだまま離さないということがわかりました。

アンチウイルスらしいのでいかにも悪さをしそうだということで、次に疑ったのはWindows Defender。しかしこちらも観察してみると何もしておらず、潔白でした。

それでは誰がメモリを食って大量のディスクアクセスを行っているのか調べるため、タスクマネージャでは得られる情報に限りがあるので、今度はリソースモニタで観察していると、削除できないTSファイルにものすごい勢いでアクセスしていたのは「System」。要はカーネルが直接つかんでますよ、と。

これはまた面倒くさいプロセスに掴まれたもんです。
こいつは.sysの集合体の面があり、リソースモニタでもどの.sysが悪さをしているのかまでは判別不能です。なんでもかんでも十把一絡げににされてしまうとこのざまです。
こうなると、sysimternalsの定番、Process Exprolerが必要になります。久しぶりに最新版を探してインストールすると、幸いWindows8.1でも動作してくれたので、早速観察していると、どうもdxgmms1.sysのVidMmInterfaceスレッドが原因のようです。
dxgmms1.sysはDirectX Graphics MMSだそうで。MMSってなんですかねえ。

とはいえ、カーネルレベルで、おまけにいつものトラブルの定番といった印象のあるDirectX様が掴んでいるということはわかりました(大抵VGAドライバが悪いんですけどね)。掴む対象がTSファイルなのでDirectXが顔を出してきても不思議ではないのかもしれません。

まあ、こういう手合い(VGAがらみ)は手を付けると大火傷をするので、あまり関わりたくはないのですが、ただ、極端に重くなるのは困りますので対処療法を考えます。

さて、このVidMmInterfaceスレッドにファイルを渡すのはエクスプローラを経由せずにcmd.exe経由でdelコマンドを発行してもこのスレッドが動くということから、対象のTSファイルにアクセスした段階でカーネル自身がこのスレッドに渡しているということのようですね。
私はエクスプローラではサムネイルを表示させない設定にしてあるし、フォルダの表示方法も「全般」にしてはあるのですが、もうエクスプローラがどうのこうのという問題ではないのでしょうね。何かほかの理由があってどうしても解析せずにいられないのかもしれません。フレームレートとかわからないと悔しくてしょうがないとか。

とにかくシェルを問わずファイルへのアクセスの段階でTSファイルの解析処理は必ず実行されてしまうものと見えます。困った設計ですねえ。われら愚民に(やらなくていいことを)偉大かつ寛大なるマイクロソフトさまによりご親切にもご優渥にも(言われてもいないのに)処理して下さるという、いつものパターン。
その処理をOFFにする設定さえ見つかればすべて解決なのですが、遺憾ながら今なお見つけることができていません。

また、観察していると、すぐにシステムが重くなる原因もわかりました。
ひたすら削除に時間がかかるTSファイルは、おそらくこのスレッド様が期待した形式ではないと見え、特定のTSファイルをひたすら読み込んでいきます。

どうもハンドルから見るとメモリマップドファイルとしてではなくReadFileしてるものらしい。うへぇ。とにかくファイルを実メモリ、仮想メモリの区別なく、すべてメモリとして利用できる上限までリードしようとするため、読み込み量が実メモリを超えた瞬間、ページファイルにほかのプログラムがどんどん追い出されていきます。かつ、自分自身の先に読んだメモリもページファイルに送られていきます。

すると、当然ですがものの見事にスラッシングが始まります。これが動作が重くなる原因です。
いまどきスラッシングを体験するとはなあ。懐かしいなあ。

TSファイルサイズは、おおよそ1時間で5~6GBですから、大抵の場合実メモリの範囲内で収まっていたため、速度の低下が顕在化しなかっただけで、実際にはしょっちゅう解析できないTSファイルは生成されていたものと思われます。
顕在化したのは、件のスレッドが理解できない形式で生成されたTSファイルのサイズがたまたま巨大だったためでした。他の巨大なTSファイルでも、このスレッドが理解できる形式と思われるファイルであれば瞬時に処理が終わるため、理解、解析ができない間はひたすら読み込んでしまうという仕様のようです。
このような理由から、Windows7の64bit版では同様な現象が起こるでしょうが、32bit OSではこの問題は発生しないかもしれません。
実際、買い替え前のVistaが32bitでしたが、このような経験をしたことはありませんでした。VistaにそもそもVidMmInterfaceスレッドに渡す、という処理がなかったかもしれませんから、まあ知れたものではありませんけどね。

どういう形式のTSファイルが理解できないのか調べようか、とも思いましたが、たまにしか作られないということもあり、さらにTSファイルが生成される前に形式がわかるわけでもなく、わかっても保存するかどうか選別できるわけでもないのでやめました。

さて、そのTSファイルは仮想メモリ以上のサイズだったのですが、メモリ不足によってOSが落ちるということはありませんでした。
メモリ確保APIの戻り値を見ない阿呆(ものすごくよくある風景)が作っていたらえらいことでしたが、落ちないということは、最低限のエラー処理は行っているようです。要は、全部読み込む必要はないけどメモリがあるならいいじゃん、使っちゃおうぜ、ってことのようです。
それができるならバッファサイズを超えたら解析をあきらめるとか、先読みしたデータを破棄することができるはずなのに、その点は完全に手抜きですね。まさか解析できないファイルがあるとか、数十GBものサイズがあるファイルがこの世に存在するとか、設計者には想像もできない事態だったのでしょう。仕様バグですね。

そこで、対処療法としては、スラッシングが起きるのは仮想メモリが存在するからなので、仮想メモリを外して(pagefileをなしにして)テストしてみると、実メモリ内でやりくりするので、すべてのメモリを使い切る、という点は同じですが、極端な動作速度の低下はなくなりました。

とにかく一度そんなTSファイルができてしまうと、うっかり一度触れたら最後、アクセスが終了するまでひたすらスラッシングに耐えるか、あるいは強制停止するにはリブート以外に道がないので、今のところ、まあ、削除時にとっとと終わってくれるなら、これでイイヤ、ってなところです。

抜本的な解決を見つけたら書こう、と思っていてすっかり忘れていたのを、冒頭の理由でふと思い出したので、それっきり抜本的な解決策を探さず放置しているので、ここで一回書いてみました。

どこかのオプションをON/OFFすればあっさり片付くような気もして仕方がありませんが、恥ずかしながらいまだに見つけられていないのは前述のとおりです。

解決策を求めてこられた方には申し訳ありません。

なお、バックアップ処理は何時間も前に正常に完了いたしました。

2015年4月19日日曜日

集合住宅の騒音

私は借家歴かれこれ20年近くの貧乏人です。ホテル暮らしも通算すると何年になるかわからないくらいという念の入れようでございます。ウィークリーマンション暮らしってのもあったなあ。

借家といえば集合住宅(時代が時代なら長屋とかね)、というのが相場ですが、そういう類の家に堪えないトラブルが近隣住民とのトラブル、特に音。

いままでしょっちゅう近隣の人が入れ替わってきたなかですさまじい人もいましたが、私とは別の近隣の人から大目玉をくらって静かになるか追い出されるケースが過半でした。前回の入居者も当初はものすごかったけど、さすがに注意されたそうで、注意されたっていう愚痴をうちの嫁に語ってくれたそうです。やれやれ。

しかし、今回の入居者はさすがの私も我慢ができないレベルでした。引っ越して三か月くらいになるのかな。いつかは誰かが言うだろう、気づくだろうと期待していたのですが。
今日の日中も日曜(土曜?)大工だか何だか知りませんが爆音を出していましたが、日中ゆえ我慢できます。しかし、さすがに朝の三時にすごい足音で歩き回っている音で堪忍袋の緒が切れました。理由はさっぱりわかりませんが、騒音だけははっきりわかります。

抗議するにしても、いまは深夜どころか早朝だろうって時間帯だし、メモだけ投函しておこう、とメモを用意して持って行ったのですが、これでは逆に誤解を生んでトラブルになりかねまいと思いなおしました。結局、夜分だろうが何だろうが、今まさにドカドカ歩いてるんだからまだ起きてるじゃねえか、ということで、直接顔を合わせたほうがいいだろうと思いなおして、直接苦情を伝えようと、ノックすること数回。すると、奥様かな、それともその人だけが入居してるのかな、引っ越しそばすら持ってこないので家族構成はさっぱりわかりませんが、中年ぽい女性が声だけで(当たり前だね、朝の3時にノックされて対応に出るだけエライよ。ドアを開ける奴のほうがおかしい)対応して「夜の11時から寝ていましたが」などと弁解を始められてしまいました。
ちょっと絶句してしまい、こりゃ録音を残して記録を示さないとダメな強敵か?!などと血管の膨張率が高まるのを覚えましたが、あんたなんですぐ対応できんねん、とか余計なことを言わずにとにかく「かかとで歩かないでください」とだけ伝えてこの場は引っ込んできましたが・・・

こういうのって、相手側はまるで自覚していないんだよね。音を立てていると思っておらず、悪意がないことはこちらも理解できます。
だから、一方的に「うるさいよ」といったところで伝わらないどころか逆恨みされかねない。あちらさんはおそらくかなり驚いてることは想像に難くありません。
よっぽどいいマンションから引っ越してきたんだろうね。防音工事を自前でやって呉れりゃいいんだけどなあ。

ま、なんにせよ、一線を越えましたなあ。
明日、旦那(いたとして)が怒鳴り込んでくるか、苦情を聞かなかったことにしてこれまで通りになるか。

でもまあ、引っ越しして挨拶にも来ないような人物、あるいは世帯だからねえ。
トラブルが思いやられますねえ。

本当はこんなことしたくなかったのですが。
どうかこの投稿がシリーズものになりませんように。

2015年4月16日木曜日

X3:Albion Prelude: PHQに一定量だけ物資を貯めたい

なんだかんだでアランさんの青写真が*やっと*出来上がったので(何日かかったろう)、建造に取り掛かってみました(何日かかることやら)。
鬱陶しいと思われた資源集めは、Bonus Packageを導入していたので、Commercial AgentというMODを使うことであっさり解決。plotでは手動で在庫を探していたのですが、さすがに今後継続的に造船する気になったらそんなこともしていられませんので大助かりです。

ただ、ちょっと困ったことが。
いままではパイロットの訓練を除いてCommercial Agentは使わなかったのですが、Commodity Logistics Software MK2だけは利用していました。整備ドックにTL船をぶら下げて、その船長さんにミサイルの貯蔵をお願いするためです。

そこで、その類のことを本部(プレイヤーHeadquarters)でも行いたいと思ったのですが、ハタと困ってしまいました。

以前は本部には物資ごとの上限があるのかどうかわからなかったのですが、造船物資を収集しているうちに総容量だけがあるということがわかりました。
そこで、ミサイル収集でも利用しているCommodity Logistics Software MK2でもって製造工場から本部に輸送させると、本部の総容量が上限だとみなされてしまい、ものすごい量の物資を搬入しようとしてしまいます。

これでは今後、ジャンプドライブ用の燃料や造船物資を常に自動で一定量在庫として確保しておきたい、などということができません。
よくわからないながらいろいろ試行錯誤した挙句、これも同じくBonus Packageに含まれるDockware Managerを使えば本部にも物資ごとの貯蔵量の上限を設定できることがわかりました。

そこで、いざ上限値を設定して製造工場から本部へCommodity Logistics Software MK2で輸送を開始してみると、物資ごとの上限を超えて搬入してきてしまいました。上限の設定が利いていません。

まあ、とりあえずだるいから手動でイイヤ、と放置していましたが、それでも気にはなったので、調べてみると、signalを出した時だけ配送する機能があるよ、ということがわかったのですが、それは配送先が船の場合のみだそうで、これも使えません。

結局、あれこれ試行錯誤した挙句、さっぱりわからないのでgoogle先生にお伺いを立てたところ、本家のフォーラムのBonus Packageの解説の中のDockware Managerの項目にしっかりと、
A small extension to add wares or remove wares from player owned Trading Stations, Equipment Docks or Headquarters. The Manager can set limits for the different wares for the player Headquarters too. These limits get considered by Commercial Agents and Commodity Logistics MK1 pilots
と記述されているのを発見しました。
余計なことばっかりやって結局時間を無駄にしていたという、いつも通りの間抜けっぷりをさらすことになりました。MK2を使うから悪いのでした。

そんなこんなで、調子に乗って、やるかどうかもわからない造船用物資の一括製造工場やら、使うかどうかもわからないミサイル工場などをどんどん建造していますが、複合ハブに工場をたくさんぶら下げるとFPSが著しく下がるという話をよく先達の皆さんの発言からうかがうので戦々恐々としていましたが、うちのマシンはそれほど大したスペックでもないのですが今のところ特に重くなったということもありません。

といっても、私の工場はせいぜい40,50程度くらいの複合ハブなので、鉱山を牽引したり工場同士を接続する手間を考えると、私にはとてもまねができない規模で皆さんは構成しているのでしょうね。

それにしても、どんどん自動化も実現できて来て、ますますプレイヤーのやることがなくなってきたような。
大取引所が更地になりつつあるのでたまにトカゲ人に援軍に行くくらいで、ここのところ工場の詳細画面で生産サイクルを眺めながら酒を飲んだり、ボロンの大型艦船がフラフラ漂う姿を眺めながら酒を飲んだり、という意味不明なプレイ?をしています。
何か工夫が必要ですねえ。
そろそろModも入れてみたいところなのですが、未達成の実績が称号関係とキセノンQの鹵獲程度なので、なかなか踏ん切りがつかず、だらだと時間ばかり過ぎています。

2015年4月9日木曜日

X3:Albion Prelude: Aranを解体してみた

艦船の管理以外にやることがなくなってきたので、噂のAranさんを襲撃してきました。

鹵獲したものの、痛みが激しすぎて牽引しないと(ジャンプ以外)動けないし、噂ではAPでは一隻しか手に入らないそうなので、本部まで牽引して、ドッキングコンピュータを使って無理やり着艦させて、リバースエンジニアリングさせているところです。解析終了までゲーム内時間で数日かかるそうです。SETA以外でちょっと何とかなりませんかねえ。

しかしながら。。。どうやったら得られた青写真で造船するのかな、と思って調べていると、(毎度ありがとうございます)http://www.x3wiki.com/index.php/Headquarters に必要資材一覧が掲載されていました。

しかも気になる一文が。
Very large ships may be impossible to build because the materials required to build them exceed the station's freight cap. (500,000 units)
まあ、リストの必要資材数を見て、まず建造するこたあねえな、とは思ったのですが、どうせなら必要総容量を全部調べてやろうと、(perlやawkで最初に計算して結果だけをテーブルにすればいいのに)例によってこのリストと、必要資材ごとのvolumeをテーブルにして、mysqlさんに数値を基にサブクエリ山盛りのviewで総volumeを計算してもらいました。
何ミリ秒で終わったよ!とかいちいち言ってくるので、テーブルの正規化とかクエリ工夫しろよ!とか言われているようで絶妙にいやな感じがします。

その結果、Aranの場合、総計439,321ほど必要だそうです。ちなみに必要ボリューム第一位はValhallaさんの555,652だそうで、これは連邦側のプロットでもらえるHQでは完全に建造不可能ですがTerran側のプロットでもらえるPHQは驚きの700,000だそうです。さすがTerran桁外れ。あ、この場合は桁は同じか。
Aranさんは堂々の第二位。同二位は同じくGonerのMobile Repair Shipという船だそうですが、見たこともどこにあるのかも知りません。

Aranの場合はアルゴン人がもらえるPHQの総容量未満ではありますが、各資材の保管上限はどこを調べてもわかりませんでした。
総容量以外に資材ごとの上限があるかどうかも不明。
引用した注記には総容量に関する点しか述べられていませんから、ないのかもしれませんし、例によって言葉足らずなだけで実際にはあるのかもしれません。文章としては恥ずかしながら見つけきれませんでした。

他の装備ドックなどには資材ごとの備蓄量の上限があるのは知っているのですが、本部の場合、情報を見ても、他のステーションでは表記されている資材ごとの分母が表記されていないところを見ると、ないのかな、とも思います。但し、分子が0の場合、分母が表示されるのでよくわかりません。
逆に、HQには表示される総容量も、EQのほうには表示されていないので、まあ、ないんでしょう。
傍証から結論を持ってこようとしているあたり、頭が悪い感じですが、あんまり検証する気が起きない数値が並んでいるので、こうなると、現実問題としては、必要な資材を集める気になるか、その気になったとしても集まるまで続けていられるかどうかのほうがよっぽど問題でしょうねえ。
現時点で満杯なHQの中身の整理がまずやる気をそぐわけですが。マンモス10隻分かぁ。

おまけに、Aranを建造するにしても、空母の運用そのものが。。。Vanillaだと空母を用意してまで戦う相手がいないんですよねえ。
金は使い道がないくらいあっても、艦載機を整備する労力が結局運用を許さないというのもあります。

ちょっと遊び方を再検討する段階に入ってしまったかなあ。

2015年4月4日土曜日

X3: Albion Prelude: Shady Business

攻略ではありません。あしからず。

相変わらずはまっているX3APですが、やっとShady Businessが終わりました。

とにかく長い。

キセノンLを鹵獲するなんていうアルゴンの最初のプロットもつらいと思いましたが(乗り捨てた!という瞬間に友軍のミサイルによって目の前で木端微塵なんてシーンを何度見たことか)、あんなもん、慣れてみればどうということはないということがプレイしてくるとわかったのですが、このプロットはとにかく時間がかかって、終わった瞬間、もう、ゴール(どこ?)していいかな、という気にさせる。

一番最初は面白かったですね。
ヒントが全くないと思わせておいて、実はセクタ名の由来の説明にヒントというか答えが書いてあることに気づけばLegworkはあっさり終了。日本語化されているおかげでとてもスムーズ。

中高年で反射神経が鈍っているのでレースはちょっと何度かやり直す羽目になりました。
275秒の壁は厚い。ステアリング(そんなもんが船についているかは知りませんが)の調整をしておくと、だいぶん楽になります。

鬱陶しいのが各種素材集めが終わって新機種の開発が終わるまでの最大12時間(ゲーム内時間)。
敵対2社が一時間ごとに艦隊を差し向けてくるのですが、最大12時間で毎時だから、最大で24回の迎撃が必要となって、これが終わるまではほかのことが何もできなくなってしまうのには参った。

迎撃そのものは、超簡単。
6時間を過ぎたあたりになるとM2(この世界の軍艦。分類としては戦艦でも巡洋艦でもなく駆逐艦。デカイ),M7,M6(この世界の{海上保安庁が持ってる感じの}警備艇)が艦隊を組んで襲ってくるけど、M7M(ミサイル特化の警備艇。警備艇にミサイルを積むか?と言われると困るけど、駆逐艦ほどの装甲もなく大きくもない)たった一隻で各社が雇った傭兵艦隊なんか瞬殺。
補給処から出て、その場で隅田川花火大会してるだけ。

(普段あんまり使わないので)大型輸送艦に死蔵されていたミサイルを持ち出してはぶっぱなしまくっていればいいんだけど、2社がまちまちに襲撃してくるものだから、毎時と言っても時間がばらけてきてしまって、結局襲ってくるまでの間は補給処のあたりで時間を早送りして敵が来るのを待つことしかできない。

おまけに、場合によっては交易船を狙って傭兵艦隊が襲撃するんだけど、あいにく交易船は忙しいものだから、そいつらを相手にしないですぐに他の交易場所に赴いてしまう。
そこで、残された彼らは、襲撃しようと思った船がいたセクタの監視衛星だけ壊して意気揚々と引き上げてしまって、こちらとしてはなんとも複雑な気分にさせてくれたり。

最初はUT船(広範囲交易船)がボコボコ沈められちゃうのかな、お金の使い道ができちゃうのかな!?と憂鬱半分、期待半分だったのですが当てが大外れ。
結局工場を狙ってきてくれたほうが、こちらも防衛のし甲斐があるぞ!と思っても、ミサイルぶっぱであっという間におわり。(二度とやらないと思いますが)迎撃態勢は自分で縛ったほうがいいですね、こりゃ。

多少工場衛星が削れたりしてしまいましたが、削れたところで別に痛くもかゆくもないまま終了。ひたすら待ち受け時間がつらいという、困った章です。

次はこのプロット最大の難所と言われているそうですが、新造船のテストするぞ!と意気揚々と出かけたらいろいろなものが故障して、しかも帰れないところに飛ばされて、さらにキセノンの皆さんが盛大におもてなしして下さる中、修理パーツを集めながら生きて帰れ、という章に。

でもこれ、キセノンさんと距離とって着実に回収すべきものは回収しておけばあっさり終了。
目の前にいきなり強大な船が湧いてしまえば一巻の終わりなので、そのあたりは運否天賦でしょうが、まあ待ってるだけよりは数段ましです。ただし、保険は入っておいたほうがいいですね。私は漂流物を回収したたびにセーブしていました。

ちょっと困るのは、本当に拾いたいジャンプドライブのパーツではなく、武器とかなんだか微妙なものを捉えて誘導してくれる状態になってしまった時です。こんな時はあきらめてキセノンさんと距離を置くことに専念しておいたほうがいいのかもしれません。

無事3つの隠されたジャンプドライブのパーツを拾えれば、一定時間後に勝手に起動して元にいた世界にジャンプしてくれます。
もう、ここでおなか一杯な人は、実績をとるだけならもうすぐ終わりにできます。

宇宙の平和を願うなら、もうちょっと長くやれますが、これもM7Mを使うならどうということはないですし、アルゴンとテランが相争っていたほうがいいよね、という場合もこのあたりが潮時です。手を引けば晴れて実績が得られて終わります。

ガタガタ言いましたが、つまらないか、と言われれば面白いです。但し、二度とやりたくありません。

もしやるとするならば、12時間待ちの章では、各交易船や工場に膨大な額をかけてM1,M2を主力とする防衛艦隊を用意して護衛にあたらせ、それを眺めているというのが正攻法だったのかもしれません。
お金の使い道がないし、空母に(流通が死んでいるゲームなので)死んだ魚のような眼をしながらかき集めた兵装で装備万端の艦載機を満載して待機し、襲われたら緊急展開部隊として派遣してその損失率に気絶する、というほうが本当は面白かったのかもしれません。

こういうプロットがあると、普段は自発的に軍事行動に出る動機づけがないので刺激になります。
普段からこういうことばかりだと、とてもついていけませんが、そこは自分で遊び方を見つけなければいけない系統のゲームですから、やむを得ません。

Shady Businessの話とは離れてしまいますが、Profittttsssss!!!! という言葉があいさつ代わりの民族がいる割に経営ゲームとしては底なしの楽天ですが、まだまだ何かができる可能性を感じています。
このゲームは本当に経営ゲームとして認知されておらず、プレイ方針次第ではそうなんだと思いますが、かなり奥深いと思えて仕方がありません。戦闘特化でなく、交易特化でなく、しかし破綻はしていない、という絶妙なバランス感。
まだまだ、続けられそうです。