2013/06/28

Borderlands 2: ゲイジ三周目 DLC4 ソロ クリア

DLC4 が出たので、久々にゲイジ Lv 61 で三周目 DLC4 をプレイしてみました。

雑魚はスラグ SMG と Infinity、クリスタル&魔術師系は Nukem で即座に始末、ボスは Infinity という感じで進めていました。リロードが遅くてイライラするので、いつもロケランは無視していましたが・・・便利な武器だったんですねぇ。

異常に硬い雑魚(レベルの高い雑魚)がいる場合、無限湧き(?)と思われる場所などは、デストラップを置いてスルーしていました。ラスボス エリアも、雑魚を無視してラスボス エリアに突入しました。ドラゴン三体などやる気がしません。
総じて、空を飛ぶ敵が厄介ですね。僕は Infinity で大体の位置へ狙いを定めてトリガーを引いていただけですが、他の武器では残弾が気になり、そう大雑把にもできないよなぁと。

ボス系は、ラスボス以外は苦労することなく進められましたが、まともにやるとドラゴン戦も面倒そうな感じがします。

ドラゴン戦は、橋の奥で戦っていると若干安全のようで(ドラゴンの火球は当たる)、そこから適当に 撃っていたら終わったという感じです。ただ、あまり奥に長く隠れていると、ドラゴンが遠くへ飛んでいった後にライフを全快して戻ってきたので、攻撃を受けない距離の場合には前に出て攻撃していました。

ラスボスは、デストラップ主体で攻撃、クールダウン中はステージをぐるぐるマラソンという戦法でやっていました。
途中で死んでしまったこともあり、召喚されたドラゴンは、復活地点からおびき出して始末しました。復活地点では階段の裏が安地になるため、隠れつつ顔を出しつつ撃つだけです。
ラスボス ステージから飛び降りると階下へ降りられるでの、ドラゴンを召喚されたら一度降り、ドラゴンを始末してから改めてラスボスに挑むと楽かもしれないですね。階下へ降りるとラスボスのライフが全快しますが、ボス級二体を同時にやるよりはマシな気がします。

ドラゴンを始末した後は、ラスボス ステージへ戻り、地道に削ったという感じです。やけに硬かったですねぇ・・・。まぁ、ソロでは仕方のない事という気もします。

2013/06/25

ブロック地形実装を XNA から SharpDX へ移植中

SharpDX ベースの自作フレームワークのために作成したサンプル アプリケーションも問題なく稼働しているように思えたので、XNA で実装したブロック地形プログラムを自作フレームワークへ移植しています。
自作フレームワークは XNA 非互換、および、シェーダ モデル 5.0 が基本である事から、移植作業に難儀していますが、概ね移植を終えて稼働し始めた所です。

まともに稼働し始めて気になる点が、やけに処理が早いという点です。本来ならば喜ぶべき事ですが、納得できる理由が分からないため、逆に怖いという感じです。

少なくとも、XNA 公式のインスタンシング サンプルを自作フレームワークに移植した時に、自作フレームワークは XNA よりも低速である事を、FPS の数値として自分で認識しています。しかし、ブロック地形実装では明らかに XNA よりも高速です。

DirectX 11 では GPU が上手いことやってくれているんですかねぇ・・・。

2013/06/19

Borderlands 2: ゼロ三周目ソロ保護区・・・終わった・・・

ゼロ三周目ソロ保護区を終えました。ブラッドウィングへ到達するまでが辛すぎですよ・・・。

ブラッドウィング戦は、以下のように戦いました。
まず、装備。
  • スラグの Maliwan 製スナイパー ライフル(面倒だからスラグというだけです)
  • リチャージ遅延とリチャージ率の良いシールド
  • Legendary Hunter
  • スナイパー ライフル携行数アップのレリック(クールダウン速度アップの方が良かったかも)
  • ライフ回復系炎グレネード(回復ついでに Skag を倒すために炎)
瀕死状態が頻発するため、迅速にシールドが回復するようにし、レジェンダリ MOD でライフ回復とクールダウン速度を補ってみたという所です。保護区移動中に Legendary Loot Midget から偶然 Legendary Hunter を得たことが幸運でした。もし得ていなかったならば、ライフ回復のために MOD を Survivor にし、レリックをクールダウン速度アップにしていたと思います。

