st.API之上:开发小游戏的必备知识点

st.API之上:开发小游戏的必备知识点

识别小游戏二维码

微信聊天列表页面下拉后出现最近玩过的小游戏

发现 - 小程序

发现-游戏-我的小游戏 从技术上讲,微信小游戏是一个微信小程序,添加了游戏库API。小游戏只能在小程序环境下运行,所以小游戏既不是原生游戏,也不是完全等同于HTML5游戏。但实际上,小游戏是针对 HTML5 游戏开发者的。为了让 HTML5 游戏尽可能的低成本,小游戏尽可能地复用了浏览器中的 WebGL、JavaScript 等 HTML5 技术。可以说,小游戏是用HTML5技术构建的,在微信游戏产品中具有原生体验。

在小型游戏中使用这种模式有很多好处。最大的优点是稳定性和可控性。与原生相比,微信可以在微信中关闭游戏;与纯HTML5相比,无需担心被游戏和广告付费。

相比之前已经出现的其他运行时形态,微信小游戏的运行时环境具有“兼容HTML5生态”的巨大优势。也就是说,无论你用什么游戏引擎开发一个HTML5游戏,都可以轻松移植到小游戏中。这使得微信小游戏可以直接利用庞大的 HTML5 生态系统。

除了技术,微信对小游戏的最强加持就是社交。善用微信的社交生态来获取新用户,将在小游戏的设计中占据非常重要的位置。我们可以看到,在第一批16款游戏中,除了闪屏入口,其他小游戏入口都隐藏的很深,所以流量的来源主要不是来自推荐列表,而是来自社交传播。这与市面上大部分用户的游戏设计思路不同,洗用户、滚服务器。

微信开放的优质门户、庞大的用户群以及点击播放和分享的特点,将赋予小游戏巨大的潜力。这完全取决于开发者如何抓住机会找到适合微信用户的游戏类别和形式。

第二名以上。 API:小游戏开发必备知识点

如前所述,小游戏的开发主要是复用HTML5技术栈,所以开发过HTML5游戏的开发者上手速度会快很多h5游戏引擎,甚至很多HTML5游戏都可以快速移植到小游戏平台上。具体来说,微信小游戏的开发技术分为三个部分。

底层技术首先是开发语言。微信小游戏仅支持 JavaScript。当然,可以编译成 JS 的 TypeScript 和 CoffeeScript 都可以作为开发语言。二是小游戏支持的游戏库API,主要包括HTML5 Canvas 2D API和WebGL1.0 API。使用任何API都可以完成游戏最重要的渲染功能,但不能混用。另外,只有WebGL渲染模式可以支持3D渲染。

中间件:游戏引擎当然,直接使用Canvas 2D或者WebGL来制作游戏是一个非常高的门槛,也是非常耗时耗力的。你肯定不希望一个小游戏项目拖上一年半吧?因此,使用HTML5游戏引擎其实是一个非常明智的选择。引擎封装的高层接口可以大大降低开发者的开发门槛,缩短项目周期。目前国内三大主流引擎 Cocos Creator、Egret、Laya 均支持小游戏发布。 Phaser.js、Three.js等国外的HTML5引擎虽然不支持直接发布,但经过一些定制,可以在小游戏环境下成功运行。

除了微信SDK,微信小游戏还提供了丰富的微信内部SDK供开发者调用。使用这些界面,用户可以登录、转发和列出其他常见的社交功能。

好友排行榜

不过,除了这些常规玩法,最让人欣慰的是,通过转发小游戏,玩家可以在游戏中完成组队或战斗,再加上小游戏的即点即玩功能,这一种邀请战斗的游戏体验可以说是无缝的。

邀请好友组队参加快乐坦克大战

好友直接点击转发链接进入游戏完成组队

这种群转+点击播放机制可以带来非常有趣的社交玩法。

第三名以下。 API:了解小游戏的底层技术架构

正如开篇所说,小游戏既不是原生游戏h5游戏引擎,也不是HTML5游戏3D道具,它们的开发环境其实和两者有着非常密切的关系。和 HTML5 的关系就是复用了 HTML5 的渲染接口,但是和原生游戏有什么关系呢?我们用一张图来说明:

小游戏的基本运行框架

小游戏的运行环境其实就是微信的原生环境。游戏的 JavaScript 代码不是通过浏览器执行的,而是通过图中 JS VM 层的独立 JavaScript 引擎执行的。在 Android 上使用 Google 的 v8 引擎,在 iOS 上使用 Apple 的 Jav