从技术角度谈如何开发一款微信联网小游戏

微信自从有了 “跳一跳” 后微信小游戏就开始迅速火爆起来,为跟上这股潮流,相信很多开发者都想探一探微信小游戏是如何开发的。下面我就从技术的角度说说一下微信小游戏如何开发的。

从技术角度谈如何开发一款微信联网小游戏_第1张图片

附:本文适合有开发经验的人,关于如何创建微信小游戏账号和使用微信小游戏开发工具就不再赘述,不了解的可以到微信小游戏开发者后台阅读相关文档。

相关技能

抛开表面看本质,揭开微信小程序这件外套,从代码层面上来看,其实质就是一些 HTML5、css3 和 JavaScript 代码。所以微信小游戏既不是原生游戏(只能运行在微信中),也不完全等同H5游戏。其实质确是面向的H5游戏的开发者。可以说小游戏是使用HTML5技术搭建,具有原生体验的微信内游戏产品。

实现一个单人版的微信小游戏,比如俄罗斯方块这种,主要的技术就是用jQuery原生JavaScript(实现游戏逻辑)、CSS3(控制游戏画面)、加上一点DOM操作;

比如HTML5版本的传奇世界。是基于H5游戏引擎实现的。其主要技术:JavaScript 、H5游戏引擎、浏览器API、网络通信等。

- 开发语言

微信小游戏只支持 JavaScript,所以游戏逻辑相关的开发那就是JavaScript, 不过也可以使用可以编译成JavaScript的TypeScript。

- 游戏库API

主要包含 HTML5的 Canvas 2D API和 WebGL API 使用任何一种API都可以完成游戏最重要的渲染功能。

- 网络模块

实现网络对战是需要一定的网络编程基础,熟悉网络通信相关协议,同时还要自己搭建联网的服务器来维护小游戏客户端之间的通信。

游戏开发

总的来说开发一款小游戏分为两种情况,第一种是不引用游戏渲染引擎,游戏联网引擎,使用常规的开发方法,自己实现场景渲染和网络对战开发。第二种是使用游戏渲染引擎和游戏联网引擎。

完全自主研发

第一步:拟定游戏开发方案,设计游戏UI图片。游戏开发方案就是确定要开发什么样的游戏,达到什么样的效果。设计游戏UI图片可以使用相关软件如PS/CAD等。

第二步:搭建游戏前端框架游戏场景画面渲染架构设计。使用HTML5和CSS3设计游戏场景的架构,封装好UI层处理的接口,待游戏逻辑开发时,只需要调用接口即可操作UI显示效果。

第三步:游戏逻辑处理架构设计和实现。常用的软件设计模式都是MVC模式,就是UI、业务逻辑和数据控制都是分开来的,使用JavaScript实现游的逻辑控制和游戏数据存储。设计一套框架,同样以接口的形式调用,在设计一套把UI和游戏逻辑联系在一起的程序。

第四步:游戏网络对战服务器搭建和服务器程序架构设计与实现。上一步把基本游戏逻辑都实现了,但是毕竟是互动游戏,要实现网络通信那还得设计一套服务器通信程序,用于游戏实现网络对战功能。服务器程序开发有多重选择,这里就根据开发者自己决定。

第五步:游戏客户端与服务端联调。开发好服务模块,要确保游戏运行的稳定性和逻辑的正确性,需要花一定的时间进行联调工作。

使用引擎工具

第一步:拟定游戏开发方案,设计游戏UI图片,这里和前面的一样。

第二步:使用游戏渲染引擎开发工具开发游戏逻辑。不需要开发者关心游戏的界面是如何渲染的,开发者只要关心游戏实现的逻辑,对应游戏画面渲染可直接调用引擎接口来实现画面效果。

第三步:游戏联网联调。

以Matchvs为例,开发者不需要自己搭建服务器和编写服务器网络通信程序,直接调用联网引擎的接口,简单易用。下面举例说明:

先调用注册接口registerUser获取用户信息。

登录用户:一个login 请求接口,一个loginResponse回调接口检查是否登录成功。

加入房间只要调用JoinRoom接口,然后就会返回JoinRoomResponse 回调,接口参数会告诉你现在有哪些人在房间和一些房间的信息等。还包括主动创建房间、踢人、断线重连功能。所有接口使用方式都是一样的。

总结

选择通过什么样的方式开发微信小游戏,主要根据自身的情况来定。完全自主研发的话会比较费时费力,(对网络通信协议不是特别熟悉得自行购买服务器)如果前端开发初学者或者想快速上线一款游戏的话,建议还是你借助引擎工具,可以减少开发时间和资金开销。

当然,以上的步骤只是一个大致的流程,如果对自主研发或是引擎使用感兴趣的,以后我再找个时间给大家详细说说。

你可能感兴趣的:(游戏开发,H5联网游戏开发)