6 个版本
使用旧 Rust 2015
0.0.5 | 2018 年 4 月 3 日 |
---|---|
0.0.4 | 2018 年 3 月 29 日 |
0.0.1 | 2018 年 2 月 8 日 |
0.0.0 | 2017 年 10 月 16 日 |
#2107 in 游戏开发
在 2 个仓库中使用 (通过 hexe)
1.5MB
5K SLoC
(发音为 "Hekseh")
什么是 Hexe?
Hexe 是用 Rust 编写的开源棋引擎。它主要作为一个库编写,有一个可执行文件直接使用该库。该项目分为两个包(仓库)
-
[ lib + bin ]
hexe
: 棋引擎本身-
针对 Hexe 的使用场景进行优化
-
包含运行可执行文件所需的所有代码
-
-
[ lib ]
hexe_core
: 棋引擎的构建块-
支持
no_std
构建 -
可供其他棋程序使用,以便于代码复用
-
为什么叫 "Hexe"?
-
"Hexe" 是德语中的女巫。它表明了在此项目中使用了魔法位图。
-
它指的是 Clarke 的第三定律:"任何足够先进的技术都与魔法无法区分。"
-
如果它和鸭子一样重... 那它就是木头做的。因此...
特性
此项目的目标是具备以下特性
hexe
- UCI 兼容性
- 渴望窗口
- 迭代加深
- 杀手走法
- 带 Alpha-Beta 剪枝的 Minimax
- 空走启发式
- 置换表
- 工作窃取多线程搜索
hexe_core
- 位图和方格到棋子映射的棋盘表示
- 查找表和无需运行时初始化的魔法位图
跨平台兼容性
Hexe 编写为可用于 Rust 编译到的所有主要平台。 hexe
和 hexe_core
都会自动针对所有 Tier 1 平台 进行单独测试。截至本文写作时,它们是
平台 | 版本 | 位数 |
---|---|---|
macOS | 10.7+, 狮子+ | 32/64 |
MinGw/MSVC | Windows 7+ | 32/64 |
Linux | 2.6.18+ | 32/64 |
hexe_core
设计为不使用 Rust 标准库。因此,它与所有稳定 Rust 编译到的平台兼容。
跨语言兼容性
目前有以下语言的 Hexe 包装器可用
- Swift
许可证
Hexe 的许可证采用以下之一
由您选择。
依赖项
~2.5MB
~48K SLoC