"好多游戏例如狼人杀在线匹配,王者荣誉在线房间匹配,三国杀房间。。。等游戏的在线匹配是如何实现的呢,能否用 Java 实现一个类似功能的在线匹配系统呢?"

游戏创建房间以及音遇中的房间匹配是什么原理呢?

本贴最后更新于 193 天前,其中的信息可能已经时移世异

好多游戏例如狼人杀在线匹配,王者荣誉在线房间匹配,三国杀房间。。。等游戏的在线匹配是如何实现的呢,能否用 Java 实现一个类似功能的在线匹配系统呢?

  • 算法
    239 引用 • 147 回帖 • 10 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    83 引用 • 631 回帖 • 129 关注
  • Q&A

    提问之前请先看一下这篇文章 《提问的智慧》精读注解版,好的问题比好的答案更有价值。

    1047 引用 • 6675 回帖 • 595 关注
13 回帖   
请输入回帖内容...
  • kafuly

    如何有前辈做过,就问他,没有干就完事了,想个几把

  • kafuly

    又不是什么世界十大难解之谜

  • Eddie

    感觉就是个推荐系统吧???

    1 回复
  • kafuly      

    有意思,大神,栗子都举起来了

    1 回复
  • Eddie      

    我不是大神。。

  • kevinBobo  

    和聊天室差不多,长链接分组匹配呗,不过你把先后进入的人分成一组就行了,分组算法自己想
    java 的话大部分都是用 netty

  • Eddie

    我没有做过,我是这样想的,这种需求有两个重点,一个是在线,一个是匹配。要记录在线用户,又要实现查询的功能,这样的话可能需要 redis,
    当一个用户点击了创建房间,我们将用户的等级这些信息记录入 redis,搞一个房间的记录,同时也记录入 oracle 这样的数据库。当另一个用户点击匹配房间的时候就直接按条件或者推荐规则给他在 redis 上推荐房间。

    1 回复
  • EvilCodes        

    这个我希望 D 大可以过来回答下

    2 回复
  • never  

    难道是我想简单了吗?触发匹配之后,加入等待队列,消费端消费等待队列中的资源,应该可以满足吧,至于其他的条件,在消费队列和消费端进行处理就好

  • Green      

    D 可能决定专门写个文章给你解答了.. 😂
    刚才随便画了一下流程图, 发现这东西好复杂..

  • 88250      

    不好意思啊,我没做过类似的工作,没有相关经验。

  • gitors  

    做了一个简单的猜测(我也没做过这种,仅参与讨论)
    11.jpg

  • gitors  

    最后队列满员判断那里的超时判断,我移到前面了,那个忽略

请输入回帖内容 ...