从墨子到灵奕:兵棋推演系统学习指南
周言志从墨子到灵奕:兵棋推演系统学习指南
本文将墨子·未来指挥官的作战规则教学与灵奕智能推演系统的新增特性整合在一起,形成一份从「人指挥打仗」到「写程序代替人指挥打仗」的完整学习指南。作战规则部分以墨子教学 PPT 为底,灵奕新增部分(智能体开发、战前规划、编组作战、防作弊鉴权)以学习指南为底,力求一份文档覆盖全部核心知识。
一、墨子与灵奕是什么关系
墨子·未来指挥官(官网 hs-defense.com)是一套纯人指挥的兵棋——人建想定、人下命令、人对战或打人机。
灵奕智能推演系统(APlatformLobby) 在墨子的作战规则底座上,新增了两条全新主线:
| 维度 | 墨子(旧) | 灵奕(新) |
|---|---|---|
| 对战方式 | 人人 / 人机 | 人人 + 人机 + 智能体(AI 程序)对战 |
| 指挥主体 | 人手动指挥 | 人指挥 或 AI 智能体自动指挥 |
| 推演流程 | 直接开打 | 多了战前规划阶段(倒计时,可移动部署) |
| 单元组织 | 单机/单舰 | 新增编组(飞机编组、编组挂载/构成) |
| 防作弊 | 弱 | HMAC 签名 + 父进程血缘 + LocalSocket nonce 鉴权 |
| 单机引擎 | — | 迁移至 Data/lyengine,支持本地离线推演 |
| 态势同步 | 单向 | 仿真状态(暂停/运行)双向同步给客户端 |
一句话概括:墨子教你「怎么指挥打仗」,灵奕在此基础上让你「写程序代替人指挥打仗」,并补齐了战前部署、编组作战、防作弊这些专业环节。
学习策略:旧 PPT 里的作战规则(任务规划、航线、开火、侦察干扰)90% 仍适用,只需要重点补「智能体开发 + 战前规划 + 编组」这三块新增内容。
二、平台安装与入门
2.1 下载安装
- 安装包可在官网下载:https://www.hs-defense.com/col.jsp?id=105
- 若使用 Edge 浏览器可能遇到安全提示,点击「高级 → 继续访问」即可
- 也可以在 QQ 群中向老队员索取已下载好的压缩包
- 解压到想要存放的文件夹即可
- 灵奕用户注意:若 Windows Defender 拦截,使用
APlatform_SecurityFix.bat处理
2.2 注册与登录
打开安装目录下 duizhanpingtai 文件夹,进入第二个子文件夹,找到 RegisterAndLogin.exe 双击运行。点击注册账号,填入个人信息完成注册。
2.3 添加好友
点击右下角放大镜图标,输入好友的注册手机号或用户名进行查找,选中目标后点击「添加好友」。
2.4 创建房间与加载想定
- 在「大赛训练营」(非大赛期间为「自由推演专区」)中创建房间,房间上限一般 8~12 个
- 点击「创建房间」进入创建页面,房间名称可自由更改
- 点击「加载想定」选择想推演的地图,加载后点击右下角确认
- 可勾选方框设置房间密码
- 双击某一行可切换推演角色
- 勾选「开启导演席」可进入导演席位
- 点击「对战模式」栏右侧倒三角选择对战模式
- 点击「开始对战」即可开启推演
2.5 想定类型
- 公有想定:所有登录用户均可使用,但不能编辑(可右键存为私有想定)
- 私有想定:用户私有,可编辑更改,可共享给好友
- 共享想定:好友之间互相分享
2.6 对战模式
- 人机对战:进入人机想定即可与编辑好任务的人机方对战,追求高分、熟悉单元
- 人人对战:进入人人对战想定,邀请好友或等待加入,追求博弈中的最优解
- 智能体对战(灵奕新增):接入 AI 程序自动指挥,是赛事主流模式
注意:即便是同一张图,人机和人人的想定也会有差别,请勿用人机想定删除任务后开启人人对战。
三、想定编辑
想定编辑功能既可以创建新想定也可以更改现有想定。在大厅建立房间后新建想定,或选择现有想定建立房间并开启编辑模式即可。想定编辑在导演模式下更加高效方便,创建新想定后应设置想定时间。
3.1 想定时间与描述
在编辑模式下进入想定,点击上方「想定编辑」选项:
- 想定时间:点击「想定时间」编辑,确认即可(想定当前时间不得早于想定开始时间)
- 想定描述:点击「想定描述」撰写完成后确认
- 任务简报:在想定编辑窗口中编辑,可通过切换推演方来编辑不同阵营的想定
3.2 添加和导入单元
添加单元:
- 在想定编辑窗口中点击「单元操作 → 添加单元」
- 在地图上选择一个位置单击左键
- 在弹出窗口中选择单元类型、国家和地区缩小查找范围,也可在型号中输入单元型(如 F-16)
- 如果添加的是空中单位,需要选择挂载才能添加到地图上
在载机平台添加飞机:
- 选择一个载机平台(如机场、船舶)
- 在想定编辑窗口中点击「单元操作 → 编辑飞机」
- 设置国家以缩小检索范围,输入型号 → 选择某型号飞机 → 输入呼号和数量 → 添加所选
- 在载机平台的对象信息窗口中点击「载机」,设置飞机挂载,选择「立即出动准备」可省去挂载时间
导入作战部署:
- 在想定编辑窗口中选择「单元导入/导出」
- 点击「导入作战部署」,在部署数据中选择国家、地区,勾选需要的军事设施
- 点击导入,部署单位即可出现在地图上
- 导入作战编制操作同理,但需要在地图上选择作战编制出现的位置
3.3 单位移位、拷贝、重命名
- 位移:选择单位 → 单元操作 → 移动单元 → 点击地图 → 确认坐标 → 确认
- 拷贝:选择单位 → 单元操作 → 复制单元 → 点击地图
- 重命名:选择单位 → 单元操作 → 调整单元名称 → 输入新名称 → 确认
四、任务规划
任务规划是兵棋推演的核心环节,涵盖预警、空战巡逻、地面防空、空对地(海)攻击、地(海)对地攻击、挂载弹药与空中加油等内容。
4.1 预警
预警任务规划步骤:
- 建立参考点并激活
- 建立支援任务
- 将预警机添加进任务,并在电磁管控中使雷达处于打开状态
- 开始推演后,预警机起飞飞到参考点附近盘旋,利用机载预警雷达监视地空态势
4.2 空战巡逻(AAW)
空战巡逻是战机在一定巡逻空域内执行警戒任务的行为。要求尽量出动空优战机执行,必须划定巡逻区域。
规划步骤:
- 建立两个以上参考点并激活
- 创建任务 → 巡逻 → 空战巡逻
- 激活的参考点会自动添加到巡逻区,形成红色巡逻区域
- 分配战机执行任务,战机只会在巡逻区内机动并警戒来犯飞机
4.3 地面防空
地面防空是防空单位(如防空导弹、高炮)拦截敌机的行为。地面防空单位要利用雷达、红外等传感器或目视发现敌机才有机会发射武器。注意:地面传感器对低空飞机探测效率不佳。
规划步骤:
- 建立打击 → 空中拦截任务
- 将地面防空单位添加到任务(可在任务目标清单中添加某一敌机作为优先攻击目标)
- 注意电磁管控设置,大部分地面防空单位需要雷达锁定敌机并引导导弹,要使雷达处于打开状态
- 一旦敌机飞入射程且条件允许,防空单位会自动攻击
4.4 空对地(海)攻击
利用战机挂载对地(海)打击弹药攻击地面或海上单位。对地(海)攻击之前要识别敌人的准确位置,这是精确打击的前提。反辐射武器的被动传感器不需要确定敌人位置,只需敌人开启雷达即可锁定发射。
规划步骤:
- 建立打击 → 对陆打击任务或对海打击任务
- 将对地(海)攻击战机添加到任务中,如有需要可添加空优战机护航
- 添加敌方地面或海上目标
- 我方战机起飞,根据航线飞向目标,当敌人位置被识别并进入武器射程时发射弹药,确认摧毁后返航
4.5 地(海)对地攻击
利用陆基或海基平台发射武器打击地面目标。与空对地打击一样,都需要识别敌人准确位置才能攻击。巡航导弹之类的武器可以制定导弹攻击航线。
规划步骤:
- 建立打击 → 对地打击任务
- 将我方地面或海上打击平台添加到任务中
- 在目标清单中添加敌方地面目标
- 如果目标位置明确且在武器射程内,我方将发射弹药攻击目标,直到目标被摧毁
4.6 挂载与弹药
战场上战机可以挂载各种类型的弹药以满足任务需求。
- 重装时间:空对空弹药需 3 小时,空对地弹药需 6 小时。有些剧本设置了 30 分钟的快速挂载,最多重装 2 次
- 地面/海上单位:武器发射架在发射后也需要装填弹药,各种武器重装时间不同,一般 1 个小时
更换挂载方法:选择载机平台 → 点击载机 → 展开并选择某型号飞机 → 点击出动准备 → 在出动准备窗口中选择挂载方案 → 确认。
查看武器重装时间:选择地面或海上目标 → 点击武器。
4.7 空中加油
利用加油机为战机装填燃料,增加飞行时间。有的战机是软管输油,有的是硬管输油,加油机必须有对应的输油管才能加油。
规划步骤:
- 新建并激活参考点
- 建立支援任务,将加油机添加到任务中
- 注意检查任务中的加油选项
- 加油机起飞飞到参考点盘旋
- 如果战机燃料处于 Bingo 状态,战机会自动飞向最近的加油机进行空中加油
五、事件、触发器与动作
一个事件由触发器和动作组合而成。
- 触发器:玩家设定的特定条件,当想定从不满足变为满足时被触发
- 动作:玩家设定的特定指令,当对应的触发器被触发时执行
5.1 创建触发器
点击「想定编辑 → 触发器」,在弹出窗口下方的下拉框中选择触发器类型(如「单元被摧毁」),点击「创建新触发器」。在编辑窗口中为触发器命名,在触发器设置中逐层确认目标单元至最精确分类,点击确认。
5.2 创建动作
点击「条令规则 → 动作」,在弹出窗口下方下拉框中选择动作类型(如「得分」),点击「创建新动作」。在编辑窗口中为动作命名,在动作设置中设置对应动作(如设置蓝方得 10 分),点击确认。
5.3 创建事件
点击「条令规则 → 事件」,在弹出窗口中点击「创建新事件」。在编辑窗口中为事件命名,勾选「事件启用」使其生效,在下方分别选择对应的触发器和动作并点击添加,完成后确认。
六、战中干预
6.1 侦察和干扰
电子情报设备可以侦测到敌人的雷达波、通信信号,并估算大致位置。侦测时间越长、距离目标越近,估算位置越准确。
电子干扰设备可以干扰敌方传感器,使其无法探测、追踪、锁定我方单位,也会使发射的导弹脱锁或失去引导信号,降低敌人武器命中率。
注意事项:
- 搭载电子情报设备的单位尽量分散部署,从多角度探测敌方电磁设备更准确
- 电子干扰设备既可干扰敌方传感器,也可能被敌人侦测到干扰源而暴露自己
- 搭载这两种设备的飞机都很重要而且很贵,尽量安排战机护卫
侦察操作:
- 通过给作战单元规划航线,控制目标向指定方向进行机动侦察
- 通过手动打开不同传感器(雷达、声纳等)对不同目标进行侦察
干扰操作:
- 选中作战单元,点击右侧传感器按钮
- 在弹出框中勾选电子干扰选项
- 敌方作战单元将被干扰
6.2 机动与返航
航线规划(快捷键 F3):
- 右键单位 → 点击「航线规划」(或选中单位后按 F3)
- 鼠标变成十字准星,点击地图生成导航点,可一次设置多个
- 规划完成后点击右键,鼠标恢复原样,单位就会向导航点行驶
- 清除导航点:再次进入航线规划后点击右键即可清除
- 修改导航点:选择单位后点击并拖拽已生成的导航点
油门与高度:右键作战单位 → 选择「油门高度/深度」→ 在弹出窗口中进行选择
返航:右键点击单位 → 点击「返航」。如需更改降落机场,右键点击单位 → 选择新基地 → 选择可降落的机场
6.3 自动开火与手动开火
自动开火(快捷键 F1):
- 右键选中作战单元
- 选择「攻击作战目标 → 自动接战」,鼠标变成十字
- 左键点击需要攻击的目标,单位会自动飞向攻击目标
手动开火(快捷键 Shift+F1):
- 右键选中作战单元
- 选择「攻击作战目标 → 手动接战」,鼠标变成十字
- 左键点击需要攻击的目标,会弹出窗口
- 选择武器、武器数量等
两者区别:自动开火根据挂载弹药数量自动选择武器;手动开火可以自己调整武器和数量,虽然更麻烦但相较于自动开火更省弹药。
交战规则:武器有四种攻击目标——对空、对海、对潜、对地。交战规则分为自由开火、谨慎开火和限制开火。其中自由开火和谨慎开火是自动开火,限制开火必须手动开火。
6.4 规避
一般情况下,作战单元将要受到攻击时会自动执行规避。点击作战单位,在右侧信息栏中可自行选择是否自动规避。
七、评估与复盘
7.1 消耗和战损
推演过程中的弹药消耗和单位损失。在「推演控制面板 → 战损+消耗」查看:
- 战损表:显示损失的单位
- 消耗表:显示消耗的弹药
- 其他统计:显示死亡人数和经济损失
7.2 评分
推演方的得分、丢分情况。在「推演控制面板 → 评分」查看:
- 评估:显示某方推演成绩
- 战损与消耗:显示推演方的损失单位和消耗弹药情况
- 评分记录:显示推演方得分、丢分的原因
7.3 存盘
在推演过程中点击「文件控制」栏下的「保存想定」按钮,可以保存当前态势。
八、辅助工具
8.1 距离度量
按住 Ctrl+D(测量距离快捷键),点击地图上起测点,再点击测量终点,将会出现黄色直线和距离显示框。
8.2 地图标绘
在地图标准栏提供了 14 种常用标注符号,可根据需要使用。
8.3 使用手册与快捷键
- 快捷键查询:点击帮助栏下「热键」按钮
- 使用手册查询:点击帮助栏下「使用手册」(灵奕的智能体 SDK 接入说明也在此处)
九、灵奕新增特性(重点学习)
以下内容是灵奕相对于墨子的新增部分,也是从「人指挥」迈向「AI 指挥」的关键。
9.1 智能体开发框架
这是灵奕和墨子最大的区别。灵奕允许你写一个 AI 程序(智能体)接入推演引擎,让它自动接收态势、自动决策、自动下命令。
技术要点:
- 引擎叫 lyengine(单机引擎在
Data/lyengine目录) - 有「智能体调度」机制:智能体每帧向引擎请求当前帧态势,引擎再回传
- 支持比赛进度改变时主动把状态推送给智能体
- 启动智能体时需要指定推演引擎默认路径
开发步骤:
- 进软件后找「使用手册」(帮助栏 → 使用手册),里面有智能体 SDK 的接入说明和 API
- 智能体一般用 Python 开发,核心循环包括:
- 接收态势:敌我位置、状态、油弹
- 态势评估:威胁判断、目标分配
- 决策输出:下命令(航线、开火、规避、电磁管控)
- 状态同步:处理暂停/运行信号
- 先跑官方示例智能体,再改自己的决策逻辑
具体函数名和 API 务必在软件「使用手册」里查,或问协会老队员要 SDK 包,不要凭猜测写。
9.2 战前规划阶段
灵奕在「开始对战」和「正式推演」之间插入了一个战前规划阶段:
- 进入后有一段倒计时
- 倒计时期间可以移动地面移动装备、调整部署(墨子开打前不能动)
- 倒计时归零后才进入正式推演(
getDeduceState()从战前E_DS_BEFOREDECUDE→ 正式)
战术意义:你能在开打前抢占有利阵位、把防空前推、把坦克展开。别浪费这个窗口,它往往决定开局优劣。
更新日志里反复修过一个 Bug(战前规划结束后仍能移动单元),说明这个阶段边界很重要——倒计时一结束就老老实实进入推演。
9.3 编组(飞机编组)
灵奕新增了「编组」概念,主要针对飞机编组:
- 编组构成:一个编组由哪些单元组成
- 编组挂载:编组整体的武器挂载方案
- 编组类型:不同类型编组行为不同
- 飞机编组的右键菜单特殊:可选择基地、返回基地、取消返航
- 编组可设置禁用手操、禁用右键、禁用空中航线规划(导演席/规则控制)
和墨子的区别:墨子里飞机一架一架独立指挥;灵奕里把多架飞机编成一个编组统一指挥,更适合 AI 批量决策——智能体下发一条编组命令,多机协同执行。
9.4 防作弊鉴权
灵奕加了严格的启动鉴权,参加正式比赛必须知道:
- HMAC 签名:启动参数带签名,篡改就拒
- 父进程血缘:检查是谁拉起你的程序(防止注入)
- LocalSocket nonce:本地套接字一次性令牌
- 检测到调试器附加会直接跳过校验并(发布版)弹「启动参数校验失败」
含义:自己开发智能体时别想着 hook/调试绕过引擎,老老实实走 SDK 接口。非发布版(DEV_RELEASE)才提示,正式版静默退出。
十、推荐学习路径(分三周)
第一周:把灵奕当墨子用,熟悉差异
- 装好灵奕(用
APlatform_SecurityFix.bat处理 Defender 拦截) - 照旧 PPT 流程:注册 → 加好友 → 建房 → 加载想定 → 开打
- 重点体验战前规划阶段:观察倒计时、试着移动地面单位
- 试用编组:把几架飞机编成编组,对比单架指挥的区别
- 看一遍软件内「使用手册」和「热键」
第二周:学智能体开发
- 找协会要智能体 SDK 和示例代码(Python)
- 跑通官方最简智能体:能连上引擎、收一帧态势、打印出来
- 逐步加决策:
- 先做「被动决策」:雷达管控、自动规避、限制开火规则
- 再做「主动决策」:航线规划、任务分配、目标优先级
- 用人机想定测试你的智能体(追求高分)
第三周:对抗与优化
- 让你的智能体和人打,看哪里决策蠢
- 让你的智能体和官方 AI / 队友智能体打
- 重点优化:
- 态势评估:威胁排序、目标价值
- 资源管理:油弹消耗、挂载重装时间(空空 3h / 空地 6h,快速挂载 30min × 2 次)
- 编组协同:编组内分工(护航/打击/电子战)
- 战前部署:利用战前阶段抢占阵位
十一、实战要点速查
通用作战原则:
- 先侦察后打击:「识别准确位置」是精确打击前提,反辐射武器除外(只需敌人开雷达)
- 电磁管控是双刃剑:开雷达 = 看得远 = 也容易被电子情报定位;电子干扰 = 干扰敌人 = 也暴露自己
- 电子情报/干扰机要分散+护航:贵且重要,多角度探测更准
- 地面防空对低空差:别指望它拦超低空突防
- 挂载重装有时间成本:空空 3h、空地 6h,关键节点别乱打光弹药;快速挂载只有 2 次
灵奕特有要点:
- 战前规划别浪费:开打前把防空前推、飞机挂载就绪(载机平台选「立即出动准备」省挂载时间)
- 编组作战:用编组统一指挥,AI 下发效率高;注意编组禁用规则
- 智能体帧率:请求态势别太频繁(引擎有调度),决策要做事件驱动+定时混合
- 状态同步:处理好暂停/运行信号,别在暂停时下命令浪费
- 防作弊:比赛环境别调试附加、别改启动参数,会直接踢
十二、资料获取
- 软件内使用手册 + 热键(最权威,务必先看):帮助栏
- 协会老队员/学长:要智能体 SDK、示例代码、历年赛事想定(QQ 群)
- 更新日志
更新日志.txt:每次更新的功能点,反推系统特性 - 公开网络资料极少(灵奕是封闭赛事平台),别浪费时间搜,以软件内文档和协会内部资料为准
写在最后
作战规则看旧 PPT,新增功能(智能体/战前/编组)看软件手册和更新日志,实战经验靠协会。先把「灵奕当墨子用熟」,再上智能体。兵棋推演的魅力在于——它既考验你对作战规则的理解深度,也考验你将战术思维转化为代码逻辑的能力。从手动指挥到智能体指挥,不只是工具的升级,更是思维方式的跃迁。
