什么是关卡
关卡是一个装着文件的文件夹。里面有什么、用什么格式保存,以及如何把关卡交给别人
文件夹里有什么
Bullet Hero的关卡是磁盘上的一个普通文件夹。不是数据库里的一条记录,也不是加密的归档包
主要文件有两个:
level.json:关卡本身,包括物体、关键帧、主题、资源metadata.json:封面信息,包括名称、描述、作者、标签、时长
关卡用到的所有东西都放在它们旁边:曲目、图片、字体。开发者不提供任何纹理。关卡里看到的一切,要么是内置形状,要么是这个文件夹里的文件
封面信息单独放在一个文件里,这样列出一千个关卡时不必打开一千个关卡
完整的文件列表:关卡文件夹与备份
Json还是Blob
创建关卡时选择文件格式:
| 格式 | 是什么 |
|---|---|
Json | 纯文本,任何编辑器都能打开,可以手动修复 |
Blob | 二进制文件,加载快几十倍,体积只有三分之一,无法直接阅读 |
建议
制作时用Json,完成后再切换为Blob。如果关卡打不开了,Json可以直接阅读并手动修复。Blob几乎无法修复:只要坏一个字节,完整性校验就不通过
如何把关卡交给别人
关卡靠复制传递。把文件夹打包、发送、解压、打开。不需要安装、注册或导入
在PC上总是可行。在手机上,取决于系统允许你访问哪些位置
由此可知:
- 关卡的备份就是文件夹的副本
- 不要重命名文件夹里的文件:资源是按名称查找的
- 编辑器打不开的关卡,仍然可以直接阅读,或者在
原始数据标签页中查看
注意
关卡在游戏中打开时,不要用文本编辑器修改level.json。从编辑器保存会悄无声息地覆盖你的修改
格式是开放的
关卡数据模型放在一个独立的仓库中,采用MIT许可证:bullet-hero/sdk。所以不用游戏也能读取关卡,任何人都可以为这个格式编写自己的工具。格式中的缺陷同样能从外部看到
关于格式的更多内容:SDK