Awesome opening screen! My comments:
A) enemies: unless you do not have the ZX original data for enemy placement, I would go for a semi random solution at least for planes.
My idea would be:
1) define in rom 4-5 kinds of swarms with their different trajectories for the planes,
2) space the starting positions of the swarms by a fixed amount of vertical scroll distance + a random offset,
3) randomize the choice of swarm types.
This would avoid too much enemy clutter and speed up a lot the development. It could be needed to select a good seed in the random sequence generator by trial and errors, but it is simpler than encoding data levels manually
Ground enemies have to be manually set in order to avoid inconsistencies with the background.
B) improving shadows:
1) the main plane, while exploding should change its shadow accordingly.
2) I do not see any critical situation about the 5th sprite issue, so probably enemies could safely have their own shadows. All swarms at least now have two or 3 planes taking 4 or 6 sprites, but the trajectories are studied to have max 4 sprites per line.
You could put enemy shadows with the same offset used for the main plane, using a sprite plane with lower priority
But feel free to keep your own way, I have no idea of the effort needed and I know how annoying can be these kind of comment while one is coding
Edited by artrag, Sun Nov 19, 2017 2:53 AM.