引言
Bot 一直是 LocalGen 的核心部分。但在项目早期版本中,Bot 开发的门槛较高:
- 只能使用 C++ 编写
- 必须和主程序一起编译
- 接口基本写死在源码中
v6 的目标之一,就是打破这些限制,让更多贡献者能够参与进来。
v6 中的 Bot 类型
内置 Bot
- 源码位于
src/bots/ - 与 LocalGen 主程序一起编译
- 使用 C++ 编写
- 在 Local Game 和 Web Game 中可以直接使用
外部 Bot
- 作为独立可执行文件存在
- 可以用任意语言实现
- 通过网络协议与 LocalGen 通信
- 在纳入外部 Bot 列表后,可由游戏进程托管启动
你可以如何贡献
项目欢迎以下贡献:
- 全新的 Bot
- 对现有 Bot 的改进
- Bug 修复与性能优化
贡献内置 Bot
- 阅读
src/bots/README.md。 - 遵循项目的 C++ 风格规范。
- 提交 Pull Request,并附带:
- 测试或回放材料
- 简要性能说明
贡献外部 Bot
- 实现约定好的通信协议。
- 提供可运行的二进制文件或可靠构建脚本。
- 在 PR 中写清楚:
- 依赖与启动方式
- 支持的操作系统与运行环境
- 预期性能表现
社区对 Bot 的基本要求
- 代码清晰,并具备必要文档
- 在不同地图和玩家数量下进行测试
- 不接受纯随机占位型 Bot
- 单回合开销应保持在引擎可接受范围内
- 长局运行中应尽量稳定,不出现明显内存泄漏