This commit is contained in:
huangjun
2026-08-30 07:48:19 +08:00
commit 42ad134759
551 changed files with 68412 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
# 游戏概述
> 状态:草案
## 一句话说明
一款 2D 搜打撤游戏。玩家进入固定结构的瓦片地牢,搜索物资、与敌人进行多对多回合制战斗,并将成功带出的物品存入局外主仓库。
## 玩家要做什么
- 在地牢房间中移动并搜索物资。
- 观察或应对敌人的警惕与追击。
- 接触敌人后进入回合制战斗。
- 找到本局开放的撤离点并带走背包内容。
## 最重要的体验
- 探索固定地图时,由随机分布带来的变化。
- 主动接敌取得先制优势,或被警惕后的敌人追击。
- 在继续搜索和安全撤离之间做选择。
## 游戏视角与操作方式
- 局内使用 2D 瓦片地图。
- PC 端通过 WASD 控制玩家移动。
- 局外没有可移动地图,所有局外功能集中在 UI 中。
## 队伍规模
- 新存档直接拥有全部 4 名玩家角色。
- 玩家队伍最少出战 1 人、最多出战 4 人,实际出战人数由玩家在出战前自行决定。
- 敌人队伍人数上限为 4 人,实际参战人数由敌人队伍预设决定。
## 单局时限
- 单局时间上限为 25 分钟。
- 在 25 分钟时限内,玩家可以随时选择前往本局开放的撤离点撤离。
- 达到 25 分钟上限时仍未成功撤离,直接判定为撤离失败,只保留保险箱中的物品。
## 局外 UI
首版至少包含以下功能:
- 仓库:新存档的主仓库为空。
- 战备:配置出战角色,以及配置携带进入地图的物品。
## 暂时不做
- 原型阶段不制作多张地图。
- 不随机生成房间和连接结构。
- 不制作局外可移动场景。
- 首版不实现携带物品在地图内的特殊作用,例如钥匙卡、战斗道具等。
## 还没决定的问题
暂无。
+72
View File
@@ -0,0 +1,72 @@
# 核心循环
> 状态:草案
## 完整循环
`局外 UI 整备 → 进入固定地牢 → 搜索物资与接触敌人 → 回合制战斗 → 继续探索 → 成功撤离、死亡或超时 → 结算后返回局外 UI`
## 出发前
玩家在局外 UI 中完成进入地图前的操作:
- 配置出战角色。
- 配置携带进入地图的物品。
- 在战备功能中选择本局难度。
- 允许玩家输入本局使用的随机数。
## 进入地图后
- 地图的房间和连接结构固定。
- 使用玩家输入的随机数初始化本局随机生成器。
- 每次进入地图时,根据随机数与难度确定性构建物资点和怪物分布。
- 开始探索前,一次性生成并保存所有物资点中的物品数量、稀有度和具体物品;单局过程中不会重新生成物资点内容。
- 根据本局随机数,从预设撤离点中决定一个开放点位。
- 开局生成完成后,敌人 AI、逃跑判定和敌人掉落等运行时随机继续沿用本局随机生成器。
- 进入地图后,在游戏 UI 上显示本局使用的随机数。
## 搜索与遭遇
- 玩家通过 WASD 在房间之间移动并搜索物资。
- 敌人具有警惕值;警惕值满后会追击玩家。
- 玩家与敌人接触后进入战斗。
- 玩家在敌人警惕值未满时主动进入战斗,可以获得第一轮的先制优势。
## 单局计时
- 单局时间上限为 25 分钟。
- 正常探索和打开背包时,单局计时继续。
- 进入回合制战斗后,单局计时暂停。
- 打开菜单时进入暂停页面,单局计时暂停。
- 达到 25 分钟上限时仍未成功撤离,直接判定撤离失败,只保留保险箱中的物品。
## 战斗结束后
- 战斗胜利后,触发战斗的地图敌人消失。
- 该敌人有概率在地图上掉落部分物品。
- 玩家回到进入战斗前所在的位置。
- 未在战斗中阵亡的玩家角色将当前 HP 和 MP 原样带回探索。
- 只要战斗不是以全员阵亡结束,所有在本场战斗中阵亡的玩家角色都以 1 点 HP 和 1 点 MP 返回探索。
- 战斗中的状态不会带回探索。
- 其他地图敌人的警惕和追击状态保持不变。
## 撤离或死亡
- 本局开放的撤离点在时限内可以随时使用。
- 单局计时达到 20 分钟时,通过小地图 UI 标记本局开放的撤离点并提醒玩家。
- 与本局开放的撤离点交互后立即成功撤离。
- 成功撤离时,背包内的全部内容进入主仓库。
- 玩家死亡时,只保留保险箱内的内容。
## 回到局外后
局外以完整 UI 形式存在。成功撤离的背包内容进入主仓库;死亡结算只保留保险箱内容。
## 玩家最主要的风险选择
- 是否在敌人警惕值未满时主动接敌,以换取先制优势。
- 获得物资后继续探索,还是前往本局开放的撤离点。
## 还没决定的问题
暂无。敌人掉落物品的具体概率和内容在物品设计中确定。
+158
View File
@@ -0,0 +1,158 @@
# 单局探索
> 状态:草案
## 一局如何开始
- 加载唯一一张固定结构的瓦片地图。
- 玩家输入本局随机数,并在战备时选择难度。
- 使用玩家输入的随机数初始化本局随机生成器。
- 难度决定地图出怪时使用的怪物池,具体怪物池内容在后续配表阶段确定。
- 使用随机数与难度,确定性构建本局的物资点和怪物分布。
- 开始探索前,一次性生成并保存所有物资点中的物品数量、稀有度和具体物品。
- 使用本局随机数,从地图预设的撤离点中决定一个开放点位。
- 完成开局生成后,敌人 AI、逃跑判定和敌人掉落等运行时随机继续沿用本局随机生成器;已经生成的物资点内容不会改变。
- 进入地图后,在游戏 UI 上显示本局随机数。
## 地图的基本形式
- 原型阶段只制作一张地图。
- 地图类似地牢,由多个互相连接的房间组成。
- 房间结构和连接关系固定,不参与随机生成。
- 整张地图在进入单局时一次性加载,房间只用于划分地图区域,不进行分房间流式加载。
## 玩家如何移动
- PC 端通过 WASD 控制队长在瓦片地图中移动。
- 所有出战角色都会在地图中跟随队长。
- 地图中的移动、敌人接触等碰撞判定由队长负责。
## 玩家如何搜索
### 物资点内容生成
- 不使用统一物资池直接决定物资点内容。
- 每种物资点针对每个难度,分别配置刷新道具数量和各稀有度的刷新权重。
- 进入单局并构建物资点内容时,先随机本次刷新的道具数量。
- 每个道具先根据稀有度权重随机稀有度,再从对应稀有度的道具集合中随机具体道具。
- 以上随机过程使用本局随机数,保证相同随机数与难度能够复现相同结果。
- 物资点内生成道具的搜索顺序固定,暂停和恢复搜索不会改变顺序。
### 搜索与逐件掉落
- 玩家对地图上的物资点长按交互进行搜索。
- 搜索过程中禁止玩家移动。
- 玩家提前松开交互键时,保留当前搜索进度。
- 搜索过程中与敌人碰撞时,立即中断搜索并进入战斗,同时保留当前搜索进度。
- 每件物品根据自身稀有度提供一段搜索耗时。
- 物资点的总搜索时间,等于其中所有物品搜索耗时之和。
- 物品按照搜索顺序逐个出现;第 N 件物品的出现时间,等于前 N 件物品搜索耗时的累计值。
- 每件物品达到对应累计时间后,从物资点掉落到地图上,不需要等整个物资点搜索完成。
搜索时间示例:
| 物品 | 单件搜索耗时 | 累计出现时间 |
| --- | --- | --- |
| 白色物品 | 0.2 秒 | 0.2 秒 |
| 绿色物品 | 0.4 秒 | 0.6 秒 |
| 红色物品 | 1.0 秒 | 1.6 秒 |
- 示例物资点的总搜索时间为 `0.2 + 0.4 + 1.0 = 1.6` 秒。
### 拾取与持久化
- 已经从物资点掉落的物品进入等待拾取状态,不会因停止搜索或进入战斗而消失。
- 玩家靠近掉落在地图上的物品并按下交互键,物品进入背包。
- 物资点内全部物品都已掉落后,该物资点禁止再次交互。
- 玩家离开房间后,未拾取物品、物资点搜索进度和已搜索完成状态继续保留。
## 如何触发遭遇
- 敌人在所属房间内巡逻。
- 每个敌人拥有独立的警惕值。
- 敌人的正面视野范围为 180 度;玩家位于敌人背后时,不增加该敌人的警惕值。
- 玩家位于敌人正面视野内时,警惕值随时间增加;距离越近,增加速度越快。
- 首版不实现墙体对敌人视野的遮挡。警惕判定只考虑正面角度与距离,因此允许隔墙增加警惕值。
- 正面视野的最大距离、不同距离对应的警惕值增长速度,以及脱离视线后的下降速度,都由敌人的威胁等级决定。
- 玩家脱离敌人视线后,警惕值按照该威胁等级配置的固定速度下降。
- 警惕值满后,敌人开始追击玩家。
- 敌人不能追出所属房间。
- 敌人丢失玩家目标 3 秒后停止追击并返回巡逻。
- 所有战斗都由玩家与敌人发生碰撞触发,不需要额外的攻击或交互操作。
- 发生碰撞时,如果敌人警惕值未满,则进入先制战斗,第一轮所有玩家角色优先于所有敌人行动。
- 发生碰撞时,如果敌人警惕值已满,则按普通规则进入战斗。
- 每个地图敌人代表一个预设敌人队伍。
- 附近的其他地图敌人不会加入同一场战斗。
## 战斗结束后
- 战斗胜利后,触发战斗的地图敌人消失,并有概率在地图上掉落部分物品。
- 玩家回到进入战斗前所在的位置。
- 未在战斗中阵亡的玩家角色将当前 HP 和 MP 原样带回探索。
- 只要战斗不是以全员阵亡结束,所有在本场战斗中阵亡的玩家角色都以 1 点 HP 和 1 点 MP 返回探索。
- 战斗中的状态不会带回探索。
- 其他地图敌人的警惕和追击状态保持不变。
- 逃跑结束返回地图后,队伍获得 2 秒保护;保护期间敌人不会增加警惕值、不会追击,也不会触发战斗。
- 保护时间结束时,如果队长仍与敌人发生碰撞,则允许立即再次进入战斗。
## 局内限制或压力
- 单局时间上限为 25 分钟。
- 正常探索、搜索物资和打开背包时,单局计时继续。
- 进入回合制战斗后,单局计时暂停。
- 打开菜单时进入暂停页面,单局计时暂停。
- 局内压力主要来自时间上限,以及敌人的警惕与追击。
## 如何撤离
- 地图中预先标记多个撤离点。
- 每局根据随机数只开放其中一个撤离点。
- 本局开放的撤离点在时限内可以随时使用。
- 单局计时达到 20 分钟时,通过小地图 UI 标记本局开放的撤离点并提醒玩家。
- 玩家面向开放的撤离点进行交互后,立即视为成功撤离。
## 死亡与结算
- 成功撤离时,背包中的全部内容进入局外主仓库。
- 玩家死亡时,只保留保险箱中的内容。
- 达到 25 分钟上限时仍未成功撤离,判定撤离失败,只保留保险箱中的物品。
## 最少需要显示的信息
- 地图中的撤离点标记。
- 游戏 UI 显示本局使用的随机数。
- 单局剩余时间常驻显示。
- 游戏包含小地图 UI;单局计时达到 20 分钟时,在小地图上标记本局开放的撤离点。
- 长按搜索时,在物资点上显示整个物资点的搜索进度条。
- 每个敌人头顶显示警惕图标,使用 Unity `Image.fillAmount` 表示当前警惕值。
- 警惕值越高,图标填充越多;警惕值满时,整个图标变为红色。
## 原型验收
- [ ] 不同单局中的房间结构和连接关系保持不变。
- [ ] 整张地图只加载一次,离开房间不会卸载该房间的状态与物品。
- [ ] 相同随机数与难度生成相同的物资点和怪物分布。
- [ ] 进入地图时一次性生成所有物资点内容;之后的运行时随机不会改变已经生成的物品数量和种类。
- [ ] 物资点能够按照“随机数量、随机稀有度、随机具体道具”的顺序生成内容。
- [ ] 长按搜索物资点时玩家无法移动,物品能够按照累计搜索时间逐个掉落到地图。
- [ ] 主动停止搜索或被战斗打断后,搜索进度和已经掉落的物品都能保留。
- [ ] 物资点搜索完成后禁止再次交互,离开房间后未拾取物品仍然存在。
- [ ] 靠近地图物品并按交互键后,物品能够进入背包。
- [ ] 所有出战角色跟随队长,地图碰撞由队长负责。
- [ ] 敌人在房间内巡逻,并为每个敌人独立维护警惕值。
- [ ] 玩家位于敌人背后的 180 度范围时不增加警惕值;位于正面时,距离越近警惕值增加越快。
- [ ] 首版允许敌人隔墙增加警惕值,警惕判定不计算墙体遮挡。
- [ ] 玩家脱离视线后,警惕值能够按照固定速度下降。
- [ ] 敌人警惕值满后能够追击玩家,并在接触时进入战斗。
- [ ] 敌人不能追出所属房间,丢失目标 3 秒后能够返回巡逻。
- [ ] 警惕值未满时发生碰撞进入先制战斗,警惕值满时发生碰撞进入普通战斗。
- [ ] 一个地图敌人只触发自身代表的预设敌人队伍,附近敌人不会加入战斗。
- [ ] 非全员阵亡的战斗结束后,阵亡角色以 1 点 HP 和 1 点 MP 返回探索。
- [ ] 逃跑后的 2 秒内敌人不追击且无法进入战斗;保护结束时仍重叠则可以立即再次战斗。
- [ ] 敌人头顶警惕图标能够通过 `Image.fillAmount` 反映警惕值,并在警惕值满时变红。
- [ ] 单局剩余时间常驻显示,搜索时物资点显示整体搜索进度条。
- [ ] 随机数能够确定本局开放的撤离点,交互后能够完成撤离。
## 还没决定的问题
暂无。怪物池内容、各物资点在不同难度下的刷新配置,以及各威胁等级的警惕数值留到后续配表阶段确定。
+133
View File
@@ -0,0 +1,133 @@
# 回合制战斗
> 状态:草案
## 战斗如何开始与结束
- 所有战斗都由队长与地图敌人发生碰撞触发。
- 碰撞时敌人警惕值未满,进入先制战斗。
- 碰撞时敌人警惕值已满,按普通规则开始战斗。
- 进入回合制战斗后,单局计时暂停。
- 战斗在敌方全部阵亡、所有仍在战斗中的玩家角色全部阵亡,或所有出战角色均成功逃跑时结束;单个角色逃跑不会立即结束战斗。
## 参战单位
- 战斗采用类似 OMORI 的多对多形式。
- 玩家队伍人数上限为 4 人,实际出战人数由玩家在战备时决定。
- 敌人队伍人数上限为 4 人,实际参战人数由地图敌人对应的队伍预设决定。
- 一个地图敌人只代表一个预设敌人队伍,附近其他地图敌人不会加入战斗。
## 回合顺序
- 战斗按轮进行。
- 每一轮中,每个角色只能获得一次行动机会。
- 普通情况下,每次行动结束后,从本轮尚未行动的角色中,根据当前速度值实时决定下一位行动者。
- 战斗中的速度变化会立即影响下一位行动者的选择,不等待下一轮重新排序。
- 速度值相同时,玩家角色优先于敌人行动。
- 同一阵营内的多个角色速度相同时,按照角色加入当前队伍的顺序行动;敌人使用队伍预设中的成员顺序。
- 已经在本轮行动过的角色不会因为速度发生变化而再次行动。
- 先制战斗的第一轮中,先从所有尚未行动的玩家角色中按当前速度选择下一位;所有玩家角色完成行动后,才轮到敌人。
- 先制战斗从第二轮开始恢复为双方按照速度值共同排序。
- 轮到玩家角色时,才选择该角色本次行动,不在回合开始时预先选择全部玩家行动。
- 角色死亡、眩晕或因其他原因无法行动时,跳过该角色本轮的行动机会。
## 每回合可以做什么
轮到某个玩家角色时,由玩家选择该角色的行动和目标,然后立即执行。玩家角色的基础行动包括:
- 攻击。
- 技能。
- 道具:保留行动类型,首版暂不实现具体功能;后续只能使用战斗前装备在道具专属栏位中的道具。
- 逃跑。
战斗中不能打开共享背包或保险箱,也不能在战斗中调整保险箱内容。
## 攻击与技能
- 普通攻击、技能和其他行动采用类似 OMORI 的选择方式。
- 每个具体行动自行定义目标选择方式。
- 行动可以根据自身规则决定 MP 的消耗或变化。
- 角色基础属性、普通攻击、每名角色的 1 个技能、目标方式、MP 消耗和具体数值效果全部由后续配表确定,不在本文档固定数值。
## 伤害、治疗与状态
- 首版使用简单的数值加减处理伤害、治疗和战斗状态效果,不引入复杂计算公式。
- 战斗结束时,未阵亡的玩家角色保留当前 HP 和 MP。
- 只要战斗不是以全员阵亡结束,所有在本场战斗中阵亡的玩家角色都恢复为 1 点 HP 和 1 点 MP。
- 战斗中的状态不会带回探索。
## 敌人如何行动
- 轮到敌人时,由敌人 AI 从当前可用的行动和合法目标中随机选择并执行。
- 敌人 AI 的随机选择使用本局随机生成器。
- 后续将敌人决策抽象为接口,以支持不同敌人使用不同的行为逻辑。
## 胜利、失败与逃跑
- 所有敌人全部阵亡时,战斗胜利。
- 所有玩家角色全部阵亡时,战斗失败并判定本局游戏失败,只保留保险箱内容。
- 逃跑是单个玩家角色在自己行动时选择的行为,不是全队统一行动。
- 逃跑通过概率判定是否成功,并使用本局随机生成器。
- 每次选择逃跑都会消耗该角色本轮的行动,无论逃跑成功还是失败。
- 逃跑判定失败时,角色留在当前战斗中。
- 角色成功逃跑后离开当前战斗,但不视为阵亡。
- 如果至少一名角色成功逃跑,其他角色之后全部阵亡,则当前战斗失败,但本局游戏不失败。
- 只有所有玩家角色全部阵亡,才判定本局游戏失败。
- 如果所有出战角色均成功逃跑且没有角色阵亡,战斗以逃跑结束,本局游戏继续。
- 如果部分角色成功逃跑、其余角色全部阵亡,战斗以失败结束,但本局游戏继续。
## 逃跑后的地图恢复
- 角色成功逃跑时,先从当前战斗中移除;战斗结束后,队伍回到进入战斗前所在的位置。
- 成功逃跑角色的 HP 和 MP 保持其逃跑时的数值。
- 只要本场战斗不是以全员阵亡结束,阵亡角色返回探索后的 HP 和 MP 都设置为 1。
- 返回探索时清除本场战斗产生的状态。
- 返回地图后的队伍获得 2 秒保护时间。
- 保护期间,敌人不会因玩家移动增加警惕值、不会追击玩家,玩家与敌人发生碰撞也不会进入战斗。
- 2 秒保护结束时,如果队长仍与敌人发生碰撞,则允许立即再次进入战斗。
- 触发本场战斗的地图敌人不会消失,战斗结束后恢复正常地图行为。
- 之后再次与该地图敌人进入战斗时,敌人队伍从队伍预设的初始状态重新创建。
- 上一场战斗中已经阵亡的敌人和其他战斗状态都不会带入下一场战斗;例如预设包含 4 个敌人时,即使上次击败其中 2 个后逃跑,再次进入战斗仍然面对完整的 4 个敌人。
## 战斗胜利后
- 触发战斗的地图敌人消失,并有概率在地图上掉落部分物品。
- 玩家回到进入战斗前所在的位置。
- 未阵亡角色保留当前 HP 和 MP;本场战斗中阵亡的角色以 1 点 HP 和 1 点 MP 返回。
- 其他地图敌人的警惕和追击状态保持不变。
## 最少需要显示的信息
- 我方队伍所有角色的生命值与魔力值。
- 当前回合的行动顺序;速度发生变化后,显示内容随下一位行动者的实时结算更新。
- 所有敌人的生命值条。
- 轮到玩家角色时,显示该角色的行动选项和对应的目标选择。
## 原型验收
- [ ] 一场战斗能够同时包含多个玩家角色和多个敌人。
- [ ] 玩家与敌人队伍上限均为 4 人,并能按照出战配置和敌人队伍预设创建参战队伍。
- [ ] 普通轮次中,每个角色只行动一次;每次行动后按当前速度实时决定下一位行动者。
- [ ] 速度相同时玩家角色优先,速度变化能够立即影响尚未行动角色的顺序。
- [ ] 同阵营角色速度相同时按照加入队伍的顺序行动。
- [ ] 死亡、眩晕或无法行动的角色会跳过本轮。
- [ ] 轮到玩家角色时才显示并处理该角色的行动选择。
- [ ] 先制战斗第一轮中,所有玩家角色都排在所有敌人之前。
- [ ] 先制战斗第二轮开始恢复普通速度排序。
- [ ] 玩家能够选择攻击、技能和逃跑;道具行动保留但首版不实现。
- [ ] 战斗中不能打开共享背包或保险箱;后续战斗道具只能来自预先装备的道具专属栏位。
- [ ] 敌人能够随机选择可用行动和合法目标。
- [ ] 敌人全部阵亡时战斗胜利,我方全部阵亡时战斗与本局游戏失败。
- [ ] 单个角色能够成功逃跑;只要存在成功逃跑的角色,本局游戏就不会因其他角色阵亡而失败。
- [ ] 逃跑能够按照配置的成功率进行概率判定,失败时角色继续留在战斗中。
- [ ] 逃跑尝试无论成功或失败都会消耗角色本轮行动。
- [ ] 逃跑后返回战前位置并获得 2 秒保护,保护期间不会增加警惕值或再次进入战斗。
- [ ] 逃跑角色保留逃跑时的 HP/MP,部分失败中的阵亡角色以 1 点 HP 和 1 点 MP 返回探索。
- [ ] 任何非全员阵亡的战斗结束后,本场阵亡角色都以 1 点 HP 和 1 点 MP 返回探索。
- [ ] 逃跑后地图敌人恢复正常行动,再次战斗时按照完整的初始队伍预设创建敌方队伍。
- [ ] 2 秒保护期间敌人不增加警惕、不追击且不能进入战斗;保护结束后仍重叠则立即允许再次战斗。
- [ ] 战斗界面显示我方 HP/MP、行动顺序和敌人生命值条。
## 还没决定的问题
暂无。逃跑成功率的具体数值,以及是否受角色或战斗属性影响,留到后续配表阶段确定。
+118
View File
@@ -0,0 +1,118 @@
# 物品与成长
> 状态:草案
## 物品分成哪些类型
- 战利品。
- 装备。
- 消耗品。
物品稀有度分为 5 档:
- 白色。
- 绿色。
- 蓝色。
- 金色。
- 红色。
## 战利品从哪里获得
- 物资点根据“物资点类型 × 难度”配置刷新道具数量和各稀有度的刷新权重。
- 生成物资点内容时,先随机道具数量,再逐个随机稀有度,最后从对应稀有度的道具集合中随机具体道具。
- 物资点内的物品通过长按搜索逐件掉落到地图,再由玩家靠近并交互拾取。
- 战斗胜利后,敌人有概率在地图上掉落物品。
- 敌人使用独立掉落表,不与物资点共用配置数据;掉落表的数据结构和生成步骤与物资点一致。
## 背包有什么限制
- 全队共用一个背包。
- 背包采用固定格子容量,共 30 格。
- 物品允许堆叠,每种物品单独配置自己的堆叠上限。
- 背包已满时显示“背包已满”提示,并拒绝拾取该物品。
## 保险箱
- 全队共用一个保险箱。
- 保险箱与背包相互独立,容量为 5 个格子。
- 所有物品类型都允许放入保险箱。
- 非战斗状态下,物品可以随时移入或移出保险箱。
- 战斗中不能打开共享背包或保险箱,也不能调整保险箱内容。
## 物品如何使用
- 首版只实现配置携带物品进入地图的能力,背包中普通携带的物品本身不产生局内效果。
- 首版不实现钥匙卡、战斗道具等特殊用途。
- 消耗品类型保留,但首版不实现具体消耗效果。
- 后续实现战斗道具时,只有在战斗开始前装备到道具专属栏位的道具才能在战斗中使用;战斗中不能从背包临时选择道具。
- 每名角色只设置武器栏和防具栏。
- 装备属于物品;未穿戴时可以存放在背包、保险箱或主仓库中。
- 装备穿戴在角色自己的对应装备栏中,穿戴后不占用共享背包格子,并影响角色属性。
- 装备可以影响角色的生命值(HP)、魔力值(MP)、攻击力(ATK)和魔力(MAT)。
- 装备对 HP 和 MP 的影响只修改对应的上限值,不直接增加或恢复当前值。
- 换装或卸下装备后,如果当前 HP 或 MP 高于新的上限值,则立即将当前值钳制到对应的新上限值。
- 在地图中拾取装备时,如果存在空缺的对应装备栏,按照角色加入队伍的顺序查找,并优先将装备穿入最先找到的空装备栏。
- 如果没有可用的对应装备栏,拾取的装备进入共享背包。
- 如果没有可用装备栏且共享背包已满,则拒绝拾取并显示“背包已满”提示。
- 手动更换装备时,新装备与旧装备直接交换位置:新装备进入角色装备栏,旧装备进入新装备原本所在的格子。
- 换装不需要额外的空背包格,因此背包已满时仍然允许更换装备。
## 哪些东西能带出
- 成功撤离时,背包中的全部内容进入局外主仓库。
- 成功撤离时,保险箱中的全部内容也进入局外主仓库。
- 成功撤离时,角色装备栏中的装备保持穿戴,不进入主仓库。
## 死亡会失去什么
- 本局游戏失败或超时撤离失败时,只保留保险箱中的内容。
- 保险箱之外的背包物品和其他随身物品全部损失,不会进入主仓库。
- 角色装备栏中的装备不属于保险箱;本局游戏失败时,已穿戴装备也会丢失。
- 保险箱内的物品不会丢失,返回主界面后进入主仓库。
## 非全员阵亡后的装备处理
- 只要战斗不是以全员阵亡结束,本局游戏就不会因本场战斗中的角色阵亡而失败。
- 成功逃跑角色身上的装备保持穿戴。
- 战斗中阵亡但随队返回探索的角色,其装备也保持穿戴。
- 阵亡只是战斗中的状态;返回探索后,这些角色的 HP 和 MP 都设置为 1,可以正常参加下一场战斗。
## 局外如何存放物品
- 局外通过 UI 提供主仓库。
- 新存档的主仓库为空。
- 主仓库没有容量上限。
- 成功撤离后,背包与保险箱中的物品进入主仓库。
- 本局游戏失败后,只有保险箱中的物品进入主仓库。
## 带出的东西有什么用途
- 首版中,战利品只用于收藏。
- 首版不实现出售、消耗或成长用途。
## 失败后如何保证还能继续游戏
保险箱为本局游戏失败后的最低保留手段。玩家可以在非战斗状态下随时将希望保留的物品放入保险箱;失败后,这些物品会进入无容量上限的主仓库。
## 原型验收
- [ ] 全队共用一个固定格子背包和一个独立的 5 格保险箱。
- [ ] 共享背包固定为 30 格。
- [ ] 物品能够按照各自的堆叠上限堆叠。
- [ ] 背包已满时拒绝拾取,并显示“背包已满”提示。
- [ ] 所有物品都能在非战斗状态下随时移入或移出保险箱,战斗中无法打开背包或保险箱。
- [ ] 每名角色拥有武器栏和防具栏,穿戴装备不占用共享背包格子,并能影响 HP、MP、ATK 和 MAT。
- [ ] 装备只修改 HP/MP 上限;换装后当前值超过新上限时能够正确钳制。
- [ ] 拾取装备时按照入队顺序优先填入空缺的对应装备栏,否则进入共享背包。
- [ ] 手动换装时新旧装备直接交换位置,背包已满时也能完成更换。
- [ ] 成功撤离后,背包中的全部内容能够进入主仓库。
- [ ] 成功撤离后,保险箱中的全部内容能够进入主仓库。
- [ ] 玩家死亡后,只有保险箱中的内容得到保留。
- [ ] 死亡结算不会将保险箱外的随身内容存入主仓库。
- [ ] 主仓库不限制容量。
- [ ] 成功撤离后已穿戴装备保持穿戴;部分角色逃跑时,所有随队返回角色也保留已穿戴装备。
- [ ] 任何非全员阵亡的战斗结束后,阵亡角色以 1 点 HP 和 1 点 MP 返回并保留装备。
## 还没决定的问题
暂无。装备的具体属性数值留到后续配表阶段确定。
+89
View File
@@ -0,0 +1,89 @@
# 原型范围
> 状态:草案
## 这版原型要验证什么
验证固定瓦片地牢中的搜索、警惕追击、多对多回合战斗、随机撤离和物品结算能否形成一轮可重复游玩的简单搜打撤流程。
## 最短完整游玩流程
`局外仓库与战备 → 配置队伍、随机数和难度 → 进入固定地图 → 搜索物资 → 主动接敌或被敌人追击 → 完成回合制战斗 → 成功撤离、逃跑后继续探索或单局失败 → 返回局外 UI 并保存结果`
## 最小内容量
| 内容 | 数量 |
| --- | --- |
| 地图 | 1 张 |
| 固定房间结构 | 1 套 |
| 预设撤离点 | 由地图配置,不在本文档固定数量 |
| 玩家角色 | 4 个 |
| 每名玩家角色的技能 | 1 个 |
| 难度 | 3 档 |
| 物资点类型 | 5 种 |
| 敌人类型与队伍预设 | 由配表决定,不在本文档固定数量 |
| 战利品、武器、防具和消耗品 | 由配表决定,不在本文档固定数量 |
## 必须完成
- [ ] 新存档直接拥有全部 4 名玩家角色,主仓库为空,战备最少选择 1 人、最多选择 4 人出战。
- [ ] 固定房间结构的瓦片地图与 WASD 移动。
- [ ] 整张地图一次性加载,所有出战角色跟随队长移动。
- [ ] 根据随机数与难度确定性构建物资点和怪物分布。
- [ ] 进入地图时先生成并冻结所有物资点的物品数量和种类,之后继续使用同一个本局随机生成器处理运行时随机。
- [ ] 支持玩家输入随机数、选择 3 档难度,并在局内显示本局随机数。
- [ ] 5 种物资点能够按数量、稀有度权重和具体道具生成内容,并支持长按搜索。
- [ ] 敌人警惕、追击和接触进入战斗。
- [ ] 多对多、速度排序、每轮每个角色行动一次的回合制战斗。
- [ ] 轮到玩家角色时再选择该角色行动。
- [ ] 未满警惕时主动接敌获得第一轮先制优势。
- [ ] 4 名玩家角色各拥有 1 个技能,并支持攻击、技能和概率逃跑。
- [ ] 任何非全员阵亡的战斗结束后,本场阵亡角色都以 1 点 HP 和 1 点 MP 返回探索。
- [ ] 每局随机开放一个预设撤离点。
- [ ] 单局上限为 25 分钟,第 20 分钟通过小地图标记开放撤离点。
- [ ] 成功撤离与死亡的物品结算。
- [ ] 30 格共享背包、5 格保险箱、无容量上限的主仓库,以及武器栏和防具栏。
- [ ] 战斗中无法打开共享背包或保险箱;首版不实现道具专属栏位的实际使用功能。
- [ ] 纯 UI 形式的局外仓库与战备功能。
- [ ] 本地存档保存主仓库内容、角色装备、当前战备配置等局外状态。
- [ ] 进入单局时,根据进入前的局外状态创建仅供本局使用的临时状态。
- [ ] 单局进行过程中只修改临时状态,不写入游戏存档。
- [ ] 单局正常产生结算时,一次性将结算结果写入局外状态,并保存该局的结算数据。
- [ ] 玩家主动退出单局时,按撤离失败进行结算,只保留保险箱内容,并将失败结果写入游戏存档。
- [ ] 不保存进行中的单局状态,也不支持重新启动游戏后继续未结束的单局。
## 明确不做
- 多张地图。
- 随机生成房间结构或房间连接关系。
- 分房间流式加载。
- 局外可移动地图或基地场景。
- 钥匙卡、战斗道具和消耗品效果。
- 战利品出售、消耗和成长系统。
- 复杂伤害公式和复杂敌人 AI。
- 墙体阻挡敌人视野;首版警惕判定允许穿墙。
- 保存或恢复进行中的单局。
## 原型通过条件
- [ ] 玩家可以从局外 UI 进入一局游戏并返回。
- [ ] 能够在固定地图中完成移动、搜索、遭遇和多对多战斗。
- [ ] 相同随机数与难度能够复现相同的物资点和怪物分布。
- [ ] 物资点内容在进入地图时一次性确定,后续 AI、逃跑和掉落的随机调用不会改变已经生成的物资点内容。
- [ ] 3 档难度都能够创建并完成一局游戏。
- [ ] 能够通过本局开放的撤离点成功撤离并将背包内容存入主仓库。
- [ ] 玩家死亡时只保留保险箱内容。
- [ ] 概率逃跑、部分角色阵亡恢复和 2 秒地图保护能够按战斗文档运行。
- [ ] 2 秒保护期间敌人不会追击;保护结束时仍与敌人重叠则允许立即再次进入战斗。
- [ ] 退出并重新打开游戏后,局外主仓库、角色装备和战备配置能够从本地存档恢复。
- [ ] 已结束单局的结算数据能够写入本地存档并在重新打开游戏后读取。
- [ ] 重新打开游戏时不会恢复尚未结束的单局。
- [ ] 单局中主动退出时能够按撤离失败结算,保存保险箱内容和本局失败记录。
- [ ] 单局发生异常关闭时,临时状态会被丢弃,重新进入游戏后恢复进入该局之前的局外状态。
- [ ] 异常关闭的未结算单局不会修改局外存档,也不会生成结算记录。
## 还没决定的问题
暂无。整个单局过程使用临时状态;成功撤离、失败、超时和主动退出都会产生结算并写入游戏存档,异常关闭则回退到进入单局之前的局外状态。
撤离点数量由地图资产决定;敌人、队伍预设和物品数量由后续配表决定,不作为本文档的待决问题。
+21
View File
@@ -0,0 +1,21 @@
# SBE 简版游戏设计
> 面向单人开发的第一版可玩原型,只记录会直接影响当前开发的设计。
## 文档
| 顺序 | 文档 | 用途 |
| --- | --- | --- |
| 1 | [游戏概述](01_GameOverview.md) | 确定游戏要提供什么体验 |
| 2 | [核心循环](02_CoreLoop.md) | 串起整备、搜索、战斗和撤离 |
| 3 | [单局探索](03_RunExploration.md) | 定义一局中玩家如何行动 |
| 4 | [回合制战斗](04_TurnBasedCombat.md) | 定义最小战斗规则 |
| 5 | [物品与成长](05_LootAndProgression.md) | 定义战利品的获得、损失和用途 |
| 6 | [原型范围](06_PrototypeScope.md) | 控制内容量并判断原型是否完成 |
## 使用原则
- 只填写下一阶段开发必须知道的答案。
- 暂时没有答案的项目保留“待填写”,不为未来扩展提前设计。
- 新机制只有在现有文档放不下时,才新增独立文档。