以下是我如何在JS13K游戏SP13KTRA中塞进8首音乐曲目的诀窍。🌈🚀
每首歌仅由一个数字定义。种子随机生成器会为每首曲目进行26次掷骰:节奏、调性、音阶、和弦、律动、鼓组、贝斯与主旋律音色、旋律模式、各声部进入时机,以及更多参数。
每首歌是一个128拍循环,分为多个段落。声部逐一加入,每乐句会有一个共鸣滤波器扫掠开场,随后是间奏和落段。
音符采用四种预设音阶之一,确保不会冲突。旋律在音阶中攀升、下落、跳跃或摇摆,和弦每4小节切换一次。没有音符数据,一切基于节拍数的数学运算。
使用6个ZzFX乐器,外加回声和侧链压缩。关卡加载时,整个循环会被烘焙到单个缓冲区中。
音乐本身完全基于规则与种子,并非AI。不过我用AI辅助搭建了这个工作台,以便试听不同种子,为每个关卡挑选合适的曲目。
在浏览器中免费游玩,聆听所有音乐。我将其设计为既是一款游戏,也像一张音乐专辑。
https://js13kgames.com/2026/games/sp13ktra
ZzFX是免费开源的,如果你也想在自己的游戏中加入微小音效,可以了解一下。
https://github.com/KilledByAPixel/ZzFX
评论 (0)