Skip to content

Mapping

Alejandro edited this page Feb 16, 2024 · 17 revisions

Mapping is core to TEMPOBEAST's community-powered nature. The Mapper feature included with the client is meant to be rather simple and easy to understand. Here are the basics and deets to consider:

How to add tracks

If you visit our example node files, you will see that the structure of the track levels is rather basic. A level consists of:

  • A map.json file
  • An info.json file
  • An optional track.ogg file (optional since it doesn't need to be in the same folder as the other file. An OGG Vorbis audio file must stil be specified within info.json.
  • An optional fx.json file

Every level folder within the music folder must have a number for a name. This number will be used as the track ID. Using characters other than numbers may cause errors.

To begin your mapping journey, you may want to overwrite one of the example levels we offer you.

1. Open info.json and enter the information corresponding to your track. The track doesn't necessarily need to be hosted by the same server or in the same directory. The track must be an OGG Vorbis file.

Select and open info.json Edit info.json

2. If you wish to edit the background color for your level, change the color property in info.json and edit the key corresponding to the track ID. Ensure the color you're trying to use comes in HEX format. Every level MUST have a color assigned - if not assigned, the node will refuse to play the level.

3. For now, keep the map.json file as is.

How to map

Before you proceed, ensure you're not using Bluetooth audio while mapping, as it will add delay.

1. Once you open the drop-down within the main menu, you should be able to see your newly created/modified track with its ID, track name, and track artist.

Select the song within the in-game dropdown

2. Select the track that you're planning to map.

3. Tap the radioactive icon

Open the mapper

4. A new screen will appear, tap anywhere to start mapping.

5. Once mapping has started, you should be able to hear the track playing. Now you can tap and slide following the rhythm of your track. Before the track's over, tap the "Stop" button in the bottom right corner.

6. The map data will be copied to your clipboard. Paste it into the map.json file within the folder corresponding to the ID of the track you're mapping.

Select and open the map.json file

Ensure map.json is empty before pasting in the new content! Edit the map.json file

7. Done! If everything went as planned, you should now be able to play the level with no issues.

Things to consider

1. The Mapper will not ignore the press of the "Stop" button. I advise you go edit the resulting map.json file and delete the last item to remove this interaction - likewise, you should remove the first Interaction you did to start the mapping process, as it may come off as unexpected for the player. (Optional but recommended)

Delete the first interaction Delete the interaction with time 0.0. Delete the last interaction Delete the last interaction, which should be you pressing the "Stop" button.

2. The client will consider a level as over when the track is done playing - not when the map is. It is important to stop the mapping before the track is over. Maps going past the track's length will force the score calculator to recalculate, which may result in inaccurate results.

3. Avoid mapping too close to the edges of your screen, as it may make notes unreachable for certain players.

4. If after selecting the level on the main menu either to play/map and attempting to do either of both actions, you get sent back to the main menu, this means you're missing something; you might've not added a color for the level in the info.json file, the track may not be accessible, or map.json may be missing.

Scores

When a level is started, the values of all kinds of scores will be calculated by the score calculator. The max score you can get is 50,000. Based on how quickly a player destroys a note, the ratings they'll get can be:

• Perfect (worth 50k / the amount of total notes for the level)

• Good (worth 75% of the value for Perfect rating)

• Bad (worth 50% of the value for Perfect rating)

• Missed (worth 0 points)

The outcomes of a level can be:

• PLATINUM (If you reach a perfect 50k points)

• DIAMOND (If you reach 49,500 points or more)

• SILVER (If you reach 49,000 points or more)

• GOLD (If you reach 48,500 points or more)

• BRONZE (If you reach 30,000 points or more)

For now, stats will not be saved.

Visual Effects

The example track/level 1 contains a fx.json file. When you open the file, you'll be able to easily understand its structure and functionality. For now, the only visual effect available is changing background colors. If enough people request it, I'll gladly add more options.

Do bear in mind however, that since the JSON is being sent through a header, you'll be limited by the 8kb header size cap of HTTP. So you should paint your colors wisely.

Clone this wiki locally