Difference between revisions of "Beat Saber"

From vjmedia
(Note Blocks)
Line 105: Line 105:
 
==Future Work==
 
==Future Work==
 
This project was completed in full. For any future work on this project, users should follow the methods taken to complete this Beat Saber map and create a new one
 
This project was completed in full. For any future work on this project, users should follow the methods taken to complete this Beat Saber map and create a new one
 +
 +
 +
[[Category:Featured]]
 +
[[Category:Interactive Systems]]
 +
[[Category:Gaming]]
 +
[[Category:Development Toolkits]]
 +
[[Category: Advisor:Manzo]]

Revision as of 03:27, 10 May 2024

Go Back to Main Project Menu

The in game view of the VR game Beat Saber


Overview

In this project, a custom Beat Saber map was created of the song Edward40Hands by Mom Jeans. The steps to complete this are outlined, from downloading the necessary software to the placement of blocks in a map. Successful and quality Beat Saber maps are rated on six factors: fun factor, rhythm, flow, pattern quality, readability, and level quality. These categories were kept in mind while mapping, and user tests were performed to verify that they were met.

Introduction

The different blocks and obstacles that users experience in Beat Saber

Beat Saber is a virtual-reality (VR) rhythm game where users swing lightsabers to hit approaching blocks mapped to a song. Players need to hit the blocks with the correct color, in the correct direction and with the correct timing to pass the song level. Players have two different colored lightsabers - one color for each hand, and therefore two different colored blocks they can hit while playing through a song (most usually red on your left hand and blue and your right). Blocks can be placed in 8 directions: up, down, left, right, and all the diagonal directions. There are also dot blocks which players can hit in any direction. Players can hit multiple blocks of the same color at the same time as well as blocks of different colors at the same time. Blocks appear in front of players based on the timing of the music playing in the level. Levels also can consist of obstacles for players to avoid, such as walls and bombs. Walls require players to physically avoid them with their headset and bombs require players to avoid touching them with their lightsabers. Levels also have background lighting that changes with the music, blocks, or obstacles as well.

