背景:

首先说明一下匹配中可能遇到的问题:

问题1:

就是玩家发起匹配请求进入匹配队列后,然后此时玩家却在副本打boss,此时是十分有可能出现:匹配成功再拉它进入别的地图的时候,却发现:拉取失败了。因为它正在战斗,无法传送。

问题2:

对于不同分段的玩家,是否能采用分治的思维,进行多线程匹配? 毕竟:不同分段的玩家其实是匹配互相不干扰的。

---------

实现方式1(逻辑层设计匹配):

再逻辑层匹配,也就是用一个内存表,结构为List类型,以:匹配满5人进地图为例子,那就是每次匹配都进行检测是否满5人(同时把匹配条件不满足的剔除,如:不在匹配场景了)。

即使玩家在不同的分线,其实逻辑上大家还是在一个匹配队列的。

实现方式2(在场景层进行匹配):

玩家增多后,会开出不同的分线,场景层是单线程的,直接搞一个List结构做匹配池即可,同时多个场景可能会对应不同的线程,因此匹配可以认为是使用的多线程匹配策略。

--------

增加了备战场景,其实这种从设计上避免了很多问题。保证玩家:仅仅只能做匹配,而不能在副本中打boss,避免了很多问题(如:匹配成功但是处于战斗状态而无法传送)。

mmo中匹配机制的思考与实现相关推荐

  1. 关于 Windows CE 系统中同步机制的思考

    关于 Windows® CE 系统中同步机制的思考 田海立 2006-1-18 摘要 本文讨论的话题是MSDN文档没有描述或者从它里面不容易看出来的Windows® CE线程同步的问题.既然是这样,而 ...

  2. 游戏思考系列03:游戏匹配机制(MMR、ELO、trueskill2、皇家战争、Glicko等,详细讲ELO,其他的简略)

    文章目录 一.MMR机制--炉石传说.DOTA2.LOL.LOLM 1)简介 2)影响因素 二.ELO机制--王者/LOLM(也就是LOL手游) 1)简介 三.trueskill 2--光环.彩虹六号 ...

  3. 简述C#中IO的应用 RabbitMQ安装笔记 一次线上问题引发的对于C#中相等判断的思考 ef和mysql使用(一) ASP.NET/MVC/Core的HTTP请求流程...

    简述C#中IO的应用 在.NET Framework 中. System.IO 命名空间主要包含基于文件(和基于内存)的输入输出(I/O)服务的相关基础类库.和其他命名空间一样. System.IO ...

  4. 人工智能研究中的几点思考

           语法学是研究逻辑符号与符号之间关系的理论:语义学是研究逻辑符号与其指称的事态之间关系的理论:语用学是研究逻辑符号所表达的解释者的思想之间关系的理论. 摘要:本文通过对人工智能的历史进行研 ...

  5. 关于自注意力机制的思考

    自注意力是Transformer中的核心,但我们大多时候都忽略了其中的Q∈RN×d,K∈RN×d,V∈RN×dQ\in R^{N\times d},K\in R^{N\times d},V\in R^ ...

  6. 符号库匹配不对的原因_王者荣耀:万恶的游戏匹配机制,最菜的队友才是游戏胜利的关键...

    在王者荣耀中排位是我们很多玩家的追求,不过在游戏中,因为排位上不去从此的退出游戏的,也是大有人在.一个游戏有新玩家进入,有老玩家离去是一个游戏正常的生态,不过很多因为上不了段位退出游戏的玩家,并且是因 ...

  7. 关于Java类加载双亲委派机制的思考(附面试题)

    转载自 关于Java类加载双亲委派机制的思考(附面试题) 预定义类加载器和双亲委派机制 JVM预定义的三种类型类加载器: 启动(Bootstrap)类加载器:是用本地代码实现的类装入器,它负责将 &l ...

  8. linux内核的I2C子系统详解3——i2c-core.c初步分析、I2C总线的匹配机制

    以下内容源于朱有鹏<物联网大讲堂>课程的学习,如有侵权,请告知删除. 5.i2c-core.c初步分析 (1)smbus代码略过:smbus是基于I2C总线发展出来的. (2)模块加载和卸 ...

  9. 什么是ACL访问控制列表?它们的匹配机制是什么?

      什么是ACL?        ACL,是Access Control List的简写,中文名称叫做"访问控制列表".访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以 ...

最新文章

  1. 当谈论迭代器时,我谈些什么?
  2. LayoutInflater.Factory 妙用
  3. Xamarin Visual Studio提示找不到AssemblyAttributes.cs文件
  4. Operation category READ is not supported in state standby
  5. python优先队列_python 多线程优先队列Queue详解
  6. HDU 2063 过山车 二分图匹配 匈牙利算法
  7. linux 文件备份定时任务脚本,linux服务器每天执行备份数据库定时任务脚本demo
  8. java axis webservice_Axis Webservice框架使用案例
  9. 考试必错规则:如果你觉得题目很简单,代表你肯定错了
  10. Python操作读写txt文件
  11. linq distinct 不够用了!
  12. Java Timer、TimerTask
  13. 独立站牵手Tik Tok 打造下一个电商节点
  14. 防止***根据PHP中的错误信息爆路径
  15. java day60【 Spring 中的 JdbcTemplate[会用] 、Spring 中的事务控制 、Spring5 的新特性[了解] 】...
  16. iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载+使用输出流代替文件句柄...
  17. mysql 4,mysql 4.1,mysql 数据库中文问题
  18. 华为手机USB连不上电脑的解决方法
  19. Sniffer软件简介
  20. JS——正则校验域名

热门文章

  1. udp客户端与服务器端模型_客户端-服务器模型
  2. Docker安装教程(超详细)
  3. 《C#多线程编程实战》读书笔记
  4. 一分钟带你了解新版系统集成资质——信息系统建设和服务能力评估(CS)
  5. vue按照字母表排序
  6. 30个免费且很棒的公共数据源分享
  7. linux 进程流量统计,Linux进程网络流量统计方法及实现
  8. 兆隆计算机学院新建大楼网络设计项目方案
  9. scrollTo不起作用
  10. 秒杀全网!研发、运营必备实用工具网站