シヴ ファンの皆さん、こんにちは! Firaxis Gamesのシニア・グラフィックエンジニア、ケン・プルクスマです。今回は最新のマップ生成に関する舞台裏をお届けします。
『シドマイヤーズ シヴィライゼーション VII』の発売時点では、私たちが用いたマップ生成手法は、外洋や遠隔地といった新しいゲームプレイルールに従いつつ、バランスの取れたプレイを実現することに重点を置いていました。この手法は、過去の「シドマイヤーズ シヴィライゼーション」シリーズに基づいたもので、公平なマップを作成することができましたが、同時に予測可能なものになってしまい、探検フェーズが潜在的に報われないものとなってしまいました(4Xにおける最初の“X”は「探検」なのに!)。皆さんから「マップが繰り返しに感じられる」とのご意見をいただき、私たちもその意見に同感でした。
コミュニティからもう一つ強くいただいたご意見は、二つの大陸の間に生じる直線的な海岸線がプレイ体験を損ねている、というものでした。「シドマイヤーズ シヴィライゼーション」の魅力の一つは、地球の「もうひとつの歴史」を体験できることにあります。そのため、マップが地球らしく見えないと、その没入感は削がれてしまいます(例外として、対称マップを選んでバランス重視のマルチプレイを楽しむ場合は除きます)。
そこで、アップデート1.2.5では大幅な改善を行いました。マップ生成を、より自然で繰り返し感の少ないものにしつつ、必要なところではバランスを維持することを目指しました。その結果、新たに選べる2種類のマップタイプが登場しました。「大陸と島」 (2つの大陸+島々)と、「パンゲアと島」(1つの大陸+島々)です。これらはいずれも、まったく新しい手法であるボロノイマップを用いたマップ生成によって作られています。
ボロノイマップ
私はグラフィックエンジニアとして、普段は美しいピクセルを描くことに多くの時間を費やしていますが、昔からプロシージャル生成やその背後にあるアルゴリズムに特別な愛着を持ってきました。そんな中、ゲームプレイチームのマップ生成を手伝う機会が訪れ、断る理由はありませんでした。
ボロノイマップを使って、いくつかのルールに基づき、陸を動的に成長させるというアイデアを思いつきました。簡単なテストを行ってみたところ、そのアイデアには十分な可能性が感じられました。
専門的になりすぎないように話すと、ボロノイ手法はマップ生成へのアプローチを根本から変えるものです。これまではフラクタルノイズを用いてマップを生成しており、マップ全体に一様に適用できる場合には非常にうまく機能しましたが、特定のゲームプレイ上のニーズに合わせて制御することが難しいという課題がありました。一方で、ボロノイマップはその上にルールを構築できる基盤を与えてくれるため、マップを自然に見せながらも『シドマイヤーズ シヴィライゼーション VII』に必要なゲームプレイ要件を満たすことが可能です。
では、この仕組みがどのように機能するのか見ていきましょう。
- まずはマップ上にランダムに多数の点を散布します。点の数が多いほど解像度は高くなります。まずは低解像度から始めましょう。
- 次に、それぞれの点を囲むように線を引き、「セル」に分割します。すると、ひび割れたガラスのような見た目になります。
- いくつかのセルを選択します。これらはゲームマップにおける地殻プレートの種となるもので、地球を形作るプレートと同様の役割を果たします。
- それぞれのプレートは、設定可能なルールに従い、1セルずつ拡大していき、マップ全体が埋まるまで成長します。各プレートには回転と移動の方向が割り当てられます。これがマップの地殻となり、のちに大陸の成長に影響を与える基盤として使われます。
- 次に、より高解像度にするためにさらに多くの点を散布します。その上で再び線を引き、地殻プレートの上に重なる、ひび割れたガラスのような模様を描き出します。
- 次に、メインの陸地となる新しい始点を選び、カスタム可能なルールセットに従って再び成長させます。これらのルールには、たとえばプレート境界(特に衝突している場合)に沿って陸地を成長させる、極地を避ける、特定の緯度を優先する、といったものがあります。また、この段階でゲームプレイ上の制約を適用することもできます。たとえば、本土と遠隔地を外洋で分離するように設定する、といったものです。
- マップの設定に基づき、島を生成し、海岸線を浸食し、山岳や火山を追加するなどの仕上げを行います。これらの工程の多くは、地形の配置を決定する際に以前も使用した汎用的なルールセットを応用しています。
- 仕上げが完了すると、六角形のグリッドを重ね、その後マップをゲームプレイレイヤーに移して、タイルの種類、産出物、資源、開始位置などを決定します。
その結果、マップはこれまでよりもはるかに多様で、より自然に見えるようになりました。以前は不可能だったことも、今では当たり前のように起きます。たとえば、本土と遠隔地が南北に位置する場合があります。大陸同士が広い国境を共有したり、小さな地峡でつながっていたり、海によって隔てられたりすることもあります。本土と遠隔地の間に島々が連なる場合もあれば、そうでない場合もあります。島々が一角に集中することもあれば、散り散りに配置されることもあり、さらには合体して大陸規模の超巨大島を生み出す可能性もあります!
ご留意いただきたい点として、私たちは意図的に設定を調整し、"普通"のマップ(自然に感じられ、標準的なゲームプレイが可能なマップ)が約95%の確率で生成されるようにしています。つまり、ごくわずかですが、かなり奇妙なレイアウトが生まれる可能性もあるということです。「シドマイヤーズ シヴィライゼーション」の楽しさのひとつは、ランダム要素のおかげで突飛なスタートや風変わりなマップに出会えることです。もし珍しいマップに出会ったら、ぜひ共有してください!
最も重要なことは、この仕組みによって、開始地点やその周辺を探索している間、世界の形について何の予測もできなくなるという点です。これらの新しいマップでプレイすると、序盤の探検で次のヘックスに何が現れるのかまったく予想がつかないという、あの神秘と興奮を再び感じることができました。
これはまだ序章です
アップデート1.2.5の配信により、新しい手法を用いた「大陸と島」および「パンゲアと島」というマップが追加されます。前者はシングルプレイにおける新しいデフォルトとなります。従来のマップで遊びたい場合も、元の名前のまま引き続き利用可能です。こうした従来のマップは、ばらつきが少ないことでプレイヤー間のバランスを保ちやすいことから、マルチプレイ環境で好まれる場合があります。
マップの刷新作業はまだ始まったばかりです。この技術は当初からカスタマイズ、拡張、そしてモッディングを念頭に置いて構築されました。そのため、今後さらに多くの既存マップタイプの改善、マップオプションや設定の追加が期待できます。そして、モッダーの皆さんに朗報です。ボロノイマップも利用可能です! ゲームファイル内には、公式マップに使用した特定の設定とともに、生成に使われたスクリプトや構成設定が含まれています。この新しい手法を使って、皆さんがどんなマップタイプを生み出すのか楽しみです。
最後に、皆さんが生成したマップをぜひ拝見したいので、SNSや「シヴィライゼーション」公式Discordにどんどん投稿してください。私たちは今回の変更にとてもワクワクしており、皆さんにも楽しんでいただけることを願っています。さらなるマップのアップデートにもご期待ください。それでは、探検をお楽しみください!


