石墩子快跑 · 谱面制作说明
欢迎游玩本游戏!这篇文章将告诉你如何制作自己的谱面!
谱面包结构
石墩子的谱面包 (.sdp) 本质上是一个 zip 压缩包,里面可以包含多个谱面文件 (.sdx)。
你可以将制作好的多个单 sdx 文件打包为 sdp 文件,这利于多张谱面的同时分发。
谱面文件结构
石墩子的单个谱面文件 (.sdx) 本质上是一个 zip 压缩包,里面包含多份文件与一个子文件夹。
以下是主要文件:
data.sdzmusic.mp3/music.wav/music.oggbg.pngbg.mp4(可选)skin(文件夹)(可选)
其中:
music.mp3即谱面音频文件,可以是 mp3,也可以是 wav、ogg。bg.png是谱面背景图片。bg.mp4是谱面背景视频。data.sdz是谱面的数据,接下来你的音符信息将存进这个文件里。skin是谱面自带皮肤文件夹,具体结构请参考 皮肤制作说明。
data.sdz 的 [Meta] 结构
data.sdz 可以通过使用各种文本编辑器进行编辑,也可以直接使用 Excel 当成一个 csv 文件进行处理。
在最开头的结构如下:
[Meta]
title = 曲目名称
author = 曲师
mapper = 谱师
mass = 谱面定数(kg 整数质量,标准范围为 0 - 99999)
difficulty = 难度(So:Powerful / Powerful / Hard / Normal / Easy / Fun / None)
# level = 谱面定数(已弃用,新谱面请不要使用)
bpm = 曲目的BPM
offset = 第 0 拍相对于音频开始播放的后移量(秒)
bg_offset = 视频相对于音频开始播放的偏移量(秒)
[Data]
...
在这一部分请填入曲目的相关信息。
data.sdz 的 [Data] 结构
在这一部分将是石墩子的音符信息。
在相同 BPM 下,你可以任意交换其它音符行的顺序。
下面的参数,除了拍子数外,大多数你都可以省略而仅保留逗号分隔,它们将由默认值代替。
普通石墩子音符
单个 普通石墩子音符 的结构如下:
D,拍子数,分子,分母,所在轨道,堆叠数量,剔除数量,缩放大小,Y轴偏移量,是否启用护栏
谱面从第 0 拍算起。
分子和分母可以为 0。如果分母为 0,那么分数值为 0。
轨道共 3 条,分别对应数字 1、2、3。在 1.5.0 版本过后,此项可以为小数。
堆叠数量即石墩子堆起来的个数,最少为 1。
「剔除数量」项可以剔除已经堆叠的石墩子数,从而实现部分石墩子悬空的效果。例如,如果你已经堆了 8 个石墩子,那么你可以在此处填写 1-7 的任意数字。如果你填写了 7,那么底下的 7 个石墩子都会被剔除,只剩下第 8 个石墩子悬浮在空中。
「缩放大小」项可以缩放石墩的大小,其相应可以被触发的轨道范围也会变化。例如,如果你想把石墩子放大 2 倍,则此项处填 2。
「Y轴偏移量」项可以直接让音符在 Y 轴上进行偏移,即改变石墩子所在的高度。例如,如果你想把石墩子升高 1 格,则此项处填 1。
「是否启用护栏」项填 0 则不用护栏保护,填 1 或其他数字均会启用护栏保护。
例如,如果你想在第 32 拍的 1 / 4 处,在 2 号轨道放 1 个普通石墩子,那么这个音符就该这样写:
D,32,1,4,2,1,0,1,0,0
分子是可以大于等于分母的,例如,下面几个音符就是等价的:
D,32,4,4,2,1,0,1,0,0
D,33,0,4,2,1,0,1,0,0
D,33,0,0,2,1,0,1,0,0
但为了方便检阅,建议依然写作真分数形式。
绝赞石墩子音符
所有绝赞石墩子音符的总和占据额外 1% 的进度。
单个 绝赞石墩子音符 的结构如下:
X,拍子数,分子,分母,所在轨道,堆叠数量,剔除数量,缩放大小,Y轴偏移量,是否启用护栏
用法和普通石墩子音符相同。
表演石墩子音符
表演石墩子音符会被自动触发爆炸,无论击中与否,但并不会计入击打总数中,仅作装饰用。
单个 表演石墩子音符 的结构如下:
S,拍子数,分子,分母,所在轨道,堆叠数量,剔除数量,缩放大小,Y轴偏移量,是否启用护栏
用法和普通石墩子音符相同。
变化 BPM 音符
变化 BPM 音符必须严格按照顺序排列。一个变化 BPM 音符就相当于一个区域标志,它管辖以它开始直到下一个变化 BPM 音符之间的所有音符。
在区域内的其它音符可以任意交换行位置,只要保证拍子数正确。
单个 变化 BPM 音符 的结构如下:
B,拍子数,分子,分母,BPM
例如,如果你想在第 32 拍的 1 / 4 处,把 BPM 调整为 120,那么这个音符就该这样写:
B,32,1,4,120
这个用法将重置先前的拍子数,因此在 BPM 变化后的音符将重新从第 0 拍开始算起。
也可以使用这个特性,来重置固定 BPM 曲子的拍子数。如:
...
D,116,1,4,2,1,0,1,0
D,116,2,4,2,1,0,1,0
X,117,0,0,2,8,0,1,0
// 第二段
B,118,0,0,117.5
D,0,0,4,1,1,0,1,0
D,0,1,4,2,1,0,1,0
D,0,2,4,3,1,0,1,0
D,0,3,4,2,1,0,1,0
...
背景前显音符
背景的图片 / 视频可以通过这个音符覆盖在游戏画面上。
若要取消显示,则只需再放置此音符即可。
H,拍子数,分子,分母
摄像机音符
可以通过该音符,变换摄像机。
下面为方便展示,做了换行处理。实际音符这里只为一行。
C,拍子数,分子,分母,缓动类型,
动画时长拍子数,动画时长分子,动画时长分母,
Z轴旋转角度,Y轴旋转角度,X轴旋转角度,
Z轴移动量,Y轴移动量,X轴移动量
其中,缓动类型为 1-35 的数字,分别对应:
- Linear
- InSine
- OutSine
- InOutSine
- InQuad
- OutQuad
- InOutQuad
- InCubic
- OutCubic
- InOutCubic
- InQuart
- OutQuart
- InOutQuart
- InQuint
- OutQuint
- InOutQuint
- InExpo
- OutExpo
- InOutExpo
- InCirc
- OutCirc
- InOutCirc
- InElastic
- OutElastic
- InOutElastic
- InBack
- OutBack
- InOutBack
- InBounce
- OutBounce
- InOutBounce
- Flash
- InFlash
- OutFlash
- InOutFlash
旋转角度 采用角度制,可以为负数,也可以大于 360 度。
测试谱面 / 打包
对于 Windows 用户,你的谱面文件会存储在 C:\Users\*你的用户名*\AppData\LocalLow\MixBadGun\石墩子快跑\music\ 中。
对于 MacOS 用户,则是 /Users/*你的用户名*/Library/Caches/com.mixbadgun.shidunzi/music/。
对于 Andriod 用户,则是 /Android/data/com.mixbadgun.shidunzi/files/music/。
在编写谱面或进行测试时,可以直接在这个目录下建立文件夹。
在谱面编写完成后,请将最上面提到的四个文件打成压缩包。四个文件必须处于压缩包的根目录下。随后,请将后缀名修改为.sdx。
这样你的谱面就制作完成了!可以发布给你的朋友进行游玩了!
编写谱面的一些小建议
谱面若包含视频文件,请尽可能压缩其文件体积,因为视频文件体积往往比音频、谱面本身大得多。
在编写谱面时,你可以使用一些其它工具来辅助进行制作。例如,可以使用 Excel 来进行表格上的对齐,在表格里编写完成后,再全部复制回文本编辑器,并将 Tab 分隔符全部替换成 , 即可。

同时,你还可以使用类似 FL Studio、REAPER 等 DAW 来辅助找到对应音符的位置。

结束语
祝各位玩得愉快!