Refactoring -- Empress and Blender now use same "insert bubble" logic. Moved some color utils from DefaultBubble into BubbleColorUtils.
When popping white bubbles, they now blink grey, instead of blinking white. This makes it easier to tell they're blinking
Some difficulty tweaks, as suggested by nogard
Added "normal mode", "main menu"... this normal mode will break up the levels into several worlds, which players can progress through.
"normal mode" now only displays the next 3 uncleared levels, hides the rest. Keeps track of progress.
Levels now use hard-coded quota bpms. I haven't recalculated the quotas yet, so they're all a little bit high.
"Normal mode" levels now feature different durations
Ranked mode now calculates and displays ELO.
Refactoring -- moved "roundTenths" utility from BpmLevel into BubbleColorUtils. Changed Bubble.state, PlayState.gamestate to use constants instead of having magic numbers like "120" spread throughout the code
"Ranked mode" now displays difficulty icons, instead of "OOO", "ooooo"
Level buttons are now color-coded by difficulty. Ranked levels are no longer sorted by difficulty, I think it's a little prettier/more fun this way.
Player now gets a message when their rank goes up or down. Increased quotas for Newspaper, Relentless.