谈谈宝石方块游戏中的设计

简介: 宝石方块是在上一个俄罗斯方块工程的基础上改编的,所以制作起来很快,我只用了不到两天的时间就完成了游戏的功能,后续又花了几天的时间制作游戏的界面,优化游戏的体验。

小游戏经典宝石方块,这并不是我的原创,而是直接复刻了一个经典的老游戏。这个游戏在我的童年曾留下过比较深刻的印象,在整个微信小游戏平台没有一个体验良好的宝石方块游戏,所以我决定自己做一个。


宝石方块是在上一个俄罗斯方块工程的基础上改编的,所以制作起来很快,我只用了不到两天的时间就完成了游戏的功能,后续又花了几天的时间制作游戏的界面,优化游戏的体验。


虽然是一个复刻的经典游戏,但我还是增加了一点儿自己的东西。


没有任何文字说明的新手引导


前段时间读了《大师谈游戏设计》一书,作者吉泽秀雄对于新手引导的观点大概是这样的:不要让玩家去阅读文字的游戏说明,玩家应该在游戏中通过玩儿来学会游戏的操作。我很认同这个观点,而且回顾了一下,之前做的所有游戏都是利用文字说明来进行新手引导的,所以这次我定下了一个要求:新手引导不能使用任何的文字说明。


对于宝石方块游戏来说,方向控制是不需要指导的,因为看到掌机的方向键,玩家自然而然会知道它们是控制方向的,重点需要让玩家知道的是游戏的消除规则,水平、竖直或者倾斜凑齐三个相同的宝石即可消除。我想到的方案是提前摆好一些宝石,然后设置好下落的宝石组合,这样不论玩家把宝石放到哪里,都会产生消除。



如图,提前摆好一些红红绿绿的宝石,下落的前三组宝石也都是设定好的“红绿红”的组合,这样不论前三组宝石落在哪里,都一定会产生不同消除,玩家能够通过这些不同的消除了解到其中的规律。


另外,对于宝石方块来说,它的每一组下落的宝石都是竖直的状态,点击切换按钮的时候,宝石的顺序会进行切换,但是竖直形态不会变成水平形态,这个或许会让有些玩家产生疑惑。玩家在初次游戏时,一定会点击右侧的切换按钮,此时大概就能够发现这个按钮的作用是调整下落宝石的顺序。为了加强这种印象,我还在游戏的首页面的标题处增加了一个提示。



如图,游戏首页标题左侧的三个宝石是整个页面唯一会动的部分,它会吸引玩家的注意力,让玩家注意到这种变化(静态界面上唯一动的地方会吸引人的注意力,再看一下上面的图,观察一下自己的注意力被引向了何处)。或许对于一些初次玩游戏的人,并不能理解这三个不停变换顺序的宝石所代表的意思。但是,这会给玩家留下一个印象,当他在游戏中点击切换按钮时,这个印象就会被再次唤起:哦!原来是这个意思呀!这个按钮每点击一次,宝石的顺序就会变化一次。


在测试的过程中,我特意观察了一下,我老婆在初次玩游戏的时候,在没有任何提示的情况下,顺利的学会了游戏中的消除规则以及整个游戏的玩法。所以,我认为这个没有任何文字说明的新手引导算是成功了。


移除无用的设置选项


在这个小游戏中我做了一个大胆的尝试,就是彻底的移除了设置选项,包括声音和震动的设置。设置功能原本是有的,而且在每个游戏中都有。但是所有游戏中都有的功能,就一定是需要的吗?我仔细的回顾了自己玩游戏时的状态。我从未主动的在游戏中关掉声音和震动,因为声音和震动是游戏体验的重要组成部分,静音玩游戏的时候简直让人无法忍受,就像是在静音看电影。对于一个掌机模拟器来讲,震动是按键点击反馈的最重要的体验,关掉后就完全感受不到按按钮的感觉了。

玩游戏最重要的是体验,体验主要来自于视觉,听觉和触觉的反馈。为了呈现良好的游戏体验,声音和震动都是必不可少的,少了听觉和触觉的反馈,也就没有什么体验可谈了,所以它们不应该被关掉。


再来看声音和震动的这两个设置功能,很像是为了存在而存在。既然没有必要,那就干脆移除掉。


