制作晶矿远征
把同一张地图改造成一项限时任务:180 秒内采集晶矿与研究点,完成两个科技分支及其汇合节点,最后建成收集站。重点是理解“事件驱动目标”,而不只是替换场景外观。
01 · 先试玩成品,再创建自己的工程
在工程 / File → 本机工程打开“晶矿远征 · 采集科技建造”,也可双击包内 Open-CrystalExpedition.cmd。F5 试玩,观察计时、两种资源、三个科技节点和两种建筑。
返回编辑,进入玩法系统 → 新建采集科技样例,生成新的工程 ID。重命名为“我的晶矿远征”,Ctrl+S。下面按制作顺序讲解这个新样例中的每一处关键配置,数值表与随包 CrystalExpedition.nvscene 对照。
新建采集科技样例已经包含本文配置。沿这条路线学习时,请按 ID 选中已有记录核对与修改,不要再次添加相同 ID。文中的“添加”和中途检查点,主要用于下述从防御样例逐步改造的路线。
如果从“新建防御 RPG 样例”改造,也能完成教程:保留场景、武器与敌人,按后续步骤关闭自动波次,移除六波与原八项科技,再建立资源、数值、科技和规则。操作时注意不要留下引用已删除 ID 的前置条件。
02 · 保留舞台,改变目标
沿用 34 个场景对象:56 × 56 平台、中心核心、四个矿点、四个敌人入口及掩体。完整坐标见场景参数对照。
Core 在这里仍提供核心位置与建造范围中心,所以不要因为“不守核心”就删除它。四个矿点的游戏组件为 Resource,矿点资源都设为 ore。四个入口继续使用 EnemySpawn,稍后用于 60 秒巡逻事件。
检查点:F5 能正常移动、采矿,地图上有两种资源显示。两种资源并不需要两种矿点:本案例通过“采集一次 → 发一个研究点”的规则生成 research。
03 · 关闭防御波次,设置 180 秒
进入胜负 / 计时目标,按下表设置。关闭自动波次后,到生成器 / 波次逐项移除六波,确认列表为空。
| 字段 | 本案例填写值 | 原因 |
|---|---|---|
| 启用自动波次生成 | 关 | 不再按六波流程刷怪 |
| 全部波次后获胜 | 关 | 胜利由建造事件决定 |
| 核心损毁判负 | 关 | 这次任务不以核心生存为判负条件 |
| 时间上限 | 180 | 从进入运行中的局开始计时 |
| 时间耗尽动作 | Lose | 到时仍未胜利则失败 |
| 任务目标说明 | 180 秒内采集矿物,研究开采与物流,再建造收集站以完成远征。 | 显示玩家应完成的流程 |
检查点:F5 后显示剩余时间与任务说明,不再显示“下一波入侵”。站着等待会在时间耗尽后失败;仅关闭核心判负并不能保证游戏有结束条件。
04 · 建立两种资源与物流等级
在资源字典保留 ore 并把初始值改为 20;添加 research,显示名称“研究点”,初始值 0。
| ID | 名称 | 初始值 |
|---|---|---|
| ore | 晶矿 | 20 |
| research | 研究点 | 0 |
在数值字典保留六项标准加成,然后添加 Logistics:名称“物流等级”,初始值 0,下限 0,上限 10。注意大小写为大写 L,其余小写。
Logistics 是供规则读取的等级,research 是可消费的钱包。把它们分开,才能让玩家“花 12 研究点,永久得到 1 级物流”。如果把规则条件写成 resource_research >= 2,读到的是剩余研究点,而不是物流科技等级。
检查点:检查配置无重复 ID;开局显示晶矿 20、研究点 0。数值字典中出现 Logistics,初值仍为 0。
05 · 调整采集节奏
到全局参数设置:采矿间隔 1.2 秒、每次收益 8、单矿点储量 240。其余玩家生命 120、速度 7、核心生命 650、建造范围 19 保留。
| 字段 | 值 |
|---|---|
| 玩家生命 / playerHealth | 120 |
| 玩家速度 / playerSpeed | 7 |
| 核心生命 / coreHealth | 650 |
| 建造范围 / buildRange | 19 |
| 采集间隔(秒) / mineInterval | 1.2 |
| 每次基础产量 / mineYield | 8 |
| 单矿点储量 / nodeCapacity | 240 |
玩家需走到矿点 3.2 米内并按住 E。资源不足不会自动远距离采集;矿点耗尽后需要换下一个矿点。四个矿点基础总储量为 960。
检查点:第一次成功采集令晶矿从 20 变成 28。此时研究点仍不增加也正常,因为下一步才配置事件规则。
06 · 用事件把采矿转换为研究点
在事件 → 条件 → 动作添加记录 research_on_mine,名称“采矿产生研究点”。按下表逐项填写。
| 字段 | 值 |
|---|---|
| 唯一 ID / 名称 | research_on_mine / 采矿产生研究点 |
| 触发事件 | 采集资源 / ResourceGathered |
| 事件对象 ID | 留空,匹配任意采集资源 |
| 条件数值 ID | 留空,无额外条件 |
| 执行动作 | 发放资源 / GrantResource |
| 动作目标 ID | research |
| 动作数值 | 1 |
| 仅触发一次 | 关 |
| 提示文字 | 研究点 +1 |
非 Timer 规则的 Timer 间隔保留默认 60 即可,它不会让每次采集等 60 秒。条件为空时,比较与阈值不参与判断,也可保留默认。
这里按有效采集事件次数发研究点,不按晶矿数量。一次得到 8 或 12 晶矿,都只发 1 研究点。因为只触发一次为关,后续采集还能继续得到研究点。
检查点:新局第一次采矿后,晶矿 28、研究点 1;第二次后为 36、2。若只增加一次研究点,检查“仅触发一次”是否误设为开。
07 · 制作两个分支和一个汇合科技
进入通用科技树,建立下面三项。三者效果都是增加数值 / AddStat,前两项前置留空。
| ID / 名称 | 效果 | 目标 | 价格 | 增量 | 全部前置 |
|---|---|---|---|---|---|
| mining / 共振开采 | AddStat | Mining | 60 ore | 0.5 | 无 |
| logistics / 物流控制 | AddStat | Logistics | 12 research | 1 | 无 |
| automation / 远征自动化 | AddStat | Logistics | 160 ore | 1 | mining,logistics |
mining 花费 60 ore,把 Mining 增加 0.5;基础采矿收益从 8 变成 12。logistics 花费 12 research,把 Logistics 从 0 升到 1。automation 花费 160 ore,且同时需要 mining 与 logistics,再把 Logistics 从 1 升到 2。
“全部前置科技 ID”填 mining,logistics,用逗号分隔两个 ID。不要填写中文科技名称。解析器也接受空格和中文逗号分隔,本教程统一使用英文逗号以便核对。
点击查看科技依赖图,应看到两个起点汇入 automation。下面为实际编辑器的依赖图示意,图来自 0.4.0 的玩法界面;教程字段以 0.4.4 与参数表为准。

