Files
joywayerandClaude Opus 4.8 ad2f4c0bc6 docs: 整理文档目录并对齐代码现状
- 将开发过程/归档文档迁至 docs_dev/(development_plan、certification_checklist、
  已废弃的 Cocos 架构草案 archived_cocos_architecture_draft),并修正全部跨引用
- 新增根 README.md(项目介绍,暂定名 Spellforge)与 docs_dev/README.md 索引
- 新增 docs_dev/doc_code_audit_2026-07-20.md:文档 vs 代码交叉审计报告(经 6
  路对抗性复核,零证伪),含「代码更优 / 文档更优 / 中性」判定汇总
- 在 docs/ 各设计·技术·机制文档就地加「实现现状 (2026-07-20)」callout:
  追认代码更优实现(纯 JSON 数据驱动、SpatialGrid-only 碰撞、MultiMesh 单档、
  存档选最新槽等),订正陈旧/矛盾内容(.tres→JSON、Boss HP/阈值/波次、EventID、
  StatusManager.apply 签名等),标记未实现功能(C# 热路径、Mana、元进展、
  Boss 阶段/抗性、Tutorial、轨迹/连锁/催化等)与 latent bug(CoreFeatureTag 位运算、
  pierce 空操作、MAX_OPS 不读 cpu_limit)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-20 14:35:55 +08:00

66 lines
3.2 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.
# 魔法工匠:开发使用手册 (Developer & Designer Handbook)
> **适用人群**:策划、美术、程序、QA
> **引擎版本**Godot 4.6 (Mono)
> **最后更新**2026-06-05
---
## 目录
| 文档 | 适合 | 内容 |
|:---|:---|:---|
| [01 快速上手](01_quickstart.md) | 全员 | 克隆→启动→首次运行 |
| [02 内容创作指南](02_content_authoring.md) | 策划 / 程序 | 法术 / 敌人 / 波次 / Boss / 共鸣 |
| [03 资源替换指南](03_asset_replacement.md) | 美术 / 程序 | 特效 / 精灵 / 音效 / UI 图片 |
| [04 本地化工作流](04_localization.md) | 本地化 / 策划 | `.po` 维护、新增语言、字符串规范 |
| [05 发布标准清单](05_release_guide.md) | 全员 / PM | Steam / Switch 认证、发布流程 |
| [06 法术编辑器](06_spell_editor.md) | 策划 / 开发 | 法术编辑器 meta 字段速查 |
| [07 游戏设计器](07_game_designer.md) | 策划 / 美术 / 开发 | **⭐ 一站式可视化工具**:法术/敌人/波次/Core/平衡全部表单配置,零代码 |
---
## 项目目录快览
```
daihaoRogue/
├── scenes/
│ └── main/combat_s2.tscn ← 主场景(唯一可玩入口)
├── scripts/
│ ├── autoloads/ ← 全局单例(30+ Autoload
│ └── domain/
│ ├── spell_system/ ← 法术虚拟机
│ └── combat/ ← 游戏循环状态机
├── translations/ ← zh_CN / zh_TW / en / ja .po
├── audio/sfx/ ← 音效放这里(目前占位蜂鸣)
├── assets/sprites/ ← 精灵图放这里(目前几何占位)
├── docs/
│ ├── design/ ← 游戏设计文档
│ ├── mechanics/ ← 机制深度文档
│ ├── technical/ ← 架构 / 实现方案
│ └── handbook/ ← 本手册(你在这里)
└── docs_dev/ ← 开发计划 / 认证清单 / 归档草案
```
---
## 关键 Autoload 速查
| Autoload | 职责 | 常用入口 |
|:---|:---|:---|
| `WandPreset` | 法术/Core 内置预设 | `make_spark_bolt()`, `make_wand_basic()` |
| `SpellEvaluator` | 法术虚拟机(编译+执行) | `compile_wand(core, nodes)`, `execute_compiled(compiled, caster_id, pos)` |
| `SpellRegistry` | 法术查询表 | `get_spell("action_fire_bolt")` |
| `WaveManager` | 波次生成/配置 | `WAVE_CONFIG[0..19]` |
| `EnemyManager` | 敌人 SoA 管理 | `spawn_enemy(pos, hp, type)` |
| `BulletManager` | 子弹 SoA 管理 | `spawn_bullet(...)` |
| `VFXManager` | 特效池 | `play("hit_spark", pos)` |
| `AudioManager` | 音效池 | `play("hit", pos)` |
| `SettingsManager` | 难度 / 音量 / 语言 | `difficulty_name()`, `enemy_hp_mult()` |
| `EndlessRecords` | 本地排行榜 | `add_record(wave, elapsed, kills)` |
| `ProfileManager` | A/B 槽局内存档 | `save_run()`, `load_run()` |
| `Locale` | 语言切换 | `set_locale("en")` |
| `StatusManager` | 状态效果(DoT 等) | `apply(entity_id, StatusID.BURN, 2)` |
| `ZoneManager` | 地面效果区域 | `spawn_zone(cx, cy, r, status_id, dur, tick, owner)` |
| `MinionManager` | 召唤物 | `spawn_minion(def_dict, owner_id, pos)` |