#amethyst #2d #动作 #游戏引擎 #平台游戏 #太空 #编码

应用 amethyst/space-menace

使用 Amethyst 游戏引擎制作的动作 2D 平台游戏

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