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

相关技能

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

- 开发语言

- 游戏库API

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

- 网络模块

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

游戏开发

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

完全自主研发

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

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

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

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

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

使用引擎工具

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

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

第三步:游戏联网联调。

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

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

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

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

总结

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

经验分享 程序员 微信小程序 职场和发展