首先为大家介绍一下什么是小游戏:小游戏特指微信小游戏 , 是小程序的一个子类目 , 可在微信内被便捷地获取和传播 , 即点即玩 , 具备出色的用户体验 。 在开发的视角来看 , 小游戏是一个基于Canvas/WebGL + 微信社交开放能力的新平台 。 在框架上看分为三层 , 是一个典型的分层架构 。 微信中有一个小游戏的Runtime去运行小游戏 , 而OS本身可能会涉及到不同类的设备 。
如果放大小游戏的Runtime可以看到很多的细节 , 第一就是游戏逻辑 , 也就是与平台无关的游戏逻辑的开发 。 第二部分是游戏引擎 , 大部分会用到一些引擎的工作流、一些各种系统封装好的高层的API 。 第三部分是weapp , 小游戏的框架是参考了webview的框架 , 但其实它的底层不是webview , 而是webview精简优化过的平台 , 小游戏有的只是与核心相关的一些渲染的API 。 这里的weapp-adaper是把小游戏的能力适配到与webview更接近的环境 , 让更上层的游戏或引擎本身能够更快速地集入到平台中 。
文章插图
小游戏Runtime
微信的Runtime对外暴露的都是微信的API , 所有的能力都是通过微信API发布出去的 。 底层最基本的能力是渲染相关的 , 即Canvas 2d和WebGL 。 其他一些微信相关的能力是另外一部 , 所以小游戏在架构上和小程序是有差别的 , 但用户体验起来没有太大的区别 。 小游戏是没有页面概念的 , 在实现上也不完全是webview , 其中不必要的部分已经被去掉了 。
总的来说小游戏的入口为game.js , 游戏可以利用底层的一些能力将游戏的整个界面绘制出来 。 配置文件为game.json主要用来配置小游戏是横屏还是竖屏 , 小游戏的全局对象game Gobal类似于webview中的window对象 , 同时支持javascript语言 。 但是小游戏有一个重要的一个限制是禁止动态执行代码 , 开发者必须先提交审核 , 在审核通过后才可以上架给普通用户 。 另外 , 小游戏包括引擎的代码量比较大 , 所以限制大小比小程序要大 , 首包限制大小为4M 。
下面来说一下Webview Adapter , 它的初衷是为了让游戏开发者更好地熟悉我们的平台 , 所以我们的平台在能力上会尽可能地与webview做一些适配 , 其实这个适配也是很简单的一层 。 比如说我们在浏览器里面使用image对象创建一个图片 , 而在小游戏里是通过wx.createimage来创建的 , 在代码中需要做一个简单的适配 。 比如说Canvas、Document都是在Adapter中实现的 , 大家可以研究链接中的代码 。 其中有一些优化的版本 , 之后官方不会继续维系这个Adapter , 因为我们会更专注于底层能力的建设 。 如果大家已经比较熟悉这个平台的话 , 就会比较容易地开发游戏 。 比如Document这个对象在小游戏框架本身中跟普通对象是没有区别的 , 它是Adapter做的一个简单的适配 。
小游戏能力概览
小游戏的社交开放能力现在已经对外开放了 。 其中最重要的一个能力是开放域 , 将微信的好友关系列开放出去 , 给开发者一起使用 , 但也存在着一些限制 。 因为小游戏去中心化的特点 , 分享这一部分也是非常重要的 , 开发者要考虑如何将这个能力利用起来 。 在代码方面 , 因为首包限制是4兆 , 但部分小游戏的代码量可能比较大 。 我们最近也在规划一个分包的能力 , 异步加载代码 , 但这个代码是一定要经过我们审核的 。
龙源科技是杭州市IT行业的领先企业 。 服务类别涵盖Internet服务领域 , 主要包括网站建设 , 小程序商城 , 小程序定制开发 , 游戏开发 , APP定制开发和推广服务 。 龙源科技致力于为大多数需求者解决各种实际需求问题 , 并提供全方位的创意服务
如何开发一款小游戏?
那么如何开发一款小游戏?因为我本人也只是开发过一些简单的游戏 , 并不是专业进行游戏开发 , 所以接下来我会更多地介绍一下如何利用微信的能力来开发小游戏 。
选择小游戏引擎
首先在开发游戏时要选择引擎 , 我们与引擎商也有着比较密切的合作 , 开发小游戏的引擎一定要是适配的 。 比如在底层 , 一开始引擎可能只支持原生的游戏 , 在微信小游戏上就要做一些适配 , 依赖浏览器特有的能力 。 Cocos Creator、Egret Engine、LayaAir Engine这三个引擎已经支持了小游戏的开发 , 网上也有相应的文章介绍如何发布到微信小游戏的平台 。
推荐阅读
- 如何自己制作游戏 如何开发游戏软件
- 如何抓住宝宝语言爆发期进行培养?
- 如何让孩子成为一个乐哈哈的娃儿
- 构建用户画像模型的8个招数 如何构建用户画像模型
- 做好内容营销的10个关键点 如何做好内容化营销
- 2大传播方式 自媒体传播如何取得好的传播效果
- 营销人转型必备路径 如何实现营销一体化
- 怎么吻最有感觉教你六个接吻技巧 如何接吻
- 治疗脂肪肝的最佳方案是什么 脂肪肝如何治疗
- 如何才能长高有方法 如何长高