检查点:只完成 mining 时 automation 仍不可研究;两项都完成且晶矿足够后才可研究。研究 automation 后 Logistics 应达到 2。
08 · 保留两种建筑,给收集站定价
进入建筑 / 防御者,只保留 wall 与 extractor,移除 turret 和 defender。wall 价格 25,extractor 价格改为 100,支付资源均为 ore。
| ID / 名称 | 类型 | 价格 ore | 生命 | 伤害/产量 | 范围 | 间隔 s | 移动 | 占位 |
|---|---|---|---|---|---|---|---|---|
| wall / 合金路障 | Wall | 25 | 350 | 0 | 13 | 0.65 | 0 | 0.9 |
| extractor / 晶矿收集站 | Extractor | 100 | 100 | 8 | 1 | 6 | 0 | 1 |
本案例的 extractor 前置科技字段留空。它可以提前建造,但只有满足下一步条件的建造事件才会完成任务。这个区别用于展示“可建造”与“可完成目标”是两个独立判断。
Extractor 的收益为 8、间隔 6,表示定期生产 8 晶矿。自动生产也会产生 ResourceGathered 事件,因此本案例的研究点规则也会响应它;教程的基础验收路线不提前建收集站,以便核对纯手动采集流程。
建筑只有两项时,快捷键是 3 路障、4 收集站。按 4 选中后,在核心 3–19 米间的空地左键放置;不要站在落点上,不要放在矿点和入口处。右键取消。
09 · 写出真正的胜利规则
在事件 → 条件 → 动作添加 expedition_goal。
| 字段 | 值 |
|---|---|
| 唯一 ID / 名称 | expedition_goal / 物流达标且完成建设 |
| 触发事件 | 建造完成 / BuildingPlaced |
| 事件对象 ID | extractor |
| 条件数值 ID | Logistics |
| 条件比较 / 阈值 | >= / 2 |
| 执行动作 | 判定胜利 / Win |
| 动作目标 ID | 留空 |
| 仅触发一次 | 开 |
| 提示文字 | 远征完成:科技、采矿与自动建设验证成功 |
这条规则把三件事连接起来:事件必须是新建造、建筑必须是 extractor、当时的 Logistics 必须至少为 2。普通路障不能触发通关;物流只有 1 时造收集站也不能通关。
先造好收集站,再完成 automation,不会立刻获胜。规则监听的是建造事件,不是持续扫描地图里是否已有收集站。完成科技后再建一座,才会产生满足条件的新事件。
检查点:Logistics 达到 2 后,保留至少 100 晶矿,再建一座收集站,应立即进入成功界面。若失败,优先核对 extractor、Logistics 的拼写及“应用到工程”是否执行。
10 · 添加任务简报与 60 秒遭遇
添加 start_brief:事件 Start,动作 Message,提示填任务目标说明,只触发一次为开,条件和对象筛选留空。
添加 late_patrol:事件 Timer,间隔 60,动作 SpawnEnemy,目标 crawler,动作数值 3,只触发一次为开,提示“野生守卫进入区域,注意绕行”。
进入角色 / AI选择 crawler,将行为设为 Patrol、伤害改为 5、追击玩家距离改为 4。其余生命 65、速度 2.8、攻击间隔 1.1、攻击距离 1.6 保留。spitter 和 brute 可以保留定义,但此任务没有规则生成它们。
检查点:新局等到 60 秒附近,应从入口生成 3 个 crawler;再等一个 60 秒,不应由同一条规则重复生成。已获胜或失败的局停止推进,不会继续执行遭遇事件。
11 · 核对最终四条规则
| ID | 事件 / 对象 | 条件 | 动作 / 目标 / 值 | 仅一次 | 计时 s |
|---|---|---|---|---|---|
| research_on_mine | ResourceGathered / 不限 | 无 | GrantResource / research / 1 | 关 | 不使用 |
| start_brief | Start / 不限 | 无 | Message / — / 1 | 开 | 不使用 |
| expedition_goal | BuildingPlaced / extractor | Logistics >= 2 | Win / — / 1 | 开 | 不使用 |
| late_patrol | Timer / 不限 | 无 | SpawnEnemy / crawler / 3 | 开 | 60 |
规则顺序与条件请整体检查。当前成品包含四条规则、三项科技、两种资源、七项数值、两种建筑、零个自动波次。关键数据完整列表见参数对照。
12 · 按一条可复现路线验收
先停止旧局再 F5,按下面顺序做,避免混入上一局的状态。这个路线不购买武器、不提前造建筑,也不依赖击杀奖励。
- 开局确认 20 ore、0 research,走到矿点按住 E。
- 采集 5 次后,晶矿达到 60,研究点达到 5;打开 Tab,研究 mining,花掉 60 ore。
- 后续每次基础采集变成 12。累计至少 12 次有效采集后,研究点达到 12,研究 logistics;研究点被消费,Logistics 变为 1。
- 继续采集,存够 160 ore;研究 automation,Logistics 变为 2。
- 再存够 100 ore。矿点耗尽时换下一处,避免只按 E 原地等待。
- 按 4 选收集站,在合法空地左键建造,出现“目标达成 · 挑战成功”。
三项晶矿支出为 mining 60 + automation 160 + 收集站 100 = 320;扣除开局 20,需采得 300 晶矿,另需 12 研究点。按先升级开采的路线,约 27 次有效手动采集可满足这笔预算;单矿点只有 240,因此至少需要换一次矿点。移动、菜单操作、矿点剩余量和战斗会改变用时,不要把它当作固定通关秒数。
反向测试
| 测试 | 应看到的结果 |
|---|---|
| 不研究 logistics,只研究 mining | automation 仍因前置不足而不可研究 |
| 物流等级 1 时造收集站 | 可以建造,但不会胜利 |
| 物流等级 2 时造路障 | 不会胜利,因为对象不是 extractor |
| 等到 180 秒还没完成目标 | 失败 |
| 从 F5 返回编辑,再开新局 | 资源、科技、建筑与计时全部从配置重新开始 |
13 · 改造为自己的采集任务
练习 A:把 extractor 的前置科技设为 automation,让收集站在研究完成前不能建造,减少新手误操作。这是教程建议的变体,不是当前成品的默认值。
练习 B:把 research_on_mine 的事件对象筛选设为 ore,让它只响应晶矿采集。当前示例留空,未来加其他资源节点时会对任何采集事件奖励研究点。
练习 C:把时间上限改为 240,或把 automation 成本从 160 改为 200,分别验证时间压力与经济压力。若想让“已经建好的收集站 + 后来完成科技”也能获胜,需要重新设计事件与状态记录,不能只改提示文字。
14 · 保存与交付
点击检查玩法配置 → 应用到工程,Ctrl+S,再按完整路线验收一次。使用导出或发布流程交付。完整客户端内已带两个工程;单独迁移时下载工程与素材包,确保模型依赖齐全。