• 华为联机对战如何提升玩家匹配成功几率


    背景

    我们在进行玩家匹配时,难免因为游戏在线玩家人数少或玩家属性差异大不符合匹配条件等原因,导致玩家匹配不到合适的对手。这时候如何才能增加玩家匹配成功几率呢?

    解决方案

    方法一:优化匹配规则

    华为联机对战服务配置匹配规则时,允许配置放宽属性。什么意思呢?
    当某个匹配规则中属性区间内无法匹配到在线玩家,此时还有属性差异较大的在线玩家可以进行匹配时,可以配置放宽属性区间和放宽属性时长。当超过放宽条件匹配时长时,即触发放宽属性区间,也就是玩家可以再更大属性区间进行匹配,以达到增加匹配成功几率。
    这种方式可以比较好的兼顾玩家公平性和游戏可玩性。

    方法二:机器人填充

    如果以上方式,还无法达到效果,玩家匹配时仍然有较大概率无法匹配到在线玩家,可以考虑开通填充功能。
    开通方法:在进行匹配规则配置时,将“机器人填充”选项,选择开启即可。开通服务后,玩家匹配到的整体超时时间时,仍然无法匹配到真实玩家,则系统会根据玩家信息进行计算,返回符合玩家能力范围的机器人玩家,机器人玩家信息包含匹配规则中配置的所有玩家属性信息,开发者可以根据属性值进行机器人能力构造。

    功能开通很简单,重要的是游戏如何使用。

    如上截图,开通机器人填充后,玩家总是能够匹配成功的,开发者需要根据匹配成功返回的room实例获取房间内玩家列表,解析玩家isRobot属性,如果该值为1表示该玩家为机器人玩家,如果该值为0,表示为真实玩家。开发者根据如上属性判断是否触发游戏本地机器人逻辑。

    不同客户端之间机器人操作如何同步呢?

    华为联机对战服务提供了伪随机数生成器,开发者可根据根据该方法进行不同端的随机数生成。参考文档:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/gameobe-randomnumber-js-0000001250978031

  • 相关阅读:
    Mac M1采用docker安装工具
    管道的读写特点和管道设置为非阻塞
    redis 介绍
    数组两种初始化方法
    C语言学习之路(基础篇)—— 数据类型 02
    线性代数的本质(九)——二次型与合同
    Numpy:打开通往高效数值计算的大门
    Loss上升,精度却也上升?
    Redis 事件通知
    Angular 由一个bug说起之二:trackBy的一点注意事项
  • 原文地址:https://www.cnblogs.com/developer-huawei/p/16441748.html