Dishonored 2 #1 Turn Back

このゲームは初回起動時にボーダーレスウインドウによるフルスクリーンではなくて、従来のデバイスを占有するフルスクリーンで起動する。それはまあいいんだけれど、高解像度ディスプレイ使用などでOS側でDPIスケーリングは変更されていると、処理がまずい(または従来型フルスクリーンのため)らしくてフルスクリーン化に失敗する。そこからさらに処理が不味いらしくて、フルスクリーンに対応したディスプレイの解像度が無いかどうか試みているらしく、解像度を変えながら何度もフルスクリーンにしようとしてさらに失敗する。すべての解像度でフルスクリーンに失敗してどうしようもないと判断すると、しまいには最小化状態で起動するようになる。
結局これの何が不味いのかというと、このゲームは別にゲーム設定を変更するツールやセーフモード起動といった類が公式には提供されていないので、この最小化状態のままゲームを強制終了させる以外手段が無くゲームがプレイできないことと、解像度の変更を狂ったように繰り返すので、他に起動しているウインドウやアプリケーションがあればそれらのウインドウサイズやレイアウトが滅茶苦茶にされてしまうことだ。
昔のゲームなら仕方が無いと思うけれど、2016年発売でそこまで古いゲームじゃないんだけれどなあ…

この問題は、C:\Users\<username>\Saved Games\Arkane Studios\Dishonored2\base\dishonored2Config.cfg をテキストエディタで開いて、ウインドウモードで起動する r_fullscreen “0” という一行を、既に同じ名前の行があれば変更、無ければ新規に書き足す必要がある。あとは起動して、フルスクリーン設定を避けつつ好みの設定にしてやればよい。
そんなに古いゲームじゃないんだから、こういうことしなくても起動できるようになって欲しいんだけれど。

軽くプレイした感じだと、前作とそう大きく変わりはないかなという印象。
レベルデザインの作りこみ具合は前作以上じゃないかと思うほど細部までこだわっているんだけれど、今のところ前作よりも凄いなと思うのはそこくらい。
シリーズどちらも、全体のゲームデザインとしてステルスでさらに不殺で進めていくことを明示的なり暗黙的なり要求しているのに、それをやろうとするとブリンク系の瞬間移動以外のスキルをほとんど全く使う機会が無いだろう(まだ途中なので)という問題はそのままだ。一応、今作では不殺にも使えるスキルは増やされているが、それでも大部分は使用しないままだろう。

このゲームでは、クリアごとに収集物の収集状態がやりこみ向けに表示されるんだけれど、それ自体はいいんだけれど、チュートリアルにあたる部分を抜けて最初のミッションであるKarnacaが終了した時点で全部回収したはずのRuneが9/10になっていて、なんで?となってしまった。
調べたら、後戻りできない一番最初の地点(船)も”なぜか”このレベルに含まれていて、そこに一つあるRuneを取り逃してるようだ。こういうことをやられるとやる気が失せる。
RuneとBone charmは特定のアイテムを装備することで全部所在が分かるんだけれど、それも収集癖を掻き立てて悪い方向に働いてしまっている。Karnacaでは近くにRuneがあるから発見アイテムを装備しろという文言が、画面の中央に邪魔なくらいの頻度で出てくるんだけれど、最初の地点は全然そんなことがなく、隠し場所も意図的に探索しないといけないようになっている。最初の地点は、それこそ発見アイテムを初めて手に入れてまだチュートリアル的な場所なんだから、普通にプレイしている範囲で例の邪魔な文言が出てくるようにした方がいいだろう。
最初の最初でさらに後戻りできない場所でこういうことをやってくるんだから、これから先もそういうことをやってくるんじゃないかというネガティブな印象を植え付けてしまっている。やる気が大分失せてしまった。

Blasphemous #6 Wounds of Eventide

しれっと新しいDLCが出ていたのにしばらく気が付いていなかった。

