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

7.1 KiB
Raw Blame History

AI Town Game 项目演示指南

🎯 演示概述

本指南帮助您快速展示 AI Town Game 的核心功能和技术特性,适用于项目演示、技术分享和功能验证。

🚀 快速演示流程

准备工作 (5 分钟)

  1. 启动服务器
cd server
yarn dev
# 等待看到 "🚀 Server started on port 8080"
  1. 打开 Godot 项目
  • 启动 Godot 4.5.1
  • 导入项目 (选择 project.godot)
  • 等待项目加载完成
  1. 验证环境
  • 打开 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 项目的技术实力和功能特性。根据不同的演示场景调整重点,确保演示效果最佳。