The Elder Scrolls 3: Morrowind part.4

Bloodmoonの前に、とりあえず彼に会ってきましたよ。

Morrowind-Farvyn_Oreyn.jpg

例のhelmは相当なチート性能すぎる。
長年かけてHeavy Armor一筋で、ようやくスキルが100に到達したが、Deadricは人が身につけることを前提とされておらず、重すぎてとてもじゃないが着ていられない。Ebonyにせざるをえないのだが、Armor Ratingが今ひとつ。Tribunalあたりで手に入るMedium Armorの方が最終的には強そうではある。
ただしこの話は基本的なArmorに限ったことで、Armor Artifactsにおいては存在数、性能、使い勝手の良さは圧倒的にHeavy Armorが多い。
今更で遅いが、HeavyとMediumのハイブリッドが一番良かったのかなあ。今からハイブリッドにするにしても、全体的に敵が強いBloodmoonでやっていけるかどうか心配である。

Bloodmoonでは閉塞感のあるTribunalとは正反対に、開放的な島が追加されているわけだが、それに伴いクエストの方もあちこち歩き回ることが多い印象。だが、どこに行ってもまばらに木が生えていて時々雪景色と変化に乏しく、Vvardenfellようなぶっ飛んだ見慣れない異国の雰囲気が薄いのが惜しい。Skyrimもこんな感じにならないか少々心配ではある。

メインクエストの最初の方に行く密輸が行われているとされる洞窟では、元々密輸に関与していたのかは分からないが、Master’s Lockpickやら軽装やらを持っている「いかにも」な人は皆白骨化していて、密輸をしていた集団は実は…というのは状況説明がうまくいっているようで面白い。
まだWerewolfがどうのという話には至っていないが、Bloodmoonは高レベル前提のパワーゲームという渋い評判なので、今後が気になるところである。

The Elder Scrolls 3: Morrowind part.3

Who was gone?

既に一月ほど経ってしまっていて書くことをすっかり忘れそうになっていたが、Tribunalクリア。二つのArtifactの献上が必須っぽいのが少々厄介だった。

Morrowindのクエストの多くは淡々と進んでいくのだが、それと対比するかのように、どう見てもこれは…という奇怪な一面を見せながらも平然と進んでいくのは狙っていたのだろうか。一部の人を除いてそのおかしさに気がつきもしていないようだし。
本編込みでMorrowind地方の新しい時代の幕開けを予感させるが、The Infernal Cityによるとてんやわんやで良い方向には行かなかったようなのがなんとも。

続いてBloodmoonを開始したが、Distance Landの設定がVvardenfellで使っているものだと、遠景が見通せすぎて寒さも微塵も感じずイマイチ。fogをvanillaに近くなるように調整しないと。

 

Morrowind-Door.jpg

それはそうと、この歯車状の扉がVaultのあれに見えてしょうがない。

The Elder Scrolls 3: Morrowind part.2

というわけで、土色のBalmoraの景色ももういいかなということで引越。

Morrowind-Vivic.jpg

今のPCだと見晴らしがいいですね。fogで染まるVvardenfellも悪くはないのだが、流石にfogがきつすぎるし、far clipの切れ目も見えるのがちょっとね。
MGE 3.8.2 rev.178にしたところ、東側の島々の地域でdistant landが有効にならないのがちょっと気になる。

あれから適当に大金持ってるお店を探してみたのだが、Vivecには武器専門買い取りで8000持ってたり、Ebornheartで3500持っていたりするのがいる。さらにMournholdでは1万以上持っていたりするやつもいる。それでも、それ以上の価値の武器もゴロゴロ存在しているのだが、エンチャントで大金つぎ込んだ後で売れということか。

やっとこさMorag TongでGrandmasterになったものの、発令されるWitsの対象者はメインクエストに絡んでるNPCばかりだった。しかも殺すとメインクエスト終了のお知らせが出るNPCまでいる始末。
Grandmasterになる程に成長しているPCならこの辺はクリアしているでしょうという算段なんだろうかもしれないが、ちょっとどうなの。Morag Tongの暗殺クエストは、特に令状が発令されるに至るまでの背景は語られないので、重要人物を暗殺対象にする必要性があまり感じられない。かといって村人AなんぞをGrandmasterが暗殺したところで何の重みも無いわけで、さじ加減が難しいところか。