スキルは、スナイピングとカニングからスナイパー向きのスキルを選択していますが、最重要はインナーベイト、他にはヘッドショットとベロシティ辺りが重要かな?と思っています。いずれにせよ、ブラッドウィング戦のためのビルドではなく、ずっと同じビルドで進行しています。

次に、行動。
  • ブラッドウィングが去っていく所から向かってくる所まで射撃
  • 急降下が来るあたりで(可能ならば)デセプションで回避
  • 急降下で瀕死になったらクールダウンを待ってデセプションでライフ回復
  • 地上に降りてきた時はデセプションしてクリティカル狙い
  • 炎雷酸で Skag が強化されている間は回避優先(ブラッドウィングよりも危険)
  • セカンドウィンドは期待しない
つまり、ただ逃げながら撃って倒しただけです・・・。再戦したら勝てるかどうか怪しいですね。

Skag を丁寧に掃除していると、そのうち登場しなくなるので(ブラッドウィングがエレメントを変えると再登場)、Skag 殲滅を優先しても良いのかも?と、終わってから思ったりもしています。ブラッドウィング単体ならば難しくないですからね。

ネットを検索すると、「デセプションからロケット ランチャーで攻撃していれば楽に倒せる」との情報を得たので最初に試しましたが、火力不足で弾切れになった上に死んでしまいました。まぁ、普段、ロケランを使わないので、イマイチよくわかりません。いずれにせよ、ある程度攻撃してから死んでしまうと、特殊なシールドを持参しない限りはロケラン弾の補充が難しいため、リトライが厳しいですね。

ひとまず難所を越えましたが、どうにもゼロだけ三周目を楽しめません。「楽しめていないのに進行させる必要あるの?」と思いながらプレイしています。
二周目は Jakobs 製スナイパー ライフルを携帯し、ヘッドショット一発で雑魚を倒しまくれて楽しかったのですが。Jakobs 製スナイパー ライフルは、あの撃つたびにガチャガチャやってる感じが良いですよね。

2013/06/16

FF14 新生 β に参加していた

金土日と、新生エオルゼア β テストに PC 版で参加していましたが、期待以上であり、三日間ハマっていました。

特に面白かったシステムは、F.A.T.E. (Full Active Time Event) ですね。
FF14 Wiki - Full Active Time Event
FF 11 で喩えるならば、カンパニエバトル、ビシージ、護衛クエストなどを統一化し、任意の PC で束縛なく進行できるようにしたイベント システム、といった所ですか。
言葉を交わさずとも、各 PC が状況から役割を判断して行動し、クリアする、その一体感は最高です。エリアに人が集まらず、少人数で挑むハメになった場合、特にこれは顕著となり面白さが増します。短時間で終わる点も魅力的ですね。

しかし、β 参加者は MMORPG 経験者が多く、攻略上のあるべき振る舞いを自然と行なっているのでしょう。公式サービス開始直後は、こう上手くはいかず、どこまで楽しめるかは分からないですね。まぁ、それはプレイヤ側の問題ですが。

細かい不具合よりも、システムの基本が面白さを提供し得るか否かが重要で、旧 14 では β 段階で既にそれが皆無であった、新 14 にはそれがあると思える、そんな印象です。

2013/06/09

Borderlands 2: アクストン三周目本編ソロを終える

アクストンも三周目本編を終えました。今まで使ったキャラと比べると、飛び抜けて楽でしたねぇ・・・。

ビルドは、スラグを撒くのがダルいのでゲリラ ツリーからダブル アップまで、チキン野朗として戦いたいのでガンパウダー ツリーからロングボウ タレットまで、サバイバル ツリーはプリパレイションのみ、余ったポイントは適当にゲリラとガンパウダーに振ってました。

銃とグレネードはレベルが上がる毎にリバマラでそこそこ整えていましたが、シールドは適当なままでした。他キャラで The Bee を所持しているので、これを装備して進めたらもっと楽だったかな?という気もしますが、無くても十分に強いですよね。タレットが本体なので、MOD とレリックにはクールダウン速度+ をずっと付けていました。

今まで三周目をやった所、二周目クリアで Lv 50、ほぼサイドミッション放置の三周目クリアで Lv 57 という感じですね。DLC 1 をやると約 Lv+1 なので 、やらなければ Lv 55-56 でしょうか。

残りはサルバドールとゼロですが、苦手なゼロの二周目から始めてみました。ゼロの三周目は何かヤバそうな・・・ブラッドウィング戦で詰む予感がしています。

2013/06/07

Borderlands 2: 二周目や三周目本編ソロで自分がやっていること

