- MHP2G の完全なサイトを作るには

2010/09/21/Tue.MHP2G の完全なサイトを作るには

十二月一日に発売される MHP3 のために「MHP3: まとめ」というページを準備している。向こう一年間は世話になるであろうゲームの情報をまとめるため、プログラミングやデータベースの勉強のため、サイト作成技術の維持のため、色々と目的はある。こういう作業が好きだという性分もある。

前作 MHP2G に関しても、同様の「MHP2G: まとめ」という一群のデータを作ったが、尻すぼみな形で放置することになってしまった。武器のページなどはヒドいものだ。作成に着手したのが随分と最近になってから、すなわち MHP2G の発売から二年以上が経過してからだったということもあり、モチベーションを保つことができなかったのが原因である。今さら欲しい情報などないのだから仕方がない。

しかし、この過程で書いたプログラムが現在の作業の基礎となっているので、丸きり無駄だったというわけでもない。MH は特にデータの量が多いゲーム(エンターブレインの MHP2G 公式ガイドブックは、実に 1000 ページ以上の分量を誇る)なので、手作業でのサイト構築には限界がある。

実際問題、どれくらいのオーダーになるのだろうか。少し考えてみた。例として、MHP2G の主な要素を挙げると以下のようになる。

各要素に固有のページを割り振ると、総計 5400 ページとなる。とはいっても、プログラムで自動的にページを生成するのは難しくない(事実、「MHP2G: まとめ」以下のページ総数は 5000 以上である。もっとも、武器やクエストはタイトルが書いてあるくらいだが)。本当に厄介なのは、この一つ一つがそれぞれ細かなパラメータを持ち、しかもそれらが各々に関連性を持つ(つまり、個々のページの各パラメータから個々のページにリンクを張らねばならない)ことである。

クエストに行ってモンスターを倒すとアイテムが剥ぎ取れる。報酬でも、フィールドで採取してもアイテムが得られる。アイテムを消費すると武具を生産することができる。そうして獲得した防具や装飾品にはスキルポイントが付いている——。このように、各要素のパラメータは互いに関連し合っている。この関係性を Wikipedia のような形で構築したい。MHF では通称「小部屋」というサイトが高名であるが、ここを見ればおおよそのイメージができるかと思う。

さて、主な関係は以下のようになるだろう。

クエスト─モンスター
 │    │  ┌─装飾品┐
 │    │  │    ├スキル
 ├─── アイテム──防具┘
 │      │
フィールド   武器

簡単な例を考えよう。10 種類のフィールドがあるとする。1 つのフィールドには 10 のエリアがあり、1 つのエリアには 5 つの採集ポイントがある。1 つの採集ポイントからは 5 種類の異なるアイテムがそれぞれある確率で獲得できるとしよう。このとき、フィールドのページからアイテムのページに張られるリンクの数は、5 × 5 × 10 × 10 = 2500 リンクとなる。実のところ、これは大した数ではない。

各クエストで出現し得るアイテムの種類(同種の確率違いを含む)は 10 種類を下らない。したがってこの関係性は、450 クエスト × 10 種 = 4500 以上のリンクを生み出す。それだけではない。クエストが 450 種類あるということは、そのクエストが行われるフィールドへのリンクが 450、そのクエストに出現するモンスターへのリンクが 450 × モンスター数、そのクエストで支給されるアイテムへのリンクが 450 × アイテム数……ということでもある。いくらでも増えるのである。

また、武器や防具がそれぞれ 4 種類の素材から生産できるとすると、武具のページから張られるリンク数は (1500 + 2000) × 4 = 13500 となる。武器には強化もある。生産の半分としても 3000 リンク。防具に 4 種類のスキルポイントが割り振られていれば、これで 8000 リンク。装飾品が 170 種 × (アイテム 3 種 + スキル 2 種) で大体 1000 リンク。

細かいものならばもっと沢山ある。調合ならば、生産アイテム+生産アイテム=生成アイテムというレシピが 170 種類、したがって約 500 リンク。店売りや農場などを考えたらキリがない。トレニャーだけで 1400 リンクもある。また、モンスターは種類によって差が激しいが、リオレイアくらい素材や出番が多くなると、一種で結構な数のリンクが発生する。

何だかんだで、片道合計 5 万リンク程度が要るのではないか。

重要なのは、逆方向のリンクも同時に存在するということである。上記の例でいえば、「このアイテムが得られる採取ポイント」「このアイテムが得られるクエスト」「このアイテムを使用する武具」という具合である。そして、このバックリンクの生成にこそプログラムが威力を発揮する。フォワードリンクは基本的に置換で作成可能だが、バックリンクは「抽出」という作業を経ないとできないからである(これとて突き詰めれば検索と置換ではあるのだが、やはり少々複雑になる)。

ざっと勘定して、MHP2G の正確なデータサイトには 10 万を越える要素関連リンクが必要であると思われる。先に見た通り、主な構成ページ数は 5400 なので、ページ当たりのリンク数は平均 20 弱となる。そんなところであろう。これに各種ナビゲーションや、手書きページのリンクが加わる。これが馬鹿にならない。「トップへ」などというリンクが 5 つあるだけで、5400 ページだと合計 27000 リンクになってしまう。このあたりも自動化しないと追い付かない。最終的に、約 6000 ページ、15 万リンクほどになるのではないか。

これほどのオーダーになると、大人数で編集した Wiki でも記載漏れや表記ミスが出てくる(Wiki は基本的に手書きのシステムである)。結果、能力のある者が機械的に運営する「小部屋」のような個人サイトが、CGM やら集合知やらを上回る現象が起こり得る。これは、なかなか示唆に富んだ傾向のように思われる。