#求解器 #游戏 #强求解器

app gamesman-nova

用于计算有限、确定性、完全信息、抽象策略游戏解集的系统

6个版本

0.1.5 2023年12月19日
0.1.4 2023年12月7日
0.1.3 2023年11月9日

#108 in 游戏开发

Download history 2/week @ 2024-03-10 39/week @ 2024-03-31

每月下载量:57

GPL-3.0 许可证

105KB
1.5K SLoC

Nova

这是Dan Garcia博士的GamesmanClassic的一个专注于新方向的衍生作品,GamesmanClassic是一个用于强求解(深呼吸)完全信息回合制确定性抽象策略游戏的系统,例如井字棋、四子棋和棋(如果它不那么庞大)。特别是,Nova的目的是吸取GamesmanClassic的学习和抱负,并提供一个具有能够通过有意义的、同等性能和安全抽象的架构的软件系统。

安装

在进行任何操作之前,您需要安装Rust编译器和工具链。GamesmanNova位于crates.io,因此要获取nova可执行文件,您可以运行

$ cargo install gamesman-nova

否则,如果您想从源代码构建Nova,您也可以

  1. 将此存储库克隆到您喜欢的位置
$ git clone https://github.com/GamesCrafters/GamesmanNova.git location
  1. 转到您的安装位置(cd位置),并安装可执行文件
$ cargo install --path .

这将把nova可执行文件添加到您的cargo二进制文件列表中。

开发

重要方向

此项目的当前主要目标是

  • 支持可转移的效用联盟游戏(即,您可以重新分配奖金的游戏)。
  • 创建一个内存高效且线程安全的GamesmanClassic数据库引擎实现。
  • 设计一个数据库文件序列化协议,使GamesmanClassic的数据库与Nova兼容。
  • 设计一个优秀的终端用户界面并扩展当前的命令行界面。
  • 实现并包装用于Savio集群求解的分布式MPI控制器。

子项目

目前正在构建的较小模块

贡献

本项目由UC伯克利的计算博弈论应用研究小组GamesCrafters合作创建。如果您想作为GamesCrafters组织外的人士进行贡献,请随意克隆仓库并提交一个PR。如果您是该组织的一员,随时创建分支并开始编码(但请告知其他人,以便我们提供帮助或表示感谢)。已经设置了轻量级的持续集成(CI)来确保主分支的质量(即编译、测试和格式检查)。

-- Max Fierro, [email protected]

依赖项

~6–18MB
~213K SLoC