微信小游戏开发实战14-通关模式的实现

微信小游戏开发实战14-通关模式的实现

**这是微信小游戏开发系列的第十四期。

本文的主要内容是介绍精致1010透传模式的设计和实现思路。

如果你没有任何游戏开发经验,欢迎阅读我的《微信小游戏开发入门教程》,它将教你如何制作自己的第一个小游戏。

精致1010最新版新增了全新的游戏模式:传球模式。今天给大家讲讲它的制作思路和一般方法。

制作这种模式的原因如下:原游戏模式耗时较长。以我自己为例,玩游戏的时间至少应该是 10 分钟。一点点,如果要玩上千点,可能需要半个多小时。显然,这样的单局游戏时长对于小游戏来说太长了,但游戏模式已经是这样了。如果想缩短单局游戏之间的时间游戏开发实战,只能在现有模式下增加游戏难度。方法,但这不是一个好方法。

那么游戏开发实战,这么简单的消除游戏的单人游玩时间怎么能缩短到几分钟呢?答案是创建一个新的游戏模式:关卡模式。玩家只需几分钟即可完成每个关卡,无论成功或失败。

基于以上原因,我在游戏中加入了游戏模式。独创的游戏模式被称为经典模式,以满足两种不同场景的需求。游戏模式可以在几分钟内玩完。有一段时间,经典模式可以用来打发长时间的无聊。

通关模式其实并不复杂。目前,仅添加了障碍游戏。仅仅通过修改游戏目标,两种游戏模式就变得截然不同。

在经典模式中,玩家想要获得更高的分数,需要尽可能长时间地生存,而在通关模式中,玩家总是希望尽快完成这一关卡以挑战下一个关卡。

你可以看到我们只需要在游戏中调整玩家的目标就可以达到两种截然不同的行为结果,所以你在设计玩法的时候不妨尝试在游戏中切换目标,比如说可能带来一些意想不到的惊喜。

以下是透传模式实现的大致思路。

通关模式与经典模式最大的区别在于游戏结束的判断条件不同。在经典模式中,游戏结束的判断条件是检查网格中是否有任何位置可以放置任何剩余的形状,如果没有,则游戏结束(对于游戏结束判断的具体实现,请参考这篇文章)。在通关模式中,游戏结束的判断条件分为两种。一个和经典模式一样,是通关失败的条件。另一种是判断游戏中的障碍物块数。如果没有障碍物,则游戏通过。

在实现中,只需要一个全局变量来记录障碍块的数量。每消除一个障碍块,全局障碍块数量减1材质材料,为0时通关。

在直通模式下,最大的工作量可能是关卡设计。起初,我想到了使用随机的方法来生成关卡。为此,我做了一个游戏原型进行测试,得出的结论是,虽然随机的方法可以让你每次进入关卡都不一样,但是因为无法控制障碍块的位置,所以无法控制当前关卡的难度,所以随机生成关卡的计划被否决了。最后我用的是手工设计关卡,每个关卡都是手工设计的,保证了一个可控的难度曲线,让关卡的难度可以平稳上升。

实现透传模式最大的关键是数据的设置和呈现。即如何在网格中以一个级别显示障碍物数据。

html5 canvas游戏开发实战下载_游戏开发实战_html5 canvas游戏开发实战 pdf

图片显示了一个充满数据的网格。用 1 填充的绿色方块代表关卡中的障碍物,用 0 填充的白色方块代表空位置。我们可以通过这种方式设置网格中的数据来设计关卡。如果一个障碍块需要消除2次才能被移除,只需将障碍块的数量设置为2即可。设计关卡后,只需导出网格数据,然后在游戏中加载关卡数据用于展示。

关卡的数据如下所示:

这是一个长度为100的字符串,每个数字代表一个正方形的内容,0表示空,大于0表示不同的障碍物块,从网格左下角开始,依次读取每个数字,然后根据数字设置网格的内容来显示一个级别。

可见,这实现起来并不复杂。真正复杂的在于如何设计关卡,把设计好的关卡变成长度为100的字符串,不用手动一个一个去设置数字!

为此,我专门做了一个关卡编辑器来处理这个繁琐的事情。

html5 canvas游戏开发实战 pdf_html5 canvas游戏开发实战下载_游戏开发实战

编辑关卡后,将所有数据导出到 csv 文件。

游戏开发实战_html5 canvas游戏开发实战 pdf_html5 canvas游戏开发实战下载

微信小游戏制作工具支持导入csv文件,轻松将关卡数据导入游戏制作工具。这里我使用一个列表来存储游戏关卡数据。

游戏开发实战_html5 canvas游戏开发实战 pdf_html5 canvas游戏开发实战下载

最后看看关卡模式下的效果。

游戏开发实战_html5 canvas游戏开发实战 pdf_html5 canvas游戏开发实战下载

进入游戏后,读取对应关卡的数据,然后根据数据显示当前关卡的障碍物块。

手动关卡设计让我可以制作很多有趣的形状,例如:

游戏开发实战_html5 canvas游戏开发实战下载_html5 canvas游戏开发实战 pdf

游戏开发实战_html5 canvas游戏开发实战 pdf_html5 canvas游戏开发实战下载

游戏开发实战_html5 canvas游戏开发实战 pdf_html5 canvas游戏开发实战下载

制作关卡模式后,我又有了一个想法:游戏中可以实现关卡编辑器吗?这样,玩家可以DIY自己的关卡,甚至可以利用微信的社交属性将自己设计的关卡分享给好友。

这将是这个小游戏的下一个方向。我会继续探索并与大家分享。