Tribunalやってたんじゃなかったっけと、Mournholdに戻ってDwarfの遺跡へ。NPC同士の抗戦イベントで死なない程度に調整してあったのか、入って直ぐの敵が異様に強い。regist上げまくってポーション飲みまくり。そこ以外はさほど強くはなかったので育つまで中断という状況は免れたようだ。

Morrowind-Remain.jpg

一体何があったんだろう?と考えさせられる。
こういう要素に満ちあふれているからMorrowindは面白いと思える。たとえNPCが無味乾燥なinformation vending machinesでも世界がそれを補っている。

Morrowind-GiantGolem.jpg

Tribunalはメインクエスト終了後(実際にはクリアしていなくとも開始できるので違う)の、神になろうとした人間の行く末という感じで、なかなか面白そうなのだが、舞台となるMournholdでは外に出ることは出来ず、塀に遮られていて常に閉塞感がつきまとうのが残念だ。

The Elder Scrolls 3: Morrowind part.1

TES 5: Skyrimがくる前にMorrowindの拡張二作をクリアしよう。確かTribunalの途中で止まっていたはずだ。ArenaとDaggerfallはそのうちなんとか出来ればいいなあ。そのうちね。
ということで最後のセーブをロード。

Morrowind-CaiusCosadesHouse.jpg

このアイテムの山をどうしたものか…
コンテナには最大容量というものが設定されていて、見た目以上にものは入れられないし、コンテナに他人の所有物に指定されていると、新たに中に入れたアイテムにも再び取った際に盗品フラグがついてしまうので床に置きっぱなし。ちなみに盗品フラグはMorrowind Enchanted Editorで消せる。
Great HouseのRedoranから頂いた自宅はあるにはあるのだが、Blightが吹き荒れる(メインクエストはクリアしているので無くなったはずだが)周りに何もない荒野なので住みたくない。今はそもそも何処にあるのかすら覚えていないが。

で、この山一つの一本一万とかそれ以上の価値の武器を売ろうにも、800とかしか所持金の無い店ばかりなので、売るに売れないままこんな状態になっている。
大金持ちになりすぎると言われている狂った価値設定のMorrowindだが、貨幣が十分に出回っていないので、どうやると大金が手に入るのかが未だに謎だ。どこかに金持ちのNPCでもいるんですかね。探してみようか。

荷物の整理もほどほどに、Mournholdへ。
ジャーナルを読み返して少しずつ思い出すと、どうやらAlmalexiaにShrine of the Deadの浄化を頼まれていたらしい。Temple区画が何処だったのかも忘れてなんとかたどり着いて下水道に入るが、道を逸れた先にいた赤い服を着たThe Black Dart Gangが強すぎる。レベル32やそこらでは逃げながらDartを2発撃たれて死亡。Cameleon 100%にしても直ぐには倒せないので、音でばれてやられてしまう。
レバーを使って罠で倒せってことなのか?ということでレバーを使ってみると、下水一杯に水が満たされる。Water Breathingは使えるのだが、常時発動のエンチャントアイテムが無いと探索中に自分も溺死するよなということで後回し。
目的のクエストのボスは、Strengthにダメージを与える魔法を使ってきて動けなくなる。Morrowindのステータスダメージは放っておいても回復しないので、食らうと致命的なのであった。特にヘビーアーマーを着込んでいるので重量には全く余裕が無い。Morrowindのヘビーアーマーは重すぎる。なかなか手強かったが、一番の難はお供が地形にはまりまくったことという。

拡張二本はパワーゲーム的な傾向らしいので、もっと育てないと後々キツイかなという感じがするが、システムの都合上急いでレベルを上げるとステータスの上昇値が低いので、のんびりせざるを得ない。トレーニングに金をつぎ込んで育てるかなあ。

それはそうと、MorrowindとOblivionには第一印象に頭をぶん殴られたような衝撃があったし、ArenaとDaggerfallも後になって想像以上の広さに衝撃を受けたし、当時に知っていればさぞかしといったところだったのだろう。外伝はよく知らないが。
Skyrimにはそういった類のものには諸々の要因からあまり期待出来なさそうではあるのだが、そのゲームで出来ること・感じられること(いわゆる限界とか、底が浅いだの深いだの)は今の時代でもなんとかできる余地があると思っているので、その辺で驚かしてくれることを期待している。
異国情緒溢れる世界になってくれればなお良し。

imitation CoD4 NightVision Shader Replacement 1.0

以前のお話から相当経過しておりますが、整理が割と進んできたので再公開。ドキュメント更新とか言っておきながらやってません。代わりにここで書くともいう。

Download : imitation CoD4 NightVision Shader Replacement 1.0

