Files
whale-town/DEMO_GUIDE.md
2025-12-05 19:00:14 +08:00

249 lines
7.1 KiB
Markdown
Raw Permalink 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.
# AI Town Game 项目演示指南
## 🎯 演示概述
本指南帮助您快速展示 AI Town Game 的核心功能和技术特性,适用于项目演示、技术分享和功能验证。
## 🚀 快速演示流程
### 准备工作 (5 分钟)
1. **启动服务器**
```bash
cd server
yarn dev
# 等待看到 "🚀 Server started on port 8080"
```
2. **打开 Godot 项目**
- 启动 Godot 4.5.1
- 导入项目 (选择 `project.godot`)
- 等待项目加载完成
3. **验证环境**
- 打开 `scenes/TestGameplay.tscn`
- 按 F6 运行场景
- 确认角色可以移动,场景正常显示
### 核心功能演示 (15 分钟)
#### 1. 游戏场景展示 (3 分钟)
**演示要点**:
- Datawhale 办公室场景设计
- 品牌元素集成 (Logo、色彩方案)
- 场景布局 (入口、工作区、会议区、休息区、展示区)
**操作步骤**:
1. 运行 `scenes/DatawhaleOffice.tscn`
2. 使用相机控制查看整个场景:
- WASD 移动相机
- 鼠标滚轮缩放
- R 键重置视图
3. 指出各个功能区域和品牌元素
#### 2. 角色系统演示 (4 分钟)
**演示要点**:
- 角色移动和动画
- 碰撞检测
- 相机跟随
**操作步骤**:
1. 运行 `scenes/TestGameplay.tscn`
2. 使用 WASD 移动角色
3. 展示碰撞检测 (角色无法穿墙)
4. 展示相机跟随效果
5. 展示角色动画 (行走/静止)
#### 3. 网络系统演示 (4 分钟)
**演示要点**:
- 客户端-服务器连接
- 实时数据同步
- 多客户端支持
**操作步骤**:
1. 运行主场景 `scenes/Main.tscn`
2. 展示登录流程
3. 创建角色
4. 展示网络连接状态
5. 如有条件,开启第二个客户端展示多人互动
#### 4. 测试系统演示 (4 分钟)
**演示要点**:
- 自动化测试覆盖
- 属性测试 (Property-Based Testing)
- 测试结果展示
**操作步骤**:
1. 运行 `tests/RunAllTests.tscn`
2. 展示测试执行过程
3. 解释测试覆盖范围:
- 5 个测试套件
- 18 个单元测试
- 6 个属性测试
- 600+ 次测试迭代
4. 展示测试通过结果
### 技术特性展示 (10 分钟)
#### 1. 架构设计 (3 分钟)
**展示内容**:
- 客户端-服务器架构图
- 模块化设计
- 组件职责分离
**演示方式**:
- 打开 `DEVELOPER_GUIDE.md` 展示架构图
- 简要介绍各个组件的职责
- 展示代码组织结构
#### 2. 数据持久化 (2 分钟)
**展示内容**:
- JSON 数据存储
- 自动备份机制
- 数据恢复功能
**演示方式**:
- 展示 `server/data/characters.json` 文件
- 展示备份目录结构
- 演示数据保存和加载
#### 3. 监控和管理 (3 分钟)
**展示内容**:
- Web 管理界面
- 系统监控
- 日志管理
**演示方式**:
- 访问 `http://localhost:8081/admin/`
- 展示系统状态监控
- 展示日志分析功能
#### 4. 跨平台支持 (2 分钟)
**展示内容**:
- Web 导出功能
- 响应式 UI 设计
- 移动端适配
**演示方式**:
- 展示 Godot 导出设置
- 如有条件,展示 Web 版本运行
- 展示 UI 在不同分辨率下的适配
## 🎨 演示脚本
### 开场介绍 (2 分钟)
"大家好,今天我要演示的是 AI Town Game这是一款基于 Godot 引擎开发的 2D 多人在线游戏。项目的核心特色是:
1. **多人在线互动** - 支持实时多人游戏
2. **持久化世界** - 角色在玩家离线时仍作为 NPC 存在
3. **品牌场景** - 精心设计的 Datawhale 办公室环境
4. **跨平台支持** - 支持 Web 和桌面平台
5. **完整测试** - 包含单元测试和属性测试
让我们开始演示..."
### 场景展示脚本 (3 分钟)
"首先看到的是我们的主要游戏场景 - Datawhale 办公室。这个场景包含了:
- **入口区域** - 带有欢迎标识的门厅
- **工作区** - 配有办公桌和电脑的工作空间
- **会议区** - 用于团队讨论的会议室
- **休息区** - 放松交流的休闲空间
- **展示区** - 展示 Datawhale 品牌和成就
注意场景中的品牌元素,包括 Datawhale Logo 和统一的蓝色配色方案..."
### 技术演示脚本 (8 分钟)
"现在让我展示游戏的技术实现:
**角色系统**:角色可以自由移动,具有完整的碰撞检测。相机会智能跟随角色,提供流畅的游戏体验。
**网络系统**:游戏使用 WebSocket 实现实时通信。客户端和服务器之间保持持续连接,确保数据同步。
**测试系统**:项目包含完整的测试套件,包括传统的单元测试和先进的属性测试。属性测试通过生成随机数据来验证系统的正确性属性。
**数据管理**:所有游戏数据都持久化存储,支持自动备份和恢复。系统还提供了 Web 管理界面用于监控和维护..."
### 结尾总结 (2 分钟)
"通过这次演示,我们看到了 AI Town Game 的主要特性:
1. **完整的游戏功能** - 从角色创建到多人互动
2. **稳定的技术架构** - 模块化设计,易于扩展
3. **全面的测试覆盖** - 确保代码质量和系统稳定性
4. **专业的运维支持** - 监控、备份、日志管理
这个项目展示了现代游戏开发的最佳实践,包括测试驱动开发、持续集成和自动化运维。
谢谢大家,有什么问题欢迎提问!"
## 🔧 演示准备清单
### 环境检查
- [ ] Godot 4.5.1 已安装并可正常运行
- [ ] Node.js 和 Yarn 已安装
- [ ] 项目代码已下载并配置完成
- [ ] 服务器可以正常启动
- [ ] 所有测试都能通过
### 演示材料
- [ ] 项目架构图 (可打印或投影)
- [ ] 功能特性列表
- [ ] 技术栈说明
- [ ] 演示脚本备份
### 备用方案
- [ ] 录制好的演示视频 (网络问题时使用)
- [ ] 静态截图集合 (设备问题时使用)
- [ ] 离线版本演示 (服务器问题时使用)
## 🎯 不同场景的演示重点
### 技术分享会
- 重点展示架构设计和技术实现
- 详细介绍测试框架和开发流程
- 分享开发过程中的技术挑战和解决方案
### 产品演示
- 重点展示用户体验和功能特性
- 强调品牌元素和视觉设计
- 展示多人互动和社交功能
### 招聘面试
- 展示代码质量和工程实践
- 介绍项目管理和团队协作
- 分享技术选型和架构决策
### 客户展示
- 重点展示商业价值和应用场景
- 强调技术稳定性和可扩展性
- 展示运维管理和监控能力
## 📞 常见问题准备
**Q: 这个项目的技术难点是什么?**
A: 主要难点包括实时网络同步、状态管理、跨平台兼容性和测试覆盖。我们通过模块化设计和完整的测试框架来解决这些问题。
**Q: 为什么选择 Godot 而不是 Unity**
A: Godot 是开源的,更适合学习和定制。它的 GDScript 语言简单易学,而且对 2D 游戏有很好的支持。
**Q: 如何保证游戏的性能?**
A: 我们使用了对象池、空间分区、消息批处理等优化技术。同时通过性能监控和压力测试来确保系统稳定性。
**Q: 项目的扩展性如何?**
A: 项目采用模块化设计,各个系统相对独立。可以很容易地添加新功能、新场景或新的游戏机制。
---
这份演示指南帮助您专业地展示 AI Town Game 项目的技术实力和功能特性。根据不同的演示场景调整重点,确保演示效果最佳。