点击去微信进入微信小游戏会发现游戏上首页第一面会发现有我玩过的小游戏有哪些怎

如果你经常搜索微信里的小游戏你就会发现大多数的小程序都是单人游戏。考虑到还是有很多人想和小伙伴们一起玩游戏小编特意整理了以下的几个微信小程序。来看看你更喜欢哪一款吧!

1.情侣玩游戏 这款情侣小游戏可以让你尽享二人世界里面含有多种游戏,并且自带惩罚机制系统自动显示不同的遊戏,如果系统显示的游戏你不喜欢可以点击去微信“下一个”,系统自动为你更换游戏回答正确就往下走,回答错误就要惩罚

用戶反馈:很久没有一起玩游戏了,爱情保鲜原来是这样简单

如果说“情侣玩游戏”让你感到脑袋疼的话那这款“画画猜猜”小程序能帮伱提提神,放松心情你可以在游戏里的画板上任意涂画,再拿给你的朋友or网友猜一猜网友们化的画千奇百怪,你能从中find到很多灵魂大師闲来无事玩一下挺有意思的。

用户反馈:画画的人能设置红包悬赏奖金给猜对的那一位。说起来寻找默契的人很是方便咯!

你要是懶的动脑了,记得试下“大家来找茬”它简单易上手,考验观察力只需要找出两张图片里的不同点。既可以单机自己玩又可以找其怹人PK.

用户反馈:有一种回到童年的萌萌哒的感觉

红遍全网的“王者荣耀”在这里就不再赘述了,据说很多情侣和朋友就是通过玩王者认識的呢!

用户反馈:爽的简直不要不要的了~~~O(∩_∩)O~~~

这款小程序可以点击去微信“微信小程序”进入,进接着就能邀好友参加还能让告诉对方房间号,使通过房间号进入

进去以后分成2组,没必要考虑两头的人数是否一样比赛开始后,里面的道具就变成了各种功能不同的子弹比如3发的得近距离攻击才会施展最强威力,并且攻击距离会变得很近千万小心,由于子弹不能穿透友军直接打到敌人身上因此攻击時候务必避开友军。

用户反馈:别光顾打坦克灭掉对方老家才是重中之重!

看到这么多好玩的微信小程序游戏,你是不是也迫不及待地想試试呢?马上拿起手机关注惠民云店。你会发现更有趣的内容吆!

作者 | 凌华彬、王哲

在第一篇文章《》中我们给大家介绍了上手微信小游戏开发所需要的知识,以及小游戏的开发环境和工具学会如何开发小游戏固然重要,但是更重偠的是什么样的游戏更适合小游戏环境和它的用户。

我们都知道小游戏是运行在微信内部的游戏环境中的那么微信用户也就是小游戏嘚潜在用户,这些用户在使用微信时会被什么样的游戏所吸引?会分享什么样的游戏什么样的游戏能融入用户的社交过程?这些在今忝都没有最佳的答案开发者们都在探索,也正是广大小游戏开发者的机会所在但毫无疑问的是,制作这样的爆款游戏一定需要完美理解各种微信社交/系统 SDK 接口的能力并将其发挥到极致。

今天我们会更详细分析小游戏环境给大家开放的各种 SDK 接口以及这些接口可以承载什么样的游戏体验。当然微信小游戏官方文档中,对这些接口都有很详细的使用介绍我们不会重复这些具体的 API 调用细节,会更多侧重茬这些接口所提供的功能和潜力上最后,我们还会给出一个 Cocos Creator 制作小游戏的案例

注:小游戏官方文档地址:

二、小游戏提供的接口能力

微信 SDK 接口通用规则

微信的 SDK 接口大多有非常接近的使用方式和命名规则,下面是我们总结出来的一些经验:

  • xxxSync:在某个函数名后添加 Sync 就是该函數的同步方法同时也说明原始函数一定是异步调用;
  • 异步函数:由于微信很多 API 都需要做后台请求,或从微信运行内核中获取信息所以存在大量的异步接口,有时会提供它们的同步版本但在大多数情况下我们仍然建议使用异步接口,以便更方便得捕获异常组织异常处悝代码;
  • 异步函数的调用方式:微信 API 内的异步函数绝大多数都接受一个对象作为参数,该对象内应该包含:
    complete:完成回调(调用成功、失败嘟会执行)
// res 一般是一个包含调用结果的对象
  • getXXX & setXXX:获取和设置接口比较反常理的是,很多这样的接口也是异步的需要仔细阅读 API 文档。

接下來我们来看具体的接口先看大家最关注的三大接口:用户、转发和支付接口。

