feature/project-structure-refactor #7

Merged
moyin merged 7 commits from feature/project-structure-refactor into main 2026-01-02 01:03:07 +08:00
2 changed files with 264 additions and 175 deletions
Showing only changes of commit fa360e1c78 - Show all commits

View File

@@ -75,6 +75,7 @@ python tests/api/api_client_test.py
1. **[📖 项目入门总览](docs/01-项目入门/README.md)** - 5分钟了解项目 1. **[📖 项目入门总览](docs/01-项目入门/README.md)** - 5分钟了解项目
2. **[🏗️ 项目结构说明](docs/01-项目入门/项目结构说明.md)** - 理解架构设计 2. **[🏗️ 项目结构说明](docs/01-项目入门/项目结构说明.md)** - 理解架构设计
3. **[⚙️ 项目设置指南](docs/01-项目入门/项目设置指南.md)** - 配置开发环境 3. **[⚙️ 项目设置指南](docs/01-项目入门/项目设置指南.md)** - 配置开发环境
4. **[🤖 AI开发指南](docs/AI_docs/README.md)** - AI编程助手专用文档
### 🎯 第二步:学习规范 ### 🎯 第二步:学习规范
@@ -121,34 +122,65 @@ WhaleTown/ # 🐋 项目根目录
│ ├── 03-技术实现/ # 🔧 开发指导 │ ├── 03-技术实现/ # 🔧 开发指导
│ ├── 04-高级开发/ # 🚀 进阶技巧 │ ├── 04-高级开发/ # 🚀 进阶技巧
│ ├── 05-部署运维/ # 🌐 发布部署 │ ├── 05-部署运维/ # 🌐 发布部署
── 06-功能模块/ # 🎮 功能文档 ── 06-功能模块/ # 🎮 功能文档
├── 🎬 scenes/ # 🎭 游戏场景 │ └── AI_docs/ # 🤖 AI专用文档执行规范、代码模板
│ ├── Maps/ # 🗺 地图场景 ├── 🔧 _Core/ # 核心底层实现
── Components/ # 🧩 组件预制体 ── managers/ # 🎯 全局管理器(游戏状态、场景、网络等)
├── 🔧 _Core/ # ⚙️ 核心系统 │ ├── systems/ # 🔄 系统组件(事件系统、输入系统等)
│ ├── managers/ # 🎯 全局管理器 │ ├── components/ # 🧩 基础组件实现
│ ├── systems/ # 🔄 系统组件 │ ├── utils/ # <20> 核件心工具类(字符串处理、数学计算等)
│ ├── EventNames.gd # 📝 事件名称定义 │ ├── EventNames.gd # 📝 事件名称定义
│ └── ProjectPaths.gd # 📂 路径统一管理 │ └── ProjectPaths.gd # <EFBFBD> 路径统一管理
├── 🎨 UI/ # 🖼️ 用户界面 ├── 🎬 scenes/ # 🎭 场景与视觉呈现
── Windows/ # 🪟 窗口界面 ── maps/ # <EFBFBD> 地图一场景(游戏关卡、世界地图)
├── 🔨 Utils/ # 🔨 工具类 │ ├── characters/ # 👤 人物场景角色、NPC、敌人
├── 🎮 module/ # 🧩 功能模块 │ ├── ui/ # 🖼️ UI界面场景菜单、HUD、对话框
├── 🎨 assets/ # 🖼️ 游戏资源 │ ├── effects/ # ✨ 特效场景(粒子效果、动画)
├── ⚙️ Config/ # 📋 配置文 │ └── prefabs/ # 🧩 预制体组
├── 🧪 tests/ # 🔬 测试文件 ├── 🎨 assets/ # 🖼️ 静态资源存储
└── 🌐 web_assets/ # 🌍 Web部署资源 │ ├── sprites/ # 🎨 精灵图片(角色、物品、环境)
│ ├── audio/ # 🎵 音频资源(音乐、音效)
│ ├── fonts/ # 🔤 字体文件
│ ├── materials/ # 🎭 材质资源
│ ├── shaders/ # 🌈 着色器文件
│ ├── ui/ # 🖼️ UI素材按钮、图标、背景
│ └── icon/ # 📱 应用图标
├── ⚙️ Config/ # 📋 配置文件管理
│ ├── game_config.json # 🎮 游戏配置(难度、设置等)
│ ├── zh_CN.json # 🌐 本地化配置
│ └── environment/ # 🔧 环境配置(开发、测试、生产)
├── 🧪 tests/ # 🔬 测试文件系统
│ ├── unit/ # 🔍 单元测试(组件功能测试)
│ ├── integration/ # 🔗 集成测试(系统交互测试)
│ ├── performance/ # ⚡ 性能测试(帧率、内存优化)
│ └── api/ # 🌐 API接口测试
└── 🌐 web_assets/ # 🌍 Web导出资源
├── html/ # 📄 HTML模板文件
├── css/ # 🎨 样式文件
└── js/ # 📜 JavaScript脚本
``` ```
### 🔧 核心组件 ### 🔧 核心架构说明
| 组件 | 作用 | 文档链接 | | 目录 | 作用 | 详细说明 |
|------|------|----------| |------|------|----------|
| **EventSystem** | 全局事件通信 | [架构规范](docs/02-开发规范/架构与通信规范.md) | | **_Core** | 🔧 功能实现与组件实现 | 项目最基本的底层实现,包含所有核心系统和基础组件 |
| **GameManager** | 游戏状态管理 | [实现细节](docs/03-技术实现/实现细节规范.md) | | **scenes** | 🎭 场景与视觉呈现 | 包含地图场景、人物场景等一系列视觉呈现部分主要是UI的实现 |
| **SceneManager** | 场景切换管理 | [场景设计](docs/04-高级开发/场景设计规范.md) | | **assets** | 🎨 静态资源存储 | 所有静态资源的存储,包括图片、音乐、视频、贴图等素材 |
| **NetworkManager** | 网络请求管理 | [网络管理器](docs/03-技术实现/网络管理器设置.md) | | **Config** | ⚙️ 配置文件管理 | 主要用来配置各类环境,包括游戏设置、本地化等配置 |
| **ProjectPaths** | 路径统一管理 | [项目结构](docs/01-项目入门/项目结构说明.md) | | **tests** | 🧪 测试文件系统 | 放置所有对应组件的测试代码,方便快速进行功能性与性能测试 |
| **web_assets** | 🌐 Web导出资源 | 专门用于Web平台导出的相关资源和配置文件 |
| **docs/AI_docs** | 🤖 AI专用文档 | 专门为AI编程助手准备的执行规范和代码模板提升vibe coding效率 |
### 🎮 核心组件
| 组件 | 位置 | 作用 | 文档链接 |
|------|------|------|----------|
| **EventSystem** | _Core/systems/ | 全局事件通信系统 | [架构规范](docs/02-开发规范/架构与通信规范.md) |
| **GameManager** | _Core/managers/ | 游戏状态管理器 | [实现细节](docs/03-技术实现/实现细节规范.md) |
| **SceneManager** | _Core/managers/ | 场景切换管理器 | [场景设计](docs/04-高级开发/场景设计规范.md) |
| **NetworkManager** | _Core/managers/ | 网络请求管理器 | [网络管理器](docs/03-技术实现/网络管理器设置.md) |
| **ProjectPaths** | _Core/ | 路径统一管理工具 | [项目结构](docs/01-项目入门/项目结构说明.md) |
--- ---

