跳到正文

地图编辑器与社区地图

在游戏里绘制你自己的地图,在征服、突破或联机房间中游玩,并发布到社区地图仓库,让所有人都能取用。

Steel Tide 自带地图编辑器,在其中绘制的每一张地图都会原样进入对局:没有生成器,不会开凿通道,也不会做任何你没要求的整理。一张地图就是一个小文件 .steel-tide-map,同一个文件可以进入征服对局、突破对局、联机房间,以及每个设置界面上“社区地图…”所列出的公开地图仓库。

编辑器

主菜单上的“地图编辑器”即可打开。地图在中间;左侧是用来绘制的工具,右侧是地图本身的信息。

  • 地形:草地、沙地、雪地、道路、废墟、泥地、沼泽、熔岩、浅水与深水、森林、山地,以及四个朝向的崖壁。色块本身就是工具;笔刷有三种大小,另有橡皮擦。森林、山地和崖壁阻挡地面载具,舰船需要水面,只有草地、沙地、雪地和道路能承载建筑,所以基地需要开阔地面。完整表格见地形页
  • 道具:电线杆、水塔、棕榈、帐篷、机库、碉堡、井架和两艘沉没的货轮,逐个放置,指针下有虚影。它们和建筑一样会挡路。
  • 矿藏与出生点是道具面板上的另外两个色块。出生点是阵营指挥部落下的位置,会画出它占用的 4×4 格;一张地图有几个出生点,就能容纳几个阵营。矿藏是采矿站建于其上的矿脉。
  • 兵力:除指挥部以外,阵营开局即拥有的单位和建筑,放置给面板顶部一行中点亮的那个阵营。R 让手中的单位转过八分之一圈。它们在征服模式中落地;任务和突破对局各有自己的开局布置。
  • 地图面板:名称、一两句简介(这是怎样的战斗:玩家在地图旁读到的正是它)、尺寸(随机生成器的四种尺寸,72×64 到 168×140 格;导入的地图边长可在 16 到 256 之间)、网格,以及一份只列出会妨碍游玩或显得不对的问题的读数。在“翻译”下可以用游戏的其他语言给出名称和简介;玩家会以自己游戏的语言看到这张地图。
  • 整理海岸线按照游戏自带地图的方式,沿每一段海岸铺上沙滩。它是一个按钮,从不自动运行。

手中的地图会作为草稿保存,关闭游戏不会丢失。Ctrl+Z 撤销一笔;滚轮缩放;右键拖动平移。

游玩

“导出”写出文件。在征服或突破设置界面上,地图网格的最后一张卡片接收它(“上传地图…”,或把文件拖到网格上),席位数以绘制的出生点为上限。在联机房间中,房主以同样方式上传,每位客人都能看到缩略图。在突破模式中,检查点链条按从第一个出生点出发的行车距离铺设。

编辑器从不检查连通性:画在山墙后面的出生点或矿藏在对局中同样无法到达,读数也不会去找它。真正的检验是打一局试试。

发布

地图仓库是公开的 steel-tide/mapsmaps/ 下每张地图一个文件,游戏在“社区地图…”中列出仓库里的内容,下载最多的排在前面,每张卡片上都有作者名和下载次数。游戏内没有账号,也不会自行发送任何内容;发布就是在那里提交一个拉取请求,需要一个 GitHub 账号。

  1. 给地图起一个自己的名字,写一段简介,并至少绘制两个出生点。编辑器的发布按钮会先运行仓库自己的检查,告诉你还缺什么。
  2. “复制并打开 GitHub”:文件复制到剪贴板,GitHub 在仓库中打开一个已填好文件名的新文件(如有需要请先登录)。如果内容没有出现在编辑框里,请粘贴进去。
  3. “Propose new file”,然后“Create pull request”。CI 会运行同样的检查;合并后索引重建,地图就出现在所有人的“社区地图”里。

检查要求:一个不是 “Untitled” 的名字、一段简介、两个出生点、文件小于 512 KB,以及仓库中没有其他地图使用的名字。要更新地图,用新的拉取请求替换文件即可:下载次数会保留。地图以 CC-BY-4.0 发布,归作者所有。

整个流程也为编程智能体写好了:仓库附带 tools/check.mjs,会打印游戏会报出的每一个错误;node tools/build-index.mjs 显示这张地图在索引中的条目会是什么样。

最后编辑