前言
如果本质上我们的世界都是有一种振动的能量波来构成。那么似乎确实也能解释宏观世界里,我们的心跳,情感会随着一首歌曲的节奏而动,音乐的本质就是震动被听觉感受,即便是歌曲只是一个听觉的维度。那么我就在思考,是否一个精彩的游戏关卡,是否也可以用同样的原理来实现呢。
实现的准则是指的如大部分的曲子一样,是工整,有条理的,而不是凭设计师感觉来调整,而是先有一个工整的大纲,然后再具体调整
音乐的组成部分
音乐的组成部分我们大致可以分为:旋律,节奏,和声。
旋律:负责音高,也就是声音的震动频率。
节奏:负责一首曲子的速度,拍子,强弱,旋律/和声会在设定的拍子上发出震动
和声:负责伴奏,使其更加丰满。
以上就是一个音乐的大致组成部分,无论是否好听的曲子,都是有这些部分组成的
并且大部分让人觉得好听的曲子都包含这些部分,并且是工整,有条理的,而不是乱七八糟无理可依的。所以我思考如何将这些元素对应到一个游戏的内容上面,来制作出工整可调整性更高的游戏。
在游戏中引入节奏
先说说节奏,节奏我认为是一个最重要的工具,他是扮演了一个发动机的位置,音乐中也是如此,什么时候停止,什么时候重拍,什么时候演奏什么音高。所以我们需要一个游戏里的节拍器,在特定的节拍上,执行一个游戏事件。
节拍器由这几个部分组成
1. 速度
具体表现为在游戏帧间隔(t)执行一次(拍子)。如:60的速度代表,一分钟执行60下。
2. 拍子类型
在一个拍子的里,继续划分为多次平均的执行次数,。假设最小均分数量为4次,均分为2(1010)次,4(1111)次,或者(1011)这种结构(括号里的1代表执行事件,0代表不执行)。
3. 强弱
可以代表执行这个事件是否需要突出。
当我们定义完节奏的基础,为了看起来更加的工整,我们可以引入“小节”的概念,具体使用可以在,比如在10小节结束后,整个游戏的速度变快了,难度提高了。
在游戏中引入旋律
在这里我将游戏里的旋律,定义为游戏重要事件。
事件的内容根据游戏的主要玩法不同而改变,如生成敌人。但是在音乐里不是所有的音符组成的旋律都是好听的,只有合适的频率递进递出,才会给人好的感受,同样游戏里事件也同样需要类似的梯度处理。
在游戏中引入和声
在这里我将游戏里的和声,定义为游戏修饰事件。
他不是最主要的事件,可能是环境的变化,随机的一些效果,但是不管怎么样,他也必须要在特定的节奏上出现。同理不是所有的和声前后关系是合适的,需要合适的递进递出。
动态关卡DEMO的实现
根据以上的论点我简单写了一个DEMO,加以验证。
整个游戏是一个躲避小球的游戏
操作:↑跳,←→左右移动
敌人:红色小球,碰到后会少血
道具:绿色小球,碰到后会加血
整体游戏都会以60的速度进行,开始到结束36(每小节4拍)个小节,开始舒缓,中间紧张,最后淡出,同时我也制作了一个60速度的音乐,匹配游戏增加一个体验维度。
DEMO链接
jinyukyo/rhythm_level_demo (github.com)
结果
就体验上来说,首先整体游戏的感受和我的设计是匹配的。不杂乱,难度与整体节奏是匹配的。