世界設定エディタが欲しい その2 地図機能 01

世界設定エディタが欲しい その1 - belbomemoの続き。

ファンタジーなどの空想世界を想像していく際に、その世界設定を丸ごと取り扱えるようなシステムが欲しいです。

これまであれこれ試した中で、一番目的に近いのはWikiでした。 しかしWikiというシステムは、その自由度の高さと、百科事典的コンテンツを想定した均一さが、世界設定という構造化に向いていない面がある、というのが前回。

では、自分が欲しいという世界設定エディタには、どんな機能を求めるのか。 色々なものがありますが、まずは地図について。 残念ながら私に地図の専門的な素養はありませんが、資料を読んだり、色々な地図ソフトウェアの実装を見たりして考えたことをまとめます。

なぜ地図機能が必要か

空想世界に地図という資料がもたらす影響の大きさが理由です。 言葉のみによる設定ではどうしても曖昧になってしまう部分を、地図はかなりカバーしてくれます。

気候や戦闘などにおける設定の妥当性の検証は、地図の有無で大きく変わります。 見落としていた都市間の関係だとか、考慮すべき地政学的視点だとかも、地図によってぐっと発見しやすくなります。

そして、そういった検証より重要なのが、世界を分厚く広げていく助けとしての大きな役割です。

「この巨大な山を取り囲む村々には、きっと山に対する何らかの畏れがあるだろう」

「この入り組んだ小島の集まりは、沢山の船を沈めてきたのではないか、ではその船や積み荷や乗船者は、どこに漂着しどこに眠っているのだろう、こういう地形なのだから海流を考えるとこの辺りだろうか」

「水があり平野のあるこの地に、人が根付かなかったのはおかしい、一体どんな人々が根付き栄えるだろう、或いは根付けない障害はなんだったんだろう」

「世界を旅するとは、こんな場所を巡ることなのか、どれぐらいの年月が必要なんだろう、ここは船で進めるのか、どんな造船操船技術が存在しているんだろうか、はじめて世界を広く旅したのは誰だったんだろうか」

こんな広がりは、地図を眺め、そして触ることで、よりはっきりと鮮やかに広がっていきます。

空想世界設定の地図

例えばWikiで、空想世界の地図を扱うのは非常に不便です。 Wikiというシステムの中で地図を柔軟に編集できて、Wikiデータと連動できるものなど無さそうですし、あったとしても対応しているのは現実の世界の地図です。

そもそも、幾つかある仮想世界地図用の単体ツールにすら、自分の希望に合ったものがありません。 コンピューターゲームTRPG用の自動生成ツールは幾つかありますが、それは地図風の絵や地形オブジェクト、マップチップを生成するもので、求める地図ではありません。 希望するのは、空想世界のGISを作れるツールです。 自分の考えた世界設定に沿った地図を、Googleマップのように扱いたいのです。

デジタルであることが目的ではなく、地図という設定の中に与えた情報に、アクセスしながら試行錯誤したい、想像を広げたい、というのが目的です。 その為には単なる画像の地図では不十分で、どの位置にどういう建物や集落や自然が存在し、それにはどういう名前が与えられていて、という事が扱いたい。 あるいはどこでどういう出来事が起き、それらがより詳しい設定情報とリンクしていてほしい。 私が世界設定エディタに求めるのは、そんな地図機能です。

空想世界地図の要素とデータ

既存の地図を取り扱うシステムのほぼ全ては、現実の、この地球の地図であることを前提としています。 もしくは非常に狭い範囲の、簡略化した絵地図を対象とする程度です。 これは地図という存在がそもそも、現実の地理的情報をどう表現しようかと発展してきたものなので、当然のことです。 実在しない世界を含めて取り扱えるようにする必要性がありません。

月や火星など他の惑星を、地球並に詳細に扱う時代になれば分かりませんが、当面その可能性は無さそうです。 またそのような他の星を前提とした仕組みが普及したとしても、空想世界に適用できるとは限りません。

では、地球という現実の世界ではなく、星という前提すら不確かな空想の世界を取り扱える地図の仕組みはというと、悩みどころが多いです。

世界の形と投影

現実の地図は、現実に存在する地球と対応しています。 地球は、わずかに赤道方向が太った球体であり、地図の仕組みもこれに対応した蓄積からなっています。 しかし空想世界では、地球にあたる世界の形そのものが、空想者の設定次第です。

例えば『ゲド戦記』には、その舞台である「アースシー」という世界の地図が掲載されています。 アースシーの地図は、作者ル=グィンのWebサイトのトップを飾っています。

このような地図では、その世界全体の形状は分かりません。 地球のような球状なのか、本当に平面なのか、地図の果てが描かれない以上、推測のしようがありません。 でもこれが一般的な空想世界の地図です。

空想世界は作者の自由な設定の産物であり、地図を描くからといって、世界が球状である必要はありません。 海の最果てが滝になっていようと、巨大な獣が支えていようと、天蓋が巨人の頭蓋骨で出来ていようと、自由です。 もちろん地球そっくりでも、地球の数百倍ある巨大な星でも、凄まじく扁平な星でも構わないわけです。 だからエディタには、そういう様々な形の世界を扱えてほしいのです。