Users have developed an ability to create custom maps for Beat Saber using some in and out of game modifications. Users can choose any audio file that they want to map using a computer program and upload it to the Beat Saver (https://beatsaver.com/) website. To create a successful and quality map, it has to score well in the following categories listed on the website: fun factor, rhythm, flow, pattern quality, readability, and level quality. Fun factor involves how much fun users had playing the map you created, and would they play it again or recommend it to others. Rhythm deals with how on time the blocks are mapped to the beat of the song, and flow includes how fluid the movements are between blocks and patterns. Pattern quality evaluates how interesting the patterns that are mapped in the song are and if they fit the feeling of the song. Readability involves checking if any blocks are obscured by other blocks, walls or bombs, and level quality looks for if there are any poorly placed obstacles, if there is decent lighting, and if the speed of the level matches that of the song. This project consisted of creating a successful custom Beat Saber map for the chosen song of Edward40Hands by Mom Jeans.

Project Objectives

Every Beat Saber map needs to have audio, and note blocks mapped to that audio, with corresponding lighting being optional yet highly encouraged. To create a successful and quality Beat Saber map, the fun factor, rhythm, flow, pattern quality, readability, and level quality had to be constantly considered within these basic factors. Therefore, the goal of this project was to create a custom Beat Saber map to the song Edward40Hands with note blocks and corresponding lighting to create a successful and quality map based on the criteria. There are many online resources that can be used to aid in the mapping process, such as the Beat Saber Mapping Guide (BSMG) wiki (https://bsmg.wiki/mapping/) and videos created by the Beat Saber Modding Group, that detail everything you’d need to know about custom mapping, from software and audio setup to information about note block patterns and placements, and even information about play testing your map. These resources were used extensively to aid in this project.

Methods

To begin, the software needed to create a Beat Saber map had to be downloaded and set up. To set up the audio for the map, the programs Audacity and Arrow Vortex were used. For map information set up and mapping of blocks and lighting, the program Mediocre Map Assistant 2 (MMA2) was initially used, and then later switched to Chromapper. Both mapping programs are essentially the same, Chromapper however has access to newer block types released by Beat Saber, such as the slider/arc blocks or burst slider/chain blocks. For this project, the slider blocks were favorable for representing lyrical sections with long held notes, and therefore Chromapper was switched to so that these blocks could be utilized in the Edward40Hands map.

New beat saber blocks, called either ‘slider’ or ‘arc’ blocks allow players to hit a directional block, and then follow a path with their sabers to the next hit block, ‘sliding’ into the next block
New beat saber blocks, called either ‘burst slider’ or ‘chain’ blocks allow players to hit a more spread out direction block in more arced patterns

Audio Setup

To start the audio setup, Audacity and Arrow Vortex were downloaded. Next, the audio file of Edward40Hands was found online and downloaded as a basic MP3. To find the song, I used YouTube, however, it is recommended you use a high quality audio source so that the beats of the song show up more clearly on a waveform representation of the song (this will be important later), and also so it sounds great for the people playing your map. However, the file I found was off the band’s uploaded album to YouTube, so I felt the quality was good. The downloaded song was then imported into Arrow Vortex. This program allows you to find the exact beats per minute (BPM) of the song as well as easily apply an on-beat offset of silence at the beginning of the song. Both of these factors are very important for being able to properly time the note blocks to the audio in your map, and having a few seconds of silence in the beginning of the map allows players to prepare for the map to begin, rather than it starting immediately when the level is selected in-game. When making a Beat Saber map, it is recommended that you choose a song that has a clear and consistent BPM to make your job of mapping to the beat easier. However, in this project I wanted to create a map of a song I enjoy that hadn’t been mapped before, so the BPM was not necessarily clear and consistent. When the BPM was detected in Arrow Vortex, two different BPMs appeared with corresponding percentages for how much of the song they matched. The BPM with the higher percentage was chosen and applied, and then a few second offset was applied as well. The metronome ticks were then played to the selected BPM over the song, to make sure the BPM sounded in line with the audio track. The audio file from Arrow Vortex did not need to be saved, rather the exact BPM (to the decimal) as well as the music offset values were saved to be used in Audacity.

Using Audacity, the downloaded MP3 file could be edited and then exported as an OGG file to then be used for the Beat Saber map, because OGG is the required audio file type to create a map. To apply the music offset to the audio file in Audacity, a silence was added to the beginning of the song for the duration of the music offset created in Arrow Vortex. This then created an audio file synced perfectly with the found BPM and with the correct amount of silence in the beginning. The audio file was then exported as an OGG file.

The program Arrow Vortex, detecting the BPM of the song and applying a music offset to the beginning
The program Audacity, applying the found music offset from Arrow Vortex to silence at the beginning of the track


Map Setup

The mapping environment initially used for this project was MMA2, and therefore the map setup was done in that program. The map was then later transferred over to Chromapper, which uses a similar UI and controls. When MMA2 was first downloaded, folders to store the customs levels had to be created and then the path specified. To create a new map level, the name of the map was typed in and the ‘Create Level’ button clicked. Then, the level information could be set up.

There is a lot of different information that you can set and edit in your map, and the information I found essential to provide was the song title, artist, cover image and mapper(me!), so that users can identify the map online, as well the BPM of the song and the audio OGG file, both previously found and set up, so that the map will incorporate nicely timed audio. The environment that the song is mapped in can be changed, affecting the background images and lights. For this map, I chose to use the ‘NiceEnvironment’ because I liked the look and design of it. All the possible environments can be seen on the BSMG wiki. Finally, the map needs to have at least one difficulty level for users to play. Edward40Hands was mapped to one difficulty (Expert) due to time restrictions of the project.

The MMA2 user interface (UI) for creating new Beat Saber levels
The map level information entered in MMA2 to create the Edward40Hands map


Mapping

With the song level created, the mapping of the note blocks and lighting blocks was the next step. Mapping blocks was initially done in MMA2, but then primarily done in Chromapper. The user interface (UI) of the mapping environment in Chromapper and MMA2 are identical, making switching between programs easy. The mapping environment consists of two gray and white tracks, the left one featuring a 4x3 grid and the right one a 10x1 grid. The left track maps note blocks while the left track maps lighting blocks. Both tracks’ precision can be adjusted, so that blocks can be mapped every ½ note, ¼ note, ⅛ note, etc., on the track. To the left of the note block track there is an audio waveform. Because of the previous audio work done to find the exact BPM and apply an on-beat music offset, the lines of the tracks lined up relatively well with beats represented in the waveform. The waveform is a very useful tool for placing blocks in line with desired beats in the song. Red and blue note blocks were mapped, as well as red and blue lights. These are the default colors in these programs, and other color schemes can be used. However, I tend to find the change in color schemes on maps very confusing, so I kept the default colors.

The Chromapper mapping environment; note block track on left, lighting block track on right, audio waveform to the left of note block track


The hit box of a Beat Saber block

Note Blocks

When mapping note blocks, many different factors need to be kept in mind to create a quality map. Note blocks make up the majority of the Beat Saber map, meaning that the way the note blocks are mapped make up most parts of the rhythm, flow, pattern quality, readability, fun factor, and level quality criteria. Therefore, all these factors had to be kept in mind while mapping note blocks. Note blocks were mapped in small sections at a time and then test played, so that any timing, pattern, or directional block issues were resolved quickly.

To ensure that the map had good rhythm, notes had to be mapped precisely on time to beats represented in the audio waveform. A key factor in making sure note blocks are timed well is keeping in mind the hit box for Beat Saber blocks. The area where the majority of the saber is supposed to hit the block is actually in front of the block, rather than on the block itself. The BSMG wiki says that players should aim to hit blocks with the tip of their saber so that the rest of the saber slides through the hit box accordingly. Therefore, to make blocks feel on time with the song in-game, they need to be mapped slightly after the beat occurs, making room for the hit box of the block. Note blocks were mapped about 1/16 of a note after the desired beat occurred in the song.

The flow, pattern quality, and readability of the map depends mostly upon the direction and placement of note blocks throughout the song. There are directional note blocks, which can be placed in any direction and must be hit in that direction, and dot note blocks, which can be hit from any direction. To create good flow in a map, blocks must be placed so that movements are fluid and changes in directions of blocks are intuitive. This usually means that directional blocks mapped on the same hand seamlessly interchange between up and down directions and therefore forehand and backhand swings. Some directions of blocks are uncomfortable to hit with a forehand or backhand swing, and so forcing players to swing at blocks in those directions was avoided when mapping. Having good flow also means avoiding double directionals, an instance in which note blocks mapped for the same hand face the same direction two swings in a row. Without a long enough reset period between swings, double directionals mess up the flow of a map, and were avoided while mapping.

Charts displaying the comfort level of directional note blocks when hit with a forehand or backhand swing; the more green a section, the more comfortable it is to hit the note with that swing, the more red a section, the more uncomfortable it is to hit the note with that swing
An example of mapping a good, standard flow of note blocks on the same hand, and double directionals

Pattern quality is more challenging to achieve, as it deals with how interesting mapped patterns are in the song and if they fit with the overall feeling of it. To make sure mapped patterns in the song stayed interesting, I tried to mix up changes between left and right hands as well as changes between using one or two hands to hit blocks. Parts of the song that featured one instrument and the vocals were kept to one hand note block hits, while loud drum beats as well as the introduction of more instruments into the song utilized more two hand note block hits, rather than just one. Doing this intended to create greater emphasis on bigger and lesser parts of the song. Thought was also put into the physical patterns themselves, and if the direction and movement of it accurately represented what was going on in the song at that moment. There is a repeating guitar riff in Edward40Hands that plays notes from low to high. Note blocks for this riff are in turn mapped from a lower to a higher position, in a semicircle to represent the feel of that guitar riff. The riff and corresponding note block pattern repeat throughout the song, creating a consistent and expected part of the song. The new slider blocks were also used to represent the vocals towards the end of the song, where long notes are held. The slider blocks illuminate a path for you to follow with your lightsabers until you hit the next note, mimicking the idea of holding a long note while singing. These kinds of ideas of representing parts of the song through note block movement were practiced when mapping note blocks for the whole song. There are also quite a few patterns that should be avoided while mapping because they either are uncomfortable to play or risk damage to the VR device itself. All of these patterns, as well as questionable ones, are listed on the BSMG wiki. The patterns that should be avoided were, however, a few questionable patterns were used throughout the map because I thought they felt okay to play and only proved to make patterns in the map more interesting.

Example of the repeating mapped guitar riff in Edward40Hands
Example of the slider blocks being used for the slow lyrical part of the song in Edward40Hands

To achieve good readability on a map, note blocks need to be mapped where they are visible to players, or the blocks are not visible, it is intuitive where and in what direction it will be hit. This means generally avoiding ‘vision blocks’, which are blocks placed in the two center spots of the 4x3 mapping grid. Blocks should be placed along the perimeter of the grid, so that the player’s view is not obstructed by the blocks. Vision blocks are okay to place if there is enough time to see the next notes appear after the vision blocks are hit. When mapping note blocks, these guidelines were kept in mind and considered. Any blocks placed directly behind others can either be hit in any direction or match the flow of the previous blocks to be intuitive of which direction to hit it in. There are a few instances of vision blocks, to keep the mapping patterns a bit more interesting, but only when there was enough time to see the next incoming block after the vision blocks were hit. Readability of a map is also affected by the obstacles used when mapping. Obstacles can include bombs, which cannot be hit with the lightsabers, or walls, which cannot be hit with the VR headset, forcing players to physically lean out of the way. If there are obstacles obstructing views of blocks, then the map will not have good readability. To minimize these issues, bombs were not used in this map (also a lot of Beat Saber players hate bombs in general). Walls were used minimally. Initially, note blocks were placed inside of decorative walls, however, after user tests were done it was apparent that the walls were obstructing the view of the blocks. Therefore, after edits were made there were no obstacles obstructing views of blocks in the created map.

Ideal block placement of note blocks when mapping and the unideal placement of vision blocks when mapping

The criteria of how fun a map is to play is also affected largely by the patterns, placements and readability of note blocks and obstacles. A user will have more fun playing a map if there are interesting enough patterns, if it is easy enough for them to play, and if the movement created by the mapped blocks is reminiscent of the song. This category is very subjective, and I think the Edward40Hands map succeeds in this criteria, and user tests performed on the map agreed as well.

Level quality in a map makes sure the speed of the level matches the song, if there are any poorly placed obstacles, and if there is decent lighting. Because of all the audio work done to find the exact BPM of the song and no modifications to the note jump speed were done, the speed of the level matches up with the song. As mentioned prior, no obstacles were obstructing parts of the level. Lighting blocks were also mapped for the song, and will be detailed in the next section.

Lighting

Lighting is important because without it, a map is dark and uninteresting, with only its note block mapping patterns to represent it. Lighting however is not as difficult to map as note blocks because the lighting in the map can simply compliment the already mapped note blocks. There are 5 different laser lights to control on the mapping track, as well as different ways to illuminate them. Lights can be turn on, off, faded, or flashed with the lighting blocks. When lights are turned on, they are normally associated with a turn off event, after a certain period of time. To avoid having to deal with constantly turning lights on and off, I almost exclusively used the fade block, which turns on the lights and then fades them off, turning them on and off automatically. The fade blocks also added emphasis to smaller or quieter parts of the song, as the lights would flash on and then quickly fade to black, leaving an emptier feeling than during the bigger or louder parts of the song where more lights were turned on more frequently. The lighting blocks were timed to the note blocks, ensuring to place them 1/16 of a beat before the note blocks so that the lights turn on with the actual beat of the song. There were a few instances where the lights represent different instruments of the song that were not able to be represented with note blocks as well, adding to the level quality.

The lighting track in Chromapper, detailing the specific lasers and events that can be mapped

User Tests

Once the map was completed to a comfortable level, user tests needed to be done on it to ensure the map actually played as expected. A room at WPI was booked to hold user tests with five participants, one of which had prior Beat Saber experience. The feedback desired from participants was if the map met all the criteria to make it a successful map: fun factor, rhythm, flow, pattern quality, readability, and level quality.

The participants who had not played Beat Saber before had a hard time completing an Expert level map, and played it on 70% speed. They provided more feedback about the overall feel and fun factor of the mapped song, as well as comments relating to the level quality, pattern quality, rhythm, and readability. It was reported that the map was challenging but not frustrating, and fast but possible. Participants liked that there was a good balance of difficult and easy parts throughout the song, and one participant particularly noted enjoying the repeating guitar riff mapped throughout the song because it was a constant and expected part that they could always come back to play if they got lost in other parts of the song. The overall feel of the song was said to match the mapped blocks as well, such as the freestyle drumming parts in the song complimented with dot note blocks, allowing users to also freestyle drum the note blocks. The slower parts of the song were said to be timed well and more enjoyable for the less experienced players, and the change between tempos was handled well. Participants also noted that blocks placed within walls were challenging to see and hit.

The participant with prior Beat Saber experience offered more specific feedback about the rhythm and the pattern quality of note blocks. Many notes included areas that were timed poorly or felt awkward to play. These sections of the song were then investigated for any double directional, vision blocks, or uncomfortable forehand-backhand flows.

File:UserTest.MOV

All the user feedback was then taken into account in the next round of edits for the map. After user feedback was incorporated into the map, it was checked over for any final issues before saving and uploading to the Beat Saver website. The Edward40Hands map is now available for download by Beat Saber users (https://beatsaver.com/maps/3c394). Videos of me playing the Edward40Hands map as well as a video of just the map can be found at the YouTube links below.

https://youtu.be/uo9hNZRhGcI Me test playing the Edward40Hands map

https://youtu.be/gCfpHM_vu-o A video of the completed Edward40Hands map

Future Work

This project was completed in full. For any future work on this project, users should follow the methods taken to complete this Beat Saber map and create a new one