最近有客户找到我们,想做一款答题类的小程序,类似于前段时间比较流行的“头脑王者”、“挑战答题王”这些答题小游戏。之前想找别人现成的代码拿过来改改,经过几天的摸索,发现里面坑太多,经常出现一些莫名其妙的错误,另外一个核心的玩法:通过微信好友邀请互动答题比拼没有实现。最后决定还是团队自己着手开发。 项目整体难度不小,涉及到的核心知识主要分为下面几点: 一:互动答题的通讯机制实现 说到互动答题,玩过头脑王者的同学还是印象比较深刻的,在答题的同时,可以看到对方的对错情况,可实时感受到游戏中的进展刺激体验感。话说回来,关于游戏互动通讯机制,目前市面上有比较成熟的框架,包括基于Springboot的websockt,NodeJsWebsocket等websocket通讯机制。后来技术团队经过认真调研,决定采用Nodejs的websocket作为游戏的基础通信方案,而且后面了解到,腾讯云有集成相关的nodejs通信基础框架,具体可以去腾讯云官网了解小程序解决方案模块。 二:游戏匹配算法 游戏玩法中涉及到好友匹配,随机匹配两种模式,其中好友匹配比较好实现,类似房间号的实现方法,给游戏双方定义好了一组房间号。对于随机匹配模式,为了让玩家之间进行比较公平的对战,需要对游戏玩家进行分类,可以按照题目类型,玩家等级进行标签定义。另外随机匹配模式的实现,可基于队列的先进先出方法,避免让玩家等待太久,失去游戏的基本乐趣。 以上是两点是项目实际开发过程中需要解决的两个技术问题,剩下的就是一些小问题了。 目前项目已经上线运营中,需要了解项目具体开发流程或者需要进行二次开发的朋友可联系我们。