Esdrasを倒す前に、新しいゾーンに行ってフラグを立てていないといけないので、最初からやり直す必要があった。NGでやるのはTear集めが大変だし、連続スライディングGlitchが出来るようになるのも終盤になってしまうので、NG+のTorment無しでやったんだけれど、思っていたよりもNG+のゲーム難易度はNGよりも高かった。二か月前にやったのはNGだったので、その感覚でやってると敵が硬いし攻撃が痛いしでうっかり死んでしまうことが多かった…
その分Tearは大量に余るので、さっさとテレポートを解放して移動は楽だった。

今回のバージョンアップからなのか、それとも二か月前にやった時には偶々遭遇しなかったのか分からないが、いくつかの敵の動きが怪しくなっていて大分戦いにくかった。
ひとつは、中距離で湧いてきて突き攻撃してくる幽霊で、攻撃をパリイしないで攻撃前にこっちが攻撃すると、高確率でバグって敵が無敵状態で動かなくなる。パリィしないと倒しにくい敵は時間がかかるので、攻撃が効く瞬間に一発殴ってからパリィしていて、そうしているとそこらじゅうでバグりまくってた。しかも、こいつは敵を全滅させないと進めないところによく出てくるので、そうなったらリセットしてやり直しである。
もうひとつは、Soldier of the Anointed Legionで、パリィ以外の攻撃を当てていると、攻撃当ててないときに急に食らいモーションをとることがある。この時こいつは無敵状態で本来してくるはずの攻撃タイミングがずれてパリィタイミングもずれるのでやりにくい。あと、前からなんだけれどスピン攻撃の終わりに謎のデカイ攻撃判定が残っていて、避けた後に反撃できないのがもどかしい。

新しいゾーンは敵の攻撃がとにかく痛いのと、自分を追尾してくる攻撃が多いのが面倒。雷の時間発生しているダメージゾーンは攻撃判定の発生が理不尽で、目に見えた瞬間からもう判定が発生しているので、見てから回避することができない。

追加されたヘビボスは、攻撃パターンは簡単だがHPが馬鹿みたいに多くて長期戦になるので、まとまって攻撃できるときにSaeta Dolorosaで回復しながらだと楽ちん。

骨を半分くらい集めるといけるもう一つのボスは、追尾してくる寿命の長い火の玉が厄介なのでこれをTiento to your Thorned Hairsで無敵になって積極的に体当たりして消していきたい。
最初のフェーズは明確にまとまって攻撃できるタイミングがあるんだけれど、HPを削ってフェーズ移行するとそれも無くなるし、ずっと火の玉が出続けるので大変。フェーズ移行するあたりのHPまで調整してから一気に攻撃して、残りのフェーズを短く済ませたいところだ。
自分は既にゲームバランスを損なうGlitchを取得してしまっていたので、それを使ってさっさと倒したが、そうでない正攻法でNG+だと大変かもしれない。

Crisantaの2戦目は、1戦目の前後フェーズの複合という感じで、元々NG+だと超痛い攻撃を出しまくってくるくせにこっちが攻撃できるタイミングがあんまりないのが相変わらず強い。HPを削ってフェーズ移行させて飛び道具を3回くらい撃ってくるようになると、そのタイミングで無敵を使ってさっさと倒せてしまうのでおかしなバランスになっている。

続編へのエンディングらしいけれど、雰囲気でしかないので色々解釈出来て相変わらずよく分からんなあという感じだった。

続きを読む →

Postmortem: Undress Shout

The Elder Scrolls 5: Skyrim がリリースされて10年ということで、自分が作った Undress Shout も10周年ということで、当時のことを振り返ってみようと思う。
10年経ってもTES6が出ていないとは思わなかったよ…

その前に知らない人向けに説明しておくと、Undress Shout とはSkyrimにシャウトを追加する私のModで、一言で言うなら対象や自分までも脱衣させる。と、堂々と書くと気恥ずかしさがある。

続きを読む →

【令和最新】 .NET Core で Susie Plug-in 呼び出し

みなさんは Susie をご存じでしょうか…
SusieはWindows 3.1の頃からあるグラフィクスビューアです。
画像ファイルのみならずアーカイブファイルにも対応したオープンなプラグイン仕様によって、多種多様なプラグインが有志によって作られていて、かつては日本でかなり使われていたんじゃないかというような素晴らしいビューアでした。


