First, put of the things that you have gathered and made into one file. You should have something like this:
That is what it should look like:
(Please do note that .chart file is not required, it may be a .txt file for "path", and storyboard.json is not required)Chart files (labeled as .chart here, can be chart.(name).txt or anything)
level.json (read below)
storyboard.json (not required, reference storyboard section)
Main music (labeled as music.mp3)
Preview music (labeled as preview.mp3)
Background picture (labeled as background.jpg)
After that, after selecting everything, zip it. (add everything to a .zip file) Then, change the .zip extension type to a .cytoidlevel type. If you computer does not let you to do this, Reference this website.
This is the manual way of filling it out, which it is much better than the compiler as you don't need to download an additional software for it, not to mention the flaws of using a Cytoid level compiler (have to give it admin perms, etc.) In most cases this is much faster so it is highly recommended. Please do note that any names on "path" section do not have to be the same name as the example, but "path" for audio, and images must be .mp3 (for audio, .wav is not recommended) and .jpg / .png (for images).
Use this as a reference guide. Since all cases are different, let me answer all the questions you might have below.
{
"version": (version number of chart (start with 1). If you changed something in your chart, add the number here by 1.,
"schema_version": 2,
"id": "(Insert (yourname).(chartname) here",
"title": "(name of the title, in original language)",
"title_localized": "(name in English if the original title is not in english",
"artist": "(Artist name in original language)",
"artist_localized": "(name in English if the orignial is not in english)",
"artist_source": "(link to the artist)",
"illustrator": "(illustrator of the background name in original language)",
"illustrator_source": "(link to the background source)",
"charter": "(your name)",
"music": {
"path": "(use .mp3 file. make sure it has the same name as your audio)"
},
"music_preview": {
"path": "(use .mp3 file. make sure it has the same name as your preview audio)"
},
"background": {
"path": "(use .png or .jpg file. Make sure it has the same name as your background)"
},
"charts": [
{
"type": "easy",
"name": "(custom name of the difficulty. If you do not want a custom name, you can just remove this section.)"
"difficulty": (to be ranked, put a value from 1~16. If it is a troll level, insert 0.1),
"path": "(name of the chart file "easy".)"
},
{
"type": "hard",
"name": "(custom name of the difficulty. If you do not want a custom name, you can just remove this section.)"
"difficulty": (to be ranked, put a value from 1~16. If it is a troll level, insert 0.1),
"path": "(name of the chart file "hard".)"
},
{
"type": "extreme",
"name": "(custom name of the difficulty. If you do not want a custom name, you can just remove this section.)"
"difficulty": (to be ranked, put a value from 1~16. If it is a troll level, insert 0.1),
"path": "(name of the chart file "extreme".)"
}
]
}
A. Delete difficulties you don't need, but make sure you remove the ending comma. For example, let's say you only need the hard version:
"charts": [
{
"type": "easy",
"name": "Lunatic"
"difficulty": 9,
"path": "lunatic.chart"
},
{
"type": "hard",
"name": "Very Hard"
"difficulty": 10,
"path": "hard.chart"
},
{
"type": "extreme",
"name": "Extreme Overload"
"difficulty": 12,
"path": "extreme.chart"
}
]
Here, you can just remove parts like this. Make sure to remove the ending comma if you are going to delete the extreme version!
"charts": [
{
"type": "hard",
"name": "Very Hard"
"difficulty": 10,
"path": "hard.chart"
}
]
A. If you don't have more than 2 different storyboards for each difficulty, you don't need to include it in the json. However, if you do,
{
"type": "extreme",
"name": "Extreme Overload",
"difficulty": 15,
"path": "extreme.chart",
},
"storyboard": {
"path": "storyboard3.json"
}
Add the storyboard part like this. The name for the storyboard.json does not have to be "storyboard3.json".
A. You use music_override like this:
{
"type": "extreme",
"name": "Extreme Overload",
"difficulty": 15,
"path": "extreme.chart",
"music_override": {
"path": "music1.mp3"
},
"storyboard": {
"path": "storyboard3.json"
}
}
Add the music_override part, and put the "path" to which music you want to play it on.
Okay, a full on level.json would look something like this:
{
"version": 2,
"schema_version": 2,
"id": "wz.yatm",
"title": "You Are the Miserable",
"title_localized": "",
"artist": "t+pazolite, Laur",
"artist_localized": "",
"artist_source": "http://mutra.c-h-s.me/",
"illustrator": "白祈QSR",
"illustrator_source": "https://www.pixiv.net/member_illust.php?mode=medium&illust_id=69136806",
"charter": "Wanderer Zariq",
"music": {
"path": "gc.mp3"
},
"music_preview": {
"path": "preview.mp3"
},
"background": {
"path": "background.jpg"
},
"charts": [
{
"type": "easy",
"name": "GC",
"difficulty": 13,
"path": "chart.gc.txt",
"storyboard": {
"path": "storyboardgc.json"
}
},
{
"type": "hard",
"name": "Uncut",
"difficulty": 14,
"path": "chart.uncut.txt",
"music_override": {
"path": "uncut.mp3"
},
"storyboard": {
"path": "storyboarduncut.json"
}
},
{
"type": "extreme",
"name": "Laur",
"difficulty": 15,
"path": "chart.laur.txt",
"music_override": {
"path": "laur.mp3"
},
"storyboard": {
"path": "storyboardlaur.json"
}
}
]
}
Example from Wanderer Zariq's "You Are the Miserable".
Another way to make a level is to compile it using a compiler, we currently have 2 compilers for you to choose from. However, GaestralDr's Level Compiler is incompatible with the new schema version.
Using CLC Light itself is simple.
Import charts by clicking "Import <Difficulty>" button in the top-left corner to choose chart! The program will automatically enter the address after importing. It will also detect whether you imported a chart's difficulty or not. The process is semi-automatic. Make sure to fill in all details, and a folder will be made in your desktop.
After specifying the Level ID, please don't forget to verify Level ID occupation, and make sure to add the background image too.