Cool game core with great potential!
Already has: smooth and fast gameplay, clever game controls, and atmospheric, entrancing music.
Main
missing ingredients:
- purpose. What's the long-term motivation of shooting blocks? It's sure fun, but becomes pointless quite quickly. (A bit like punching holes into a sheet of paper).
- punch. As a result of above, the player can as well content himself with just avoiding the blocks. That's not so good, since excitement mostly stems from keeping the player on his toes, be it through relentless action or challenging puzzles.
Suggestion:
(of course subject to technical feasibility)
- introduce "rescue" items. A single sprite would already be sufficient to implement this idea. Displayed at random on the screen for a limited time, the player would have to race to get it before it vanishes. One level would then last for 10 or 20 such consecutive sprites. Get all of them for a "perfect" score bonus. (a counter could keep track of the rescue items).
Additional "punch" factor: the score for rescued sprites decreases with time: say, 30 pts. within the first 5 secs., 20 pts between 6-15 secs, 10 pts until 30 secs. The sprite then disappears (= 0 pts)
Later game levels could then raise in difficulty by giving increasing motion to these sprites (from static to 8-ways, fix pattern to random, different speeds, etc.)
This could at once fill the deficits described before, keep the player motivated and in constant motion, and open lots of possibilities for a full-blown, multi-level, exciting game experience...
(thinking about it: it's basically Robotron's success ingredient. How boring would that be without all the little humans to rescue?)