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で見ると表示がおかしいのでその辺直して気が向いたらで。

HTSC with Customisable HUD components

Fallout1,2,3とMorrowindやらその他諸々の復旧は割とすぐだったが、Oblivionは流石に洒落にならない量だった。obmmのディレクトリを移してアクティブしなおしだと、データが古いままだとか管理上の問題をひきずったままだとかで後で大変なことになるのが分かってたので再構築。

古いmodで使いそうなやつの更新が数日かけてあらかた終わって、最近のmodを少し試している最中。Coblを入れてみたが、マージしないと駄目な方のespはその辺の解説を見てもスルーされてるのが気になる。従ってコア部分以外は入れてみたけどまた外した。

さらに今後も絶望的に貯まっているダウンロードだけしたmodの処理がまだまだ待っているのだが、既にesp/esm数が200超えだと。もうそろそろやばいな。

とりあえずちゃんと動いてはいるが、時折のCTDと最早定番の終了時のCTDが気になる。

さておき、Customisable HUD componentsメモ。日本ではサバイバルModの中でHTS with CookingがCobl系とか元祖のよりもまだまだ使われているような気がする(自分が愛用してるだけとも)のでこの手の情報を表示させてみる。espのスクリプトを見れば分かるのだが、毎回毎度の人々が同じものを調べるのは面倒なので。

前段階の注意点。

  • OBSE入れる
  • OBSEのプラグインのPluggyを入れる
    1. data/obse/pluginsにOBSE_Elys_Pluggy.dllをコピー
    2. OBSE_Elys_Pluggy.dllをOBSE_Elys_Pluggy_HUD.dllにリネームする
    3. OBSE_Elys_Pluggy.dlxもコピーする
  • 普通のmodと同様にインストールしたらdata/iniのkuerteeCustomisableHUDComponents default.iniをkuerteeCustomisableHUDComponents.iniにリネームorコピーする

ここから本題。

  • はらへり値
    • 現在値:vEnergy + 5000
    • 最大値:3600 * vcalmult + 5000
    • 備考:+5000してるのは下限が-5000まで存在しているため。逆に上限の3600 * vcalmultを超えると太る。
  • のどの渇き値
    • 現在値:vWater + 40
    • 最大値:20 + 40
    • 備考:+40しているのは下限が-40まで存在しているため。上限は実際には40まであるのだが、通常水を飲んで得られる上限は20で、これを超えるためには相当無理して飲まないと達成できないようだ。
  • 疲労値
    • 現在値:vSleep + 30
    • 最大値:32 + 30
    • 備考:例によって+30は下限が-30のため。上限の32は比較的容易に達成可能なのでそのまま。

いずれも下限値は死亡とか酷い幻覚とかの生命維持的なラインなので、好みで日常的に限界なラインにまで引き上げてやるのもよいかと。

あとは、iniのコメントアウトなんぞを見て好きにカスタマイズ。HUDは控えめな方が好きなんだけど、色んなmodとの絡みでちゃんと動いてるのかどうか怪しかったりするので、確認用としても便利だと思う。一応HTSCの場合はコンソール開くとこれらの値を見ることが出来るけど。

TES2 : Daggerfall tips

