Skip to content

Web-based application built as my independent capstone project at Epicodus. This tool allows the user to chart their own Beat Saber songs. Intermediate knowledge of Beat Saber basic charting is recommended.

Notifications You must be signed in to change notification settings

KirbyPaint/beat-maker

Repository files navigation


A Beat Saber song charting tool

Created by KirbyPaint

Find Me on LinkedIn | Contact Me Directly


Table of Contents


What is Beat Maker

Beat Maker is a browser application in development. The goal of this project is for a user to be able to create their own Beat Saber song charts using minimal outside resources.


How To Use Beat Maker

The Beat Maker screen has a few different and notable sections to it. From left to right, top to bottom:

Note Grid: This is a 3-row-4-column grid of clickable black boxes that represents Beat Saber's note grid. Clicking a box will highlight the chosen block, and attributes can then be added to this note, that will then be later exported into a note.

Beat: This determines which beat the note(s) will render on.

Tool Grid: This grid contains six different tools. In order, from left to right, top to bottom:

  • Slash Angle: This will determine what angle the note needs to be slashed at, or if the center dot button is chosen, it will assign the omni-angle attribute to that note block.
  • Bomb: Currently unimplemented.
  • Red Block: Assigns the selected note to be a red block.
  • Blue Block: Assigns the selected note to be a blue block.
  • Save Block: Exports the current chart into usable game code.
  • Delete Block: Clicking this block while a block on the chart is highlighted green will clear all attributes from the selected block only.

Attributes List: This list determines certain in-game attributes, including the title of the track, author, BPM, etc. See this list for all attributes and required details. Most attributes will allow any input; however note that if the input requires a time, please input a number, or the info.dat file will fail to load in the game. Additionally, some sections are listed as a drop-down only, to prevent an invalid input.

Export Info.dat To Text: This button takes the data listed in the Attributes panel and prepares it for exporting.

Download Info File (As .dat): This button will bring up a prompt to the user, allowing the info.dat file to be saved locally to the computer.

Convert Current Beat Chart To Notes: This button functions the same as the Save Block above.

Download Chart File (As .dat): This button will take all given notes saved so far and export them to a .dat file that can then, with minimal adjustment, be imported into the game. Same functionality as the Save Block button.

Export Data Box: A box that displays the current note chart as its raw data. This is a preview for what will be downloaded using the "Download Chart File (As .dat) button.


What Can This Tool Do

This tool can convert a given beat with red and blue notes into a basic playable chart file. It can also take the supplied attributes and create the required info.dat file containing the supplied attributes.


What Requires Outside Tools

This tool will not be able to edit audio files, create custom cover art, add events such as lighting, bombs, or walls, or package the final product. It is simply a chart creation tool.


How Do I Make A Good Beat Saber Chart

Practice, practice, practice! Beat Saber charting, while simplistic, does have a bit of a learning curve, especially since creating the chart in a 2D medium doesn't always translate perfectly to a VR game. You may think that your chart map looks great, only to find that playing it is a nightmare. These charts require lots of minute tweaking and playtesting, and often it's best to have a buddy playtest the chart for you, to get past your own chart blindness.
The BSMG Wiki has lots of helpful tools to get you started.


How Can I Add This Chart Data To MY Beat Saber Game

There are plenty of resources out there to assist with packaging the final product. In short, a Beat Saber track MUST have:

  • info.dat
  • song.ogg OR song.egg
  • cover.jpg
  • Chart data, as listed in the info.dat file

These are the MINIMUM required files.
Additionally, as of this writing, adding custom charts is not natively supported. You will need to mod your game, and as modding does come with certain inherent risks, I will not endorse a specific mod over another. However, a simple internet search will present a few good options.


Author Recommended Editing Tools

  • paint.NET for cover art editing and saving
  • Audacity for audio file editing
  • Notepad++ if there are any last-minute finishing touches needed for the file data
    Note: these recommendations come from my own personal experiences. There may be much better tools out there to get the specific jobs done; however these three were my personal favorites when I manually created charts in the past.

Resources


Bugs and Issues

  • Bug - Custom mouse pointer sometimes reverts to standard mouse pointer
  • Issue - Chart is not editable - mistakes are set in stone unless the chart is downloaded and modified externally.
  • Issue - Chart does not allow for Bomb blocks or Wall blocks.
  • Issue - Attributes that require integers are not locked to integer-only inputs
  • Issue - Save Button and Convert Chart to Notes button have identical code. But it looks so well-balanced right now, I'm keeping it.

Future Planned Improvements

  • Allow editing of chart
  • Add Bomb events and Wall events to chart
  • Allow user to store their custom charts in a database
  • Allow more precise Beat timing - currently only integers are allowed, leaving the user to either be very precise on the offset, or risk track timing errors

Technologies Used

  • HTML5
  • CSS
  • jQuery 3.5.1

Final Notes

Thank you to everyone who was with me on this incredible journey. Can't wait to see what the future has in store.

About

Web-based application built as my independent capstone project at Epicodus. This tool allows the user to chart their own Beat Saber songs. Intermediate knowledge of Beat Saber basic charting is recommended.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published