所以,玩家在游戏中看不到任何设置选项,并不是因为遗漏了(其实是做了后来又删掉了),而是故意为之,我希望游戏能给玩家带来良好的体验,在这个体验中不能缺少了触觉和听觉。


另外,我一直认为在手机游戏中调节音量大小这个功能完全是多余的,因为直接通过手机侧边的音量键调整手机的音量大小或直接静音,要比在游戏中打开设置界面调整音量大小方便太多了。为什么一个完全多余的功能我们还在一直做,是因为习惯吗?


一个有趣的 GameOver


在我之前的所有游戏中,游戏结束的画面都是以一个对话框的形式展现。很老套的做法,没有什么槽点,也没有什么新意。这一次我希望制作一个稍微有趣的一点儿的游戏结束画面,将游戏中的宝石跟结束界面结合起来,看起来就像是这样。



每次都会随机使用一种宝石(这样每次游戏结束都会显的不同),从下向上依次填满整个游戏区域,填满后在指定的位置挖出空白,显示游戏结束信息。当刷新最高分的时候,最高分会跳动显示,提示玩家这次游戏又刷新了自己的最高分。


一个独立 GameOver 界面给人的感觉是它游离于游戏之外,是一个独立的存在,区别于游戏的其它部分。如果能将它和游戏中的元素的结合起来,就能给人一种更加整体的感觉。


去繁就简


在做完上一款俄罗斯方块之后,我写过一篇文章,讨论了到底是应该选择简单纯粹还是应该选择复杂多样。俄罗斯方块原本是打算做成一个只包含经典玩法的游戏,结果最后还是没忍住增加了一个闯关模式。


在制作宝石方块前,我下定了决心,这款游戏只能包含最经典纯粹的玩法,不能再增加任何其它的功能。有些人可能会疑惑,多做些功能不好吗?这就又回到了到底是选择简单纯粹还是选择复杂多样的问题上了,这个问题没有固定的答案,只能视情况而定。


对于一个游戏开发者来讲,有的时候忍住不增加功能要比增加功能更难。之前,我总是在尝试着增加更多,但是这次,我选择克制,去繁就简。


背景音乐


小时候玩过的宝石方块,里面很多首背景音乐,都很好听。曾经有好长一段时间,我玩这款游戏就是为了听听到底有多少首背景音乐。那时候没有发达的互联网,也无从查起。现在你只需要打开一个搜索引擎,输入“宝石方块背景音乐”就能够轻松的找到游戏中一共有多少首音乐,每一首背景音乐的名字都是什么。


我在游戏中继承了这种方式,好吧!我是直接抄过来的。游戏中一共包含 8 首背景音乐,每一首都很有特色,它们分别是:

1. All Kinds of Everything

2. 欢乐中国节

3. 龙的传人

4. Rise from Your grave