用户接口方面开发者最应该关注的就是用户的登录了,登录接口的使用示例如下:

// 游戏服务器处理用户登录

按前文所说要做到好的用户体验,所有异步接口的 fail 都应该被处理Login 更是如此,如果 Login 夨败游戏很难进行下去,除非是纯单机游戏至于失败的处理,我们建议重新尝试或者引导用户关闭小游戏再次尝试。

回调接口中的 res.code 昰用户的登录凭证通过它可以在开发者服务器后台换取 openid 和 session_key 等信息,部分 API 可能包含用户的敏感数据这些敏感数据需要传递 session_key 才可以获取,否则只能获得很有限的基本数据具体信息请参考用户登录态签名文档,目前需要登录态签名来获取敏感数据的 API 为:

除此之外部分 API 调用需要用户的授权方能使用,如果没有申请过授权第一次调用时会自动申请,流程如下:

也可以在调用 API 之前做预授权:

授权的详细范例和需要授权的 API 列表请参考微信官方文档中的用户授权章节地址:。

在第一篇文章中我们提到小游戏最大的开创性能力,可能就是从转发叺口点击去微信直接进入游戏的超快捷体验从技术角度来说,小游戏中的转发分为被动转发和主动转发(主被动是针对游戏开发者来说):

使用 wx.showShareMenu 在右上角 ”…” 按钮的弹出菜单中显示转发选项这样用户游戏中的任何时候,都可以发起转发可以通过 wx.hideShareMenu 来去掉转发选项。

同時开发者可以监听 wx.onShareAppMessage 来监听用户转发行为,并准备适宜的转发内容具体来说开发者可以在回调函数的返回值中定制转发内容:

1. title:标题,鈈传则默认使用当前小游戏的昵称;

用户点击去微信右上角菜单按钮发起转发

所谓主动转发是指开发者在游戏交互中主动替用户发起转发請求一般是玩家在游戏中点击去微信某个分享按钮后,开发者通过调用 wx.shareAppMessage 直接调起转发窗口

用户点击去微信按钮自动调起转发页面

开发鍺还可以为所有的转发设置 withShareTicket 模式,这种模式下开发者在转发和用户通过转发链接进入游戏时,都可以获取一个 shareTicket将 shareTicket 传入 wx.getShareInfo,可在回调中解密数据来获取分享的群 id关于数据解密请参考加密解密算法文档,地址:

在小游戏 API 文档中并没有支付相关的 API,不过目前从安卓已上线的尛游戏来看已经有支付的体验了。至于未来何时会开放给所有开发者还请期待微信官方的消息。

网络接口分为三个部分:网络请求WebSocket,上传下载

  • 网络请求的 API 是 wx.request,这个接口可以理解为浏览器中的 XMLHttpRequest实际上 Adapter 中的 XHR 对象也正是用它来封装的。它可以用来发出网络请求获取远程服务器返回的数据。值得一提的是这份数据是存储在内存中的,用户可以直接使用不涉及到任何文件 IO 操作。
  • WebSocket 相关接口的使用方式可鉯参考 API 文档虽然接口定义和浏览器中并不相同,不过 Adapter 再次基于微信基础 API 提供了等同于浏览器接口的封装所以我们建议大家不需要根据微信基础 API 进行适配,直接引入 Adapter 脚本省去适配的烦恼。当然如果游戏中的网络请求遇到奇怪的问题,你可能需要通过原始 API 进行调试和定位
  • 对于游戏开发来说,我们需要重点关注的是下载 API首先它和 request 的用途不同,request 用来请求多种形式的数据包括字符串、文件数据、ArrayBuffer、json 对象,所以适合用来做短链接请求调用服务器 Restful API,而 wx.downloadFile 则是用来直接下载文件到本地的
    如果在调用参数对象中指定 filePath,那么下载下来的文件会被存储到小游戏的本地缓存空间否则下载下来的文件会被存储在临时空间,退出小游戏时就会被删除这取决于你是否需要长期保留这个攵件。不过需要注意的是如果 filePath 带有相对路径,而本地缓存中不存在这个路径会下载失败,这个需求就要配合文件系统 API 才能满足了

小遊戏给开发者开放了很完整的文件系统接口,这点和浏览器中不支持文件 IO 的情况完全不同一方面这给了开发者更大的自由度和发挥空间,但另一方面这也是目前微信小游戏环境所必要的 API,因为微信小游戏环境不支持类似浏览器的资源缓存和资源过期机制

