Files
NS_unknown_game/game/docs/scene_acceptance.md
T
2026-06-09 16:11:37 +08:00

77 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Scene Acceptance
本文档记录第一关场景骨架的验收流程。每次改动场景、摄像机、关卡数据、输入或渲染层后,至少执行构建检查;涉及跑图手感时再执行手动跑图检查。
## 验收范围
- 场景入口:`WhiteboxScene`
- 关卡数据:`CreateWhiteboxLevel()`
- 世界尺寸:`3200 x 720`
- 玩家出生点:`(160, 380)`
- 关卡边界:`0 -> 3200`
- 视口:`1280 x 720`
- Battle zones`zone_01_intro``zone_02_platform``zone_03_exit`
- 资源槽位:`game/assets/stage/stage_01/`
## 构建检查
### Windows
```powershell
& 'C:\Program Files\xmake\xmake.exe' f -c -p windows -a x64 -m release -y
& 'C:\Program Files\xmake\xmake.exe' -b Frostbite2DGame
```
短启动检查:
```powershell
$exe = Join-Path (Get-Location) 'build\windows\x64\release\Frostbite2DGame.exe'
$p = Start-Process -FilePath $exe -WorkingDirectory (Get-Location) -PassThru -WindowStyle Hidden
Start-Sleep -Seconds 3
if (!$p.HasExited) { Stop-Process -Id $p.Id -Force }
```
### Switch
```powershell
& 'C:\Program Files\xmake\xmake.exe' f -c -p switch -a aarch64 -m release --toolchain=cross --sdk='C:\devkitPro\devkitA64' --bin='C:\devkitPro\devkitA64\bin' --cross='aarch64-none-elf-' -y
& 'C:\Program Files\xmake\xmake.exe' -b Frostbite2DGameSwitch
```
产物:
```text
build\switch\aarch64\release\switch_game\NSUnknownGame.nro
```
## 手动跑图检查
操作映射见 `controls.md`
1. 启动 Windows 版 `Frostbite2DGame.exe`
2. 从出生点向右移动,确认摄像机横向跟随且不露出世界外黑边。
3. 依次进入 3 个 battle zone,确认 camera bounds 平滑切换,没有硬切瞬移。
4. 通过 debug 清场或离开区域解除锁定,确认摄像机恢复全关卡跟随。
5. 使用 debug 分项开关检查:
- 碰撞矩形和场景网格。
- 玩家包围盒。
- battle zone 触发框和 camera bounds。
- 敌人出生点。
6. 从起点移动到终点附近,确认所有平台、props、前景遮挡和背景层没有闪烁或黑屏。
## 当前验收结果
日期:2026-06-09
- Windows release 构建:通过。
- Windows 3 秒短启动:通过。
- Switch `Frostbite2DGameSwitch` 构建:通过。
- Switch RomFS:已包含 character、shader 和 `stage_01` 资源槽位。
- 手动跑图:未在本轮执行,等待后续素材/战斗区域进一步接入时复测。
## 后续补充
- 增加输入状态 debug 显示后,把输入检查纳入本流程。
- 增加 `EnemyActor` 后,把 battle zone 自动清场纳入本流程。
- 增加 hitbox/hurtbox 后,把战斗 debug 绘制纳入本流程。