ゲイジ、マヤ(ボス前放置)、クリーグと三周目本編ソロを終え、今は、初見時に選んだアクストンで三周目保護区ソロを終えた所です。初見時は特に強いキャラではないと思っていたのですが、改めて操作すると異常に強いですねぇ・・・(タレットが)。ブラッドウィング戦もヌルゲーと化していました。

以下、自分が二周目三周目本編ソロでやっていることを纏めておきます。ソロプレイヤの多くが行なっていそうなことではありますが。

1. 最初に DLC1 をクリアする(三周目の場合)

リバマラのためにクリアします。余計なことをしなければ、二時間半程で終わります。Sand Hawk に拘るならばクリアできない事になりますが、僕は要りません。
適度にリバマラで武器を揃えます。次に行うミッションを見据え、主力武器がそこそこ揃えば終わらせています(30 分やるかどうか)。

2. 戦わずにスルーする

殲滅がダルイので、可能ならばスルーしています。

3. スラグ武器を一つ持参する(三周目の場合)

二周目はそこまで硬くも無いですが、三周目はスラグが無いとちょっと硬すぎるかなぁと。
アクストンでは、タレットがスラグをばら撒いてくれるので持参していません。クリーグでも、それ程にはスラグを撒いていなかったような・・・。

4. 自販機前の敵はグレネードをばら撒いて倒す

投げる、購入、投げる、購入。

5. グレネードを積極的にばら撒きながら進む

残弾数が少ない程に敵からのドロップ率と箱からの出現率が上昇するため、常にグレネードをばら撒いて残ゼロ付近にしています。また、ばら撒いている間は、箱を開けずに残しています。
殲滅が一段落し、残数がほぼゼロならば、箱を開けながら出現したグレネードを数えつつ進行逆方向へ戻り、適当な所で拾いながら元の位置まで戻っています。満タンにする必要もないですし。
自販機へ戻る方が早い場合は、とっとと自販機まで戻っています。

6. 炎雷酸のホーミング範囲攻撃型グレネードを常備する

グレネードばら撒きで最も効率の良い型が、ホーミングかつ範囲攻撃型であると感じています。敵が勝手に範囲内に突っ込んでくれますし。COOP では味方を巻き込んで怒られるんですかね?
この型の三属性を常備し、状況に応じて装備変更しながらばら撒いています。装備変更は面倒ですが、闇雲に投げるよりも効率が良いかなぁと。

7. Rabid 系が出たらボス以上であると認識する

ボスよりも Rabid 系雑魚の方がヤバイ。開発者は頭がサイコ。

2013/06/02

Deferred Shadow Mapping を実装していた

Deferred Rendering によるシャドウ マッピングのための機能を、自作フレームワークに実装していました。ただし、MRT は使っていませんし、Deferred Rendering のための綺麗な枠組みも作っていません。ポストプロセスについては一つの枠組みを実装してあるので、これに乗せて動かしているという感じです。

以下、記念撮影です。まず、シーンの深度マップ。

深度マップ

続いて、シャドウ マップを書き込んだ閉塞マップ。

閉塞マップ

閉塞マップと呼ぶべきか否か、専門的な名称が分かりませんが、シャドウ マップから得られる深度と、シーンの深度マップから再構築した座標から得られる深度を比較し、ライトが遮られているか否か、すなわち、影があるか否かを描画したシーンです。生成されるテクスチャは SSAO で生成する閉塞マップと同じであるため、関連する機能の一部を共通化して閉塞マップと呼んでいます。

最後に、影を合成した最終シーン。

最終シーン

シャドウ マップ サイズ 1024x1024、PSSM 分割数 3、一般的なライト カメラを使用、PCF 7x7 適用です。

PCF は過去に実装済みでしたが、モデル描画のためのシェーダに実装すると、関連するシェーダの至る所で冗長に記述することになるため、先のシャドウ マッピングの実装では避けていました。今回は、閉塞マップ描画シェーダにのみ記述すれば済むため、あらためて再実装したという所です。

今回の実装は、それ程には難しいものではなかったはずですが、本筋とは関係ない所で長時間ハマってました。定数バッファへ渡す C# 側構造体のレイアウトを誤り、これに気付かずにハマり続けるという失敗を、これまで何度も繰り返しています・・・。

2013/06/01

簡単な雲を実装

