wiki

Ranking Criteria

查看每个游戏模式具体的标准,请参阅 osu!osu!taikoosu!catchosu!mania

Ranking Criteria 列出了让谱面通过谱面 Ranking 程序时须遵守的规定和准则

可在 Ranking Criteria 论坛中提出和讨论对本文的更正。并参照 如何建议更改 Ranking 准则 来提供贡献。注意,若仅对本文中的遣词、语法、组句进行改变,而不改变其原意,则无需发帖至论坛。

注意摸图和作图的行为准则歌曲内容规定是 Ranking Criteria 的一部分,适用于 osu! 中所有的游戏模式。

工具

非常建议您使用 Mapset Verifier (MV) 来帮助检查谱面是否符合本文所述的规则。传统客户端 (stable 版) 内的 AiMod 工具已经过时且不再维护。同时,新版客户端 (lazer 版) 内的谱面检查工具仍在开发中

使用前需注意:

  • 工具不能代替阅读此页面或人工检查的必要性。
  • 请保持自己的判断,不要盲目地遵循工具指出的建议。
  • 工具是用于帮助你检查谱面,而不是代替你检查谱面。

术语

一般术语

  • 规定(Rules): 规定就是 规定。它们 不是 准则,在 任何 情况下都 不得 违反。
  • 准则(Guidelines):例外情况 下可以违反准则。这些例外情况必须能够详细解释,说明违反准则的原因,以及不违反准则将如何影响谱面的整体质量。

常规

规定

  • 两个物件不能出现在同一时间上。 包括圆圈、滑条、转盘覆盖的全部时间段。osu!mania 模式除外。
  • 背景图片、背景视频、故事板不得出现任何违规内容。 包括裸体、近乎裸体、性暗示、暴力、滥用药品(毒品)等元素。参见视觉内容注意事项
  • 包含快速、重复的闪烁图像,或视频、故事板内含有对比度、颜色、亮度的快速变化内容的谱面,必须开启光敏性癫痫警告。 如果警告会影响谱面游玩,则必须在歌曲前增加足够的开场空白时间。3 HZ(即:1秒闪烁3次) 以下的闪烁图像一般无须担心。如果有疑问,请开启警告并在摸图时讨论是否有必要开启它。
  • 谱面文件夹中不能有未使用文件或 0 字节的文件。 0 字节的文件会影响文件夹中其他文件的正常上传。仅自动生成的 thumbs.db 文件除外。
  • 休息时间必须按照谱面编辑器的限制插入。
  • 谱面难度设定的各项参数必须保证能直接在谱面编辑器内编辑复现。
  • 如果相同游戏模式下的难度包含相同的休息时间或相同的故事板,则它们的休息段使用黑边填充背景设定必须一致,
  • 如果谱面包含剧透内容,则必须在谱面描述中标注剧透警告。

准则

  • 谱面使用素材的作者应列在谱面介绍内。 参见内容使用准则,谱面使用的素材只有获得素材创作者的授权才能在 osu! 内使用。他们的授权可能会详细说明允许谱师如何合规使用这些素材。如果极难追溯到素材的来源、创作者允许无授权转载或创作者的授权已展示在艺术家、曲名、谱面元数据参考区域时,则通常无需在谱面介绍内再次标注。
  • 不鼓励在别的 Ranked 谱面中重复使用你的 Ranked 难度。 这是为了避免 Ranked 内容中不必要的重复。
  • 不应通过编辑 .osu 文件来修改滑条点倍率 大多数自定义值会导致滑条点偏离于歌曲节奏,虽然有部分谱面使用了 0.5,1.333 和 1.5 这些值,但也只能在符合歌曲节奏时使用。
  • Kiai 时间应该从歌曲中一个明显的声音开始。 否则,这会导致 kiai 闪光感觉上和歌曲不合拍。
  • 相同游戏模式下所有难度的启用倒计时设置应该一致。 如果某个难度前没有足够的开场时间而导致倒计时无法出现,则可忽略该准则。

谱面

注意:osu!mania的各个键数在本小节都将视为一个单独的游戏模式。

