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が高いと上手く説得してショートカットできたりしそうな気がするが、本物のクエストアイテムを本物と思ってもらえず、結局出来合いの偽物を探してくるという、なんだか変なクエストだった。

DAO GFF WIP

http://social.bioware.com/wiki/datoolset/index.php/GFF

を見ながらGFFを読み込むプログラムの作成を試みる。

ヘッダ読み込みOK。構造体配列も問題なし。フィールド配列もおk。

で、肝心の欲しいデータが埋まっているRaw Data Blockを読み込みたいのだが、途端にドキュメントの情報が無くなってしまう。

どこかにデータを参照するためのmimic pointersなるものが埋まっているはずなのだが、上記の難なく読めた部分には存在しなかった。Raw Data Blockの先頭からの逐次読み込みでは、バイナリ見て見当をつけれるデータはサルベージできても、順序よく並んでいなかったのでデータの階層構造は得ることができず使うことができない。となると参照に必要なアドレスはRaw Data Blockに埋まっているはずなのだが、Raw Data Blockの情報は無いし、どうもGFFの中でも各種ファイルタイプ別に割と自由奔放に定義されているような雰囲気なので探すのに骨が折れそう。今のところは見当もつかない。

tlkファイルは構造体配列もフィールド配列も個数が1つで、階層構造もあってないようなものと非常にシンプルなので、力業でもなんとかなりそうなのだが、目的のdlgファイルの階層構造は結構複雑なので応用できなさそうだった。

OfficialのProjectsページにGFFをダンプするツールがアップロードされていたが、これもRaw Data Blockには手を着けていない。やっぱり情報が無くて難しいと言うことなんだろうか。もう一つはconversationを検索する機能をもっているのだが、データベース上のエクスポートされる前のデータを参照しているような感じで、ソースは公開されて無い。残念。

DAO memo

BiowareのEngineを覗くのは初なので今更なのだが、会話の親子関係はdlgファイルにあるっぽいなあ。

本家のdlgはrimファイルで固められているのでこれをtoolsetで開いて解凍する。これを開くとtoolsetでdlgをデータベース上に作ったようなツリー状態では何故か見れないのだが、構造体そのまんまっぽいのはが参照できる。で、確かに親子関係は記されている模様。IDはdlg単位では割とまとまっているものの、IDだけでは親子は判断できない雰囲気だ。

dlgファイルの中の構造体は多分そのまんまなので一部の型のサイズをいくらに定義しているか分かればなんとかなりそうだが、dlgファイルそのものの構造はどうなってるのかな。
自力で調べるよりも海外サイト探した方が楽かもしれない。

(追記)余裕であった。Bioware流石やで。

http://social.bioware.com/wiki/datoolset/index.php/GFF