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を持っていないので、今となってはその存在をすっかり忘れ去ってしまっていた。

続きを読む →

Blasphemous #5 Rare Achievements

久しぶりにやるついでに、取り損ねていた実績を取っておくかと思って全獲得。

残っていたのは、Crossing SoulsとRequiem Aeternam。大抵の人はこの二つが最後まで残るんじゃなかろうか。あるいは、3時間以内に最初の4ボス倒すBronze Medalだが、これは単純にプレイヤースキルさえあれば2時間もかからないくらいなのでやる気次第だろう。

Crossing Soulsは、プレイヤースキルは要求されないのだが、ゲームの終盤まで進める必要があって、ちょっとフラグの順序を間違えると最初からやり直しなのが面倒くさい。
Requiem Aeternamは、プレイヤースキルが必要なのに加えて、条件が明確にされていないので達成したと思っても達成できていないことがある。そうなったらこれも最初からやり直しである。

実績の取得の仕方は、海外のwalkthroughか動画で説明されているのでそれを見れば分かるのだが、どちらも細かいところを抑えていないとすぐ最初からやり直しになるので、ここではそのハマリポイントを書いておく。

続きを読む →