Dragon Age Conversation Reader – Alpha Release

一応検索可能になったので、アルファ版リリースしてみます。

Download: dao_reader091124.7z (size:600kb以下)

Dragon Age Conversation Reader は、BioWareのゲーム”Dragon Age: Origins”の会話を閲覧する非公式ツール(Unofficial tool)です。
会話の前後関係を階層構造である程度再現します。
現在はsingle playerモジュールの会話のみに対応しています。

dao_reader_alpha.jpg

動作環境

  • Windows XP SP3(2000/Vista/7)
  • .Net Framework 2.0 SP1
  • なるべく高速なCPU
  • 30MB以上の空き領域を持つなるべく高速な記憶領域
  • 200MB以上の空き領域を持つなるべく大量のメモリ
  • singleplayer_en-us.tlkをSDJ氏のツールdao_tlkeditor.exeで出力したテキスト
    または同等のフォーマットで記述されたテキスト({ID}\n<string>\n…)

使い方や既知の問題、未実装事項などは付属のreadme.txtを読んで下さい。

DAO Conversation Reader(仮) WIP

今のところ致命的な問題には遭遇していないが、正しいデータが取れているのかはテストしきれないので不安なままではある。

dao_reader_wip.jpg

当然ながらデータ量は莫大なので、*キーを押して全部展開しようとすると延々と待つ羽目になる。なので、ルートに相当するノードは無くして一度に開けなくはした。

そうして開きすぎると(数万くらい?).netのツリーがそこまで想定をしていなかったらしくスクロールが途中までしかできなくなるのはどうにもならんか。

下位のノードの子に既に出た上位のノードがある場合は無限ループになるので即打ち切りました。そういうデータがあるのか検証用に大まじめに書くと死ぬほど重かったが、まあ解決。toolsetではどういう挙動をするのか確認していませんが、多分同じようなことをやってるんですかね。

そんなこんなでとりあえずrim以下を全展開する程度には割とまともな速度で動く感じ。

あとは検索機能が無いと話にならんので、それをつけたあたりでアルファ版を出してみます。検索は端折れないのでかなり重そうなんですがね。どうしましょう。

Arcanum: Of Steamworks & Magick Obscura part.5

プレイしたら暇を見て適当に書き溜めているのだが、国内での情報が殆ど無いゲームでもあるので、いつもよりも多めに書く傾向になってしまう。サブクエストも書いていたらさらに大変なことになるので、当然かなり間引いてはいるのですが。で、こちらにフィードバックしないとえらいことに。

Tarantの南西にあるThe Boilはレベル25あたりから近寄っても喧嘩を売られなくなるようだ。2つのfactionの抗争に荷担することに。Orc側のfactionへの参加はバーテンダーとの会話が切っ掛けになるのだが、Half Ogre側のfactionの参加の仕方がよく分からなかった。
とはいえクライムアクションゲームのような大がかりなものはなく、幾つかのクエストの後に片方のfactionのボスを倒す程度。

さてElfの集落であるQintarraに到着。いわゆるEQのような樹上の集落だったのだが、かなりの高所で凄く綺麗な場所だ。音楽も落ち着く。

女王の娘さん(といってもElfなので外見は若いが歳とってる)のRavenが登場。ボイス付きの女性NPCは初めてな気がする。仲間になるらしいが、まだそういう展開ではない。
一応過去にスイーツ(笑)を持たせてないと駄目らしい女性ヒーラーがDernholmにいたが、魔法寄りのキャラには仲間になってくれないのでした。他の今までの仲間になった女性NPCは、短い特定クエスト中のみ仲間になる程度だった。仲間になる女性NPCは数少ない模様。

ということでRavenのクエストをこなして信頼を得た後、女王の訳の分からん妄言を聞いてRavenに妄言の意味を尋ねる(抽象的な内容が入り交じるし、Ravenも結構分からんと言う)。Tarantから取りかかるのがいいんじゃないかと言われて戻る。