5. Jägerchor (Hunters' Chorus) 猎人合唱之自由射手

6. Moonlight on the Colorado 科罗拉多之夜

7. Greensleeves 绿袖子(英格兰经典民谣)

8. Speak Softly Love

在游戏中每升一级就会切换一首背景音乐,欢迎前往游戏中听音乐。


上面所有的这些都是以一个游戏制作者的视角来描述的,玩家会知道这些吗?不会的。或许有一些玩家会知道,比如说正在看这篇文章的你。


游戏的职责是给玩家提供快乐的体验,一位玩家打开这个游戏,玩了一会儿,有了愉悦或者放松的体验这就够了,他不需要去研究这个游戏是怎么做的?为什么要这么设计?等等,一旦开始研究了,游戏的乐趣就会荡然无存了(这也是游戏制作者很难在自己的游戏中体会到快乐的原因)。


玩家玩游戏是为了快乐,但是作为游戏制作者,我们需要研究是什么让玩家感受到快乐,怎么样的游戏设计才能让玩家感受到快乐,这也就是写了上面这一大堆的原因。


游戏创作者能够为玩家创造出快乐的体验,这或许就是做游戏的魅力吧!


宝石方块游戏在这里,无需下载安装,点击下方的小程序卡片即可体验。

经典宝石方块

轻松快乐的宝石消除

小程序

除此之外,经典的俄罗斯方块游戏也可以试一试哟!

经典掌机罗斯方块

致敬经典

小程序

想学做游戏,也想有一天能够做出一款自己的游戏,欢迎了解小蚂蚁的游戏开发课程服务,不止是一门课,更是与围绕着做游戏有关的一整套服务。欢迎加入,跟着小蚂蚁与 69 名同学一起学习做游戏。

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

也欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识和内容,可以来围观。备注“学习做游戏”可免费领取学习做游戏的原创教程资料。接受付费咨询,不闲聊,望见谅。

相关文章
|
4月前
|
算法 JavaScript Java
html+css+js实现打砖块小游戏
html+css+js实现打砖块小游戏
73 0
|
12月前
|
小程序
做个经典宝石方块游戏
在做了一个月的进阶课程之后,终于又可以回来做游戏了。不得不说,对于我来讲做课程要比做游戏的难的多。做出来是一回事儿,讲出来又是另一回事儿了。尤其是还希望能讲的明白,讲的浅显易懂,感觉还是很难的。不过还好,做课程这件事情也是可以练习的,比如说我现在面对镜头讲一个东西的时候,就比一年前要好很多了。
102 0
|
12月前
|
小程序 开发者 索引
如何做一个俄罗斯方块7:下落处理
下落处理”也是俄罗斯方块游戏循环中的最后一个环节,因为“下落处理”结束后,就又进入到了下一个新的循环中。 与之前一样,我们先来看一下什么时候需要进行“下落处理”“下落处理”是在消除完成之后进行的,消除完成之后,上方的未被消除的方块会下落,直到碰到下方的其它方块或者是第一行为止。
147 0
|
12月前
|
索引
消除游戏中宝石下落的原理和实现
在消除游戏中,发生消除之后,会留下空白位置。此时,如果上方有其它的宝石,那这些宝石就会下落填充空白位置。今天我们就来了解一下宝石下落的方法以及实现。
130 0
|
12月前
|
算法 开发工具 索引
宝石方块游戏中三消查找算法的原理和实现
嗨!大家好,我是小蚂蚁。 今天这篇文章分享一下三消查找算法的原理和实现,其实三消的机制最早源于《宝石方块》这款经典游戏,如今三消已经属于一个游戏品类了。 最近刚好正在制作一款宝石方块游戏,顺便讲一下其中的三消查找算法。一直以为之前写过了,找了一圈发现并没有,今天就在这里补上。
280 0
|
12月前
|
小程序
如何做一个俄罗斯方块6:形状停靠
在处理形状停靠之前,有一点儿东西需要了解,就是已经停靠的方块和正在下落的方块不是一种方块,如图,红色的表示的是已经停靠的方块,绿色的表示下落的绿色方块的作用是展示当前下落的形状,红色方块的作用是标识出哪些位置已经摆放了方块。
86 0
|
12月前
|
数据挖掘 开发者
关于泡泡龙游戏的一点儿总结,以及分享一个好方法
游戏是一种虚拟的产品,它很难被量化,也很难像工厂流水线生产实体产品一样的去生产。因为其中涉及到的情况太多太杂,如何衡量一个游戏的体量?怎样的游戏算是大游戏,怎样的游戏算是小游戏呢?如何判断一个游戏是做完了还是没有做完呢?如何衡量一个游戏开发者的水平呢?……等等等等。这里面的每一个因素都是一个变量,这么多的无法确定的变量合在一起,想要得到一个确定的结果,很显然是不太可能的。
106 0
|
12月前
|
Python
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏03之重力及碰撞检测
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏03之重力及碰撞检测
127 0
|
12月前
|
Python
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏02之物体运动
通过游戏学Python系列之小兔要上天---手把手教你使用Pygame开发平台跳跃类游戏02之物体运动
92 0
C语言|复刻弹跳小球简易游戏
目录 一、弹跳小球介绍 二、弹跳小球的代码 三、弹跳小球代码的解析 1、我们需要一个小球(大写的 'O') 2、在一个指定的位置将小球 'O' 打印出来 3、弹跳小球的重点当然是弹跳二字了,我们来实现小球的弹跳 清屏函数system("cls") 4、让小球在指定范围内跳动 5、用 scanf() 来输入小球的初始位置和跳动范围 scanf(“输入控制符”, 输入参数); 四、总结 一、弹跳小球介绍 其实也没有什么可介绍的,就是一个小球(用大写的 'O' 代替)在一定区域内反复横跳。 二、弹跳小球的代码 这里我先把代码放出来:(运行效果的话就自己试试了) #include <stdio.h>