マップ構造
マップ構造 とは、ゲーム世界を標準的な単位であるタイルとチャンクに分割することを表す。 タイルはゲームの構成要素であり、すべての距離と面積の計測の基礎となる。チャンクは32×32のタイルのブロックで、様々な面積計算に使用される。
タイル
タイルとは、ゲーム世界の可能な限り小さな断片を定義する正方形のことである。タイルはすべての面積と距離測定の基礎となる。 エンティティのサイズはタイル単位で定義される。- ゲーム中最大のエンティティであるロケットサイロは幅9タイル、高さ9タイルであり、通常9×9と呼ばれる。したがって、可能な最小のエンティティのサイズは1タイル、1×1である。1×1のエンティティの例としては搬送ベルトやチェストが挙げられる。
マップの最大サイズは1辺200万タイルの正方形で、合計4兆タイルである。実際には、平均的なゲームのマップは数十万タイルからせいぜい数百万タイルの範囲であろう。
タイルグリッドへの整列
ほとんどすべての配置可能なエンティティは、ゲームに配置されたときにタイルグリッドに整列する。例外は地雷と自動車・戦車・機関車・貨車などの乗り物である。 グリッドに整列しない配置不可能なエンティティには、敵・木・装飾が含まれる。
距離の例
- レーダーがカバーする範囲:約200タイル四方(各方向に100タイルずつ。チャンクの境界に合うようになっている)。
- プレイヤーが(強化外骨格モジュールなどの)速度ブーストを与えられずに1000タイル走るのにかかる時間は約1分52秒である。
実世界のサイズの例え
1タイルは、概ね1平方メートルとされる。この測定は技術的に正しいことが証明されており、ゲーム内で確認することができる。
自動車でテストすると、250タイルを時速208.0km(57.777m/s)で移動するのに260ゲームティック(4.333秒)かかる。
このデータを使えば、57.777m/s÷(250タイル÷4.333秒)≒1m/タイル
であることが証明できる。
チャンク
チャンクとは、32×32タイル(合計1024タイル)の大きさのマップの領域または32タイルの距離として定義される単位である。
チャンクは以下のように使われる。
- マップ生成。プレイヤーが移動するとき、レーダーがマップを探査するとき、長距離砲弾が長い距離を飛んでいくとき、マップのチャンクが表示される。
- チャンクは CPU サイクルを節約するために「オフ」にされる。チャンクの中で重要なことが何も起こらない場合(例えば、生魚以外は何も動いていない)、そのチャンクは次のティックでは計算されない。
- 汚染モデルはチャンクに基づいている。汚染は隣接するチャンクに拡散する。
- 敵の拡大はチャンクごとに評価される。ゲームはチャンクを1つずつスキャンし、どのチャンクが拡大先として適切か決定する。適切なチャンクは「候補チャンク」と呼ばれ、相対的な適合度を0から1.0の間のスコアで割り当てられる。その後、スコアの高いチャンクがより頻繁に選ばれるように、サイコロの出目に重みをつけてランダムにチャンクが選ばれる。
ゲーム内でタイルやチャンクを表示する
タイルグリッドを重ねて表示することで、マップがどのように構成されているか見ることができる。
- グリッドは、プレイヤーがゲームを一時停止(デフォルトはShift-Spaceキー)するといつでも表示できる。
- 設定->インターフェース->一時停止中にグリッドを表示で設定できる。
- ゲームがの進行中にグリッドを見るには、デバッグ設定を利用できる。
- F4 キーを押して、デバッグ設定 ウィンドウを表示する。
- グリッドを表示 を 常時 にすると、いつでもグリッドが表示される。デバッグにすると、デバッグモードが有効なときだけ表示される。
- デバッグを選択した場合、F5キーを押してデバッグディスプレイを有効にすると、グリッドが表示される。このようにデバッグモードを設定することで、F5キーをグリッドのオン・オフを切り替える便利なトグルとして使うことができる。