两种俄罗斯方块的记分规则

简介: 在实现俄罗斯方块游戏的得分处理时,我上网查找了一下关于俄罗斯方块游戏得分计算的相关内容,但是,并没有找到能够简单清晰的解决我的问题的内容。

在实现俄罗斯方块游戏的得分处理时,我上网查找了一下关于俄罗斯方块游戏得分计算的相关内容,但是,并没有找到能够简单清晰的解决我的问题的内容。


互联网的海洋里有着数以亿计的比特信息,但是却唯独找不到能解决你当前问题的有效信息,哪怕是一个并不复杂的问题,不知道你是否也会经常遇到这种情况。信息如洪流滔滔不绝的从你的身边流过,但是却难以取到对你有用的那一瓢。


每当我遇到这种情况时,就会察觉到在信息海洋中盲目寻找终究是徒劳的,有些东西还是得自己干。


怎么寻找俄罗斯方块游戏的记分规则呢?最好的方式就是找一个俄罗斯方块游戏,然后边玩边记录,方法其实就是这么简单。


在玩过了几个不同版本的俄罗斯方块游戏之后,我发现了对于这个经典的小游戏竟然有两种差异很大的记分规则,我给它们起了两个不同的名字,一个叫做“简单平滑版”,一个叫做“高风险高收益版”。

简单平滑版

我们先来看一下“简单版”的记分规则。


每堆叠一个“形状”所获得的分数与等级成正相关,等级越高,堆放一个“形状”获得的分数越高,分数(S)与等级(L)的计算公式为:

S = (L-1) * 2 + 4

image.png

就消除奖励来说,一共只有 4 种不同的情况,一次消除的行数越多,获得的额外奖励分数越多。

image.png

这个版本的记分规则非常的简单,玩家只需要玩一会儿游戏大概就能够看出其中的计算方式,随着等级的提升,形状的下落速度会变得越来越快,同时叠放一个形状所获得的分数也会相应的增加。计算方式很简单,升级过程很平滑,所以我把它叫做“简单平滑版”。

高风险高收益版

接着来看一下相对复杂的“高风险高收益版”的记分规则。

image.png

如图,表格中的行表示的是“形状”当前堆叠的行号(俄罗斯方块一共有 20 行),表格中的列表示的是当前的等级。当前的得分(S)与堆放行号(R)和等级(L)的计算公式为:

S = L 2+(R-1)*L

堆放的行号越高,放置一个“形状”所获得的分数越高,另外随着等级的提升,“形状”的分数也会大幅的增加。


堆放的行号越高就意味着距离顶端越近,GameOver 的风险越大,所以分数越高。另外,随着等级的提升,“形状”的下落速度越快,越容易 GameOver,分数也随着指数级的增长。


最后,如果玩家在游戏中使用了加速下落(按住方向键下,让形状快速的下落),则当前“形状”的分数在之前的基础上再乘以 2 。在之前的计算公式中增加一个变量 d (无加速下落时,d = 0;有加速下落时,d =1)。


最终的分数计算公式是这样:

S = (L 2+(R-1)*L) *2 d

只要 GameOver 的风险越大(堆叠的越高,等级越高,加速下落),所获得分数就越高,所以我把它叫做“高风险高收益版”的记分规则。


至于消除所获得的奖励,两者其实差不多。


这两种记分规则各有其优缺点,“简单平滑版”简单易于实现,但是整个过程过于平滑,缺少了风险和挑战。“高风险高收益”版,在游戏中提供了更多的风险和奖励供玩家选择,但是实现起来相对复杂一点儿。


目前,我制作的俄罗斯方块使用的是“简单平滑版”的记分规则,下个版本将会更新为“高风险高收益版”的记分规则。


因为,玩家喜欢在游戏中冒险。


关于俄罗斯方块的得分的计算属于游戏设计中的数值策划,这大概是最简单的数值策划。从中我们多少能够看出一些“关于数值策划都是干什么”的答案。


即使是同一个游戏,不同的数值计算方案却能够为游戏带来很大的不同。不得不感叹,游戏设计真的是一门很神奇的艺术。




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

相关文章
|
6月前
|
计算机视觉 索引
扫雷-包含空白展开,标记功能,游戏界面优化-控制台全力复刻
扫雷-包含空白展开,标记功能,游戏界面优化-控制台全力复刻
|
4月前
动态颤抖的眼睛效果404页面源码
动态颤抖的眼睛效果404页面源码, 源码由HTML+CSS+JS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面
26 1
动态颤抖的眼睛效果404页面源码
|
6月前
简约火箭发射静态404错误页面源码
简约火箭发射静态404错误页面源码
44 0
简约火箭发射静态404错误页面源码
|
6月前
斗地主案例及一些实现规则
4. 斗地主发牌 4.1 案例介绍 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。
82 0
|
6月前
|
前端开发
前端知识笔记(十三)———单全选框控制方法,炒鸡无敌方便!!!
前端知识笔记(十三)———单全选框控制方法,炒鸡无敌方便!!!
35 0
|
存储 算法 Java
灰太狼系列之—自定义关卡推箱子(内含源码)
灰太狼系列之—自定义关卡推箱子(内含源码)
灰太狼系列之—自定义关卡推箱子(内含源码)
|
存储 前端开发 BI
九宫格抽奖系统源码开发功能规则实例解析
九宫格抽奖系统源码开发功能规则实例解析
|
小程序 前端开发 JavaScript
让小程序动起来-轮播图的两种方式--【浅入深出系列003】
让小程序动起来-轮播图的两种方式--【浅入深出系列003】
如何做一个俄罗斯方块3:形状控制
今天,我们来继续学习和实现下一个模块:玩家控制形状。在俄罗斯方块游戏中,玩家可以对下落的形状进行控制,控制分为两种,一种是控制形状的移动(左,右,下),一种是控制形状的旋转(顺时针旋转 90 度)。
129 0
|
vr&ar 图形学
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | 层级面板中的 ‘小手指‘ 作用: 在Scen中将该物体设置为不可选中状态