如何做一个泡泡龙游戏(二)

简介: 嗨!大家好,我是小蚂蚁。今天我们继续学习制作一个泡泡龙游戏。绝大部分的泡泡龙游戏都是关卡制的,你玩过了一关,然后接着再玩下一关。每个关卡其实都是预先设计好的,闯关的过程就是游戏将一个一个设计好的关卡呈现给玩家的过程。这些关卡都是怎样设计的呢?游戏又是怎样将这些设计好的关卡呈现出来的呢?欢迎带着这两个疑问开启今天的阅读之旅。

嗨!大家好,我是小蚂蚁。今天我们继续学习制作一个泡泡龙游戏。


绝大部分的泡泡龙游戏都是关卡制的,你玩过了一关,然后接着再玩下一关。每个关卡其实都是预先设计好的,闯关的过程就是游戏将一个一个设计好的关卡呈现给玩家的过程。这些关卡都是怎样设计的呢?游戏又是怎样将这些设计好的关卡呈现出来的呢?欢迎带着这两个疑问开启今天的阅读之旅。



如图,假设这是泡泡龙游戏的一个关卡,我们来看一下这个关卡里的泡泡,一共包含四种颜色的泡泡,红,绿,橙,蓝。一共是有 6 行,另外,奇数行是 5 列,偶数行是 4 列,这些是我们能从这个图片中获得的信息。


好了,接下来我们就以这个图片为准,把它做到游戏里去。怎么做?把图片截个图放到游戏里?当然不是了。在上一节里我们已经讲过了如何设置泡泡龙游戏的初始布局,在初始布局的基础上,我们要做的就是设置每个泡泡的颜色。


怎么设置颜色呢?告诉电脑这个是红色,那个是蓝色?它好像听不懂。为了能够让计算机听得懂,此时我们就需要做一件事情了,这件事情叫做数据抽象


说白了就是把我们人类的语言翻译成计算机所能够理解的数据。



来看一下这张图,左侧是我们假设的游戏界面,现在将红色球用 1 表示,绿色球用 2 表示,蓝色球用 3 表示,橙色球用 4 表示。然后把数字对应的填写到右侧的表格中。这样就翻译好了,我们把一个色彩丰富的游戏界面翻译成了一个枯燥的数据表格,一个计算机喜欢和擅长处理的东西。


关于数据抽象,之前在消除游戏系列中有专门写过一篇文章,感兴趣的话可以【点击这里】去看看。


以上就是数据抽象的过程,我们把当前所看到的游戏界面转换成了可以用于在游戏中处理的数据。


接下来,我们就把这张数据表格搬到游戏里吧!


在小游戏制作工具中创建一个叫做“关卡数据”的表格,然后将上方的数据填写到表格中。



接着,我们要做的就是根据表格中的数据来设置对应位置上的泡泡的颜色。


这里我为泡泡增加了几个造型,它们与上方图片中的泡泡颜色是一一对应的,造型1是红色,造型2是绿色,造型3是蓝色,造型4是橙色。



接着来看一下泡泡上的积木逻辑的一些改动。



红框圈出来的是在之前的基础上增加的两处改动,我们为泡泡增加了一个“类型索引”的局部变量,在克隆泡泡时,根据关卡数据表格中的指定行列位置的值,设置这个“类型索引”(就是 1,2,3,4 中的一个),最后根据这个类型索引来设置自己的造型。


预览游戏看一下。



对比一下,我们在开始假设的那个游戏场景。



至此,我们就实现了一个从右向左的游戏构建的过程。



最后再来梳理一下这整个过程:我们假设并绘制出了泡泡龙游戏的一个关卡的样子,然后通过数据抽象将其转换成了一个数据表格(计算机能够处理的东西),接着我们把数据表格添加到了游戏中,然后根据表格中的数据设置每一个泡泡,最后构建出了我们假设的那个游戏的样子。



这就是关卡制的游戏从设计关卡到游戏呈现的过程了,对于关卡设计者来讲,完全可以在电子表格中设计出关卡的数据,再进一步,为了关卡设计更方便,完全可以以图形化的方式展现,设计完成后再转换成关卡数据(精致1010精致点点连线中提供给玩家的自定义关卡设计就是这样做的),最后再加入到游戏中,构建出游戏。


