Information for map creators - kbz/SIFTrain GitHub Wiki

Dynamic loading of beatmaps was added to the game.

What does this mean?

In first place, it means that you can reload any map without having to restart the app every time.

How does it work?

Loading of beatmaps is performed in a 2 phase manner:

  1. During app start-up, beatmaps are partially loaded, we consider only the song_name and difficultiy fields
  2. After the user has selected the song they want to play and presses 'Next' we load the beatmap completely from the file.

By doing this, we load a new beatmap every time the user presses 'Next'. In other words, if any changes were made to the beatmap, the only think you have to do is start a new play of the song, and the changes will be loaded.

Beatmap validation (TO BE REVIEWED AFTER 2.0)

Added a validation screen between song selection and the actual game screen, this will allow map creators to know what is wrong with the beatmap they created, by providing visual feedback.

If a beatmap contains only 'warnings' you will be allowed to commence play, however if there are any errors, you'll be notified in clear verbose output. For instance, let's take the following map as example:

{
  "song_name": "Innocence",
  "difficulty": 4,
  "rank_info": [],
  "song_info": [
    {
      "notes": [
        {
          "position" : 1
        }
      ]
    }
  ]
}

When loading this map into the game, you'll see the following errors