View File

@@ -20,15 +20,12 @@
``` ```
WhaleTown/ WhaleTown/
├── 🔧 _Core/ # [框架层] 核心系统和管理器 ├── 🔧 _Core/ # [核心层] 功能实现与组件实现,项目最基本的底层实现
├── 🎬 scenes/ # [游戏层] 游戏场景和组件 ├── 🎬 scenes/ # [场景层] 场景与视觉呈现,包含地图、人物等视觉部分
├── 🎨 UI/ # [界面层] 用户界面 ├── 🎨 assets/ # [资源层] 静态资源存储,包括图片、音乐、视频、贴图等
├── 🖼 assets/ # [资源层] 美术资源 ├── Config/ # [配置层] 配置文件管理,用于配置各类环境
├── ⚙️ Config/ # [配置层] 游戏配置和数据 ├── 🧪 tests/ # [测试层] 测试文件系统,放置所有组件的测试代码
├── 🛠️ Utils/ # [工具层] 通用工具脚本 ├── 🌐 web_assets/ # [发布层] Web导出资源专门用于Web平台导出
├── 🧪 tests/ # [测试层] 测试文件
├── 🚀 tools/ # [构建层] 构建和部署工具
├── 🌐 web_assets/ # [发布层] Web版本资源
└── 📚 docs/ # [文档层] 项目文档 └── 📚 docs/ # [文档层] 项目文档
``` ```
@@ -36,9 +33,9 @@ WhaleTown/
## 📁 详细目录结构 ## 📁 详细目录结构
### 1. 🔧 框架层 (_Core/) ### 1. 🔧 核心层 (_Core/)
> **负责团队**: 开发团队 > **负责团队**: 开发团队
> **职责**: 游戏底层框架,全局管理器和核心系统 > **职责**: 功能实现与组件实现,项目最基本的底层实现
``` ```
_Core/ _Core/
@@ -47,15 +44,25 @@ _Core/
│ ├── SceneManager.gd # 场景切换管理 │ ├── SceneManager.gd # 场景切换管理
│ ├── NetworkManager.gd # 网络通信管理 │ ├── NetworkManager.gd # 网络通信管理
│ └── ResponseHandler.gd # API响应处理 │ └── ResponseHandler.gd # API响应处理
── systems/ # 核心系统 ── systems/ # 核心系统
└── EventSystem.gd # 全局事件系统 └── EventSystem.gd # 全局事件系统
├── components/ # 基础组件实现
│ ├── BaseCharacter.gd # 基础角色组件
│ ├── BaseItem.gd # 基础物品组件
│ └── BaseUI.gd # 基础UI组件
├── utils/ # 🔨 核心工具类
│ ├── StringUtils.gd # 字符串处理工具
│ ├── MathUtils.gd # 数学计算工具
│ └── PixelUtils.gd # 像素风游戏专用工具
├── EventNames.gd # 事件名称定义
└── ProjectPaths.gd # 路径统一管理
``` ```
**特点**: **特点**:
- 自动加载 (AutoLoad) 单例 - 自动加载 (AutoLoad) 单例
- 全局可访问 - 全局可访问的核心功能
- 与具体游戏逻辑无关 - 与具体游戏逻辑无关的底层实现
- 提供基础服务 - 提供基础服务和组件框架
**使用示例**: **使用示例**:
```gdscript ```gdscript
@@ -69,167 +76,206 @@ SceneManager.change_scene("main")
EventSystem.emit_event("player_moved", {"position": Vector2(100, 200)}) EventSystem.emit_event("player_moved", {"position": Vector2(100, 200)})
``` ```
### 2. 🎬 游戏层 (scenes/) ### 2. 🎬 场景层 (scenes/)
> **负责团队**: 开发团队 > **负责团队**: 开发团队
> **职责**: 游戏场景、实体和可复用组件 > **职责**: 场景与视觉呈现,包含地图场景、人物场景等一系列视觉呈现的部分
``` ```
scenes/ scenes/
├── Maps/ # 游戏地图场景 ├── maps/ # 地图场景
│ ├── main_scene.tscn # 主游戏场景 │ ├── main_world.tscn # 主世界地图
── MainScene.gd # 主场景脚本 ── dungeon_01.tscn # 地牢场景
└── Components/ # 可复用组件 │ └── town_center.tscn # 城镇中心
├── characters/ # 角色组件 ├── characters/ # 人物场景
├── effects/ # 特效组件 ├── player/ # 玩家角色
├── items/ # 物品组件 │ │ ├── Player.tscn # 玩家场景
└── ui/ # UI组件 │ │ └── Player.gd # 玩家脚本
│ ├── npcs/ # NPC角色
│ └── enemies/ # 敌人角色
├── ui/ # UI界面场景
│ ├── menus/ # 菜单界面
│ ├── hud/ # 游戏HUD
│ └── dialogs/ # 对话框
├── effects/ # 特效场景
│ ├── particles/ # 粒子效果
│ └── animations/ # 动画效果
└── prefabs/ # 预制体组件
├── items/ # 物品预制体
└── interactive/ # 交互对象预制体
``` ```
**设计原则**: **设计原则**:
- **场景内聚**: 脚本紧邻场景文件存放 - **场景内聚**: 脚本紧邻场景文件存放
- **组件化**: 可复用组件统一管理 - **分类明确**: 按功能类型地图、人物、UI、特效分类
- **模块化**: 按功能类型分类组织 - **模块化**: 可复用的预制体统一管理
- **视觉导向**: 主要负责游戏的视觉呈现和UI实现
### 3. 🎨 界面层 (UI/) ### 3. 🎨 资源层 (assets/)
> **负责团队**: 开发团队 + 美术团队协作
> **职责**: 用户界面和主题管理
```
UI/
├── Windows/ # 模态窗口
│ ├── LoginWindow.tscn # 登录窗口
│ └── AuthScene.gd # 认证场景脚本
└── Theme/ # 全局主题
├── MainTheme.tres # 主题资源
└── Fonts/ # 字体文件
└── msyh.ttc # 微软雅黑字体
```
**组织方式**:
- **Windows/**: 模态窗口和对话框
- **Theme/**: 统一的UI主题和样式
- **Fonts/**: 字体资源管理
### 4. 🖼️ 资源层 (assets/)
> **负责团队**: 美术团队 > **负责团队**: 美术团队
> **职责**: 所有美术资源和素材 > **职责**: 所有静态资源的存储,包括图片、音乐、视频、贴图等素材
``` ```
assets/ assets/
├── sprites/ # 精灵图资源 ├── sprites/ # 精灵图资源
│ ├── characters/ # 角色精灵 │ ├── characters/ # 角色精灵玩家、NPC、敌人
│ ├── effects/ # 特效精灵 │ ├── environment/ # 环境精灵(地形、建筑、装饰)
│ ├── environment/ # 环境精灵 │ ├── items/ # 物品精灵(道具、装备、收集品)
── icon/ # 图标资源 ── effects/ # 特效精灵(爆炸、魔法、粒子)
│ └── ui/ # UI精灵按钮、图标、边框
├── audio/ # 音频资源 ├── audio/ # 音频资源
│ ├── music/ # 背景音乐 │ ├── music/ # 背景音乐BGM
│ ├── sounds/ # 音效 │ ├── sounds/ # 音效SFX
│ └── voice/ # 语音 │ └── voice/ # 语音(对话、旁白)
├── ui/ # UI专用资源
│ ├── auth/ # 认证界面资源
│ │ ├── bg_auth_scene.png # 认证背景
│ │ └── login_frame_smart_transparent.png
│ ├── chinese_theme.tres # 中文主题
│ └── datawhale_logo.png # 项目Logo
├── fonts/ # 字体文件 ├── fonts/ # 字体文件
│ ├── pixel_fonts/ # 像素风字体
│ └── ui_fonts/ # UI专用字体
├── materials/ # 材质资源 ├── materials/ # 材质资源
└── shaders/ # 着色器 │ ├── pixel_materials/ # 像素风材质
│ └── shader_materials/ # 着色器材质
├── shaders/ # 着色器文件
│ ├── pixel_shaders/ # 像素风着色器
│ └── effect_shaders/ # 特效着色器
├── ui/ # UI专用资源
│ ├── themes/ # UI主题
│ ├── icons/ # 图标资源
│ └── backgrounds/ # 背景图片
└── icon/ # 应用图标
├── icon.svg # 矢量图标
└── icon.png # 位图图标
``` ```
**美术团队工作流程**: **像素风游戏资源特点**:
1. 按分类将资源放入对应目录 - **像素完美**: 所有精灵使用像素完美设置Filter: Off, Mipmaps: Off
2. 遵循命名规范 (snake_case) - **统一风格**: 保持一致的像素密度和调色板
3. 确保资源格式符合Godot要求 - **分辨率标准**: 建议使用16x16、32x32等标准像素尺寸
4. 配置正确的导入设置 (像素艺术使用最近邻过滤) - **动画帧**: 角色动画使用精灵表Sprite Sheet组织
### 5. ⚙️ 配置层 (Config/) ### 4. ⚙️ 配置层 (Config/)
> **负责团队**: 策划团队 > **负责团队**: 策划团队
> **职责**: 游戏配置、数据和本地化 > **职责**: 配置文件管理,主要用来配置各类环境
``` ```
Config/ Config/
├── game_config.json # 游戏主配置 ├── game_config.json # 游戏主配置
── zh_CN.json # 中文本地化 ── zh_CN.json # 中文本地化
├── environment/ # 环境配置
│ ├── development.json # 开发环境配置
│ ├── testing.json # 测试环境配置
│ └── production.json # 生产环境配置
├── gameplay/ # 游戏玩法配置
│ ├── character_stats.json # 角色属性配置
│ ├── item_database.json # 物品数据库
│ └── level_config.json # 关卡配置
└── localization/ # 本地化配置
├── en_US.json # 英文本地化
├── zh_CN.json # 中文本地化
└── ja_JP.json # 日文本地化
``` ```
**策划团队工作内容**: **配置文件特点**:
- **游戏数值配置**: 角色属性、物品数据、关卡参数 - **环境分离**: 开发、测试、生产环境配置分离
- **本地化文本**: 多语言文本翻译和管理 - **数据驱动**: 游戏数值通过配置文件控制
- **游戏平衡**: 数值平衡和游戏性调整 - **本地化支持**: 多语言文本管理
- **热更新**: 支持运行时配置更新
**配置文件示例**: ### 5. 🧪 测试层 (tests/)
```json
// game_config.json
{
"player": {
"move_speed": 200.0,
"max_health": 100,
"jump_height": 400.0
},
"game": {
"target_fps": 60,
"auto_save_interval": 300
}
}
```
### 6. 🛠️ 工具层 (Utils/)
> **负责团队**: 开发团队 > **负责团队**: 开发团队
> **职责**: 通用工具和辅助脚本 > **职责**: 测试文件系统,放置所有对应组件的测试代码,方便快速进行功能性与性能测试
```
Utils/
└── StringUtils.gd # 字符串处理工具
```
**特点**:
- 纯函数,无依赖
- 可被任何层调用
- 提供通用功能
### 7. 🧪 测试层 (tests/)
> **负责团队**: 开发团队
> **职责**: 质量保证和自动化测试
``` ```
tests/ tests/
├── api/ # API接口测试
├── auth/ # 认证功能测试
├── unit/ # 单元测试 ├── unit/ # 单元测试
│ ├── core/ # 核心组件测试
│ ├── characters/ # 角色组件测试
│ └── systems/ # 系统功能测试
├── integration/ # 集成测试 ├── integration/ # 集成测试
└── performance/ # 性能测试 │ ├── scene_transitions/ # 场景切换测试
│ ├── save_load/ # 存档系统测试
│ └── network/ # 网络功能测试
├── performance/ # 性能测试
│ ├── framerate/ # 帧率测试
│ ├── memory/ # 内存使用测试
│ └── loading_times/ # 加载时间测试
├── api/ # API接口测试
│ ├── auth_tests.py # 认证接口测试
│ └── game_api_tests.py # 游戏API测试
└── ui/ # UI功能测试
├── menu_tests/ # 菜单测试
└── dialog_tests/ # 对话框测试
``` ```
### 8. 🚀 构建层 (tools/) **测试类型说明**:
> **负责团队**: 开发团队/DevOps - **单元测试**: 测试单个组件的功能正确性
> **职责**: 构建脚本和部署工具 - **集成测试**: 测试组件间的交互和协作
- **性能测试**: 监控游戏性能指标,确保流畅运行
- **API测试**: 验证网络接口的正确性和稳定性
- **UI测试**: 测试用户界面的交互和响应
``` ### 6. 🌐 Web导出层 (web_assets/)
tools/
├── build_web.bat # Windows Web构建脚本
├── build_web.sh # Linux/macOS Web构建脚本
├── serve_web.bat # Windows 本地服务器
├── serve_web.sh # Linux/macOS 本地服务器
└── README.md # 工具使用说明
```
### 9. 🌐 发布层 (web_assets/)
> **负责团队**: 自动生成 > **负责团队**: 自动生成
> **职责**: Web版本发布资源 > **职责**: Web导出资源专门用于Web平台导出的相关资源和配置文件
``` ```
web_assets/ web_assets/
├── index.html # Web版本入口 ├── html/ # HTML模板文件
├── index.js # Godot Web导出JS ├── index.html # Web版本入口页面
├── index.wasm # WebAssembly文件 │ └── loading.html # 加载页面模板
├── index.pck # 游戏资源包 ├── css/ # 样式文件
└── [其他Web资源] # 图标、配置等 │ ├── game.css # 游戏样式
│ └── loading.css # 加载样式
├── js/ # JavaScript脚本
│ ├── game_loader.js # 游戏加载器
│ └── utils.js # 工具函数
├── icons/ # Web应用图标
│ ├── favicon.ico # 网站图标
│ └── app_icons/ # PWA应用图标
└── config/ # Web配置文件
├── manifest.json # PWA清单文件
└── service-worker.js # 服务工作者
``` ```
### 10. 📚 文档层 (docs/) **Web导出特点**:
- **PWA支持**: 支持渐进式Web应用功能
- **响应式设计**: 适配不同屏幕尺寸
- **加载优化**: 优化资源加载和缓存策略
- **跨平台兼容**: 确保在各种浏览器中正常运行
### 7. 📚 文档层 (docs/)
> **负责团队**: 全体团队 > **负责团队**: 全体团队
> **职责**: 项目文档和开发指南 > **职责**: 项目文档和开发指南
```
docs/
├── 01-项目入门/ # 新人必读文档
├── 02-开发规范/ # 编码标准文档
├── 03-技术实现/ # 开发指导文档
├── 04-高级开发/ # 进阶技巧文档
├── 05-部署运维/ # 发布部署文档
├── 06-功能模块/ # 功能文档
└── AI_docs/ # 🤖 AI专用文档
├── README.md # AI文档总览
├── architecture_guide.md # 架构执行指南
├── coding_standards.md # 代码风格规范
├── templates/ # 代码模板库
│ ├── components.md # 组件模板集合
│ ├── managers.md # 管理器模板集合
│ └── ui_templates.md # UI模板集合
├── workflows/ # 工作流程指南
│ ├── feature_development.md # 功能开发流程
│ ├── bug_fixing.md # Bug修复流程
│ └── testing_workflow.md # 测试执行流程
└── quick_reference/ # 快速参考手册
├── code_snippets.md # 常用代码片段
├── api_reference.md # API快速参考
└── troubleshooting.md # 故障排除指南
```
**AI_docs特点**:
- **结构化执行**: 每个文档都包含可直接执行的步骤和代码模板
- **标准化规范**: 为AI编程助手提供统一的开发标准和最佳实践
- **模板驱动**: 提供完整的代码模板,确保代码一致性和质量
- **工作流导向**: 包含详细的开发工作流程提升AI协作效率
``` ```
docs/ docs/
├── 01-项目入门/ # 新人必读 ├── 01-项目入门/ # 新人必读
@@ -245,18 +291,18 @@ docs/
## 🤝 团队协作指南 ## 🤝 团队协作指南
### 开发团队 🎮 ### 开发团队 🎮
**主要工作区域**: `_Core/`, `scenes/`, `UI/`, `Utils/`, `tests/` **主要工作区域**: `_Core/`, `scenes/`, `tests/`
**日常工作流程**: **日常工作流程**:
1.`_Core/` 中开发核心系统管理器 1.`_Core/` 中开发核心系统管理器、基础组件和工具类
2.`scenes/` 中创建游戏场景和组件 2.`scenes/` 中创建游戏场景、角色、UI界面和特效
3.`UI/` 中实现用户界面 3.`tests/` 中编写各类测试用例确保代码质量
4.`Utils/` 中编写通用工具
5.`tests/` 中编写测试用例
**协作要点**: **协作要点**:
- 遵循架构设计原则,使用事件系统通信 - 遵循架构设计原则,使用事件系统进行模块通信
- 保持代码模块化和可复用性 - 保持代码模块化和可复用性
- 将通用工具类放在 `_Core/utils/` 中统一管理
- 针对像素风游戏特点优化性能
- 及时编写测试和文档 - 及时编写测试和文档
### 美术团队 🎨 ### 美术团队 🎨
@@ -264,28 +310,30 @@ docs/
**日常工作流程**: **日常工作流程**:
1. 按分类整理美术资源到 `assets/` 对应目录 1. 按分类整理美术资源到 `assets/` 对应目录
2. 遵循命名规范,使用 snake_case 命名 2. 确保像素艺术风格的一致性和像素完美
3. 配置正确的Godot导入设置 3. 配置正确的Godot导入设置关闭过滤、禁用Mipmaps
4. 与开发团队协作调整UI资源 4. 与开发团队协作调整UI和游戏资源
**协作要点**: **像素风游戏特殊要求**:
- 严格按照目录结构组织资源 - 严格遵循像素完美原则
- 确保资源格式和质量符合要求 - 保持统一的像素密度和调色板
- 及时与开发团队沟通资源需求 - 使用标准像素尺寸16x16、32x32等
- 精灵动画使用精灵表组织
### 策划团队 📋 ### 策划团队 📋
**主要工作区域**: `Config/` **主要工作区域**: `Config/`
**日常工作流程**: **日常工作流程**:
1.`Config/` 中维护游戏配置文件 1.`Config/` 中维护游戏配置和数值平衡
2. 管理游戏数值和平衡性调整 2. 管理多环境配置(开发、测试、生产)
3. 负责本地化文本的翻译和维护 3. 负责本地化文本的翻译和维护
4. 与开发团队协作实现游戏功能 4. 设计游戏玩法和关卡数据
**协作要点**: **协作要点**:
- 使用JSON格式编写配置文件 - 使用JSON格式编写配置文件
- 保持配置文件的结构清晰 - 保持配置文件的结构清晰和可维护性
- 及时更新本地化文本 - 及时更新本地化文本
- 与开发团队协作实现数据驱动的游戏功能
--- ---
@@ -320,15 +368,24 @@ docs/
### 资源管理规范 ### 资源管理规范
- 所有资源必须放在 `assets/` 对应分类目录下 - 所有资源必须放在 `assets/` 对应分类目录下
- 使用描述性的文件名,避免使用数字编号 - 使用描述性的文件名,避免使用数字编号
- 像素艺术资源必须关闭过滤 (Filter: Off) - **像素艺术资源必须关闭过滤** (Filter: Off, Mipmaps: Off)
- 保持统一的像素密度和调色板
- 使用标准像素尺寸16x16、32x32、64x64等
- 及时清理不使用的资源文件 - 及时清理不使用的资源文件
### 代码组织规范 ### 代码组织规范
- 脚本文件与场景文件放在同一目录 - 脚本文件与场景文件放在同一目录
- 使用事件系统实现模块间通信 - 使用事件系统实现模块间通信,避免直接引用
- 保持单一职责原则,避免过度耦合 - 保持单一职责原则,避免过度耦合
- 针对像素风游戏优化性能(避免浮点数位置、使用整数坐标)
- 及时编写注释和文档 - 及时编写注释和文档
### 像素风游戏特殊规范
- **像素完美**: 确保所有精灵在整数坐标上渲染
- **统一风格**: 保持一致的像素密度和艺术风格
- **性能优化**: 使用对象池管理频繁创建销毁的对象
- **分辨率适配**: 使用像素完美的缩放方式适配不同分辨率
--- ---
**记住:良好的项目结构是团队协作成功的基础!** **记住:良好的项目结构是团队协作成功的基础!**