Qintarraでのクエストは、冤罪証明だとかLizardmanの説得とかもあって延々と会話が続くのでかなり疲れる。Lizardmanは仲間になるやつがいるらしいが説得の流れで出来なかった。

Ravenの助言後から、Tarantでは長らく留守だったTarantのチェアマンのEdward Willoughsbyが帰ってくる。色々やりとりしてるとPerrimanとSebastianが仲間に。Perrimanは魔法寄りでSebastianが完全な技術寄りと一気に専門的な仲間が増える。

Sebastianで少し試してみたが、NPCに頼む生産アイテムでSemanticが必要なアイテムは、PCだけが使用して作れる感じなのかな?

Tarantで情報を探しているとCaladonに代わりのブツがあるということでCaladonへ。
だが、ブツの持ち主は殺されていた。かなり嫌らしい位置に住所が書かれたパスポートがあるが、パスポートを頼りに手紙を取ってTarantで差出人を調べて、差出人のところに行く。差出人は目前でやられてしまうが、辛うじて生きていたので話しを聞き出す。なるほどなあというトリックが判明して再びCaladonへ行ってブツを取る。
墓地に入ってVirgilの様子が妙だが、名前だけを留めてそっとしておく。
ブツはフェイクだが、フェイクにはRoseboroughと書いてある。Roseboroughって最初に拾ったマッチ箱に書かれていた場所じゃないか。ゲーム開始時からVirgilの言うことは気にしないでそこを探せばいいのにとは思ったが、多分あの頃の主人公ではそこにたどり着く前に死んでいただろう。

Willoughsbyから受けれるCaladonでの交渉クエストは、Persuasion(説得)スキルをマスターにするクエストらしいのが難しすぎてワロタ。そもそも殆ど初対面の人物にTarantとCaladon間の政治的な交渉を任せるのはどうなんだとは思うが。
Persuationなので当然クエストは会話が延々と続くのだが、会話の内容が政治寄りの交渉なので、PC個人の考えていることではなく、依頼主の考えや都市のことも考慮しないと駄目なので大変だ。とはいえ流石にあまりに適当すぎると駄目だったが、相手にとって良い条件をポンポンと提示していたらクリアできてしまった。なんだか拍子抜けで納得いかないがまあいいか。最も模範的な解答をしようとするとネイティブでも大変だとは思うのだが。で、クリアしたらCaladonの城の外にWilloughsbyが既に来ていて、交渉の様子を見ていたとか言い出すし。見ていたんなら助言して欲しかった。
ということで、Persuasionがマスターになった。

Caladonで話していて今更気がついたのだが、ThiefのUndergroundのクエストはどうもRumorがクエストに相当するらしく、しかも4つ聞いたら次のクエストをくれないのか。Rumorはジャーナルのタブの一つにどんどん書き足されていくのだが、TarantのUndergroundのRumorは相当前に聞いてしまったので、どこに依頼が書かれているかさっぱりわからん状態に。

Roseboroughではあっさりと目的のブツは見つかった。レアな本ということらしいが、あまりにも個人的な内容過ぎるというか、Raven個人に宛てた内容にしか見えないのだが。最初に拾ったマッチ箱に覚えのある人も見つけたが、特に真新しい情報では無かった。最初に拾ったパスポートの人物はどこかにいるんだろうか。

DAO GFF解析

DLGファイルの欲しいデータの取り出しができたと思ったら、既にSDJ氏がエクスポータを公開していたという。

Raw Data Blockは、身に覚えのない値の場合はとにかくオフセットと思って問題無い模様。大体はリストになっている型なんぞを指す。Raw Data Blockの先頭からオフセットするとそれっぽい場所に飛ぶので、それを繰り返す。
構造体の各要素にはオフセットが無いのだが、Field Arrayで出てくるIndexの値を、構造体の先頭からオフセットするとアクセス出来る。

