N: toggle 'floor is lava' (i.e. death upon hitting floor)
I: toggle 'blind mode'
P: toggle pause
O: step to next tick when paused
A list of Cool ThingsĀ®
Not necessarily exhaustive, nor in order of coolness
Three states: idle, playing, victory (Game says 'Huzzah!' upon winning)
Side collision on both paddle and bricks
Paddle moves with inertia
Paddle bounces off walls
When ball bounces off paddle, it pushes the paddle in the opposite direction
Ball is a light source and other entities cast shadows. This also affects gameplay,
since the paddle is partially obscured when the ball is at the top and the bricks
inbetween them.
Light around ball pulsates very slightly
Ball leaves a particle trail
Screen flashes when the ball hits bricks or the floor
'Blind Mode' where you can neither see the bricks nor the paddle, only their shadows. (Toggle with "I")
Bricks come apart upon impact and scatter particles. (Yes, I know the fragments are circular)
Level editor
Bricks can have up to 6 lives and can be indestructible (use -1 for indestructible bricks)
Code adheres to the Revealing Module Pattern; objects have private and public members, implemented via closures