前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2个小时制作一款微信小游戏

2个小时制作一款微信小游戏

作者头像
沙因Sign
发布2018-04-18 10:00:02
27.9K3
发布2018-04-18 10:00:02
举报
文章被收录于专栏:SignSign

游戏是这个

基于cocos creator做的

Dolo的朋友们:Boo的冒险

扫描菊花码进行游戏。

不想扫描的同学看动图。

对,就是这样一个『蹦一蹦』的游戏………………

『这种游戏你花了2小时?』

『……你这语气是嫌多还是嫌少呢?』

实际上思考玩法花了2小时,这个游戏的灵感来源是『节奏天国』和『啪嗒砰』。然后后来想到跑酷跳坑操作……

好吧,我知道点进来的同学大部分对这个游戏最重要的核心玩法怎么产生并不感兴趣,而是想知道小游戏怎么做……

——

游戏编辑器的界面

游戏内容,少的可怕。

1个场景,3个主节点,5个脚本,1张图

这内容有多小呢……

举个例子,我的DOLO(已在taptap,app store以及google play上架,第一章顽命更新中,欢迎搜索下载)

DOLO有多大呢?80个脚本,200张图,这还没进入第一章……

当然,从侧面也可以看出微信小游戏的『小』。

——

好,广告打完了,接下来是正片。

首先,给背景填充个颜色,然后增加角色以及方块们的碰撞体。

每个实体对应绑定一个脚本。

先来boo的。

没错,就这么简单的几行:

初始化boo的速度和加速度,实时更新时运算引入重力,判断超出边界时,游戏结束。

onCollisionEnter里写上碰撞后发生的情况:碰到方块就弹起。

接着是方块的脚本:

圆形块比矩形块多个条件,圆形块碰完就消失,超出屏幕也消失。

最后是主函数。

主函数引用boo和碰撞块。

按住屏幕时,下面的方块们的父节点『地图』开始移动,松开屏幕就停止。

很简单的一个操作。

然后设了一个距离判定,当『地图』超过这个边距,则往地图里塞入新的随机方块,边距继续延长。同时超出边距的方块会因为方块自身挂在的脚本,判定超出边距就销毁。

最后就是这个生成新方块的算法,我做了个小手脚,因为如果是固定距离出现的话,只要一直按住屏幕就不会输了,所以对于一直按着屏幕的同学,是无法到达下一个方块所在地。懂得放手才是人生啊-___,-。

至此,小游戏就完成了~

一如既往的说的很乱,读懂这篇文章可能需要对应的游戏制作的思维逻辑以及游戏的编程基础。更基础的我也不知道从何说起了,因为游戏就是if else的判断而已,并没有什么高深的『技术难度』,更多的是『游戏逻辑』的难度。

至于发这篇文章的目的,还是为了告诉大家,游戏制作有多简单,以及游戏制作借助引擎有多简单

很多前端同学会觉得借助他人的框架有点掉份,甚至有一段时间,判定一个前端的好坏,居然是看他用不用jq……然后产生莫名其妙的鄙视链。

但实际上呢?一个骨骼动画在flash或ae里,拖一拖节点就能生成了,前端同学没有自己的ide,只能对着chrome不停的按f5……

这是非常吃亏的。

借不借助引擎差距,就像冷兵器和热兵器对战,拿木棒的一方绞尽脑汁,把木棒削成杀伤力最大化的木矛,结果呢?对方拿着沙鹰站在门口……

换成现实版本,就像普通开发者都在绞尽脑汁接入微信小游戏sdk,然后cocos creator支持一键打包……他们在考虑如何处理子域显示,结果creator下个版本出子域兼容……

当然,这里也不是强制推销引擎,但是,有时候要明白,做游戏打代码的区别。

你sdk接的再娴熟,子域问题处理的再完美,那为什么不直接去做组件开放给其他人呢?比起做游戏,其实你更喜欢敲代码吧,那去试试制作引擎?很多程序员是把码代码的过程当作钢琴演奏,享受其中。

但这些东西本就不是游戏制作者该关心的,游戏制作者更应该专心的考虑怎样让游戏更好玩,怎样让玩家体验更好吧?

所以我还是极力推荐『游戏制作者』们,找个合适的游戏引擎进行游戏制作。

因为我也走过不少弯路,第一次制作web游戏时,正好处于那个认为『你用了别人的库(特别是jq),说明你的前端水平不行』的年代。所以为了某些奇怪的东西,我自己手写了引擎,制作了『月千之夜』。

月千之夜

当然,从技术的角度来说,这个游戏让我对js的了解加深了很多,但是如果当时借助引擎,那我是不是在那时就已经有一款自己的完整的游戏了呢……这到底是好事还是坏事……

不过也是要吐槽一下creator。

小程序首包限制4m,cocos的js库就占了1m+……虽然有自己勾选模块的选项,但是为什么不在打包的时候,直接帮忙把多余的模块去掉呢?

另外,可以看一下有强大美术支援的情况下,产出的游戏是什么样的:

小游戏的提交什么的可以看下花叔的文章

为了学习小游戏开发,我做了个坦克大战

最后就是关于微信小游戏的一点思考。

微信小游戏是一个比较『轻』的环境,也就是低游戏性,高社交性的社交游戏类别。

所以小游戏越简单,与玩家的社交互动越高越好。

目前大部分是以排行刷分为主,但实际上这类游戏的『转发率』也一般。

虽然只是猜想,但是我觉得,以后那种恶搞类型的小游戏比较容易传播。比如『我的游戏被妈妈藏起来了』……

这类游戏的特点是玩过的人会发出『哇,还能这样玩,我要让朋友看看』的想法。

当然,除了上面的例子还有其他的,目前排行榜是一种偏『弱』的社交手段,虽然借助微信这个平台,比起其他的app游戏社交性高出很多了。

社交性游戏的核心更多的是游戏外与玩家的互动。

当然,也只是猜测,欢迎大家一起讨论。

DOLO一直在更新中

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Sign 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档