まだデータの少ないケースと多いケースしか試していないので、連休中にまともなのを作って全DLGファイルで試してみないと。RIMの解凍が手作業なのが面倒だが、RIMまで解析するのは多分もっと面倒だからやるしか。恐らく似たような感じで解析できるんだろうけど、圧縮されていたら大変だし。

で、RIMからDLGを取り出す面倒な作業を各人にさせるというのは酷なので、DLGファイルから必要なデータだけを中間ファイルとして出力しておいて、そのファイル群とTLKをSDJ氏のツールで作成したtxtを併せて階層構造で会話をプレビューできるツールを作ろうかと思っていたのだが。
まあとりあえず、特に面倒な問題にぶつからなければ作るだけ作ってみます。気長に。

Arcanum: Of Steamworks & Magick Obscura part.4

Ancient Templeを攻略していたら話せる骸骨が。なにやら生き返りたいのでDragon’s Bloodを取ってこいと。で、取ってきたらなにやらDernholmとIsle of Despairで話には聞いていたThe Dragon Knightsの一人らしい。そういうこともあって恐らくEvilなNPCな所為か仲間にはなってくれなかった。結構強そうだったので期待していたのだが。

このゲームは普通のクエストをクリアするとかなりのペースでGoodに傾いていくので、ちょっとやそっと悪いことをしたくらいではEvilになることは全然無い。あまりにNPCを殺しすぎると、重要なNPCが死んだり嫌われて殆ど情報が引き出せなくなったりで色々と進めにくくなるだろうし、Evilプレイは結構大変なんじゃなかろうか。

さて、Isle of Despairで得た情報からWheel Clanへ。
罪滅ぼしに引き籠もっている王様のLoghaireを再起させるように会話を選んでいく。その前にINT10にして、息子からドワーフの思想である”Stone and Shape”について聞いておく。Loghaireは適当に話していても、BMCのドワーフが居なくなった経緯の筋が通っていないことに気がつき始めるのだが、さあこれからどうしようかということになって、”Stone and Shape”を踏まえて再起するようにもっていける。”Stone and Shape”はこのゲーム独自のドワーフの思想なので会話が少し難しいが、頑張って進めておく。と、先人の知恵から。

Wheel Clanでは家宝を取ってくるというサイドクエストがなかなか面白かった。結局のところ家宝はおもちゃの汽車で、こんなのが家宝なのかよと言いたくなって実際にそれを聞けるのだが、どうも1000年ほど前から受け継がれているおもちゃらしい。Arcanumの世界で蒸気機関が発達し、汽車ができたのはつい最近の時代です。ドワーフのロストテクノロジーの証であると分かると、単なるおもちゃが偉大な家宝に見えてくる。Isle of Despairの古代の機械もドワーフのものだったのかもね。

Loghaireから聞き出した話によるとエルフが関わっているようなので、エルフの住処であるQintarraの場所の特定をしにStillwaterへ。
考えてみれば今まであまりエルフを見かけたことがなかった気がする。人間と容姿が似ている所為もあるが、人間以外でよく目につくのはノームかハーフオーガだ。なので、Stillwaterではあまり見慣れないエルフを探す。
エルフはいるにはいるのだが、ちょっと変わっているエルフで無茶難題を出してくる。解決まではあまり長い手順は必要無いが、途中でTarantに戻る必要があって、気がつかなければかなり悩みそう。このクエストに限らず、クエストは途中過程で何をすればよいのか提示されることはあまり無いので、手がかりは自分で探し出す必要が多い感じだ。全然関係なさそうなイベントが起きたと思って進めていたら、既に進めていたサイドクエストに関連していたとか結構ある話。
INTが高いと上手く説得してショートカットできたりしそうな気がするが、本物のクエストアイテムを本物と思ってもらえず、結局出来合いの偽物を探してくるという、なんだか変なクエストだった。