Performance issues aside, I really like this. Love the effect when an enemy is destroyed. Procedural generation keeps it visually interesting. If you keep working on this, it'd be interesting to have enemy behavior depend on the generated pieces (timing and flight path for example) to keep the gameplay from being repetitive as well.