NightEyeのエフェクトをCall of Duty 4のナイトビジョン風味に変更するOblivion用のModです。シェーダの差し替えなのでOBMM0.9.1以降必須です。09年8月18日現在最新のOBMM1.1.12でも動作を確認しました。ビデオカードの性能でピクセルシェーダ2.0以上が必要ですが、Oldvionなどのvanilla以下の設定で遊んでいない限りは問題ないはずです。

使い方は7zを解凍後、中に含まれているomodをOBMMでLoadした後、このModをアクティブにしてください。その際、アスペクト比について問うダイアログが出るので、自身の環境に近い方を選択してください。
16:10の場合は用意しておりませんので適当に選択してください。スコープの円形が真円にならないだけです。

 

dark.jpgneye.jpg

左:通常の暗闇 右:本Mod適用後のNightEye使用時

 

オリジナルのCoD4のやつとの差違が気になる方は、アーカイブに含まれているreadme.txtを参照してください。グレアに関しては、現在はScreenEffectというModがあるので、これをカスタマイズして併用することで再現できるようになるかもしれませんが、未検証です。NightEyeエフェクト時はグレアのテクスチャがレジスタに割り当てられないし、この後にグレアのパスを通過してない雰囲気なので、今回のような単純な手法では無理そうです。

 

その他、リリース後の既知の情報。

非HDR時の動作検証したかどうか覚えてない。

非常に明るいところに行くと(晴れの屋外とか)、スキャンラインが消えてしまう現象を確認しています。恐らくHDR時のみ。saturateしているにも関わらず何故か1を超えてしまうようで(トーンマップとかレンジ変換のたぐい?)、スキャンラインの乗算の影響が薄いようです。

改変おkとかreadmeに書いておきながら、中身はコンパイル済みのバイナリでどうしろというものだったので、以下にシェーダコード掲載。コメントアウトは文字コードの都合上ASCIIだったので適当に書き直しました。

—–

sampler decal;

float4 Main( float2 Tex : TEXCOORD0 ) : COLOR0 {

static const float2 frameSize = { 1024.0f, 768.0f }; // 4:3用width, height
//static const float2 frameSize = { 1280.0f, 720.0f }; // 16:9用width, height
static const float3 luminance = { 0.29891f, 0.58661f, 0.11448f}; // 輝度変換
static const float blueShift = 0.125f; // ブルーシフト量
static const float overShoot = 0.6f; // オーバーシュート閾値
static const float scaling = 2.0f; // ナイトビジョンとしてのスケーリング値
static const float fixedHeight = 400.0f; // スキャンラインバイアス値
static const float2 scanLine = {3.0f, 1.0f}; // スキャンライン間隔
static const float lineContrast = 0.75f; // スキャンライン太さ
static const float aspect = frameSize.y / frameSize.x;
static const float2 fade = {0.35f, 0.5f}; // スコープのフェード値
static const float2 pixelSize = { 1.0f/frameSize.x, 1.0f/frameSize.y };

// カラー取得
float4 color = tex2D( decal, Tex );

// 輝度計算
float l = luminance.x * color.x + luminance.y * color.y + luminance.z * color.z;

// グレアっぽいなにかの計算
float v = max( max(color.x, color.y), color.z);
// 閾値を超えた場合は値を増大させて白飛びを狙う
v = max(v – overShoot, 0); // threshold level
l += v * scaling; // scaling

// カラー変換
float4 output = 0;
output.yz = l; // CoD4のNVは大体緑なので緑と青に1
output.z *= blueShift; // 青はブルーシフトとして利用
output += exp(l) – 1; // 輝度を増幅させる
output = saturate(output);

// modとstepでスキャンラインの作成
float n = fmod( Tex.y * fixedHeight, scanLine.x);
float m = 1.0f – (1.0f – lineContrast) * step(scanLine.x – scanLine.y, n);
output *= m;

// スコープ円の作成
float2 t = Tex – 0.5f; // UVずらし
t.y *= aspect; // アスペクト補正 (ただしオリジナルは16:9版のみ)
float len = length(t);
len = smoothstep(fade.x, fade.y, len); // フェード
output *= 1.0f – len;

return output;
}

—–

今見直してみるともうちょっといい感じに書けるんじゃないかなあ。少なくとも輝度計算は内積で出せるなあ。

あと、blogじゃないstaticな方にもページを作ろうと思ったんですが、Firefoxで見ると表示がおかしいのでその辺直して気が向いたらで。