Consolidated win/lose code
Removed block explosion when colliding with invader for performance
Changed z-order of falling invaders
Add human to stage immediately but don't start firing right away
Bombs
Added DEBUG note to README
Updated licensing information
Moved bombs behind all other entities
Tweaking particle effects and animations
Made game start over automatically for testing
Added starfield
Added fast firing mode
Converted all speed, gravity values from pixels/frame to pixels/s
Changed expression of all frame values to seconds × FPS
Added animation when human hit
Added entity count stat
Added ships remaining counter
Added rudimentary sound manager to support simultaneous playing of each sound
Added pause when tab/window loses focus
Added sound effects
Added build script
Changed DOM to Canvas because Firefox DOM performance sucked
Fix detach bug
Reduce particles for performance
Slowed down human
Added ObjectPool that manages entities and recycles them to avoid gc
Not quite bug-free yet. It sometimes creates an object when there should be plenty in the pool. There seems to be a problem where the entity in the pool is losing some of its attributes after it is recycled.
The ObjectPool works on everything except Particles. For some reason, particles are sometimes recycled and sometimes not. So, for now, I'm not using the ObjectPool for particles.
Merged ObjectPool branch
Fixed Particle ObjectPool bug
The timeout() on each particle system wasn't being setup again in revive()!