前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rustic:完善的纯粹 Rust 技术栈实现的国际象棋引擎,多平台支持(甚至包括嵌入式设备树莓派)

Rustic:完善的纯粹 Rust 技术栈实现的国际象棋引擎,多平台支持(甚至包括嵌入式设备树莓派)

作者头像
niqin.com
发布2022-06-30 16:48:07
6030
发布2022-06-30 16:48:07
举报
文章被收录于专栏:Rust 生态与实践

一个朋友咨询想自己做一个游戏平台,特别提到棋类的完善。在游戏概念发展上,要比目前的游戏平台全面,跟上时代潮流。比如拿国际象棋来说,要引入近几十年国际象棋发展中,产生的新概念。

但笔者并不懂游戏开发,所以说不出什么门道。笔者偶尔玩的游戏也有限,最喜欢的莫过于国际象棋。和朋友沟通后,一时兴起搜索了下开源界。仅就国际象棋而言,发现了一个很有趣的游戏引擎,特此发个短文分享给 Rust 爱好者。

这款国际象棋游戏引擎叫做 rustic,是 2019 年下半年开始开发的。纯粹 Rust 技术栈实现,目前仅有星星 30 个左右。作者完全是从头开发的,未从任何其它国际象棋引擎做任何派生。但是,rustic 集成了许多近几十年产生的新概念,包括国际象棋的玩法和编程开发方面。作者说:该引擎站在过去的国际象棋引擎巨人的肩膀上。

引擎特性

国际象棋的概念和新发展,笔者不做赘述,感兴趣的可以自行搜索。仅就游戏引擎的编程开发和实现方面,rustic 实现了如下功能特性:

  • 游戏引擎
    • 位板展示
    • 魔术移动
    • 换位表
    • UCI 协议
  • 游戏搜索
    • Alpha/Beta 搜索
    • 静默搜索
    • “将”位扩展
  • 移位顺序
    • TT 移位优先级
    • MVV-LVA
  • 游戏评估
    • 棋子盘点
    • 游戏桌计算

目前正在开发的功能特性包括:

  • XBoard 协议
  • 搜索中的修建项完善
  • 游戏暂停/结束时的锥形评估
  • 更多评估术语
  • 惰性 SMP
  • ……

用户界面

一款游戏,直接展示给玩家,并和其交互的用户界面非常重要。目前,一些开源的用户界面已经非常完善和精美。所以 rustic 引擎不提供自己的用户界面,而是使用 UCIXBoard 协议,与图形用户界面进行通信。

当前,rustic 引擎已经可以与以下游戏用户界面集成:

  • Arena Chess GUI
  • XBoard/Winboard
  • CuteChess
  • Tarrasch
  • The Shredder GUI
  • Fritz / Chessbase series
  • Scid vs PC (database)
  • Banksia GUI

有些用户界面未有列出,但 rustic 引擎作者很热情。如果 rustic 引擎使用者想集成到其它自己感兴趣的用户界面,可以提出 PR,rustic 引擎作者将免费(免费程度未知)支持。

平台支持,包含桌面版本

目前,rustic 引擎提供很多平台支持,甚至包括嵌入式设备树莓派 Raspberry Pi、Buster 等。

  • Windows(包括 Windows 10)
    • 32 位,通用版
    • 64 位,通用版
    • 64 位,旧版本
    • 64 位,popcnt
    • 64 位,bmi2
  • Linux(目前主要是测试在 Debian 8 稳定版及以上,但其它 Linux 版本也支持)
    • 64 位,通用版
    • 64 位,旧版本
    • 64 位,popcnt
    • 64 位,bmi2
  • 树莓派(Raspberry Pi、Buster)
    • 32 位

如前文所述,最主要的是,rustic 引擎作者很有激情,支持力度相当大。如果喜欢国际象棋游戏,又不想在网上乱七八糟的游戏平台泄露个人隐私的话,可以自己架一个游戏服务器,和好友,或者其它匿名玩家快乐地下棋。

当然,rustic 引擎和其支持的用户界面,对于用户注册、聊天、记分,以及其它互动是完全支持的。只不过笔者个人,喜欢匿名游戏平台,不用注册,没有聊天交友一类乱七八糟的拓展,就是去随机下一盘棋。

谢谢您的阅读!

参考资料:

  • rustic github 仓库
  • rustic 官网及文档
  • 开源的游戏类用户界面,见文章“用户界面”一节
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust 生态与实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引擎特性
  • 用户界面
  • 平台支持,包含桌面版本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档