我一直想要自头开始创建一个“游戏”而不使用游戏引擎。这周末完成了。

https://kitae.itch.io/

键盘控制最好:空格键播放,箭头键前进/后退。还有一个倒放条。

骑士 vs 长弓是使用 C17 编写的,通过 flecs (一个 ECS 库)实现。然后我使用 Emscripten 将其编译为 Web 汇总以使其在浏览器中可播放。

这为什么是很有趣的(对我来说):

  • ECS 是建立高度性能的游戏的强大基础。我之前使用 Unity 的 ECS 平台编写过游戏。因为 flecs 轻量级且性能高,于是我想尝试使用它来编写 ECS 游戏。
  • ECS 游戏的真正考验是它是否具备高性能。这次的模拟相当轻松,我不认为它是完全优化的,但它在手机上的 Web 浏览器中运行得非常平滑。
  • 我能够使模拟可预测且可倒放。可预测性和可倒放能力是我喜欢的,因为当您具备它们时,您会获得许多其他好处并开启了很多其他可能性(比如缓冲网络)。

它还能在无头模式下正常运行(您可以不连接客户端就执行游戏)。同样,无头模式是您具备它时就有很多相关的好处。例如,在平衡游戏方面,我运行了大量的无头模拟,使用不同的骑士和长弓数量,以实现 50/50 中止率。

下一步还不明确,但这感觉像是一个非常棒的基础来为其他编码项目提供灵感。

免责声明-我是经验丰富的工程师但本项目的代码我使用了 claude code 所编写。