聊聊关卡编辑器

简介: 嗨!大家好,我是小蚂蚁。今天我们来聊聊如何做一个关卡编辑器。关卡编辑器一直都是小蚂蚁游戏中的必备品,在做的所有关卡制的游戏中,我都增加了关卡编辑的功能。

嗨!大家好,我是小蚂蚁。今天我们来聊聊如何做一个关卡编辑器。


关卡编辑器一直都是小蚂蚁游戏中的必备品,在做的所有关卡制的游戏中,我都增加了关卡编辑的功能。


精致1010中的关卡编辑器。


640.gif


精致点点连线中的关卡编辑器。


640.gif


疯狂泡泡龙中的关卡编辑器。


640.gif


关卡编辑功能用的人多吗?说实话,不多。但是为什么要去做呢?因为我总觉得如果一个玩家能够参与到游戏的创作中,那么这个游戏对他来讲就会变得不一样。虽然做游戏跟玩游戏是完全两码事,而且几乎 99.99% 的游戏玩家都不会去做游戏。但是,关卡编辑器仍然能够给所有的玩家一个以极低的门槛体验游戏创作的机会,这大概就是我认为一定要去做这个东西的意义。


关卡编辑器到底是怎么做的呢?接下来我们简单的说一下关卡编辑器的制作思路。


640.png


先看一下上方的这个图片,左侧是游戏界面,右侧是数据表格,我们可以把游戏的界面进行数据抽象,得到右侧的数据表格,也可以通过右侧的数据表格构建出左侧的游戏界面。了解更多与数据抽象和关卡创建相关的内容,可以参考【这篇文章】。


关卡编辑器要实现的其实就是上方的从左到右的过程:我们提供一个可视化的易于理解的界面,让玩家可以在上面进行编辑操作,最后再将玩家编辑完的界面转换成游戏中的关卡数据。


好了,就是这么简单。


我做的三个游戏逻辑都比较简单,关卡编辑器看起来也很直观,对于那些复杂的游戏编辑器都是怎么做的呢?其实都是同样的原理,1 可以表示一个方块,可以表示一个圆点,可以表示一个颜色的泡泡,同样还可以表示一座炮塔,一块障碍,一个道具,一个士兵......一个数字可以表示任何一个游戏中的任何一个物体,所以无论是看起来多么复杂的关卡编辑器,做的其实都是同一件事情:把可编辑的游戏界面抽象成能在游戏中使用的数据。


接下来,我们了解一下在制作关卡编辑器中需要用到的一个重要的转化:表格数据和字符串数据的转化。


640.png


如图,左侧的这一张数据表格和右侧的这一长串数字其实是“等价的”,即不论当前拿到任何一个,都可以转化成另一个,其实可以把它们当作是一种数据的两种表现形式。


640.png


两者之间可以互相转换,表格中任意的“行列号”上的数据,都可以根据“行列号”计算出它在字符串中的位置索引。例如表格第 2 行第 1 列的的数值 2,对应的就是字符串中的第 6 个位置 2。而知道了字符串中任何一个数的“位置索引”,也能够计算出它位于表格中的哪一行哪一列。


为什么我们要把表格数据转换成一个字符串?因为字符串数据更方便存储或者传输。有了这个字符串,不论你是想要把数据保存在本地,还是上传到云端,亦或者是通过分享发送给好友(利用分享参数),就都不成问题了。


最后,关卡编辑器提供的是编辑功能,应该尽可能的简单易用。在制作泡泡龙游戏第一个版本的编辑器时,做的就不是很好用。


c4d60d139b76588060963b088c1a690c.gif


如图,在编辑其中点击任何一个泡泡切换颜色,这也是延续了上两个游戏的思路,但是之前的游戏数字比较少,所以设置一个位置时不需要点击太多次,但是泡泡龙游戏中包含 8 种颜色的泡泡,也就是说,如果这个关卡中想要设置多个第 8 种颜色的泡泡,就得挨个泡泡点击 8 次,实在是有些麻烦。


在第二个版本时,我对此做了改进,想法其实是来源于绘图软件,在绘图软件中都会有一个工具条,上面放置着各种各样的工具,当你选择画笔工具时,在画布上执行的一切操作都是绘制操作,当你选择橡皮擦工具时,在画布上执行的操作就是擦除操作。借鉴了这种方法,我在关卡编辑器中也增加了“工具条”,上面摆放着各种颜色的泡泡,选中一种颜色的泡泡,在上方填充的将都会是这种颜色的泡泡。


0a3f63dc2c459e47ea26d082259a27a9.gif


这样就方便多了,顺便说一下,在制作泡泡龙游戏的关卡时,我就是用这个关卡编辑器做的。


好了,今天的内容就到这里了。关卡编辑器是一个小众的功能,但是仍然有它存在的必要和价值,它能够为玩家提供一个创造的机会。不论做任何的事情,创造都是重要的,它能够让我们觉得自己所做的事情意义非凡。玩游戏会让你觉得快乐,但是如果还能够在游戏中进行创造的话,这个快乐或许就具有了更深层次的意义。



相关文章
|
6月前
|
存储 数据可视化 索引
如何在游戏中实现一个关卡编辑器
如何在游戏中实现一个关卡编辑器
84 0
|
6月前
|
开发者 索引
如何在微信小游戏制作工具中实现关卡翻页功能?
如何在微信小游戏制作工具中实现关卡翻页功能?
77 0
|
前端开发 IDE JavaScript
使用editorconfig配置你的编辑器
使用editorconfig配置你的编辑器
使用editorconfig配置你的编辑器
|
存储 数据可视化 索引
聊聊关卡编辑器
关卡编辑器一直都是小蚂蚁游戏中的必备品,在做的所有关卡制的游戏中,我都增加了关卡编辑的功能。关卡编辑功能用的人多吗?说实话,不多。但是为什么要去做呢?因为我总觉得如果一个玩家能够参与到游戏的创作中,那么这个游戏对他来讲就会变得不一样。虽然做游戏跟玩游戏是完全两码事,而且几乎 99.99% 的游戏玩家都不会去做游戏。但是,关卡编辑器仍然能够给所有的玩家一个以极低的门槛体验游戏创作的机会,这大概就是我认为一定要去做这个东西的意义。
81 0
|
缓存 开发工具 图形学
游戏开发实战教程(14):关卡编辑器的制作以及关卡分享功能的实现
上周在制作完闯关模式后,我有了在游戏中做一个关卡编辑器的想法,让玩家可以在游戏中制作自己的关卡进行挑战,甚至可以将自己制作的关卡与朋友进行分享。 原有的关卡编辑器是使用Unity做的,因为可以方便的进行文件的读取和写入,可以将设计好的关卡数据写入到文件中,然后在将文件中的数据导入到微信小游戏开发工具中。
318 0
|
缓存 小程序 开发工具
微信小游戏开发实战15-关卡编辑器的制作以及关卡分享功能的实现
本节主要内容有游戏中的关卡编辑器的实现思路以及如何利用分享功能将自己制作的关卡与好友分享。 如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
182 0
|
机器学习/深度学习 人工智能 自然语言处理
用GPT生成《超级马里奥》游戏关卡,近9成关卡可玩
用GPT生成《超级马里奥》游戏关卡,近9成关卡可玩
237 0
关卡界面中个人信息随解锁关卡的移动(CocosCreator)
关卡界面中个人信息随解锁关卡的移动(CocosCreator)
关卡界面中个人信息随解锁关卡的移动(CocosCreator)
|
算法 定位技术 图形学
unity实战之关卡模块
unity怎么制作关卡寻路?