73 lines
3.1 KiB
Markdown
73 lines
3.1 KiB
Markdown
# 《被替代之人》ShrinkSDK Demo
|
||
|
||
这是一个位于现有 ShrinkSDK 工程内的完整功能 Demo,不包含嵌套 Unity 工程。入口场景为 `Assets/Demos/ReplacedPerson/ReplacedPerson.unity`,目标平台是 Windows 横屏,Canvas 以 1920x1080 为参考分辨率并通过 Safe Area 约束交互区。
|
||
|
||
## 已包含内容
|
||
|
||
- “贪婪”第一章、教学形态与完整形态两场 AI 战斗。
|
||
- 12 张普通牌、4 张结束牌的牌组编辑、收集、奖励和三件可装备装饰。
|
||
- “反击蓄势”初始牌组:6 张反击、2 张闪避、4 张攻击,强调读牌、保留 COST 与后手惩罚。
|
||
- 卡牌完整效果面板、拖拽视觉副本、页面与卡牌动效、三槽逐次拼点动画和战斗音效反馈。
|
||
- 确定性 PCG32 对局内核、合法指令校验、只使用公开信息的 AI、回放和状态哈希。
|
||
- 首次出牌、结束牌继承、后手对位、低点重掷四步真实交互教程。
|
||
- TCP/KCP LAN 建房与直连、UDP 房间发现、牌组与准备、权威指令、幂等令牌、玩家裁剪快照和 30 秒席位保留。
|
||
- EventBus、DataSaver、Command、Tutorial、ShrinkApp/Cordis、ShrinkModFramework 接入。
|
||
- .NET 8 独立服务器与跨端纯规则程序集。
|
||
- 可打包的“审计训练”示例 Mod。
|
||
|
||
## 在 Unity 中运行
|
||
|
||
1. 打开 `Assets/Demos/ReplacedPerson/ReplacedPerson.unity`。
|
||
2. 进入 Play Mode。
|
||
3. 从标题页进入章节、牌组或局域网大厅。
|
||
|
||
如需重新生成场景、Prefab、教程资产和字体资产,执行菜单:
|
||
|
||
```text
|
||
ShrinkSDK > Demos > Replaced Person > Rebuild Full Demo
|
||
```
|
||
|
||
Windows Development Player 可通过以下菜单一键输出到 `Artifacts/ReplacedPersonBuild/`:
|
||
|
||
```text
|
||
ShrinkSDK > Demos > Replaced Person > Build Windows Player
|
||
```
|
||
|
||
生成器只写入本 Demo 的资源目录,并把入口场景加入 Build Settings。不要手工编辑 `.unity`、`.prefab` 或 `.asset` 文件。
|
||
|
||
## 命令
|
||
|
||
控制台命令均位于 `game14` 根命令下,并应用 ShrinkCommand 的来源与权限限制:
|
||
|
||
```text
|
||
game14 status
|
||
game14 start-ai greed.tutorial
|
||
game14 start-ai greed.full
|
||
game14 give-card attack.kill
|
||
game14 reload-mods
|
||
game14 dump-match
|
||
```
|
||
|
||
## 文档
|
||
|
||
- [完整规则](Docs/RULES.md)
|
||
- [与论坛原案的差异](Docs/RULE_DIFFERENCES.md)
|
||
- [联网协议](Docs/NETWORKING.md)
|
||
- [Mod 开发与打包](Docs/MODDING.md)
|
||
- [美术与字体来源](Docs/ASSET_SOURCES.md)
|
||
- [独立服务器](../../../GeneratedServers/ReplacedPerson.ServerHost/README.md)
|
||
|
||
## 测试入口
|
||
|
||
- EditMode:`ReplacedPerson.EditMode.Tests`
|
||
- PlayMode:`ReplacedPerson.PlayMode.Tests`
|
||
- 独服确定性自检:
|
||
|
||
```powershell
|
||
dotnet run --project GeneratedServers/ReplacedPerson.ServerHost/ReplacedPerson.ServerHost.csproj -c Release -- --self-test
|
||
```
|
||
|
||
存档使用槽位 14,模块键为 `demo.replaced-person`。联网对局不修改章节进度或单机奖励。
|
||
|
||
自动化双 Player 验收支持 `--rp-host=TCP`、`--rp-join=TCP,127.0.0.1`、`--rp-player=<id>` 和 `--rp-auto` 参数。`--rp-auto` 仅用于 QA,在第 12 回合通过既定的连续超时规则收束镜像 AI 对局。
|