具体来说,浏覽器对于用户已经访问过的资源会进行缓存,再次访问时会优先从缓存获取,而不是发送请求给服务端这样可以尽可能减少网络使鼡,优化页面响应速度当服务端资源更新时,浏览器会发现本地资源已过期自动清除对应本地资源并从服务端获取最新版本。

而在小遊戏环境中如果想要避免每次都从服务端获取资源,就需要自己实现一套类似的资源缓存和过期方案这样的方案就不得不依赖于上面嘚下载接口以及文件系统接口。好消息是Cocos Creator 提供了一套完整的资源管理方案,我们会在下一篇分享中详细讨论

要理解小游戏的文件系统,首先要理解小游戏的文件沙盒环境:

所有的文件系统接口都是在这个文件沙盒环境中执行的,所有的文件目录也是相对于沙盒环境的所以我们不用担心不同小游戏或者不同用户之间的文件冲突。

从 API 使用的角度来说所有文件系统接口都是由 FileSystemManager 来提供的,开发者需要首先通过:

来获取 FileSystemManager 对象然后调用它的 API 来完成需要的功能,下面通过下载、读取、删除文件流程展示 API 的用法:

以上只是最基本的一些接口使用除此之外,微信小游戏还提供了 renameFile、copyFile、readdir、writeFile 等大家可以参考 API 文档自行探索。细心的开发者还会注意到这些接口大多包含同步版本比如 fs.readFileSync,峩们建议一律使用异步版本的接口否则文件 IO 造成的阻塞会影响到游戏运行的流畅度和游玩体验,相比之下显然编写异步代码这点麻烦還是可以承受的。

除了以上这些接口以外还有很多接口对于特定游戏类型非常重要,下面列举一些例子:

  • wx.getSystemInfo:获取系统信息包含手机品牌、型号、屏幕宽高、语言、版本、电量等信息;
  • wx.vibrateShort:15ms 短震动,也存在长震动接口可以用来增强游戏体验,比如辅助模拟吴彦祖给玩家打電话 ;
  • 键盘接口:包含显示/隐藏键盘以及各种键盘输入监听器接口,可以用来制作游戏中的输入框Cocos Creator 中已经封装到 EditBox 组件中,使用方式与瀏览器环境无异;
  • 图片接口:用来从用户相册中选择图片或保存图片到用户相册;
  • wx.createVideo:创建视频,提供视频播放和视频控制接口;
  • wx.triggerGC:如果遊戏中频繁创建和销毁 WebGL 贴图或内存使用过高,需要在适当时机调用此接口来触发 GC降低游戏内存使用。

三、从接口能力思考小游戏的机會

虽然接口的分析讲完了但是从上一篇的反馈来看,恐怕大家还是不能满意的:

微信小游戏开发上手的文末评论

看来大家最关心的是尛游戏该如何为自己赚钱?虽然被吐槽不过至少大家的胃口被吊起来了,那么究竟这个问题的答案是什么呢

其实这个问题答案就是没囿答案~这也是最好的答案。

为什么这么说呢试想一个已经有成熟商业模式的游戏平台,普通开发者再入局还有机会吗今天微信平台嘚小游戏还没有被大家摸透,意味着开发者的资源水平还没有成为决定性的因素所以今天入局的开发者仍然在同一条起跑线上,都有机會摸到小游戏玩家的甜区(Sweet Point)

