使用 SpecKit、Rust 和 Bevy 进行游戏开发
Source: Dev.to
概览
brkrs — 一个有趣、可玩且用于学习的砖块破坏游戏与练习场
brkrs 是一个真实可玩的 Breakout/Arkanoid 风格游戏,使用 Rust 🦀 编写,基于 Bevy 引擎。它也是一个 动手学习项目,让你可以探索:
- 使用 GitHub speckit 的 规格优先开发
- 通过 issue 与 PR 进行增量特性开发
- AI 辅助与代理式编码实验
每个特性都从规格开始,经过 issue 或 PR 流程,最终成为可运行的 Rust 代码。你可以 玩游戏、浏览代码,同时学习现代 Rust/Bevy 工作流。
“Talk is cheap. Show me the code.” – Linus Torvalds
brkrs 让你可以玩、摆弄,并看到规格在真实游戏中变为现实。
brkrs 背后的故事
我一直想 用现代游戏框架重写我以前的 Arkanoid/Breakout‑style 游戏,YaAC 🐧。我最初 手动实现核心游戏玩法:阅读文档、参考示例,搭建一个包含基本机制(球、挡板、砖块)的概念验证。
很快我就意识到,手动完成所有工作会 学习曲线陡峭且耗时。
brkrs 于是诞生,作为一种解决方案:一种 学习现代 Rust 游戏开发、应用 规格优先工作流、并尝试 AI 辅助编码 的方式,同时还能玩一款真实的游戏。
立即尝试
在 GitHub Pages 上玩网页版。
关键特性
- 经典 Breakout 风格玩法:挡板、球、砖块和关卡
- 关卡为人类可读格式,易于修改
- 规格优先工作流:每个特性从规格开始,最终成为可运行的 Rust 代码
- 小而增量的 PR 展示开发工作流和学习路径
- 可作为 crate 使用,跨平台(桌面 + WebAssembly 构建)
一种 有趣、易上手的方式来学习 Rust、Bevy 以及现代编码实践。
快速入门(玩 & 学)
前置条件: Rust、Cargo、Git
git clone https://github.com/cleder/brkrs.git
cd brkrs
cargo run --release
- 进入全屏模式
- 退出全屏模式
控制方式: 用鼠标移动挡板,滚轮旋转(如果启用),ESC 暂停。
玩、调试、学习 —— 修改关卡、砖块或机制,观察规格如何转化为特性。
核心系统
- 物理(Rapier3D) – 受限于平面上的 3D 物理。
- 游戏状态 – (计划中)菜单、游戏中、暂停、游戏结束、状态切换。
- 关卡加载器 – 解析 RON 文件,生成实体,支持每关重力设置。
- 砖块系统 – 通过组件与事件实现可扩展的砖块行为。
- 暂停系统 –
ESC暂停,点击恢复,支持窗口模式切换(原生)。
学习路径与贡献
本项目旨在 有趣且具教育意义。建议的学习步骤:
- 阅读仓库或 wiki 中的规格。
- 挑选一个小 issue 来实现。
- 提交满足规格的 PR。
- 尝试 AI 辅助特性或游戏玩法的微调。
文档
完整文档位于 brkrs.readthedocs.io:
为什么你会喜欢它
- 在学习编码实践的同时玩一款真实游戏
- 观看规格转化为可运行特性
- 安全地尝试 Rust、Bevy 与 AI 辅助工作流
通过 动手、玩乐的方式 学习。