Chart Formatting 1.3 - bunfan/beat-banger GitHub Wiki

This is the format for the Beat Banger charts in version 1.3

Parameters

Initialization Parameters

name : The name of the level that will be displayed on the score screen
songpath : The filename of the song located in the `/songs/` folder
loop_speed : The speed it takes for the animation to run a full 6 frame loop

Audio Parameters

music_volume : Controls the volume of the music in decibels
sfx_volume : Controls the volume of the sound effects in decibels
voice_volume : Controls the volume of the character voice clips in decibels

Note Control Parameters

bpm : The beats per minute of the previously selected song used to control note speed
note_offset : A manual offset to allow for making notes appear delayed or earlier
bar_position : The y-position of the bar that the notes travel on
background : Includes the path to the background texture and controls whether or not it is dynamic

Chart Parameters

no_spawn : Array containing the beats where notes stop spawning
half_spawn : Array containing the beats where half notes spawn
quarter_spawn : Array containing the beats where quarter notes notes spawn
eighth_spawn : Array containing the beats where eighth notes spawn

Transitions

initial_data : The assets to be pulled, loaded, and displayed as soon as the level start
animation : The path to the anim sprite sheet
effects : This contains all the assets to load on each transition
last_transition : This is the same as initial data but for the last transition / end of the level
climax_sound : This is the sound heard in the `last_transition`
looping : This dictates whether or not the animation continues without player input or notes
voice_bank : The folder name and interval for voice frequency

Post Parameters

last_beat : An array with a single value containing the INTERGER with the last beat of the song
post_song_delay : The amount in seconds to wait before the level fades out and goes to the score screen

Other

screen_flash : A boolean toggle which determines whether on not the screen will flash white on each transition
game_over_sound : The sound that plays when a player get a "Game Over"

Transition Structure

# Initial Data

initial_data = {
    "note_type": # The type of note to spawn before the song starts # 0 = no notes, 1 = half notes, 2 = quarter notes, 3 = eighth notes
    "animation": # Path to the sprite sheet located in "/anims/"
    "sound_fx": # Path to the loop sound effect located in "/sfx/"
    "looping": # Determines if the animation that's loaded will loop, even without input from the player
    "background": # Array containing path to background image located in "/textures/"; and whether or no that image is a pattern
    "voice_bank": # Object containing the path to the voice clip directory; and the frequency the clips should play in the level
}

# Transition

[Beat Number]:{ # The beat that the transition will take place
    "animation": # See 'initial_data'
    "sound_fx": # See 'initial_data'
    "effects": # The path to the trantition effect sprite sheet located in "/anims/fx"
    "looping":  # See 'initial_data'
    "background":  # See 'initial_data'
    "transition_sound": # Path to the transition sound effect located in "/sfx/"
    "voice_bank":  # See 'initial_data'

# Last Transition

last_transition = {
        "animation": # See 'initial_data'
        "effects": # See 'initial_data'
        "looping": # See 'initial_data'
        "background": # See 'initial_data'
        "transition_sound": # See 'Transition'
        "climax_sound": # The very last sound that play when the level ends
}

Example

[EASY]

name = "Judy"
song_path = "128_judy_song_new.ogg"
loop_speed = 1
music_volume = 0
sfx_volume = 0
voice_volume = -6
bpm = 128.0
note_offset = 0.03
bar_position = 750
no_spawn = [0]
half_spawn=[0, 12, 28, 44, 64, 80, 96, 112]
quarter_spawn=[ 8, 24, 40, 56, 72, 88, 104, 120, 192, 258, 262, 274, 278, 290, 294 ]
eighth_spawn=[ 188, 256, 260, 272, 276, 288, 292, 312 ]
initial_data = {
    "note_type": 1,
    "animation": "loop0.png",
    "sound_fx": "squish.ogg",
    "looping": true,
    "background": ["pattern1.png", {"static": false}],
    "voice_bank": {}
}
screen_flash = true
game_over_sound = "game_over.ogg"
transitions = {
    64:{
        "animation": "loop1.png",
        "sound_fx": "squish.ogg",
        "effects": "panty_rip.png",
        "looping": false,
        "background": ["pattern1.png", {"static": false}],
        "transition_sound": "break.ogg",
        "voice_bank": {
            "name":"closed_moans",
            "interval": 8
        }
    },
    128:{
        "animation": "loop2.png",
        "sound_fx": "squish.ogg",
        "effects": "shirt_rip.png",
        "looping": false,
        "background": ["pattern1.png", {"static": false}],
        "transition_sound": "break.ogg",
        "voice_bank": {
            "name":"open_moans_long",
            "interval": 8
        }
    },
    192:{
        "animation": "loop3.png",
        "sound_fx": "slap.ogg",
        "effects": "bra_rip.png",
        "looping": false,
        "background": ["pattern1.png", {"static": false}],
        "transition_sound": "break.ogg",
        "voice_bank": {
            "name":"open_moans",
            "interval": 4
        }
    },
    256:{
        "animation": "loop5.png",
        "sound_fx": "slap.ogg",
        "effects": "",
        "looping": false,
        "background": ["pattern1.png", {"static": false}],
        "transition_sound": "break.ogg",
        "voice_bank": {
            "name":"open_moans",
            "interval": 4
        }
    },
}
last_transition = {
        "animation": "cum.png",
        "effects": "cumfx.png",
        "looping": true,
        "background": ["pattern1.png", {"static": false}],
        "transition_sound": "break.ogg",
        "climax_sound": "climax.ogg"
}
last_beat = [320]
post_song_delay = 5.0

This chart is subject to change / updates in later versions of beat banger. This page was written during version 1.3