33、藏棋九棋智能游戏平台:传承与创新

藏棋九棋智能游戏平台:传承与创新

1 引言

藏棋九棋是一种规则复杂独特的民间棋类运动,它源于西北的“方棋”,经过汉、藏、蒙古、回等多民族文化的创新发展而成。自 2010 年起,四川和西藏每年都会举办全国性的藏棋锦标赛,2019 年,藏棋还被纳入了中国大学生计算机游戏竞赛和中国计算机游戏锦标赛的年度项目列表。

藏棋九棋的棋盘大小多样,有 8 路和 14 路等不同规格,且棋盘具有可变性。游戏过程分为布局和战斗(移动与飞行)两个阶段,每个阶段都有独特规则且相互影响,胜负判定复杂。目前,藏棋九棋游戏算法和游戏平台的研究仍处于初始阶段,缺乏游戏数据和专家知识是藏棋九棋游戏以及藏棋文化传承面临的常见问题。为了解决这些问题,推动藏棋九棋文化的传播,高效收集游戏数据以服务科研,开发一个智能数字游戏平台具有重要意义。

在移动互联网时代,手机成为人们生活中不可或缺的工具。考虑到藏棋九棋游戏平台需要方便收集游戏数据,同时易于大多数藏族牧民使用,我们选择了微信云开发技术来构建藏棋九棋小程序。微信小程序运行速度快、操作简单,无需下载即可使用,方便棋手使用,也有利于收集棋类游戏数据。此外,该小程序还能为全国藏棋锦标赛提供比赛所需的游戏平台,收集高手之间的比赛数据并进行展示。

2 研究现状

2.1 相关游戏平台研究

随着互联网新技术的发展,棋类游戏逐渐向网页和移动端转移。目前,一些热门棋类平台的功能已经完善,发展趋于饱和。例如:
- 弈客围棋 :凭借功能完善的平台吸引了大量用户,仅在 2019 年,对弈棋局就超过 2400 万局。
- 腾讯 QQ 游戏平台 :涵盖了围棋、中国象棋、国际象棋、五子棋、跳棋、麻将等多种棋类游戏,用户数量众多,传播范围广泛,极大地推动了棋类游戏的发展。
- 通用游戏平台 Ludii :可用于体验和设计各种游戏,游戏种类包括棋类游戏、骰子游戏、数学游戏等。该系统为游戏设计和玩法提供了新的直观方法,其用于描述游戏的语言为通用游戏生成和分析等领域开辟了许多新的研究途径。

2.2 藏棋九棋研究现状

目前,藏棋九棋的研究主要集中在搜索算法、深度强化学习模型和智能游戏程序的开发上。以下是一些具体的研究成果:
- 基于棋形的攻防策略 :需要从 300 局人类专家游戏数据中提前提取棋形模式,然后根据专家知识设计不同阶段的攻防策略。
- 基于分段评估方法的游戏程序 :构建了一种在不同阶段评估游戏状态的方法。
- 小样本机器学习方法 :使用具有高推理能力的贝叶斯网络从小样本数据中提取棋形。
- 分阶段游戏策略 :在藏棋九棋的战斗阶段应用 Alpha - Beta 剪枝搜索算法,通过构建巨大的游戏树获得最优行动方案,但需要良好的评估函数和剪枝条件。
- 混合深度强化学习模型 :使用混合时差算法结合深度神经网络,在不依赖人类知识的情况下训练藏棋九棋的自我对弈。
- 混合更新深度强化学习自我对弈模型 :将 Sarsa(λ)算法和 Q - Learning 算法与深度神经网络相结合,提高了模型自我对弈训练的效率。

然而,关于藏棋九棋游戏平台的研究相对较少。2016 年,中央民族大学的一个研究团队开发了藏棋九棋的单机版程序;2022 年,该团队再次创新,使用游戏开发引擎 Cocos Creator 创建了基于网页的藏棋九棋在线游戏平台,并将其作为 2022 年全国学生计算机游戏竞赛藏棋九棋项目的指定游戏平台,成功完成了比赛任务。但由于藏棋九棋规则复杂,研究人员关注较晚,其游戏平台的类型和功能仍不完善。随着移动互联网新技术的高速发展,棋类游戏向移动端转移已成为普遍趋势,因此设计和开发藏棋九棋的移动网络游戏平台十分必要。

3 开发环境与技术方案

藏棋九棋小程序的开发和部署使用微信开发者工具。小程序前端使用 Wxml、Wxss 和 JavaScript 等编程语言完成用户界面的设计。此外,九棋小程序的开发采用了云开发技术,只需编写和调用云函数,即可实现与云数据库的实时动态交互,为开发工作提供了极大便利。部分静态图像资源存储在云存储环境中,以减小小程序编译资源包的大小,提高用户打开小程序时的初始加载速度。

以下是小程序云开发的流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(前端界面设计):::process --> B(云开发技术):::process
    B --> C(云函数调用):::process
    C --> D(云数据库交互):::process
    D --> E(云存储):::process
    E --> F(小程序加载优化):::process

4 小程序设计方案

4.1 界面设计