しかし一方で、何者かが生きるその世界を思い描き表現する以上、現実と同じ制約を受ける部分も出てきます。 その制約を無視していると、より広く世界を取り扱おうとした時、矛盾や辻褄合わせによって世界が歪んでしまうかも知れません。

例えば世界がどういう形状であれ、平面そのものでない限り、平面で表現された地図で扱うには、必ず投影が問題になります。 地球のような球体の表面を二次元に落としこむには、どこかの尺度を犠牲にして描くしかありません。

あるいは、経度・緯度といった地球の形状を前提とする座標系も、そのままでは使えなくなります。 平面ならともかく、すり鉢形だったり、円筒形だったりすれば、それに合わせた地理座標系が必要です。

世界が平らだと割りきってしまえば、投影や座標の問題はほぼ無くなりますが、今度は方位や気候といった地球的球状の世界に基づく環境要因は根拠を失い、自ら考えだす必要が生じます。 無からの空想は不可能であり、空想された世界が、ひとかけらも現実と関連しないことはありえません。 恐らく世界を空想する楽しみは、ある程度現実の世界に則りながらも、あるかも知れないもう一つの世界とその不思議を設けていくことにあります。 もし現実に基づく枷を捨てて自由を得れば、その分納得いく新たな枷を創造する必要が生まれます。

作者の考える世界の形状に合わせて、投影や座標系が選べたり定義できる。 そういう地図機能であれば、地図の根幹となる世界の形状という設定を、歪まずに取り扱えます。 しかし無い場合、破綻しない程度の局地の地図に留めておくか、世界全てを扱いたくなった時点で、矛盾を解決していく大工事が必要になります。

データとしての地図

地図のような視覚情報を伴う2次元表現では、ビットマップ等と呼ばれるカラー値を持たせた最小単位を敷き詰めて表現する方法と、ベクターデータ等と呼ばれる座標と点や線や面などを用いた表現のいずれかが一般的です。

地図に与える情報の多くは点や線や面であり、前者で地図を表現してしまうと非常に無駄が多く、空想世界の設定を扱うという意味でも不適当であり、設定を扱う地図であれば当然後者のパスで表現すべきです。 もちろん最終的にはディスプレイや紙などの上にラスターとして可視化しますが、根本となるデータはベクターデータとして定義します。 地形の形状はもちろん、ある地点だとか、どこかの道だとか、建物だとかをそれぞれ表すわけです。

地形の表現

地形表現としての理想を言えば、高度やオーバーハングも扱えるように、形状は全て3Dで指定する方が、より世界を詳細に扱えます。 それを2次元表現に落とし込めば地図としても使えるのですが、Terragenなどに見られるような地形エディタ程度では、自由に世界を創造するのとは程遠く、2次元の線で描くほどの自由度は得られません。 今の所、地形も2Dのパスで描くのが現実的です。

空想世界が好きな人なら、一度はその空想世界の地図を描いた経験があると思います。 そういった時大抵は、海岸線を描くことで陸地を表現したのではないでしょうか。 鉛筆やペンで、「こんな島いいなあ」とか「ここは入江で、ここは無人島で」とか、「2つの大きな大陸が睨み合ってて」なんていう空想を走らせながら、なんとなくぐにゃぐにゃした線を描けば、不思議とそれなりの陸地に見えたものです。

ところがこういった地形の表現は、デジタルでの扱いが意外と面倒です。

現実の地図であれば、すでにこの世界という正解があります。 その正解を下絵に置き、ここはどこの国だとか、なんという川だとか、地図としての情報を付加していけます。 しかし空想世界では、地形という下絵そのものを決めていく必要があります。

コンシューマ向けの世界地図を扱う既存の仕組みでは、すでに観測された地球の地形が、下絵として用意してあります。 それに対し空想世界の地図エディタでは、その世界の測量というか、地形の確定から自分で行える必要があります。 地形を描いたり変えたりしながら確定させつつ、そこに情報を配置していくという、原初の地図作りを行うわけです。

この地形制作作業を世界設定として自由に行いたい場合、最大の問題はデータとしての表現です。 世界を描いた地図にとって重要な海と陸という表現には、閉じたベクターデータとしての陸が必要です。 もし巨大な大陸を精細に描くとしたら、最終的にとんでもない数の点で表現されたベクターデータを扱うことになります。 現実の地図は概形が分かっているものなので、事前に適度な分割が可能ですが、これから描かれる空想世界の地形を、適度に分割するのはかなり難しい。 結局、3DCGで多用されているトポロジーのような仕組みを導入し、ベクターデータの分割数を階層的に制御できなければ、現実的な性能のコンピューターでは扱えなくなってしまいます。 しかし2Dのパスに3Dのようなトポロジーが成り立つと思えず、何か発想を変える必要があります。