为横扫千军制作地图、模组、单位和工具
横扫千军与横扫千军:王国创作者所需的一切:逐字节讲解游戏所用每种文件格式的参考;读写这些格式的工具包 kbot;以及为 Open Annihilation 打包地图、模组、变异器和电脑玩家的指南。
文件格式参考两款游戏所用的每种格式,从压缩包到单位脚本完整目录 ›
每一页都把一种格式的磁盘布局与对应的 kbot 命令配在一起,让你在自己安装的游戏中亲眼查看:文件是什么、逐字节的文件头和数据、读取顺序、一份拆解开的 Cavedog 原版文件,以及需要留意的坑。
容器与封装格式
图形与媒体
GAF
索引色精灵动画(光标、爆炸、单位部件、地图物件)
.gaf .tafTAF / TSF
横扫千军:王国的真彩色(16 位 ARGB)动画——法术特效、爆炸、菜单背景——以及它们可编辑的文本形式
.taf .tsfPCX
ZSoft Paintbrush 位图——单位头像、界面面板,以及 TA:K 的调色板载体
.pcxPAL / ALP / LHT / SHD
256 色调色板(1,024 字节)与颜色查找表:.alp 256×256(65,536 字节),.shd / .lht 32×256(8,192 字节)
.pal .alp .lht .shdFNT
每像素 1 位的可变宽度位图字体
.fntSmacker / ZRB
过场视频(RAD Game Tools 的 Smacker,扩展名改为 .zrb)
.smk .zrbBink
横扫千军:王国的过场视频(RAD Bink 1)——Smacker 的后继者
.bikWAV / 音效
普通 WAV,以及三层音效库的关联方式
.wav地图与地形
单位、脚本与配置
横扫千军:王国界面
教程与参考
kbot 工具包一个命令行工具,覆盖所有格式GitHub 上的 kbot ›
kbot 能打开 HPI、UFO、CCX 和 GP3 压缩包,渲染地图、地图区块、精灵图、调色板和字体,反编译并检查 COB 脚本,解析 TDF 与 FBI 文件,还能把整个游戏安装目录挂载为一个可浏览的文件夹。设置好上下文后,格式参考中的每条命令都能原样运行。
用 Go 安装,然后注册你的游戏文件夹:
go install github.com/coreprime/kbot/cmd/kbot@latest
kbot ctx add ~/games/totala --alias ta --game totala
为 Open Annihilation 制作模组mods.coreprime.net 上的模组制作指南模组制作指南 ›
Open Annihilation 能运行你制作的地图和模组。地图包是一个 .oamap 文件,模组是一个 .oamod,变异器是一个 .oamut,电脑玩家是一个 .oabrain:顶层带清单的 zip,由游戏校验并安装。模组制作指南逐章讲解每一种。
地图包的构成
.oamap 压缩包、它的 oamap.yaml 清单、打包工具写入的地图索引,以及地图的尺寸和要素如何决定它是否适配某个游戏。
02模组的构成
.oamod 压缩包和 oamod.yaml 配置文件:身份、布局、上限、数据键、脚本扩展,以及它启用的标准规则。
03制作变异器
叠在基础游戏或任意模组上的小型 .oamut:文件夹、清单、mutate 返回的计划、选项、沙箱,以及多个变异器叠加时的生效顺序。
04Lua 示例
来自真实包的六份可运行脚本:一条规则、带上限的缩放、按阵营、可以拒绝本局的单位钩子、地物钩子,以及分层文件夹的文件计划。
05移植旧变异器
把 KroggyComm 1.1 从原档案做成包,以及一份 TA: Mutation 规则文件:用 sm 原样保留,或改写成 Lua。
06检查、打包与发布
oa-tool mutator check 与 pack、一次试运行、目录页显示什么、图标,以及如何把包提交给 Core Prime。
07制作大脑
操控一个电脑席位的 .oabrain:文件夹、每一条清单键、标签、级别、全图视野、脚本在何处运行、额度,以及它停下时会怎样。
08大脑的 Lua
Steady Commander 的清单和脚本、钩子、大脑可以知道和做到的事、数值、随机抽取、计时器和聊天。
09Classic,一个完整实例
用 Lua 写成的内置电脑玩家:它的文件、任务表、一个任务、quirk 注记、留在引擎里的部分,以及如何验证它下达的命令与原版完全相同。
10训练所得的网络
大脑为何可能随包带上一个 .oann、整数运算、各层、运行一份、oa-tool brain net、各项限制,以及资料库显示什么。
11检查、打包与发布大脑
oa-tool brain pack 与 check、一场无头对局和一份跟踪记录、资料库的检查与席位日志、目录的 oabrain 类型,以及如何把包提交给 Core Prime。
12标准规则
配置文件可以启用的有文档说明的规则,每条都有键、取值及其来源行为。模拟规则必须在玩家之间一致。
13脚本扩展
配置文件可提供给模组单位脚本的值,例如单位的击杀数或其所有者的同盟关系,以及 COB 脚本如何读取每一项。
14版本号与版本
你的版本号是自由文本,从不排序。packaging.revision 随每次重新打包递增;目录为版本编号。切勿用不同的字节重复使用同一版本号和修订号。
15发布到 Core Prime
检查包、提交给内容库、版本如何出现在目录和每位玩家的资料库中,以及如何运行自己的注册表。