# 陨烬边境 · Ashfall Frontier Unity 纯二维斜俯视合作生存游戏的**阶段 0 可运行原型工程**。主工程目标编辑器为 Unity **6000.3.24f1**。本阶段实现空间、楼层、虫族蠕虫成长、载具岗位、改装、库存和持久化的第一条技术闭环;完整策划中的六地区、八主角、全部武器及四十小时内容仍是后续开发目标。 ## 打开与运行 1. 使用 Unity Hub 打开本目录,等待包导入和脚本编译。工程位置虽然含 `Godot`,实际是 Unity 项目。 2. 首次导入会创建 URP 2D 渲染配置及 `Assets/Ashfall/Scenes/Frontier.unity`。也可执行菜单 **Ashfall → Configure project**。 3. 打开 Frontier 场景并按 Play。选择人类或 **虫族 · 蠕虫幼体**,开始新远征或继续世界。 4. 选择合作房间后,其他电脑使用房主的局域网 IP 加入。端口为 UDP 7777。此版本尚未接入 Relay。 本机 6.3 下载暂未完成。可直接运行 `Builds/Windows/AshfallFrontier.exe`,或执行 `Tools/OpenValidation.ps1` 打开已通过验证的 Unity 6.1 副本。游戏源码相同;版本差异见 [Pipeline 说明](Docs/PIPELINE.md)。 同一电脑运行多个客户端时分别添加 `--profile host`、`--profile guest1` 等参数,避免使用同一个持久身份。普通局域网玩家不需要填写该参数。 ## 第一条游玩路线 - 出生点西南方是前哨基地。走到南侧亮色入口,自动进入。靠近共享仓库按 E 存取材料。 - 虫族初始为蠕虫,可撕咬和短时钻地。在仓库取得生物质与样本,前往东南侧蜕变茧,花费**随身生物质 20、样本 1**进化成掘袭猎手。原型目前只有这一条成体分支。 - 在基地按 B,选择楼梯,放在中部空地;沿楼梯到二层,铺楼板,安装研究设施。楼梯向画面上方连接约四米远的平台。 - 西北研究站有两层。先在一层开启发电机,再去二层解析样本,解锁机械重型武器。 - 东方机械履带车和生物驮兽可步行进入。底层是货仓和维修制造台,上层是驾驶台、炮手台及医疗设施。 - 驾驶台按 E 操作:W/S 前后,A/D 转向,鼠标独立瞄准,左右键操作主/副武器。另一玩家接管炮手台后获得主武器组,驾驶员保留副武器组。 - 驾驶台按 E 只返回舱内。其他乘员能在行驶中走动、上下楼、制造和维修;车辆停稳落地后才可走出舱门。 - 北方有三层飞行样机。驾驶台按 2 切换地面、低空、高空,按 1 开关巡航。停驻维修台可以安装兼容模块。 - 南部有资源,东南有敌群和小型首领。M 查看位置。 ## 操作 | 按键 | 功能 | |---|---| | WASD / 鼠标 | 移动 / 瞄准 | | 左键 / 右键 | 主攻击 / 载具副武器 | | Shift / Space | 冲刺或车辆加速 / 制动 | | E | 设备交互、采集、进入或离开操作台 | | 1 / 2 | 徒步技能或载具巡航 / 航空高度 | | B / R | 建造模式 / 构件转向 | | Tab / M / Esc | 背包 / 地图 / 菜单 | | 滚轮 | 缩放 | ## 开发与验证 不依赖 Unity 的权威模拟测试: ```powershell dotnet run --project Tests/Ashfall.Specs/Ashfall.Specs.csproj ``` Unity CLI(可执行文件默认位于 `%LOCALAPPDATA%\Unity\bin\unity.exe`): ```powershell & "$env:LOCALAPPDATA\Unity\bin\unity.exe" pipeline install --project-path . & "$env:LOCALAPPDATA\Unity\bin\unity.exe" run . -- -executeMethod Ashfall.Editor.ProjectSetup.Configure & "$env:LOCALAPPDATA\Unity\bin\unity.exe" test . --help & "$env:LOCALAPPDATA\Unity\bin\unity.exe" run . -- -executeMethod Ashfall.Editor.ProjectSetup.BuildWindows ``` `run` 自动处理 batchmode 和 quit,不要重复传入这些参数。已打开编辑器时优先使用 `unity command --project-path .` 的 Pipeline 命令,避免第二个编辑器争用工程。 核心测试覆盖岗位竞争、空间转移二次校验、楼层隔离、蠕虫成长、模块与库存事务、生产满仓、存档备份和四角色十五分钟模拟。**模拟测试不是四进程联机或性能实测**,引擎测试和网络运行结果见 [验证记录](Docs/VALIDATION.md)。 已通过 33 项独立核心测试、3 项 Unity EditMode 测试、2 项 Play Mode 测试,以及 Windows 房主加三个独立客户端的联机测试。正式 6.3 和延迟丢包压力场景尚待验收。 Windows 打包输出:`Builds/Windows/AshfallFrontier.exe`。运行 `Tools/NetworkSmoke.ps1` 可启动一个房主和三个独立客户端完成自动联机测试,输出在 `TestResults`,独立使用 `validation.sav`。 ## 工程结构 | 目录 | 内容 | |---|---| | `Assets/Ashfall/Core` | 纯 C# 数据和房主权威模拟,无引擎依赖 | | `Assets/Ashfall/Runtime` | 输入、NGO、投影显示、界面、独立楼层物理场景 | | `Assets/Ashfall/Editor` | 初始配置、Windows 构建 | | `Assets/Ashfall/Tests` | Unity 序列化与资源测试 | | `Assets/Ashfall/Resources` | 原型图集及生成的 ScriptableObject 内容表 | | `Tests/Ashfall.Specs` | 可单独运行的核心行为测试 | | `Docs` | 实现范围、后续路线、资源来源、验证记录 | 正常存档位于 `%USERPROFILE%\AppData\LocalLow\XFEstudio\Ashfall Frontier\Worlds\frontier.sav`。每五分钟及关键变更后保存,三个轮换备份;开始新远征前额外归档旧世界。身份数据在同级 Profiles 文件夹。不要将身份文件作为公开项目资源发布。 ## 当前范围 原型使用 256×256 米逻辑地图、三辆实验载具、两层研究站、最多四层的限定基地建造区。角色与载具目前使用四向静态图集、少量程序动画、接触阴影与二维灯光。最终八/十六方向动作、法线图、专门日照投影、完整写实环境和音频仍需制作。 尚未完成:互联网会话与 Relay、延迟丢包压力验收、小型航空器停靠释放、伤害引起的内部火灾、完整多层寻路与室内战斗、四套虫族成体、独立双族装备存档、剧情地区和长期经济。详见 [实现与后续路线](Docs/IMPLEMENTATION.md)。