# 06 关卡与地图 本文档定义地图结构、地点模板、探索内容生产方法与推进节奏。新项目地图采用“地点图(Graph)+ 地点内内容容器”的方式:世界是可控的、可叙事的,随机性发生在地点内的遭遇与探索过程中。 ## 6.1 地图结构:地点图(Graph) ### 6.1.1 核心概念 - 地点(Place):玩家可停留并进行行为的节点 - 路径(Edge):连接地点,定义移动成本与途中风险 - 区域(Region):地点集合(例如:地洞区域、村庄周边、森林边缘、避难所外环) ### 6.1.2 地图拓扑建议 - 以基地为中心做“同心层级”: - 第 1 圈:低风险补给点与教学点(1–3 个地点) - 第 2 圈:资源点与第一个交易点(3–6 个地点) - 第 3 圈:高风险废墟与关键剧情点(6–10 个地点) - 第 4 圈:特殊区域(避难所/地铁/污染区)(8–12 个地点) - 每圈至少提供 2 条推进路径,避免“唯一最优路线” ```mermaid flowchart TB H[基地] --- A[低风险补给点] H --- B[教学废墟] A --- C[村庄/交易点] B --- D[城市废墟] C --- E[森林边缘] D --- F[地铁入口] E --- G[避难所外围] F --- G ``` 对应源文件:[map-topology.mmd](./diagrams/map-topology.mmd) ## 6.2 地点设计模板(内容生产标准) 每个地点必须能回答: - 这里有什么(资源、信息、威胁) - 这里为什么值得来(独特收益或任务) - 这里如何与系统交织(状态压力、战斗、制作、交易) ### 6.2.1 必填字段 - 基础信息: - `id/name/desc` - `tags` - `dangerLevel`(0–10) - 行为入口(UI 按入口生成按钮): - `actions`(采集/翻找/休息/交易/制作/调查/潜入等) - 内容容器: - `resourceNodes` - `trashNodes` - `eventPools` - `encounterTable` - `questHooks` - 规则修正: - `modifiers`(例如该地口渴消耗 *1.2,辐射增长 +0.1/min) ### 6.2.2 地点的“独特性”清单 为了避免地点同质化,每个地点至少具备以下之一: - 独有资源(仅此地产出或权重显著更高) - 独有事件(地点专属事件池) - 独有服务(交易品类偏好、修理、情报) - 独有敌人(或精英变体) - 独有推进(主线/支线关键节点) ## 6.3 移动与途中遭遇 ### 6.3.1 移动成本 路径定义: - `travelTimeMin`:基础耗时 - `risk`:途中遭遇修正 - `conditions`:需要的工具/科技/标记 移动时结算: 1. `advanceTime(travelTimeMin)` 2. 计算途中遭遇概率:`baseEncounterChance * risk * envMultiplier` 3. 若触发遭遇:从“途中事件池”抽取(战斗/事件/发现) ### 6.3.2 途中遭遇类型(建议比例) - 事件型(50%):迷路、发现补给、陷阱、陌生人求助 - 战斗型(35%):劫匪、野兽、虫群 - 奖励型(15%):短暂机会(坠毁物、遗留车厢) ## 6.4 地点内探索:资源/垃圾/调查 ### 6.4.1 三类探索入口 - 资源采集(可预测) - 产出稳定,成本稳定,适合规划 - 垃圾翻找(高随机) - 产出随机,可能触发风险事件 - 调查(叙事与线索) - 产出线索/任务进度/地图标记,可能触发剧情战斗 ### 6.4.2 探索次数与枯竭 地点应有“可探索度/热度”概念,避免无限刷: - 每次探索增加 `heat` - `heat` 上升会: - 降低资源与垃圾的期望收益 - 提高风险事件/敌人概率 - 回基地或经过一定时间 `heat` 下降 ## 6.5 区域推进与门槛(Progression Gates) 推进门槛不建议用“纯等级限制”,优先用“能力门槛”: - 工具门槛:需要撬棍/手电/防毒面具/滤水器 - 补给门槛:需要携带足够水(更长路径) - 风险门槛:需要抗辐射药或护甲 - 知识门槛:需要获得线索或完成任务解锁通道 ## 6.6 地点内容池与复用 ### 6.6.1 事件池分层 - `global`:通用事件(任何地点可发生,按标签过滤) - `region`:区域事件(例如森林专属) - `place`:地点专属事件(强化独特性) - `quest`:任务事件(优先级最高,满足条件必触发或权重极高) ### 6.6.2 敌人表分层 同样分层并允许标签过滤: - `globalEncounter` - `regionEncounter` - `placeEncounter` - `eliteEncounter`(条件触发) ## 6.7 探索地图(局部随机)(可选) 若引入“探索地图”(类似一次出行的局部迷宫/格子): - 世界地图负责“去哪儿” - 探索地图负责“怎么搜” 设计要求: - 生成要可重放(seed) - 每张探索地图有: - 入口/出口 - 若干资源点/事件点/敌人点 - 一个“关键点”(宝箱/线索/小 Boss) ## 6.8 地点清单建议(示例骨架) 建议先做一条可完整游玩的推进链(示例): - 基地(Home) - 近郊小路(Road) - 废弃便利店(Store) - 村庄集市(Village Market,交易点) - 城市边缘(City Edge) - 老地铁口(Subway Entrance) - 污染下水道(Sewer) - 避难所外围(Vault Outer) - 避难所入口(Vault Gate,主线关卡) ## 6.9 关卡验收清单(面向可交付) - 每个地点有明确独特性(见 6.2.2) - 每个地点至少有: - 1 个资源节点或 1 个垃圾节点 - 1 个地点专属事件 - 1 个可触发的任务钩子(主线或支线) - 从基地到第一个交易点的推进,不依赖运气也能完成 - 至少两条路线可以进入中期区域(避免单路线卡死)