虽然没有答案,不过我们还是可以尝试回答几个与此相关的问题希望抛砖引玉。

  • 小游戏和其他游戏渠道嘚区别是什么
    小游戏最大的两大特性,就是依托于微信以及即点即玩。
    第一篇文章我列举了小游戏的五大入口:
    2. 识别小游戏二维码
    3. 微信聊天列表页面下拉后出现最近玩过的小游戏
    可以说在微信内部小游戏有很多曝光的机会,这种曝光并不是靠推送的方式而是用户的主动发现、分享。这应该也是微信在做小程序/小游戏的重要思路:不干扰用户但鼓励用户之间的分享,也让用户在需要的时候很轻松得找到自己需要的内容这与传统的用户从 App Store 或某些渠道中找到游戏并下载/体验的方式有很大区别。
    即点即玩是小游戏继承自 HTML5 游戏的体验峩们在已发布的游戏中看到了很多点击去微信分享链接直接进入游戏的无缝体验。这会很大程度上改变小游戏的设计尤其是对战、挑战、组队等玩法,下面是欢乐坦克大战的组队界面随时可以从微信中邀请好友:
  • 小游戏的受众人群有什么特点?
    对于其他渠道来说玩家茬寻找一款游戏时,首先你可以确定他是一个玩家但在微信小游戏环境下,这个假设不成立你可以假定,通过分享链接进入你的游戏嘚可能是完全没有玩过游戏的比如开发者自己的父母或第一次使用手机的孩子。
    微信所带来的流量潜能固然是非常可观的但如果只考慮游戏用户,在很大程度上转化的效率会变得低下这点对于游戏设计的挑战非常大,如果只是分享游戏的主入口用户进入之后可以先通过教学还可以接受。但如果你想要设计对战、挑战这种直接进入游戏某一个关卡或功能模块的体验就需要好好思考新手的上手门槛了。总体来说你的游戏体验越直观,就越容易将微信用户转化为你的玩家
  • 小游戏的传播、交互有什么特点?
    在开发小游戏时大家应该時刻铭记在心的是,微信是一个私密社交圈这和 微博 / Facebook / Twitter 是有本质区别的。首先你无法通过分享 API 分享到朋友圈,所以广播式的分享不可荇。不过你可以分享给好友或是群,也可以重复分享这是一种点对点的分享模式。其次微信中真正的爆发式传播是通过关系网辐射式传播的,所以如果想要最大限度利用关系网通过游戏乐趣促使玩家之间持续分享是成功的关键。
    交互上来说玩家在玩小游戏时,一萣是非常碎片化的这也体现在目前的小游戏中,大多数小游戏都是以关卡或局为单位方便用户随时跳出和再进入,这种碎片化的程度甚至超过普通 HTML5 游戏碎片化也不止于时间,还影响到游戏体验比如玩家有可能在玩某一个关卡,收到了一个好友的挑战分享打开分享鏈接后,需要重置玩家的游戏关卡到挑战关卡中这种非线性的体验,并不是开发者所可以控制的相反,我们认为这正是小游戏开发者應该在游戏设计中拥抱的
  • 小游戏适合什么样的品类?
    相信看了以上这些分析开发者们都会有自己的想法,虽然目前小游戏中还都是休閑和棋牌类游戏但是我们相信小游戏的未来还是充满了丰富的可能性。只要顺势而为这里的势指的是微信作为私密社交圈的产品思路鉯及微信用户的使用习惯,一定能够充分发挥微信庞大用户基数的潜能

长篇大论了这么久,可能大家又要吐槽太抽象了一点实践都没囿。那么我们就来分享一个小游戏案例前一篇也提到游戏引擎对于微信小游戏开发所能提供的强有力支持,作为 Cocos Creator 的核心开发人员自然偠给大家安利一下如何使用 Cocos Creator 制作一款小游戏(【编者注】@两位大佬,出门右转交下广告费)。

  • 第一步自然是去 官网下载最新版本的 Cocos Creator从 1.8 蝂本开始,我们正式支持发布小游戏
  • 安装完成后,打开 Cocos Creator 会开启 Dashboard 面板选择新建项目,再选择 Hello World 项目模版设置好项目路径就可以点击去微信 “新建项目” 创建了。
  • 打开项目后可以打开 “Scene/helloworld” 场景,感兴趣的话也可以随意进行一些修改
  • 从菜单栏找到 “Cocos Creator > 偏好设置” 选项并打开,点击去微信 “原生开发环境” 设置在 WechatGame 程序路径中设置微信开发者工具的安装路径,最后点击去微信 “保存并关闭”
  • 从菜单栏中找到 “项目 > 构建发布…” 选项并打开,在构建发布面板中选择发布平台为 Wechat Game,设置设备方向、appid、调试模式等最后点击去微信构建。(目前微信尚未开放游戏类目大家无法获取到小游戏 appid,不过暂时可以使用游客 appid:wx6ac3fc5)
  • 当构建发布面板上方的进度条走完,并显示 sleep则表示构建完荿,此时直接点击去微信运行即可自动调起微信开发者工具并显示正确的场景效果。(如果没有自动打开微信开发者工具或者没有自動打开游戏项目,你可以用微信开发者工具在项目路径下的 build/wechatgame 作为项目目录创建小游戏体验项目)
  • 这样就算是完成了小游戏的发布,当然使用 Cocos Creator 制作游戏的知识这里无法覆盖,还请移步官网文档:

系列文章的第二篇给各位总结了小游戏提供的微信 API 能力,以及如何利用这些能力也从我们的理解角度分析了微信小游戏环境的独特性,希望能够抛砖引玉激发开发者的想象力,找到最适合微信平台的游戏设计

王哲,Cocos 引擎创始人、首席客服

我要回帖

更多关于 去微信 的文章

 

随机推荐