# buzzy **Repository Path**: tactics-forge/buzzy ## Basic Information - **Project Name**: buzzy - **Description**: No description available - **Primary Language**: Rust - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-29 - **Last Updated**: 2026-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Buzzy — 高性能跨平台小游戏框架 基于 Bevy 0.19 的 2D 小游戏框架:桌面原生调试(winit),Web/微信小游戏/ 鸿蒙 WASM 发布(WebGPU + WebGL2 双产物回退)。本仓为模板仓: `buzzy new my-game` 一条命令即可生成独立游戏项目(见「新游戏」节)。 ## 布局 ``` engine/ # buzzy-engine:框架层(platform/core/asset/render/audio/debug/ui 基建/wasm_runner) games/demo/ # buzzy-game-demo:示例射击游戏(玩法 + 游戏 UI + 两端入口) minigame/ # 微信小游戏 JS 壳(engine=WebGPU 分包,engine-gl=WebGL2 回退分包) tools/ # wx-postprocess.js(ESM → CommonJS 微信适配) vendor/glow # 鸿蒙 WebGL2 宿主修复(workspace 根 [patch.crates-io]) build.py # WASM 双产物构建流水线 ``` ## 构建 ```bash cargo run -p buzzy-game-demo # 桌面调试(日常开发主战场) python build.py # WASM 双产物(engine + engine-gl),默认 --game demo python build.py webgl --no-opt # 单后端快速构建(调试用) ``` ## 新游戏 **独立项目(主路径)**:用 [buzzy-cli](https://gitee.com/tactics-forge/buzzy-cli) 脚手架(类似 `bevy_new`),生成完全独立的游戏仓库: ```bash cargo install --git https://gitee.com/tactics-forge/buzzy-cli.git # 一次性安装 buzzy new my-game # 在当前目录生成 my-game/(不带 buzzy 前缀;含 git init + 初始提交) ``` 模板源默认从本仓 Gitee 地址拉取并缓存到 `~/.buzzy/template`(后续仅增量 fetch, 不会全量重拉);`--offline` 用现有缓存,`--template`/`BUZZY_TEMPLATE` 可换源, `--check` 生成后直接编译验证。生成后记得把 `minigame/project.config.json` 的 `appid` 换成新游戏自己的。 **模板更新同步**:模板仓(引擎/构建流水线/JS 壳)演进后,在项目根运行 `buzzy update` 即可把框架层同步到最新——`games/` 游戏代码、根 `Cargo.toml`、 `project.config.json` 不受影响;本地改过的框架文件会跳过并警告。 因此约定:`engine/`、`build.py`、`minigame/` 壳等框架文件不要手改, 玩法改进应通过游戏侧代码或回流模板仓 PR 实现。 **仓内快速试验(备选)**:复制 `games/demo` 为 `games/mygame`,改其 `Cargo.toml` 的三处名字(package `mygame`、bin `mygame-desktop`、lib `mygame`) 与 `src/main.rs` 的 `buzzy_game_demo::DemoGamePlugin` 引用,根 `Cargo.toml` 的 `members` 加一行 `"games/mygame"`,然后 `cargo run -p mygame` 调试、 `python build.py --game mygame` 出包(package/lib 名由 build.py 从游戏 `Cargo.toml` 解析,无需遵守命名约定;构建成功后把 `Cargo.lock` 一并提交)。 游戏代码只依赖 `buzzy-engine`:在你的 `XxxPlugin` 里组装玩法系统, 引擎栈由 `buzzy_engine::app::build_engine_app()` 装配。 游戏 crate 对 bevy 只写 `bevy = { workspace = true }`(继承 `default-features = false`),不得声明 bevy feature。 ## 文档 - `HANDOFF.md`:项目状态、适配细节、已知问题 - `docs/superpowers/specs/2026-08-10-workspace-split-template-design.md`:本次拆分的设计文档