规定

  • 谱面内的每个游戏模式,都必须从符合歌曲掉血时间所允许的最低难度开始,到最高难度之间,有合理、连续的难度分布。 不能跳过任何难度等级,任何相邻的两个难度之间也不能存在巨大的星数差距。
  • 每个难度必须遵循其模式的 Ranking Criteria 。 参见 osu!, osu!taiko, osu!catch,和 osu!mania 的 Ranking Criteria 获取更多信息。
  • 谱面最短的掉血时间 为 30 秒。
  • 如果谱面的掉血时间 符合以下条件:
    • 小于 3:30,则最低难度不得高于 Normal。
    • 在 3:30 到 4:15 之间,则最低难度不得高于 Hard。
    • 在 4:15 到 5:00 之间,则最低难度不得高于 Insane。
    • 比最高难度低的难度可以使用包含休息时间的总游戏时长来替代掉血时间,作为度量标准而达到规定阈值。 这不包含掉血时间在 30 秒以下的难度。若谱面最低难度为 Hard 或 Insane,则一般由该游戏模式的 BNNAT 成员来判断它是否合格。
    • osu!mania 谱面则使用了不同的难度分布规则和最低难度限制。参见:osu!mania Ranking Criteria.
  • 谱面的难度名称必须清晰准确表示出它所属的难度区间,除了:
    • 每个游戏模式内的最高难度。
    • 每个游戏模式内多个难度相近的最高难度,可在 Insane 和 Extra 难度区间应用。(如 ENHIIII 中的 Insane 难度,或 ENHIIXXX 中的 Extra 难度)
  • 自定义的难度名称必须遵循与歌曲相关的主题或风格,且不得带有误导性。 若难度名表示了其他区间的难度等级,则它是误导性的。(比如将一个 Expert 区间难度命名为 "Normal")
  • 难度名称不得仅由用户名组成。 如果想使用的相关难度名碰巧与用户名有关联,则可以使用。
  • 谱面创建者的用户名不能出现在难度名称中。(例如:Beatmap Host's Insane)。制作多歌曲谱面或制作合作谱面时所造成的一些命名冲突的情况除外。参见:客串难度,一般在客串难度的难度名内标识作者的用户名、昵称以表示归属。
  • 谱面创建者制作的难度数量必须大于等于客串难度的数量。 这保证谱面创建者应在制作谱面时贡献更大。合作难度只能占据谱面的一小部分, 而且掉血时间会在客串作者明显比谱面创建者付出更多的时候用来衡量谱师们的贡献。
  • 谱面创建者客串难度作者可以按需修改各自的谱面。 如果两者意见不一致,谱面制作者必须提交请求才能删除客串谱面。如果在一个月内无法与客串作者取得联系,将默认他们同意一切对客串难度的修改。
  • 谱面不能使用属于其他作者,但没有明确参与或未经许可的难度来作为自己的客串难度。

准则

  • 谱面的最高难度应符合玩家对该歌曲的普遍感觉。 如果 Easy / Normal 难度的节奏没有被过度简化,则它们可以当做谱面的唯一难度。最高难度高于 Hard 时应当遵守此准则。
  • 避免使用难以理解的用户名组合词来表示合作难度的作者。 如果难以辨识组合词表示的多位作者的用户名,则建议使用缩写。
  • 避免使用与客串难度作者或与难度级别没有明确关联的难度名称。 (例如:Beatmap Creator's Tragic Love Extra)
  • 客串难度中出现的用户名应在不同谱面中保持一致。 若使用不同昵称来表示同一个用户则会导致模糊与误导。
  • 避免在难度名称中使用除字母、数字外的 Unicode 字符。 这可能会导致谱面提交系统出现故障,或者在聊天频道发送谱面跳转链接时发生错误。

元数据

规定

术语

  • 谱面内所有难度的歌曲元数据必须一致。
  • 必须在谱面的标签字段 (Tags) 中添加客串难度作者名称、故事板作者名称、音效作者名称。 同时,谱面拥有者还需要在谱面讨论页将客串作者设为相对应客串难度的拥有者。这是为了表彰他们的贡献,能让其他人了解该谱面集的主要贡献者。用户名中包含由空格分隔的单个字符时,必须将空格替换为下划线_
  • 歌曲元数据必须参考主要元数据来源,若非格式化、标准化规则需要,请不要修改主要元数据来源的信息。没有可用的来源时,可以使用最常见或容易辨识的。
  • 歌曲的艺术家必须可以追溯到真实存在的人。 如果作者已不可考,则应使用 Unknown Artist。歌曲的唯一作者不能设为某个虚拟的角色或软件,除非此为作者的代号。
  • 如果歌曲来自电子游戏、电影、系列、公开活动等等,则必须填写来源字段 (Source)。 这也适用于歌曲在发布后,某些媒体使用或者冠名,但最初的来源为人所知的情况。如果歌曲有多个可用来源,任意来源都可使用。
    • 对于混音、重编曲、或是基于原曲的翻唱,应使用原曲的歌曲元信息。
    • 网站名只能在歌曲与平台的特定文化现象相关、或是歌曲本身作为网站的主题曲或背景音乐时使用。
    • 为避免歌曲汇编、混音、歌曲串烧等等歌曲包含的原曲有多个来源,这些原曲的来源都应放在标签字段内,而并非来源字段。(除非此歌曲与某个来源高度相关,则应把这个高度相关来源填写至来源字段。)
    • osu! 不应作为歌曲的来源,但除非歌曲是为 osu! 特别创作的(又称为 osu! original),则可使用。例如某些精选艺术家为 osu! 锦标赛创作的决胜图专属歌曲。
  • 若艺术家或标题字段长度超过了字段最大长度限制(81个字符),则必须缩短。 从删除附加标记开始,如果这还不够,合理缩写并使用 ... 来表示这首歌的标题已经缩短。
  • 如果艺术家或标题字段因字段长度限制而被缩短,略去的信息应补入标签字段中。
  • 如果该歌曲已经过精选艺术家授权,则必须在标签字段中加入 featured artist
  • 标签字段必须与谱面相关,且不得对搜索结果产生误导。 与谱面相关的字段一般是:对于谱面风格的描述;与歌曲、故事板、背景视频、背景图片相关的人或事物等。

规范化

注意:所有规范化规则同时应用于 Romanized(罗马音)和 Unicode (原文)字段,除了对于全宽字符的空格规范。

  • 任何形式的被用于分隔艺术家的英文半角逗号 ,vs.feat.CV: 等字段后必须加一个空格。 如果字段前面有一个单词,那么字段与单词之间也需要添加空格。英文半角逗号除外。
  • 任何形式的被用于分隔艺术家的 Vs.VS 等字段,都应该写为 vs.
  • 任何形式的被用于分隔艺术家的 feat.featft. 等字段,都应该写为 feat.
  • 对于虚拟角色作为歌手的歌曲,字段必须被格式化为 角色名 (CV: 配音演员姓名) 的形式。 线下活动仅需将配音演员作为艺术家。
  • 如果歌曲来自于电视节目,网页系列,或者互联网直接发布的视频番剧系列,例如 OP / ED / 插入曲,在标题结尾使用 (TV Size) 标记。 如果已经存在类似的 TV Size 标记,请用 (TV Size) 替换掉。
  • 如果标题包含 Short version 或者 Game version 标记,则必须分别标准化为 (Short Ver.)(Game Ver.) 。.
  • 非官方剪切的版本必须在标题的结尾加上 (Cut Ver.) 标记。 如果在曲目的标题中已经出现了用于标记长度的字段,那么 (Cut Ver.) 将替代它。这是为了把歌曲的剪切版和完整版区分开以避免混淆。裁切很少以至于与官方版区别很小,以及剪去了重复段落,保留一个完整循环的歌曲则可不添加此标记。
    • 注意:如果剪切版歌曲与官方发布的 TV 版、短版、游戏版歌曲长度近似、分段相似,则可认为这个非官方剪切版属于官方版本,并添加合适的标记。而翻唱版本和混音版本不考虑在内。
  • 如果一首歌被后期加工为更高的速度,则需在歌曲标题的结尾添加 (Sped Up Ver.) 标记。 如果已有类似的 Sped Up Ver 标记,可以用标准的 (Sped Up Ver.) 替换。使用 Techno、Trance、Dance 或者类似风格加速的歌曲也可以改为添加 (Nightcore Mix) 标记。
    • 注意:如果一个曲子同时被加速和剪切,则需使用组合标记 (Sped Up & Cut Ver.)(Nightcore & Cut Ver.).
  • 特殊的 Unicode 字符必须使用与其最相似的标准等效字符,或者从 .osu 文件中的罗马音字段中删除。★ ☆ ⚝ ✪ 等替换为星号(*)。其他特殊字符则按情况使用或删除。
  • 如果一个谱面集的音轨是由多首歌曲组合而成,将各曲名以清晰的分隔列出,或使用一个描述性的标题。 如果分隔列出的曲名标题过长,则必须使用描述性的标题。
  • 如果使用符号对标题的某些部分分组,则必须在分组之前和之后使用空格,但不能直接在分组中的符号之前或之后使用空格。
  • 如果一个作为来源字段的系列作品含有子系列,则应使用最细化的子系列作为来源。 如果歌曲有多个子来源可供使用,则应返回使用主来源字段。

罗马音化

  • 当谱师自行罗马音化处理艺术家名称,且没有官方罗马音化方案可供参考时,艺术家名称必须按照 Unicode 字段中出现的顺序进行罗马音化。
  • 其他语言的外来词在进行罗马音化处理时,必须使用借用的原词而并非罗马音化它们。
  • 当曲名或艺术家中使用表意重复的单词(其中一个是 Unicode,一个是罗马音)时,只能使用该罗马音作为罗马音化字段,并且删除对应的 Unicode 字符。
  • 带有德语元数据的歌曲必须将变元音罗马音化为两个字母的等效表示: ü 变为 ueö 变为 oeä 变为 aeß 变为 ss.
  • 带有俄语或西里尔字符的元数据必须使用 BGN/PCGN 方案来罗马音化。 如果作者愿意,则也可将其用于来源字段的罗马音化。
    • 如果 Ее 单独使用,或在 aeёиоуыэюяйъь 之后出现,应化为 ye。除此之外应化为 e
    • ё 应化为 yo,但如果 ё 出现在 жчшщ 之后,则应化为 o
    • 不使用除以上方案外的其他方案。因为那些方案都是无关紧要,或对游戏没有多大帮助的。对于大部分其他西里尔字符的转换规则,请参阅这个文件的第一页
  • 带有日文元数据的歌曲必须使用平文式罗马字方案罗马音化。 如果作者愿意,则也可将其用于来源字段的罗马音化。对于非 Unicode 域,为避免出现长元音符号,おううう 应该写作罗马音 ouuu
  • 带有中文元数据的歌曲,除艺人名称外,都要按照汉字的口音和方言,采用逐字罗马音化,字与字之间加空格的方法处理。 必须省略所有拼音声调标记。
    • 普通话元数据必须使用汉语拼音系统进行罗马音化处理。
    • 粤语元数据必须通过粤语拼音系统进行罗马音化处理。
    • 如果歌曲不属于这两个类别,则如何处理由作图者自行决定。
  • 本节未具体介绍的其他语言的元数据以及缺少艺术家官方罗马音化的元数据必须使用该语言通用且可识别的系统。为了确保罗马音化准确无误,推荐询问使用该语言作为母语的人。

准则

  • 当一首歌被另一个艺术家翻唱或改编,且元数据与原始歌曲不同时,需使用常识来辨认这是艺术家有意为之还是无意犯错。
  • 当多个元数据都可用,应优先选取易辨识、易追溯到原曲或来源的元数据。 使用官方发布的罗马音化元数据或翻译较好。

技术

  • 如果是谱师改编或翻唱了歌曲,则可以按照谱师的想法给谱面取适当的名字以表明这首歌是一个特殊版本。 在这种情况下,为了让玩家能够轻易搜索到原歌曲,仍必须清楚地标出原歌曲名。
  • 对于歌曲串烧或重编曲,应在标签字段中填写所使用原歌曲的曲名和艺术家。 这是为了保证玩家可以通过搜索同一关键字来找到与同一首歌相关的所有谱面,而不会得到很多不同的结果。
  • 若元数据中包含难以打出或难以辨认的 Unicode 字符,应在标签字段中填写易于搜索的变形字段或者罗马音化字段。
  • 如果歌曲来源同时有 Unicode 与罗马音化形式,应在标签字段中填写之前未在来源字段中使用的形式。
  • 歌曲风格与语言也应加入标签字段中。 这是为了让玩家能在游戏内也能像在网站上一样搜索到它。使用 instrumental 作为语言标记纯音乐类歌曲。且不应在语言或曲风不清晰时使用这个标记。如果歌曲适用于多个语言或曲风,则都应填写。
  • 标签字段还应加入相关艺术家、歌曲的另一个标题、另一个艺术家名称的拼写、元数据字段中简写词汇的完整字段,以及任何能够帮助玩家找到该谱面的内容。

标准化

注意:所有用于标准化的格式同时也应用于 Romanized(罗马音)和 Unicode 字段,除了针对全宽字符而规范使用的空格。

  • 不应用商标作为曲名或艺术家大小写的参考。 因为商标通常是艺术化处理过的,除非歌曲元数据支持,否则应使用标准大小写。
  • 对于来源于同人社团艺术家的歌曲,应使用社团名作为主艺术家。 但如果该歌曲的艺术家作为个人活动时也很出名,则应使用艺术家自己的名字。
  • 如果你正在制作谱面的歌曲已经存在于 Ranked 或者 Loved 谱面中,则应完全使用它们的元数据,除非它们不符合 Ranking Criteria 的规定,或者正式来源声明了完全不同的内容。
  • 在 Ranked 或者 Loved 谱面中,同一个艺术家或社团制作的不同歌曲,其艺术家名称应保持一致。 若作者或社团有意在不同作品中使用不同别名,则可忽略此条。
  • 单个符号应该罗马音化,并在它的前后添加空格,除非符号本身在英语中不要求空格的情况(如逗号的前侧)。 如果是艺术家有意使用的特殊字符,则不受约束。

准许

该章节包含即使在阅读完毕 Ranking Criteria 后,通常也不明确的概念和规则。如果一首歌曲的元数据有多个可用选项,则优先选用上述的根据 Ranked 和 Loved 谱面来标准化的规则。

  • 对于编曲家和歌手不是同一人的歌曲,可以在编曲家或者社团名后加上 feat. 分隔来标明歌手名。
  • 如果艺术家提供了其名称、Unicode 歌曲标题的正式翻译或罗马音化方案,则可以将它填入艺术家罗马音字段、标题罗马音字段。
  • 如果一个谱面歌曲是由多个艺术家合作完成,则可以使用逗号分隔列出艺术家的名称。 如果有三个或多于三个的合作艺术家,并且他们不是同一个正式组织的成员,则可以使用 Various Artists 或者其它描述性的标签。
  • 对于重编曲、翻唱、现场表演版本,应将原始艺术家填入艺术家字段,同时修改标题字段来指明这不是原版歌曲。 需要用括号括住修改的内容,并在描述词汇之后标注重编曲、翻唱、现场表演艺术家。
  • 对于现场演奏录制的歌曲,需要在标题字段内加入 (Live Ver.) 标签。 如表演日期和地点等与现场演奏表演相关的详细信息,也需要添加至谱面描述和标签字段内。
  • 可以在标签字段中添加元数据已经存在的单词,但前提是该单词必须为谱面相关术语或固有搭配的一部分。

时间轴测定

规定

  • 必须使用非继承时间点来准确地表述歌曲的拍子记号。 如果错误的拍子记号持续超过一个小节,则必须在下一个强拍添加非继承时间点重置拍子记号。由于编辑器不支持 #/4 拍子记号,可以重置节拍器或编辑 .osu 文件。对于其他不支持的时间记号,参见范例图表或者查阅八分拍歌曲测定获取更多信息。
  • 谱面必须测定出精准的时间轴。 这意味着 BPM偏移量需要完全贴合歌曲。无规律的变奏歌曲也许不可能完美地测定,那么则应在不影响谱面游玩的情况下尽量精确测定。如果打算采用休息段或者转盘覆盖变奏段,则这个段落的复杂节奏测定可以忽略掉。
  • 非继承时间点在谱面的每个难度中必须相同。 每个时间点必须在每个难度中有相同的 BPM偏移量
  • 任何难度都不能有额外,无用的非继承时间点存在。 这可能会影响主菜单脉冲特效、NightCore 附加音效,或者由于毫秒舍入误差而导致谱面的时间轴偏移。若以下情况则可以使用非继承时间点:
    • 使 NightCore Mod 的节拍和歌曲段落的开头对齐。
    • 在节拍分割器(beat snap divisors)内无法细分(如 1/11)的歌曲段落使用。
  • 不能把两个非继承时间点或两个继承时间点放置在同一时间上。 将两个时间点彼此重叠会导致滑条速度错误,或音效音量错误等。
  • 继承时间点不能放在第一个非继承时间点之前。 如果没有任何要继承的设置,继承时间点将无法正常工作。如果要在现有的第一个非继承时间点之前修改音效音量或滑条速度,则必须将其前移一个完整的小节,以便继承时间点正常工作。
  • 谱面的第一个非继承时间点不能用于开启 kiai 时间 这样做将导致 Kiai 在出现之前闪烁。此时必须使用与第一个非继承时间点重叠的继承时间点来使用 Kiai。
  • 与节拍细分对齐的物件误差必须小于 2 毫秒。 AiMod 会报告这些错误。有时,它也会错报一些物件,如滑条折返和滑条尾。此时需要手动判别或使用其他工具协助。如果物件使用了游戏不支持的节拍细分(如 1/11),那么这段物件可以:
    • 不对齐任何游戏提供的节拍细分,仅对齐歌曲实际的节拍细分。
    • 通过暂时改变 BPM 来对齐。
  • 即使非继承时间点变化,遵循前一个时间点节奏细分的物件末尾也需要完美贴合后一个时间点的节奏细分。 对于转盘和 osu!mania 长音符,可以通过拖动物件的尾部使其对齐时间轴来实现。对于滑条,这可以通过修改滑条速度的方法,或直接编辑 .osu 文件来实现。

音频

规定

  • 谱面歌曲...
    • ...必须使用 .mp3 或者 .ogg 文件格式。
    • ...平均比特率不得高于 192kbps。
    • ...平均比特率不得低于 128kbps, 如果歌曲来源提供了更高码率的文件,则必须使用更高码率的文件。
    • ...不能从低质量歌曲文件重编码成高码率的版本得来。
  • 谱面只应包含一首用于所有难度的歌曲。 osu! 不支持在单张谱面中使用多个歌曲文件,这可能会导致预览时间点、元数据等出现错误。
  • 谱面必须添加音效 打击音效能给予玩家反馈,并且多样的附加打击音效(口哨、鼓掌和结束音)可以强调歌曲中最重要的部分。
    • osu!mania 谱面可不添加附加打击音效(如口哨、鼓掌和结束音)。 这可让 osu!mania 谱师更轻松地制作谱面,当然,我们也强烈建议谱师向谱面内添加附加打击音效来提升玩家的游玩体验(一般情况下,osu!mania 谱面必须包含 hitnormal 音效)。
  • 所有可击打的物件都必须包含至少一个...
    • ...频谱尖峰与开头相隔不超 5 毫秒的清晰打击音效。 默认皮肤的 normal-hitfinish.wav 不受此条规定限制。
    • ...文件格式为 .wav.ogg 的音效。 .mp3 文件播放自带延迟,不应使用。
    • 这确保了玩家在游玩时能获得即时的反馈,与歌曲完美同步的音效也能作为参考,让玩家自己调节击打的时机。因为 osu!mania 谱面有独特的多轨节奏构成,可不受此条规定限制。
  • 音效必须能让玩家感知到。 它们的目的是提供反馈,所以音量极低的敲击音效或者由歌曲的原始样本合成的敲击音效都是不能使用的。具体游戏模式的例外情况请参阅它们相应的 Ranking Criteria。
  • 同一谱面的预览时间点必须一致。 这用于游戏中的歌曲选择菜单和网页中的在线歌曲试听。
  • 音效长度至少为 25 毫秒。 长度更短的文件无法在游戏中播放出声音。
  • 若要完全静音,则必须使用这个 44 字节文件 其他静音音效文件可能会过大,而 0 字节的文件不能使用。
  • 故事板音效不能替换主动打击音效 这会给玩家不准确的反馈。在其他情况下,可以但不鼓励使用故事板音效。osu!mania 不受这一规定的约束。

准则

  • 谱面的歌曲和音效不应出现任何可感知的、不必要的失真效果。 不应添加非歌曲艺术家本意或不属于原歌曲特色的剪辑、降低响度或是噼啪声效果。建议通过实际聆听歌曲检查该条准则,而不是通过软件检查。
  • 歌曲不应被人为延长以突破掉血时间最低难度限制。 这包括但不限于重复播放歌曲的部分段落,降低整首歌或者一部分的 BPM,或者增加一小段突兀不合曲的音乐等等。如果制作歌曲混编,或者音频文件短于 30 秒,则可忽略此条准则。
  • 如果歌曲结尾有超过 20% 的部分没有使用,则应截短。 歌曲未使用的前奏段不考虑在内。如果谱面结尾部分存在视频或故事板,则可忽略此条准则。
  • 歌曲混编应使用 3 首或者更多的歌曲。 只使用两首歌进行混编对于玩家来说是无趣的游戏体验,将其拆分成两张单独的谱面会更好。将同时发布的两首歌混编处理,则可忽略此条准则。
  • 歌曲混编或者其他串烧、合集形式的混编歌曲应尽量使单曲之间平滑过渡,不要使用突兀的静音段或较长的淡化段。 用于混编的歌曲应具有相似的音质,音量与长度。这是为了保证混编歌曲谱面与其他普通谱面类似,有着良好完整的游戏体验。可以使用长度不超过 5 秒,平稳和谐的交叉淡化过渡。合拍、合曲设计的过渡段总会比直接简单地在两首单曲之间使用交叉淡化处理更好。
  • 剪辑应保留歌曲的总体印象与强度。 重大改变原曲结构的剪辑(如去掉或重新排序歌曲的前奏、段落、副歌、尾声)可能会混淆玩家对歌曲的印象,并极易降低玩家的游戏体验。如果歌曲来自于官方剪辑及其再创作,则可忽略此条准则。
  • 游戏音效 中除了主动打击音效 外都应该使用 .mp3.ogg 格式。 这些文件通常在相同体积下具有更长时间,而 .wav 文件则会太大。但是当音效持续时间短,文件较小时,也可使用 .wav
  • 尽量避免将 soft/normal 音效组中的 hitfinish 音效替换为常用的自定义音效文件。 若使用 finish 音效来表示 snare 或者 bass,则会极大降低已禁用自定义音效玩家的体验。更推荐替换经常使用的 hitwhistle/hitclap。 osu!taiko 谱面有特定的自定义音效准则,不受这一准则的限制。

视频和背景图片

规定

  • 谱面中至少需要使用一张背景图片。 可以为不同的难度设定不同的背景图片。
  • 对于背景图片有以下要求:
    • 最小宽度: 160 像素
    • 最小高度: 120 像素
    • 最大宽度: 2560 像素
    • 最大高度: 1440 像素
    • 最大文件大小: 2.5MB
  • 视频的分辨率不得超过 1280 像素宽,720 像素高。 另外,应该避免把较低分辨率的视频放大到较高分辨率。这样可保证视频文件不会变得过大或解码时占用过多资源。
  • 视频偏移必须与歌曲完美同步。 错误的偏移会带来误导性的视觉表达。如果同一个视频被用于多个难度,其偏移必须一致。
  • 视频文件不应含有音轨。 osu! 不使用视频文件中的音频轨道,因此删除它会减小谱面文件大小。包含静音音轨的视频文件也应予以删除。

准则

  • 谱面的背景图片应该有合适的质量。 尝试寻找原图,并避免不必要的放大或使用不必要的大文件。

皮肤

规定

  • 如果您要使用其他社区成员创建的皮肤部件,请事先获得许可。 尊重他人的工作是非常重要的,大多数人会很高兴你在皮肤项目中标注了他们的工作!因此,如果不知道是谁创建了你的皮肤项目使用的部件,你则不能使用它们。
  • 皮肤部件必须可见。 您不能使任何可能会损害谱面可玩性的部件不可见,这会使谱面不直观,甚至无法正常游玩(cursormiddle.png 例外,因为它影响光标拖尾显示的类型)。与游戏无关的部件只有在有充足理由的情况下才能完全透明,并且保证这样做不会对界面部件产生负面影响。
  • 皮肤部件必须裁剪干净,这样它们周围就不会有像素化的锯齿或半透明阴影。
  • 不要让任何皮肤部件大于它们的推荐皮肤尺寸。 这样的元素可能会影响游戏性能,因此应该避免使用不同尺寸的部件。没有标记为与游戏相关的部件可以使用不同的尺寸。如果没有给出推荐的尺寸,部件尺寸由皮肤作者决定。
  • 在设置皮肤部件的皮肤时,需要设置完整的部件组,以避免用户皮肤和谱面皮肤之间产生冲突。 可在皮肤部件组列表中查看部件组。如果你使用了标记为可选的部件,需要包括相应部件组的所有必需部件,但除非你想让它们拼合在一起,也可以不使用其他可选部件。

准则

  • 皮肤部件如果有透明度,应该使用 .png 格式。 如果它们没有任何透明度,可以使用任何占用空间最小的格式(但必须受 osu! 支持)。

故事板

术语

  • 故事板图片(Storyboard Image): 指歌曲文件夹中故事板使用的图片。
  • 精灵图(Sprite): 表示故事板中的一张图片,或者一系列图片的对象。
  • 时间点(Time): 表示时间线的位置,以毫秒为单位。出现在编辑器的「设计」部分。
  • 命令(Command): 它们以各种方式改变精灵图的位置和大小。命令包含 Move(移动),Scale(缩放),Fade(隐藏)和 Rotate(旋转)等等。每一条命令都有开始时间和结束时间。
  • 坐标轴命令(Axis Specific Command): 只会影响特定空间坐标轴的命令,例如 MoveXMoveY
  • 激活时间(Active): 在对象的命令中,从开始到最后结束之间的时间。
  • 正被渲染的(Rendered): 通常指尚未在屏幕中完全消失的精灵图。
  • osu! 像素(osu!pixel): 设计标签页中的最小尺寸。可以在编辑器屏幕的右上角看到,例如 x: 104; y: 88

规定

  • 为了保证大部分电脑都能在短时间内加载完成,故事板图像所包含的总像素数量不能超过一千七百万。 此外,你需要根据故事板编辑器内部最大尺寸(854 x 480 像素)来缩放和使用你的图像。
  • 谱面在加载时,不能引发解析错误。 这意味着解析器无法读取某一部分故事板指令。
  • Widescreen support(宽屏支持)设置必须在谱面内保持一致。 除非各难度的故事板是为不同宽高比设计的。

准则

  • 在歌曲结束后不应有仍被激活的精灵图和命令。 为了某些故事板的特定效果需要,精灵图的渲染时长可以延长到歌曲结束后一段时间,但不应过长。
  • 考虑在用于旋转的精灵图的故事板图片周围绘制 1px 的透明边框。 osu! 没有图像的抗锯齿算法,因此,如果边缘清晰的精灵图用作旋转,锯齿或边框将会非常明显。
  • 尽量避免任何明显的性能问题。即使优化过,保持帧速率一致对于打图体验也是至关重要的。 请在摸图时测试谱面来确认这一点。
  • 避免使用故事板音效,在打图过程中容易与敲击音效混淆。 这违背了听觉反馈这一概念,因为故事板音效将独立于玩家的操作而自动播放。
  • 避免使用不合逻辑、相互冲突和已经作废的命令。 游戏无法正常执行间隔重叠、结束时间早于开始时间或无法成功触发的这类命令。应删除或修正。
  • 如果谱面中包含宽屏故事板,则应启用 Widescreen support(宽屏支持)。 反之,如果故事板的大小设计为 4:3 分辨率,则应关闭此功能。如果没有故事板,此设置不会影响谱面中的任何内容。
  • 请尽可能优化故事板, 无论如何都要做到这一点。
    • 避免精灵图或谱面背景在渲染时被完全遮挡至不可见。 出于性能考虑,当元素不可见时,最好将它们隐藏。如要隐藏谱面的背景,请将相同的背景图像作为精灵图,Background0 作为第二个参数,然后隐藏掉它。
    • 避免精灵图在整个渲染过程中离开屏幕或者阻碍视线。 在这种情况下,应该裁剪图像的不可见部分,除非它们对故事板中的效果来说是必要的。
    • 避免故事板图像周围不必要的透明。 为了提高性能,应在保留所需效果下尽可能多地裁剪图像。
    • 若要多次使用某条命令,请使用循环指令,除非这样做会影响视觉效果。 使用 Loop 指令通常会大量减少代码行数,从而减少文件大小。
    • 当使用一个通用命令可以实现相同的效果时,请避免使用两个坐标轴分量命令。 使用单条命令而不是两条命令,能减少文件大小。
    • 使用最节省空间的图像文件格式,同时保持合理的质量。 不同于 .jpg 格式,.png 格式由于无损压缩方式,文件通常更大。
    • 避免任何重复的图像文件。 完全相同内容的两个图像会增加不必要的文件大小。
    • 避免同时激活多个不可见的精灵图。 无论元素是否可见,游戏仍然会处理元素的命令。如果这种元素不可见情况的持续时间较长,请创建一个新的元素在其重新出现时启用。
    • 在同一个精灵图上使用相同类型的多个指令时,请使它们的激活时间间隔至少保留 16 毫秒。 每秒 60 个命令足以使精灵图视觉上平滑过渡,且可以减小文件大小,减少加载时间。
    • 由触发器激活的精灵图要在使用后隐藏。 触发器会从第一个激活命令启用,保持激活状态直到谱面结束,所以最好在不使用后隐藏它。