地图结构
Jump to navigation
Jump to search
地图结构描述了划分游戏世界的标准:格(tile)和区块(chunk)。格是游戏地图的基本构成单元,是测量距离和面积的单位。区块则是一个32×32格的区域,用于各种基于面积的计算。
格

关于可放置的地格实体,请参见地格。
格是一个正方形区域,定义了游戏世界中的最小面积,游戏地图就是基于格所组成的网格建立的。格是游戏中所有面积和长度测量的基准。实体的大小以格为单位定义,例如:火箭发射井 - 游戏中最大的实体 - 宽9格,高9格,通常记为9×9。因此,实体可能的最小尺寸是1格,即1×1,例如基础传送带和箱子都是这个尺寸。
将格视为长度单位时,面积的单位实际上是"平方格"(格²)。但在玩家社区中通常将面积也简称为"格",或者略有区别的"地格"。
地图的最大尺寸为每边长2千万格的正方形,其中包含40万亿格。在实际游戏中,地图一般包含数十万到数百万格。
对齐网格
几乎所有可放置实体在游戏中都是自动对齐网格放置的。少数例外包括地雷和汽车、坦克、内燃机车、车厢等载具。不与网格自动对齐的非可放置实体包括敌人、树木和地面装饰。

距离示例
与现实世界类比
通常认为游戏中的1格(面积)约等于1平方米。这个测量已在技术上被证明是正确的,可以在游戏中验证。通过汽车进行的测试显示,以208.0千米/小时(57.777米/秒)的速度通过250格的距离需要260刻(4.333秒)。根据这些数据,可以证明57.777 米/秒 ÷ (250 格 / 4.333 秒) ≈ 1 米/格。
区块

区块是一个用于划分地图的单位。每个区块由32×32格(合计1024格)组成,通常也被简称为"块"。
一些游戏机制基于区块运作:
- 在游戏过程中,地图会按区块逐个生成。每位玩家周围20个区块范围内的地图会随时间推移缓慢生成,如果区块被直接探测到且尚未生成,则该区块内的地图会立即生成。
- 玩家、雷达、机器人指令平台、蜘蛛机甲以及远程发射的重炮炮弹会以区块为单位探测地图,并在远程视图中实时更新。
- 污染和孢子
是以区块为单位进行计算和扩散的(这可能导致未探测的区块提前生成)。 - 敌人的扩张以区块为单位计算。
- 撼地虫
的领地以区块为单位进行对齐。 - 敌人的路径规划分为多个阶段,其中第一阶段是基于区块进行运算的。[1]一个意外的效果是,敌人倾向于沿着区块的边界行进。此外,撕咬虫和喷吐虫有时会攻击它们本应绕行的区块边界上的障碍物。
- 为减少计算量,当区块内没有重要事件发生时,整个区块会被设置为非活动状态。例如:只有鲜鱼或闲置敌人活动的区块可能会被标记为非活动区块,这会暂停它们的闲置运动。
可视化网格
可以使用网格视图查看地图结构:
- 网格可以在玩家暂停游戏时显示(默认快捷键SHIFT + 空格)。
- 在 设置->界面 菜单勾选 游戏暂停时显示网格 选项启用此功能。
- 如果需要在游戏运行时显示网格,可以在调试模式中进行设置:
- 按F4键调出"Debug settings"窗口。
- 勾选"always"选项卡中的"show-tile-grid"选项将在游戏中始终显示网格,如果勾选了"debug"选项卡中的相同选项,则只会在调试模式中显示网格。
- 在"debug"选项卡中勾选"show-tile-grid"选项,将在按下F5键启动调试模式时显示网格。这种设置实际上是将F5键作为开启网格视图的快捷键。这在进行规范化的工厂设计(需要整齐对称地放置工厂中的设施)时会非常有用。