2026-06-23 20:32:35 +08:00
|
|
|
|
# 2DGameEngineByRust
|
|
|
|
|
|
|
|
|
|
|
|
用 Rust 从零手写的 2D 游戏引擎 —— 一个零基础学习者的引擎养成项目。
|
|
|
|
|
|
|
|
|
|
|
|
## 这是什么
|
|
|
|
|
|
|
|
|
|
|
|
我在零编程/零引擎经验的基础上,通过亲手造一个 2D 引擎来系统巩固游戏引擎知识,
|
|
|
|
|
|
之后会用它做一款小游戏。完整路线见:
|
|
|
|
|
|
|
2026-06-23 20:49:11 +08:00
|
|
|
|
- 📖 [引擎学习开发计划.md](docs/引擎学习开发计划.md) —— 详细的分阶段学习与开发计划
|
|
|
|
|
|
- 📊 [引擎学习开发计划.xlsx](docs/引擎学习开发计划.xlsx) —— 任务清单(可当进度看板)
|
2026-06-23 20:32:35 +08:00
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
.
|
|
|
|
|
|
├── Cargo.toml # 工作空间(workspace)配置
|
|
|
|
|
|
├── crates/
|
|
|
|
|
|
│ └── engine/ # 引擎本体(库 crate)—— 要造的东西在这里
|
|
|
|
|
|
├── examples/
|
|
|
|
|
|
│ └── sandbox/ # 沙盒(可执行程序)—— 调用并测试引擎
|
2026-06-23 20:49:11 +08:00
|
|
|
|
└── docs/ # 文档
|
|
|
|
|
|
├── 引擎学习开发计划.md
|
|
|
|
|
|
└── 引擎学习开发计划.xlsx
|
2026-06-23 20:32:35 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 构建全部
|
|
|
|
|
|
cargo build
|
|
|
|
|
|
|
|
|
|
|
|
# 运行沙盒(会打印引擎问候语,验证骨架可用)
|
|
|
|
|
|
cargo run -p sandbox
|
|
|
|
|
|
|
|
|
|
|
|
# 跑测试
|
|
|
|
|
|
cargo test
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 进度
|
|
|
|
|
|
|
|
|
|
|
|
- [x] 阶段 0 之前:项目骨架搭建完成
|
|
|
|
|
|
- [ ] 阶段 0:地基(Rust 语言 / 数学 / 图形学认知)
|
|
|
|
|
|
- [ ] 阶段 1:工具链与环境
|
|
|
|
|
|
- [ ] 阶段 2:窗口与渲染入门
|
|
|
|
|
|
- [ ] 阶段 3:自己的 2D 渲染器
|
|
|
|
|
|
- [ ] 阶段 4:引擎核心架构
|
|
|
|
|
|
- [ ] 阶段 5:引擎子系统
|
|
|
|
|
|
- [ ] 阶段 6:编辑器与工具链
|
|
|
|
|
|
- [ ] 阶段 7:用引擎做一款游戏
|
|
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
MIT
|