過去行った実装に雲エフェクトがあったので、これも自作フレームワークへ移植していました。しかし、どうやらこれも何かの理由で破棄し、面倒な事にシェーダ コードしか残されていないという有様。元ネタも記録されておらず推測から再実装してみましたが、期待する効果を得られなかったので、結局、一から考えなおして作っていました。

実装の流れは極めて簡単なもので、以下のような手順で行いました。

1. 雲の体積マップ(R 値のみ)をノイズで複数枚生成
2. 各体積マップをテクスチャ座標をずらしながら参照
3. 各体積に密度を掛けつつ合成して色を決定

以下、スクリーン ショットです。

雲エフェクト

極めてチープ感が漂っていますが、「質を問わないので雲が欲しい」という場合に、僕としてはこれで良いかなと。完全な平面へエフェクトを適用しているため、チープ感が増しているのだとは思いますが、曲がった平面のための頂点データを自動作成することが面倒だったので、今はこれで良いかという感じです。

雲の体積マップと呼んでいるものは、雲の高さ、あるいは、雲の密度として置き換えて考えても良い気がします。実際、ハイトマップを生成する手順と同じ手順で体積マップを生成していますし。
ノイズの種類としては、Billow 型フラクタルが雲の雰囲気を出すと良く言われ、実際に雲と見做せる形状でノイズが生成されるものの、僕が作成したエフェクトでの合成には不向きのようで、結局は SumFractal で生成しました。ただし、雲の密度を下げ、塊となった雲を幾つか出すような状況では Billow の方が適していた感じもするので、状況に応じてノイズを調整する事になるのであろうと思います。
何にせよ、ノイズ生成ライブラリを自作したのは本当に良かったですね。簡単に試せる状態は非常に便利です。

で、作成した水面エフェクトへ反射させてみたいという理由も含めて実装したので、反射させてみました。

雲の反射

水面で反射していますが、ほぼ見えず、期待した感じではありません。反射は、水面の法線と視線が垂直に近くなるほどに強くなると思うので、視点付近の水面では雲が弱く映り、遠方で強く映る状態は正しいのだと思いますが・・・もう少し映り込む状態を正直期待していました。そもそも、雲自体の色が薄いので、しょうがない気もします。あるいは、水面に適用する水の色が駄目なんですかねぇ・・・。

強引に調整できそうではあるものの、拘ると時間が掛かりそうなので、今はこれで良いとしました。色と輪郭が明確なオブジェクトの反射は期待した通りに反射されていますし。

Borderlands 2: クリーグ三周目本編ソロを終える

ぴぃ~っかぴかの、い~っちもつぅ~♪(意味深)

クリーグをコツコツと進め、本編三周目をソロで終えました。

ネタキャラかと思いましたが、プレイしてみると非常に面白いキャラですね。レイビング レトリビューションを覚えると、中二病全開ポエムを聞けるのでオススメです。

僕はヘルボーンに偏ったビルドで、マニアのリリース ザ ビーストは取らずに進めましたが、ライト ザ フューズは取得し、セカンド ウィンド用にしていました。三周目ブラッド ウィング戦は、急降下回避に失敗したらスキャッグへ自爆して立て直し、という流れでサクッといけました。なにより、『導火線に火を付けろ!』の表示が燃えてきて良いじゃないですか。

てめぇらまとめて⊂二二二( ^ω^)二⊃ブーン

ヘルボーン ツリーしか分かりませんが、Wiki のクラス解説にあるように、総じて、クリーグのペースにハメられる場合は「俺様 Tsueeeeee!!!」、そうではない場合は「調子に乗って済みませんでしたー!!」という感じですね。巨人に屈服したサシャのように。

ヘルボーン中心では自身の着火状態維持が重要ですが、維持を続けるとなるとシールドはゼロ、ライフは常時減少状態が普通になります。このため、敵をエレメント効果状態にし、エレメンタル エンパシーでライフを回復し続ける流れが必要になります。
この流れにある限りは、他キャラならば引くべき状況でも死ぬことはなく戦い続けられると言いますか、突っ込まないとヘルボーンの意味が無いと言いますか。
逆に、この流れを作れない状態に陥る(作ることに失敗する)と、ヘルボーンの利点が全て失われて雑魚に成り果てるという感じです。

libgdx いじり

Google が提供している Java 版の Tango Examples は Rajawali をベースにしているため、自分が仕事で開発する Tango アプリも Rajawali ベースとしていましたが、最近は libGDX への移行を進めています。一応、要点については移行が...