位置:编程技术网 > 研发管理 > 正文 >

从0到1,深度解读小游戏开发技术奥秘

2019年08月24日 22:28来源:未知手机版

迪尔,google play 商店,陈豪三胎出生

自 2018 年初,首批微信小程序游戏上线,从凭借微信带来的巨大流量和变现能力,小游戏生态极速地建立了起来。截至到目前,微信小游戏月活用户已超 4 亿,开发者高达数十万。在现如今的游戏市场寒冬中,拥有微信庞大的用户量以及更好兼容性的小程序游戏,优势就显得格外明显。无疑,这将会是一个巨大的风口。

那么,如何从 0 到 1 去实现一款微信小游戏?微信小游戏背后的技术本质是什么?提供哪些能力和玩法?使用小程序·云开发将获得哪些独家优势?带着对这些问题的解答,来自腾讯云·云开发团队与微信团队的四位讲师开始了这场技术布道。

如何入手开发一款小游戏?

众所周知,微信第三方开发分为两类,一类是基于行业通用网页技术框架开发的微信H5与公众号文章,另一类则是基于微信技术框架开发,包含着微信私有技术特性的普通小程序与小游戏。

在H5、普通小程序与小游戏之间的区别中,目前小游戏是唯一一个真正支持关系链数据使用方案的。为此,腾讯高级工程师周桂华(花叔)讲解道,一个微信用户的关系链数据包括两部分,一部分为用户好友的用户数据,另一部分为该用户所在的某个群的群成员用户数据。之前为了保护用户关系链数据,微信基于技术框架会在前端做一个封闭式的子域,而主域会把信息丢给开放数据,这个开放数据也就是子域。每当子域需要暴露关系链的数据,如绘制排行榜等业务场景,需要将排行榜绘制到封闭式的sharedCanvas上,再在主域将 sharedCanvas 渲染上屏。

然而,子域不可能发出第三方请求,每个开发者的数据库都是微信定义在托管服务器里,你的业务数据只能跟主域做交互。但在最新一套的开放能力中,微信提供JSServer服务器与互动型托管数据。其中,互动型托管数据是把好友之间的交互数据单独存一份的数据,而JSServer的作用则是校验用户数据,顺便把数据存到普通的托管数据里。

在演讲中,拥有重构工程师和设计师“双重身份”的花叔,提起自己第一次开发小游戏,深有感触地说道:“如果第一次做游戏的话,你会有一种感觉,像是你在创造一个世界。其实我对第一个游戏最大的感触是非常开心。”

2017年,小程序诞生,为了学习如何开发小程序,花叔尝试做了一款关于思维导图的小程序工具。当小游戏出现后,花叔默默定下了独立开发一款小游戏的目标。在开发的过程中,花叔渐渐发现,CreateJS做游戏有点弱,那是偏程序编码的开发方式,虽然在做数据调用和程序逻辑方面比较灵活,但是做游戏UI效果,CreateJS会显得无力,因为要一行行代码写,效率不高。而实际游戏开发中,UI效果的制作工作量又不少,所以CreateJS在游戏开发上面还是略逊一筹,可以说它只是个代码库,要真正做游戏还是需要一整套开发套件才行。

那么,偏程序开发的形式来开发游戏太累,怎么办?此后花叔慢慢转战Coccos Creator。起初,作为代码流的花叔一开始挺不习惯Coccos Creator的开发流程,其开发理念是以工作流为核心,让不同职能的开发者能够快速找到最大化自己作用的工作切入点,并能够默契流畅的和团队其他成员配合。

简单来说,Coccos Creator就是把游戏中可能用到的各类功能或者元素封装成一个个组件,这些组件带有自己的回调方法,组件在可视化开发工具里就能通过拖拽和拼装形成游戏。Coccos Creator还有有一个比较好的点是:它约定了程序员可以定义一些属性,这些属性能暴露给其他同学去修改。这样就可以很好地解决前端诉求,开发质量和开发效率的问题。

但是接下来又有另外一个问题,传统服务器后端方案太庞杂,一个半前端的开发工程师,怎么独立并快速开发游戏?以花叔开发的《影子的游戏》为例,这个游戏也是基于Coccos Creator,后端方案跟上述所说的不太一样,是基于云的。而这时的技术框架很简单,上面是小程序云,下面是小游戏端,而小程序·云开发只需要一个前端开发就搞定。

本文地址:http://www.reviewcode.cn/yanfaguanli/69403.html 转载请注明出处!

今日热点资讯