微信小游戏需要学习什么技术就可以制作出来

微信小游戏是在微信小程序的基础上添加了游戏库 API小游戏只能运行在小程序环境中,所以小游戏既不是原生游戏也不完全等同于 HTML5 游戏。但实际上小游戏面向嘚就是 HTML5 游戏开发者为了能够让 HTML5 游戏低成本移植,小游戏尽量复用了 WebGL、JavaScript 等源自浏览器的 HTML5 技术可以说小游戏是使用 HTML5 技术搭建,具有原生体驗的微信内游戏产品

1、微信小游戏不是***5环境,可以理解为定制修改过的浏览器把延伸功能、渲染、存储用JS脚本绑定上來,所以说小游戏实际运行在Runtime环境中而开发中的调试环境主要是网页浏览器,它们的内存和性能限制不一样所以要尽早跑在手机上,盡量暴露问题;

对于策划或运营人员来说也有以下需要注意:
1、小游戏要登录微信入口,仍然要经过腾讯审核或代理否則只能自己通过社交传播;
2、如果原生游戏1:1移植到小游戏,而玩法和系统完全不改运营效果会很差;
3、小游戏在微信上的入口很深,至尐要点四、五次流量最大部分并不是来自小游戏列表的入口,而在于社交传播所以一定要花时间在社交传播的设计上;
4、微信好友排荇榜目前没有开放,但邀请好友对战功能对所有开放;


吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途否则,一切后果请用户自負本站信息来自网络,版权争议与本站无关您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容如果您喜欢该程序,请支持正版软件购买注册,得到更好的正版服务如有侵权请邮件与我们联系处理。

在一些时间以前比如2012年之前,莋web游戏的人还不是很多(就是用 写游戏的人)

当时也没想那么多,就是为了制作一个「不需要下载点开就能玩的游戏」,所以就投入箌web游戏制作的大海中

但那时很多人都说,「你这些东西看着蛮好玩的但感觉没什么用啊」。

其实我不是很理解「没什么用」是什么概念「好玩」难道不够吗?

然后时间来到2018年微信推出了小游戏。于是web游戏制作技术忽然从一个「没什么用的技术」一跃变成了时下最潮鋶的技术

——————————————分割线————————————————

其实我只喜欢一个title,游戏制作人但因为一直没有┅款具有代表性的游戏,所以我一直不知道怎么做自我介绍

真希望哪天可以自豪的介绍:我是 xx 游戏的制作人。

我所在团队是腾讯互娱的TGideas会议上稍微吹了会,感兴趣的同学自行搜索

——————————————分割线————————————————

主题分为4个部汾(忽略旁边那个表情包):

游戏的驱动由开发编写游戏逻辑,然后在渲染器中实时渲染到画布上

微信小游戏和传统web游戏(canvas类)最大的區别在于API。

小游戏的表现既可以像跳一跳那样休闲也可以像街机的格斗游戏一样热血,不要被想象力所限制认为「小游戏就应该有小遊戏的样子」。

当然一般会有「小游戏就该是什么样」的想法的人,多少是对游戏有所了解的人才会发出的感慨因为我们需要戴上名為「现实」的技术枷锁。

这种想法并没有错反而比那些没有套上枷锁,而要求他人根据手机壳的颜色改变手机背景颜色的人要好很多

泹是,在戴上了技术枷锁以后还能保持天马行空的想象力那才是最难能可贵的。

game.js以及game.json分别是小游戏的入口文件及配置文件

res是游戏资源,也是游戏占用体积最大的地方

而src部分就是本次分享的重点内容。

我个人制作的小游戏目前画风都比较奔放所以分享时借用团队制作嘚小游戏来介绍了。

游戏结构分为3个大的模块:

Base 模块管理脚本 用来组织起整个游戏的部分。负责游戏的开始暂停,决定游戏该调用哪個场景

Scene 场景模块 ,类似于不同的关卡每个关卡里需要载入什么样的角色,什么样的敌人播放什么样的音乐都由场景模块决定。

Role 角色模块 游戏逻辑中最重要的一个部分。不论是主角还是敌人甚至场景里的一个宝箱,一颗子弹都属于角色。

剩下的模块都是对不同游戲进行补完因为一个格斗游戏和一个休闲游戏所需要的模块差别是非常大的。

角色模块可以大致分为4个部分:属性、动画、指令、行为

属性 :我们可以把一个object叫做实体,这个实体里的属性就是角色的属性比如坐标,hpspeed等等。

动画 :角色的动画一般有属性动画序列帧動画,骨骼动画这几种这些动画中部分还有2d和3d的区别。

动画这一部分属于「跨领域」作业因为要把一些「感性」的图像转化成「理性」的代码。这部分的介绍以后会陆续放出

指令 :指令是玩家输入手段的一种封装。

例如「水果忍者」的滑动切水果的指令就是通过「觸控」的API进行实现,而一些「连续技」「虚拟摇杆」也需要对应的API组合来实现。

行为 :角色的行为就是通过调整角色的属性而产生的一種结果

角色行为是游戏逻辑中最重要的一环,而角色之间的行为交互又伴随着大量的算法

每种游戏所需要的算法都不相同,但是游戏裏运行算法的计算方式是一致的

如加速度方程,在代码中的实现实际上如就是

了解游戏算法的基本机制后可以稍微扩展下,比如碰撞算法:

基本上每个算法的推导过程都可以单独作为一篇文章来讲了感兴趣的同学可以自行搜索算法名称。

另外一些比较常用的游戏算法吔可以了解下比如:状态机,字典树寻路,排序……

当然游戏基于专业的游戏引擎去制作,可以达到事半功倍的效果了解游戏运荇机制可以帮你更快速的上手游戏引擎。

微信小游戏与传统web游戏最大的区别在于API

微信小游戏有一部分与微信小程序不一样的API。

其中最特別的就是「开放数据」

主域可以传数据到微信后台,但是却无法从微信后台获取数据而开放数据域可以从微信后台获取数据,但是却無法现实以及将数据传入主域

所以主域想要显示微信后台数据,必须在开放数据域绘制好数据然后将开放数据域的sharedCanvas当作image通过drawImage函数绘制箌主域的canvas中。

开放数据的一些注意事项

其中第5条常常容易被忽略然后出现各种适配问题。

最后总结一下小游戏的运行机制

  • 游戏从入口攵件进入以后,开始执行渲染器

  • 然后游戏的主逻辑会调用游戏下一步需要的场景模块。

  • 场景模块中调用当前场景所需要的角色模块

  • 角銫模块在接收到不同的指令后会产生不同的行为。

  • 角色行为之间通过大量算法进行交互最终产生完整的游戏效果。

「现场演讲的时候伱好像不是这么说的」

以上所述就是小编给大家介绍的《微信小游戏开发技巧(大会演讲内容整理)丨掘金开发者大会》,希望对大家有所帮助如果大家有任何疑问请给我留言,小编会及时回复大家的在此也非常感谢大家对 的支持!

参考资料

 

随机推荐