前置きはその辺にしておいて、.NET CoreでSusie Plug-inを呼びだして扱えるようにした。プラグイン呼び出し部分は一通り出来たので、あとはアプリケーション部分を飽きるまで。

https://github.com/longod/WhiteAlbum/tree/main/WA.Susie

 

ことの発端は、最近HDDのデータを整理をしているときに、古い画像ファイルとともに、昔使っていたプラグインが出土したことに起因する。
Susieは長らく更新が停止して動作が怪しくなりつつあるし、OSの更新でいつ動かなくなるかも分からない。プラグインに対応した他のアプリケーションも同様に軒並み古くなってしまったし、そもそもアーカイブまでサポートされたものは少なかった記憶がある。
プラグインもプラグインで、インターネット上に存在するプラグインはサイトの消滅と共に徐々に消えつつあり、惜しい状態だ。同様にインターネット上に存在するプラグインに関する情報も徐々に消えつつある。
じゃあ、今のうちに、次を満たす呼び出し側(ホスト)を作っておくか、というのが動機だ。

  • オープンソース
  • 扱いやすい
  • 今の時代にモダンに動作する
  • 将来的にも動作する可能性が高い

.NET CoreのバージョンはPrismの都合で3.1になったが、単体だけなら5とかに6に上げても動作すると思う。

x86 (32-bit) の影響を受ける

当たり前だけれど、プラグインは時代的に32-bitライブラリとして作られている。
正攻法でプラグインを呼び出すには、呼び出し側もx86でなくてはならない。それに伴って連鎖的にアプリケーション全体がx86になってしまう。今の64bit OSが主流の時代に。

プラグイン仕様書だけを見て作るのは大変

本家のプラグイン仕様書は、Plug-in packageのプラグイン集にテキストファイルとして同梱されている。プラグインを作る側はこれでも大体は問題ないが、プラグインを呼び出す側となると、Susieの内部挙動が公開されていないので大変だ。

このあたりの先人の知見は特に役に立った。

自分でダミーのプラグインを作る

いきなり既存のプラグインを叩いてみると、見事にデバッグ出来ない状況でクラッシュしたりハングアップしたりする。呼び出し方が悪いのか、プラグインそのものに問題があるのかを把握するために、自分で仕様書を元に適当なプラグインを作ってそれを呼び出してみた方が良い。
プラグインは当時の状況を想像しながら作る必要がある。

  • 当然x86で作る。原理的には、x86以外にx64版プラグインも作れるだろうけれど、それに対応したアプリは皆無だろう。
  • 時代が時代なので、非Unicodeのマルチバイト文字セットで作る。
  • dllexportは、例えばMSVCだと既に無くなっているので、コンパイラが新たに提供している命令に置き換える必要がある。
  • cdeclとstdcallを正しく指定する必要がある。正しくないといとも簡単にクラッシュする。仕様書にはPASCALを全般に渡って使用しているが、今はそれだと駄目だった。

WHITE ALBUM 2 EXTENDED EDITION

前作WHITE ALBUMは、昔から思い入れのあるゲームで、冬になると時折リプレイしたくなったり、サウンドトラックを聴きたくなったり、よく楽曲を演奏したりしていたのだが、同じメーカーであるLeafのTo Heart 2を境にめっきりとその機会も減っていった。
今冬になって久しぶりにそのモチベーションがふと再燃して、WA1をリプレイしたくなったのだが、Windows 10 64-bitにインストールして動作させるために色々調べていたところ、WHITE ALBUM 2のPC版の完全版(EXTENDED EDITION)が2018年にリリースされていたのを初めて知った。

タイトルから話は逸れるが、最後にWA1をプレイしたのはHDDに残っていた古いデータのタイムスタンプを見る限りだと2006年の年末で、10年以内に1回くらいはやってたような感覚よりもずっと昔の話だった。また、WA1に限らず古いLeafのゲームを64-bit OSにインストールしてちゃんと動作させるのは少々面倒だったのだが、それはまた機会があれば記載するかもしれない。

話を戻して、WA2は2010年の発売前にPS3でリリースされることを当時知っていたのだが、そのころには特に興味も無かったし、そもそもPS3を持っていないので、今となってはその存在をすっかり忘れ去ってしまっていた。

続きを読む →