小程序包含首页、九棋房间列表、游戏房间、游戏记录、高级棋谱、棋类规则解释、棋类新闻展示等页面。各页面之间的关系如下:

graph LR
    classDef page fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(首页):::page --> B(九棋房间列表):::page
    A --> C(游戏记录):::page
    A --> D(高级棋谱):::page
    A --> E(棋类规则解释):::page
    A --> F(棋类新闻展示):::page
    B --> G(游戏房间):::page
    G --> H(结果页面):::page

玩家在首页点击功能按钮即可进入想要查看的二级页面。玩家进入房间页面有三种方式:
1. 玩家创建房间,以房主身份进入房间等待其他玩家加入。
2. 玩家从房间列表页面选择并加入房间。
3. 玩家点击房主的邀请链接进入房间。
当两名玩家都进入房间后,游戏开始。战斗阶段结束后,胜负判定完成,房间页面将跳转到结果页面。

4.2 九棋游戏流程设计

九棋小程序使用微信云开发的实时数据推送技术,通过动态监听云数据库相应字段的变化,实现九棋比赛双方的数据交互。游戏过程可总结为以下步骤:
1. 游戏进入与身份判断 :玩家身份分为房主(房间创建者)和玩家(后续加入房间的人)。若玩家主动创建新的空闲房间,则其身份为新创建房间的房主;若有空闲房间,后续加入的玩家即为玩家。
2. 监听实时数据库更新 :当房主身份的玩家进入新创建的游戏房间时,需要通过实时数据库功能监听“房间”表中相应记录的“人数”字段的变化,以等待玩家身份的玩家进入游戏。
3. 更新数据库字段 :当玩家进入游戏房间时,更新游戏房间数据表中的“人数”字段。当“人数”字段从 1 更新为 2 时,表示房间内玩家人数已满,游戏开始。
4. 棋盘更新 :玩家和房主身份的玩家都需要监听远程棋盘的更新。当远程棋盘更新时,根据最新棋盘状态重新绘制本地棋盘。随后进行游戏胜负判定,若能判定胜负,则退出游戏;否则,打开本地锁,允许玩家下棋。
5. 游戏结束与退出 :若九棋的战斗阶段能够判定胜负,则自动进入游戏退出逻辑。退出逻辑分为两部分,首先跳转到游戏胜负结果页面,然后调用云函数存储游戏数据。

4.3 数据表设计

云数据库存储用户信息、游戏房间信息等数据,具体数据表如下:
| 数据表 | 存储数据字段 | 描述信息 |
| — | — | — |
| userinfo | “_openid”:用户唯一标识符
“avatarUrl”:用户头像
“nickname”:用户昵称 | 用于存储玩家信息 |
| rooms | “roomid”:房间号
“owner”:房间创建者的标识符
“player”:后续加入房间的玩家的标识符
“chessmen”:棋盘数组
“state”:游戏阶段
“manual”:棋谱
“nowcolor”:当前棋手的颜色
“people”:房间内的人数 | 存储玩家在游戏中创建的房间信息 |

4.4 游戏数据设计

为了便于后期更高效地处理九棋棋谱数据并提取专家知识,参考围棋游戏格式制定了九棋棋谱的设计规范。在棋谱数据中,字母“W”和“B”分别表示白棋和黑棋,坐标 (x, y) 表示棋子在棋盘上的位置。例如,W(3, 3) 表示第三行第三列的白棋。具体设计规范如下表所示:
| 字符 | 描述信息 |
| — | — |
| “[ChessJiu]” | 表示九棋 |
| “[2023.05.01 10:00]” | 表示游戏开始时间 |
| “Stage[1]” | 表示进入布局阶段 |
| “Stage[2]” | 表示进入战斗阶段 |
| “W(x,x)” | 表示白棋的坐标 |
| “B(x,x)” | 表示黑棋的坐标 |
| “O(x,x)” | 表示该坐标处无棋子 |
| “TC:” | 表示跳吃 |
| “FC:” | 表示方吃 |
| “W(x,x)-O(y,y)” | 白棋从 (x, x) 移动到 (y, y) |
| “;” | 游戏玩法顺序的分隔符 |

4.5 棋盘与棋形表示

藏棋九棋的棋盘可以用一个 8×8 的二维数组表示,其中黑棋、白棋和空位分别用 -1、1 和 0 存储。“大连”棋形在矩形区域内有不同的排列方式,也可以用二维数组表示。通过遍历二维数组中的整个棋盘,可以查询所有棋形的数量,并用于判定九棋游戏的胜负。

4.6 棋局回放