今天的内容就到这里了,对于关卡制游戏的设计和呈现过程,现在知道了吧!

我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我的公众号就对啦!

这里是我的游戏开发课程服务,不只是一门课,而是一套围绕着新手学习做游戏有关的一整套服务。致力于帮助更多的人学会做游戏并做出自己的游戏,目前已有 43 名学员,多位同学已经通过学习做出了自己的游戏,如果你是一位想学习做游戏的朋友,欢迎【点击这里】了解详情。

这是我做的几个简单好玩消除小游戏,闲暇之余希望能给你带来片刻的放松和愉悦。

精致1010

一个很精致的消除游戏。

小程序

精致点点连线

忙碌生活中的片刻放松。

小程序

水果方块1010

果汁四溅的经典消除游戏。

小程序

圆点守护者

为守护家园而战。

小程序

也欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识内容,可以来围观。接受付费咨询,不闲聊,望见谅。

相关文章
|
缓存 NoSQL Dubbo
springcloud微服务国际化
springcloud微服务国际化
787 0
|
安全 小程序 物联网
WLAN基础 无线局域网配置方法 旁挂三层组网隧道转发方式配置
WLAN基础 无线局域网配置方法 旁挂三层组网隧道转发方式配置
1673 0
WLAN基础 无线局域网配置方法 旁挂三层组网隧道转发方式配置
|
缓存 前端开发 JavaScript
如何优化淘宝直播 PC 推流端性能(上)
如何优化淘宝直播 PC 推流端性能(上)
689 2
|
运维 Linux 测试技术
自动化运维:使用Python脚本简化日常任务
【8月更文挑战第34天】在快节奏的IT环境中,自动化运维成为提升效率、降低错误率的关键。本文以Python脚本为例,展示如何通过编写简单的脚本来自动化日常运维任务,如批量更改文件权限、自动备份数据等。文章不仅提供代码示例,还探讨了自动化运维带来的益处和实施时应注意的问题。
|
人工智能 移动开发 Java
Java智能之Spring AI:5分钟打造智能聊天模型的利器
尽管Python最近成为了编程语言的首选,但是Java在人工智能领域的地位同样不可撼动,得益于强大的Spring框架。随着人工智能技术的快速发展,我们正处于一个创新不断涌现的时代。从智能语音助手到复杂的自然语言处理系统,人工智能已经成为了现代生活和工作中不可或缺的一部分。在这样的背景下,Spring AI 项目迎来了发展的机遇。尽管该项目汲取了Python项目如LangChain和LlamaIndex的灵感,但Spring AI并不是简单的移植。该项目的初衷在于推进生成式人工智能应用程序的发展,使其不再局限于Python开发者。
483 2
|
存储 数据可视化 测试技术
了解面向对象方法发展历程
【6月更文挑战第26天】本文介绍了几个面向对象发展中出现的典型方法。**Coad/Yourdon方法** **Booch方法** **OMT** **OOSE**。这四种方法都贡献于现代面向对象软件开发的。
363 0
了解面向对象方法发展历程
|
存储 NoSQL 数据库
深入浅出-Redis过期删除策略手术式源码刨析,小白也能看懂
>之前就说了要来西索Redis,现在来辣! >本文的部分基础内容参考自《小林Coding》,深入的地方根据源代码进行剖析。 >Redis源码地址:https://github.com/redis/redis.git ## 过期删除策略 基础的命令就不做过多解释了,如下 - `expire <key> <n>`:设置 key 在 n 秒后过期,比如 expire key 100 表示设置 key 在 100 秒后过期; - `pexpire <key> <n>`:设置 key 在 n 毫秒后过期,比如 pexpire key2 100000 表示设置 key2 在 100000 毫秒(10
185 5
深入浅出-Redis过期删除策略手术式源码刨析,小白也能看懂
|
Ubuntu 网络协议 Unix
|
Python
分段模型线性化(PWL)【Python|Gurobi实现】
分段模型线性化(PWL)【Python|Gurobi实现】
1110 0
|
存储 SQL XML
Entity Framework学习笔记——EF简介(一篇文章告诉你什么是EF)
Entity Framework是以ADO.NET为基础,面向数据的“实体框架”。以下简称EF。 它利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。
Entity Framework学习笔记——EF简介(一篇文章告诉你什么是EF)