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

简介: **这是微信小游戏开发实战系列的第14篇,点击上方的#微信小游戏开发实战话题可以查看本系列的所有内容。本文主要内容是介绍精致1010闯关模式的设计和实现思路。


**这是微信小游戏开发实战系列的第14篇,点击上方的#微信小游戏开发实战话题可以查看本系列的所有内容。

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

如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。


最新版本的精致1010,新增了一个全新的游戏模式:闯关模式。今天就跟大家聊一下它的制作思路和大致的方法。


之所以制作这样的一个模式,起初的想法是这样的:原来的游戏模式一局的时间比较长,以我自己为例,进行一次游戏的时间至少要在 10 分钟以上,如果认真仔细一点儿,想玩到几千分的话,那么可能需要半个小时以上。很明显这样的单次游戏时长对于一个小游戏来讲有些太长了,但是游戏模式已经是这样了,如果想要缩短单次游戏之间,在现有的模式下只能通过增加游戏难度这种方式,但这并不是一种好的方式。


那么如何能把这样一个简单的消除游戏的单次游戏时间缩短到几分钟之内呢?答案就是创建一个新的游戏模式:关卡模式。每一个关卡玩家只需要用几分钟的时间即可完成,要么闯关成功,要么闯关失败。


基于上述的原因,我为游戏新增了闯关模式,原有的游戏模式被称作是经典模式,来满足两种不同场景下的需求,闯关模式可以在几分钟的碎片时间里玩一下,而经典模式可以用来打发一大段的无聊时间。


闯关模式其实也并不复杂,当前只增加了障碍玩法。只是通过修改了一下游戏目标,两种游戏模式就变得迥然不同了。


  • 经典模式下的游戏目标是尽可能多的进行消除从而获得更高的分数。

  • 闯关模式下的游戏目标是尽快的消除游戏中的障碍从而完成关卡挑战。


在经典模式中玩家想要获得更高的分数,需要尽可能长时间的活下去,而闯关模式中,玩家会总是想尽快的搞定这个关卡,去挑战下一个关卡。


可以看到我们只需要调整玩家在游戏中的目标,就可以达到两种差别非常大的行为结果,因此当你在设计游戏玩法时,不妨试着将游戏中的目标切换一下,说不定能带来一些意外的惊喜。


接下来是闯关模式实现的大致思路。


闯关模式与经典模式最大的不同在于游戏结束判断条件的不同, 在经典模式中,游戏结束的判断条件是检查网格中是否还有位置能够放置剩余的任何一个形状,如果没有的话则游戏结束(有关于游戏结束判断的具体实现方式,可以参考一下这篇文章)。在闯关模式中,游戏结束的判断条件分为两种,一种跟经典模式一样,作为闯关失败的条件,另一种是需要去判断游戏中障碍方块的数量,如果没有障碍方块了,则游戏过关。


在实现上只需要使用一个全局变量来记录障碍方块的数量,每当消除一个障碍方块,即将全局障碍方块的数量减 1,数量为 0 时则游戏过关。


闯关模式中,工作量最大的地方可能就是关卡设计了,起初我想到的是使用随机的方式去生成关卡,为此我制作了一个游戏原型进行测试,得出的结论是虽然随机的方式可以让一个关卡在每次进入时都是不同的,但是由于无法控制障碍块的出现位置,也就无法控制当前关卡的难度,因此随机生成关卡的方案就被否决了。最终我使用的是手动的设计关卡,每一个关卡都人工设计,以此来保证一个可控的难度曲线,让关卡的难度可以平缓的上升。


实现闯关模式最大的关键点在于数据的设置和展现。即如何将一个关卡中的障碍数据在网格中展示出来。

640.png

如图是一个填满了数据的网格,绿色填充为 1 的方格表示关卡中的障碍块,白色的填充 0 的方格表示的空位置。我们可以通过这样设置网格中的数据来进行关卡的设计,如果一个障碍块需要消除 2 次才能移除,就直接把障碍块的数字设置为 2 即可。在设计完关卡后,只需要将网格的数据导出来,然后在游戏中加载这些关卡数据进行显示就行了。


一个关卡的数据就像这样:

0000000000000000000000021120000001001000000100100000010010000001001000000211200000000000000000000000


这是一个长度为 100 的字符串,每一个数字代表的是一个方格中的内容,0 表示空,大于 0 的表示不同的障碍块,从网格的左下方开始,依次去读取每一个数字,然后根据数字设置网格的内容就可以将一个关卡展现出来了。


可以看出来这实现起来其实并不复杂,真正复杂的地方在于如何去进行关卡设计,并把设计好的关卡变成这个长度为 100 的字符串,总不至于手动的去一个一个的设置数字吧!


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



在编辑完关卡后,将所有的数据导出到一个csv文件中。


640.png


微信小游戏制作工具支持导入csv文件,所以很容易就能够将关卡的数据导入到游戏制作工具中,这里我使用了列表来存储游戏的关卡数据。


640.png


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

640.gif

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


手动的关卡设计,让我可以制作很多有意思的造型,例如这样的:

640.png

640.png

640.png


在制作完关卡模式后,也让我有了进一步的想法:能否将关卡编辑器做到游戏里呢?这样玩家就可以自己DIY关卡了,甚至可以利用微信的社交属性,将自己设计的关卡分享给朋友玩。


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


欢迎大家点击下方小游戏卡片,前去尝试精致1010中的闯关模式,有任何的想法或者建议欢迎留言交流。

相关文章
|
9月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
9月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
9月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
10月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
514 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2392 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1504 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
21639 14
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。