最近为了《马里奥制造2》入手了 switch ,通关故事模式后一直在打多人和耐力挑战,突然想做一些音乐图,于是开始研究。

不了解音乐图的朋友可以看一下这个视频: https://www.bilibili.com/video/av65739781 (随便找的)。

音乐图的机制

首先说明一下音乐图在游戏中的机制,有以下三点:

  1. 系统只会加载屏幕附近的区块
  2. 物体落到音符上会发出声音
  3. 音符放置的高度会影响音调

推荐一张图,对相关内容进行了展示: XRY-1KH-GPF

基本块

如上图所示,把板栗放到音符上,在音符和板栗被加载时板栗会掉到音符上发出声音,为了防止板栗弹起来掉回去的时候再次发出声音,放置一个云砖块拦住板栗,并在四周放上墙防止板栗走动。

下面对这三条规则进行详细说明

区块加载

区块加载

如上图所示,在从左向右移动的过程中,系统会加载屏幕右侧前方 4 格内的物体,并移除后方 8 格外的物体。 按照顺序放置音符和上面的物体,在它们被加载出来的时候物体会下落到音符上发出声音,从而组成旋律。

不同物体的音色

目前已知的一些音效[1]

音效

音符高度与音调

一张图可以解释清楚音符高度与音调的关系[1]

音调

参考十二平均律

音乐图的组成

在了解了音乐图的原理之后,我们可以试着制作一个音乐图,音乐图的原材料是乐谱,我们要做的就是在游玩地图的过程中,在适当的时间发出乐谱中对应的音调。 首先来看如何控制音乐的速度。

速度

音乐的速度与节拍决定了关卡的速度与音符放置间隔。 五线谱中的 𝅘𝅥=100 表示每分钟演奏 100 个四分音符,简谱中也会有类似的标记,把速度换算成每秒的音符数,然后在关卡中选择一个速度合适的前进方式。 经过大量实验,不同前进方式的速度如下:

kind speed (unit / s)
行走 5.64
传送带 3.75
普通卷轴 3.75
蓝色熔岩台 9.3
轨道 2.81

跑步速度为行走的 2 倍,慢速卷轴和快速卷轴分别是普通卷轴的 1/2 和 2 倍,传送带同理。

如何根据音乐节拍来选择移动速度呢? 这要由乐谱中时长最短的键来决定。 例如乐谱速度是每分钟60个四分音符,使用到的最短音符是八分音符,那么游戏中的间隔就要以八分音符为单位。 每分钟 120 个八分音符,每秒 2 个,如果每个八分音符占两格,需要的速度就是每秒钟 4 格,可以使用普通卷轴 ( 3.75 ) 或是在反向卷轴上跑步 ( 3.78 ) 来近似。

音调

由于横向地图有高度限制,声音的跨度只有两个八度,非常有限。 但是纵向地图是无法做成音乐图的,因为音符的音调还是和放置高度有关,只不过是把两个八度循环来了。 还有一个额外的限制,就是发出一个不干扰的音至少要占用纵向的四格 (音符、云、空、墙),因此想要组成和弦也很困难。目前还没有很好的解决方案。


[1]《超级马里奥制造2》音乐图制作方法


Blog Comments powered by Isso.