程序汪以前7万块钱60天接了一个微信防塔闯关类小游戏,跟大家分享一下解决方案。
具体的情况是它的技术栈是客户端是用的Cocos Creator,服务端是用的Java spring boot,数据库用的MySQL MongoDB,通信:WebSocket(实时对战/推送)+HTTP(接口请求)。Cocos核心组件:orca避障+流场群体寻路算法组件、websocket组件。
整体的开发人员和费用情况,开发周期这边是用了60天,开发人数两个人,前端美工一个人,还有一个前后端是一个人,整体费用是7万块钱,走的正规合同。服务器前期用了三台,开发模式是二开,用的游戏引擎是Cocos Creator,维护费用是6000块钱每年。
项目背景简单介绍一下,是当前那些微信小游戏比较火,运营的好,甲方可以通过微信广告还有一些支付充值获取很多广告收益。前期只是通过广告,用户点击广告可以获取一些武器,还有复活等等功能。二期接入支付,支付需要甲方去申请游戏版本号,这个需要钱(5万左右,甲方给米我们帮申请)。

我整理了一个流程图(架构分层图),这边整个游戏的分层架构方便大家理解,大家可以看一下。架构分层这边分两大块,一个是客服端,然后是一个服务端,客户端是Cocos Creator,因为表现层这边(UI渲染、动效),然后到在第二个到了逻辑层,像战斗、玩法逻辑。
第三个网络层(WebSocket+HTTP),直接发消息以后到服务端,服务端这边有个接入层(网关、鉴权),鉴权以后到业务层,业务层这边会进行一些业务逻辑,比如说是关卡的逻辑,还是支付的逻辑等等。
根据情况,我们会在数据持久化到买车口,还是芒果db,MySQL还是MongoDB,数据持久化分两种。
我再简单介绍一下我们这边核心的业务逻辑,像用户游戏的一些基本信息,像游戏关卡的一些配置项信息,这些都是比较核心的数据,都是存在mysql里面的,这些数据它的就是读写,它的频率也比较低。
这边举个例子,像游戏关卡的配置项,这个页面大家其实没每次玩游戏,它们难易程度,还有初始化有多少资源(金币、人口、攻击力等等),是吧难易程度,运营妹子都可以通过页面去配置,去根据用户的体验和当前的收益情况,可以动态调整,这个相当于游戏关卡的难度,初始化一些资源。
但是像MongoDB主要是存的数据是json格式,我这边有个例子,JSON就是用户游戏详细记录,这些JSON都存在这个里面,还有普通的一些日志,存储也存在这个里面。MongoDB它的吞吐量效率,性能比较比较强,所以说对游戏游戏,要求实时性比较高的,这边都是存在MongoDB非常合适。
再最后说一下它的后端,后端我们这边是Java spring boot,然后核心功能,是吧因为游戏的小游戏很多功能是可以复用的,我们直接拿以前的过来,然后进行增加一些个性化功能,因为像权限、充值功能、任务插件、会员管理,这些都是可以复用的。
然后主要是对那个什么关卡信息,用户闯关记录,这些个性化的功能,我们进行二开一下就行了,大家可以看一下。
好吧整个就是这个闯关的呃,小游戏的整个解决方案,就分享这么多,大家下期再见。