#gamedev #game #game-state #ffi #api-bindings

epicinium_lib

Rust对libepicinium的绑定,Epicinium策略游戏的逻辑库

8个稳定版本

1.1.0 2021年7月12日
1.0.12 2021年5月17日
1.0.11 2021年3月12日
1.0.10 2021年1月4日
0.35.1 2020年9月16日

#592 in 游戏开发

Download history 4/week @ 2024-07-02

53 每月下载
epicinium_server 中使用

AGPL-3.0-or-later

1MB
34K SLoC

C++ 33K SLoC // 0.1% comments Rust 1K SLoC // 0.2% comments

Epicinium的Rust库绑定

Rust对libepicinium的绑定,一个包含策略游戏Epicinium核心功能的库。此库实现了Epicinium的游戏逻辑,用于加载地图并计算后续游戏状态。

Epicinium的其余部分将在不久的将来开源。它也即将登陆 Steam

Epicinium由来自荷兰的视频游戏和软件开发工作者合作社 A Bunch of Hacks 开发。请联系我们 [email protected]

内容

  • src/ 定义了libepicinium的C语言外部函数接口的惯用Rust绑定
  • epicinium/src/build/libepicinium.cpp 是libepicinium的C++实现
  • epicinium/src/logic 包含Epicinium游戏逻辑的C++源文件
  • epicinium/src/ai 包含Epicinium人工智能的C++源文件
  • epicinium/src/common 包含Epicinium中使用的各种实用程序的C++源文件
  • epicinium/libs/jsoncpp 包含 JsonCpp 的C++源文件,它是Epicinium的依赖项
  • epicinium/libs/plog 包含 Plog 的C++源文件,它是Epicinium的依赖项
  • epicinium/Makefile 是编译Epicinium时使用的完整Makefile的副本
  • epicinium/.config.make 定义了传递给Makefile的附加标志
  • 构建脚本 build.rs 调用Makefile,从其C++源文件编译libepicinium的静态库,然后Cargo通过Rust绑定将其链接

外部依赖

许可证

该库由 A Bunch of Hacks 创建。根据 LICENSE.txt 中的规定,该库在 AGPL-3.0 许可下向您提供。

该库是自由软件;您可以在自由软件基金会发布的 GNU Affero 通用公共许可证(AGPL)的条款下重新分发和/或修改该软件;许可证版本可以是第 3 版,或者(根据您的选择)任何更新版本。

该库的发行旨在使其有用,但没有任何保证;甚至不保证其商业性或适用于特定用途。有关更多详细信息,请参阅 GNU Affero 通用公共许可证。

  • Epicinium,Epicinium 的完整源代码
  • Epicinium 文档,包括 Epicinium 的维基百科和教程
  • Epicinium-NeuralNewt,一个 libtorch 框架,用于通过 NeuralNewt(一个参数化决策树人工智能)训练(部分)卷积神经网络来玩 Epicinium,并使用进化训练技术
  • Epicinium-NeuralNewt-automatonlib,一个针对 Epicinium-NeuralNewt 的预编译 C++ 库,其中包含 Epicinium 逻辑

依赖关系

~0.8–1.7MB
~38K SLoC