游戏产生的游戏数据动态存储在云数据库中,棋局回放的第一步是从云数据库中获取游戏数据。游戏数据实际上以字符串形式存储,用于表示黑白棋子的落子顺序、它们在棋盘上的位置以及移动情况。棋局回放通过按照固定格式逐步解析游戏数据,根据回合数将字符串转换为坐标,从而获得每一步移动后的棋盘数组。通过读取每一步的棋盘数组并重新绘制棋子,即可恢复棋盘。以下是一些可能的黑棋走法示例:
| 字符串表示的可能走法 | 长度 | 描述信息 |
| — | — | — |
| B(J,8) | 6 | 布局阶段放置黑棋 |
| B(J,8)-O(H,8) | 13 | 黑棋移动一步 |
| B(L,7)-O(M,7),FC:W(J,7) | 23 | 黑棋移动后形成方形并吃掉一颗白棋 |
| B(L,7)-O(M,7),FC:W(J,7),W(I,7) | 30 | 黑棋移动后形成两个方形并吃掉两颗白棋 |
| B(L,7)-O(M,7),FC:W(J,7),W(I,7),W(K,7) | 37 | 黑棋移动后形成三个方形并吃掉三颗白棋 |
| B(L,7)-O(M,7),FC:W(J,7),W(I,7),W(K,7),W(A,1) | 44 | 在飞行阶段,黑棋移动并形成四个方形,吃掉四颗白棋 |
| B(H,J)-O(H,8),TC:W(H,9) | 23 | 黑棋单步跳跃 |
| B(A,8)-O(C,8),TC:W(B,8),FC:W(D,2) | 33 | 黑棋单步跳跃后形成方形并吃掉一颗白棋 |
| B(A,8)-O(C,8),TC:W(B,8),FC:W(D,2),W(D,1) | 40 | 黑棋单步跳跃后形成两个方形并吃掉两颗白棋 |
| B(G,7)-O(G,9)-O(E,9),TC:W(G,8),W(F,9) | 37 | 黑棋两步跳跃 |
| B(G,7)-O(G,9)-O(E,9),TC:W(G,8),W(F,9),FC:W(D,2) | 47 | 黑棋连续两步跳跃后形成方形并吃掉一颗白棋 |
| B(G,7)-O(G,9)-O(E,9),TC:W(G,8),W(F,9),FC:W(D,2),W(C,2) | 54 | 黑棋连续两步跳跃后形成两个方形并吃掉两颗白棋 |

通过以上设计和开发,藏棋九棋智能游戏平台为藏棋九棋文化的传承和发展提供了有力支持,同时也为相关科研工作提供了丰富的数据资源。未来,随着技术的不断进步,该平台有望进一步完善和拓展功能,为更多的棋手和爱好者提供更好的服务。

5 平台测试结果

在 2023 年全国藏棋锦标赛中,对藏棋九棋智能游戏平台进行了在线测试。该平台受比赛组委会委托,成功收集了超过 10 局获胜高手的比赛数据,并完成了在线棋局回放。目前,平台每天有超过 200 名玩家进行在线游戏,运行稳定。这表明平台的功能基本满足了用户的需求,能够有效地支持藏棋九棋的线上比赛和日常对弈。

以下是平台测试的一些关键指标:
| 测试指标 | 结果 |
| — | — |
| 数据收集数量 | 超过 10 局比赛数据 |
| 在线玩家数量 | 每天超过 200 人 |
| 运行稳定性 | 稳定 |

从这些测试结果可以看出,平台在数据收集和在线游戏方面表现良好。数据收集功能为后续的专家知识提取和智能算法研究提供了丰富的素材;而稳定的在线运行则保证了玩家能够流畅地进行游戏,提高了用户体验。

6 总结与展望

6.1 总结

藏棋九棋智能游戏平台的开发是藏棋九棋文化传承和发展的重要举措。通过微信小程序的形式,平台解决了藏棋九棋游戏数据收集困难的问题,为科研工作提供了有力的数据支持。同时,平台的在线游戏和棋局分析功能也为棋手们提供了一个便捷的交流和学习平台。

平台的主要优势包括:
- 便捷性 :微信小程序无需下载,操作简单,方便大多数藏棋九棋玩家使用。
- 数据收集能力 :能够高效地收集比赛数据,为藏棋九棋的智能研究和文化传承提供数据基础。
- 功能完整性 :具备在线游戏、棋局分析、棋局回放等多种功能,满足了玩家的多样化需求。

6.2 展望

尽管藏棋九棋智能游戏平台已经取得了一定的成果,但仍有许多可以改进和拓展的空间。未来的发展方向包括:
- 智能算法优化 :进一步研究和优化藏棋九棋的搜索算法和深度强化学习模型,提高平台的智能水平,为玩家提供更具挑战性的对手。
- 社交功能拓展 :增加社交互动功能,如玩家社区、排行榜、好友对战等,增强玩家之间的交流和竞争氛围。
- 文化传播加强 :利用平台的影响力,加强藏棋九棋文化的传播和推广,让更多的人了解和喜爱这一传统棋类运动。

以下是未来平台发展的流程图:

graph LR
    classDef future fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(智能算法优化):::future --> B(更智能的游戏体验):::future
    C(社交功能拓展):::future --> D(增强玩家互动):::future
    E(文化传播加强):::future --> F(推广藏棋九棋文化):::future
    B --> G(平台持续发展):::future
    D --> G
    F --> G

综上所述,藏棋九棋智能游戏平台具有广阔的发展前景。通过不断地改进和创新,平台有望成为藏棋九棋文化传承和发展的重要载体,为传统棋类运动的现代化发展做出更大的贡献。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值