1 个不稳定版本
0.1.0 | 2019 年 7 月 12 日 |
---|
#827 在 游戏开发 中
180 个星标 & 11 个关注者
275KB
2.5K SLoC
Space Menace
使用 Amethyst 游戏引擎制作的动作 2D 平台游戏。
这是我第一次尝试制作游戏(我之前写过一个基本的蛇形游戏)。通过这个项目,我希望在 Rust 编程方面有所提高,熟悉 Amethyst 游戏引擎,并开始学习游戏开发。我还希望这个项目能以某种方式帮助像我一样的 Amethyst 和游戏开发初学者。
目前,它仍然是一个 ⚠️进行中的项目⚠️,在达到可玩状态之前还有很多工作要做。此外,代码远非完美,还有很多改进的空间。我会随着项目的进展逐步改进代码。
配置 Cargo.toml
对于 macOS 用户,默认的渲染目标功能设置为 metal
。
# Cargo.toml
[features]
default = ["metal"]
metal = ["amethyst/metal"]
vulkan = ["amethyst/vulkan"]
如果您使用的是 Windows 或 Linux,您需要将该默认值设置为 vulkan
。
# Cargo.toml
[features]
default = ["vulkan"]
# ...
运行游戏
注意: 此游戏需要 Rust 夜间版本
# Clone the repo
git clone https://github.com/amethyst/space-menace.git
cd space-menace
# Set the toolchain to nightly for the current directory
rustup override set nightly
# Run
cargo run —release
游戏控制
使用 左箭头
键和 右箭头
键来移动玩家,使用 上箭头
键来跳跃。使用 空格键
来射击。
功能
- 使用 Tiled 的基本地图
- 使用预制件(主要角色跑步、跳跃、射击等)进行动画
- 基本的 2D 物理学(重力、速度、碰撞检测等)
- 实体懒加载
- 视差效果
- 一个完整关卡(敌人、完整地图等)
- 开始、暂停和游戏结束屏幕
- 游戏机制/规则(得分、生命等)
- 音频
- 考虑nphysics集成(使用specs-physics)
- 文档
- 测试
关于功能、路线图以及游戏本身的更多详细信息可以在Amethyst的论坛上找到。
贡献
欢迎所有类型的贡献,无论是功能实现、错误修复、艺术资产创建、文档、问题记录,还是仅仅是想法、建议和反馈。
如果你是Rust或游戏开发的新手,正在寻找开始的问题,我添加了一些良好的入门问题。
如果你有任何疑问或想讨论的想法/反馈,请自由地记录问题或在Discord上给我发消息。你可以在Amethyst频道找到我。
致谢
- 感谢Amethyst社区在我遇到困难时给予帮助。特别感谢Ben、doomy、JoshMcguigan、Alve、azriel、Dispersia、Moxinilian、torkleyy、Jojolepro、kel、jaynus、Frizi。
- ansimuz为这款游戏中使用的所有酷炫资产。
依赖项
~38–52MB
~743K SLoC