なんか10回は最初のダンジョンをやり直した気がするし、一向に進んでないがなんとなく分かってきた。

  • Cart必須
    別枠で750kg追加されるので、一気に持ち運びが楽になる。Cartだけでも何故か馬にも乗れるので(本当に馬に乗るよりかは遅い)移動も断然楽になる。特にそういうロールプレイでなければ安いので真っ先に買う。ちなみにダンジョン内では入り口に待機させてあるので、アクセスするにはそこまで戻らないといけない。
  • Recall必須
    最初からダンジョンとして分かってる墓地に潜ってもなんだ浅いじゃんと思うかもしれない。が、地図や伝聞で知ることになる本当のダンジョンはとてつもなく深い。さらに、同じような地形が三次元に連続したりするので、まず迷いながら探索することになる。Recall無しで潜ろうもんなら目標の達成とか走破はなんとかなるが、出口に戻れないという事態に陥ってしまう。これもそんなに高くないので買う。キャラクターのスキル構成によっては消費SPがきついかも。スクロールやらマジックアイテムやらで代用は効くはずだが、これらを序盤に安定して用意するのは大変かも。ちなみにMorrowindのようにMarkは無く、記録かテレポートか選択する。
  • Backgroundは真面目に答える
    ロールプレイの特徴付けとしてはもちろん、質問内容にもよるがアイテムやらスキルやら評判に影響してくる。チュートリアルを余裕で抜けるためのebony daggerもこの質問で手に入る。ebony daggerは確かに強力なのだが、メインのスキルにshort swordが無い場合にはスキルの上昇にあまり関わってこないので、当然レベルの上昇に影響してくる。他にもその手のアイテムとして手に入る本(高価)などが代わりに手に入らないので金銭面で若干不利になる模様。良くできてるなあ。
  • マップのマーカーの色も大事
    都市と街、宿屋を名前以外からも色である程度判別可能。明るいと規模が大きく、暗いとその逆なようだ。例えば都市なら白に近い色で、宿屋なんかは茶色、深いダンジョンは明るいオレンジで、墓地は濃い赤といった具合。
  • ターゲットをとる魔法はActivateで撃つ
    詠唱すると”press button to fire spell.”と出るのだが、なんのボタンじゃいと相当迷った。が、調べたところ誰もこのことを書いてなかったということは、この説明で理解できたということなのか。ターゲットが射程内(結構短い)に入るまでかつ空撃ち出来ないので余計に気がつきにくかった。Impはあんなにぶっ放してくるのにね。

ついでにMorrowindとOblivionもまたやってみたくなったので起動してみたのだが、Morrowindは家を埋め尽くす量のなかなか売りさばけない高価品の整理をちょっとだけして終了。他の人はどうやってるんだろう。やっぱりmodで上限金額増やすかエンチャントで投資した分を回収?
Oblivionは追加モーションが原因っぽい斜め移動と攻撃防御が不可能になるバグが判明するも、そのトリガーが分からずにそのまま終了。というかOblivionはデータも相当古く、顔をはじめとする各種modも相当古いのでこの辺もなんとかしたいのだが、downloadだけしたmodですら積もりに積もってるのでいかんとも。

The Elder Scrolls II : Daggerfall

マップが水増しゲーとは聞いていたものの、Arenaから改善されてる部分もあってなかなか面白いじゃないですか。少なくとも操作系はバインド変更で今風の操作にできるのでArenaよりも取っつきやすいと思います。Arenaやってるとフィーリングで分かるシステムもあり尚良し。あとはマニュアルの代わりにUESP見ながらで。

Arenaでは迂闊に休んで回復できないので最初のダンジョンはガチで難しめだし、ダンジョンから出たら出たで夜だった場合が宿屋に駆け込むまで絶望的な気分を味わいながら徘徊しなければならないので、Daggerfallはその辺も良し。Impは強いですけどね。というか初期装備によって難易度が全然変わってくるなあ。いきなりEbony Dagger持って始まったときは相当楽だったのですが、Iron系しかない場合は攻撃が素手以外効かないので無視しないとどうにもならんし、普通の雑魚もきつい。

洞窟から出て、ワールドマップを開いてみるとTamrielの一部だけになったものの相変わらずクソ広すぎてワロス。そのまま適当に放浪して街とかに辿り着けるようになってるのかは調べてないのですが、洞窟から出たばっかりの素人にはお勧めできないに違いないので素直にトラベル。今居るDaggrefall地方をクリックして見るとArena以上にびっしりとマーカーが打たれててまた吹く。十字がクロスしてる場所が自分の所在地らしいので適当に近くの街へ。

クエストで見知らぬ場所を示されたらFindで入力。なのだが、DOSBoxのキーボードレイアウトが英字なのでアポストロフィーがどうやっても打てない模様。事前に適当に使わなさそうなキーにバインドしておかないとね。そんなこんなでLady Brisiennaに会えたぞ。さーてキャラメイキングからちゃんとやり直してみるか。