Yup, collision works now and all bullets hit instead of having some pass through.
Good to know. I found another problem in the collision checks enemy vs. ship, but I must spend more time on investigations. The ship vs. tunnel check is very coarse, too, but I'm confident that I can improve that once I spend a bit more time on it (currently only tests ship bounding box vs. tunnel spikes).
Screenshot featuring the "winged ship" design improvements:

@RobinB:
It's intended that bullets can pass through walls, the enemies can do that too

I'm not quite decided if it's a good or bad feature, but I think it can stay for the moment.
The enemy flight pattern will be improved, but it will need a bit of time to include splines and set up other grouping patterns than just lines.
I'll investigate the explosions. On my system they start quite immediately when a enemey is destroyed. What is the exact problem, are explosions delayed after an enemy is destroyed, or is the animation going too slow?
A little update:
The current state of the project includes one one new feature: random mines, which block the tunnel. Well, also a slightly improved bullet vs. enemy check, not sure if it will make much of a difference though.
Download (r8, 18kb):
http://www.java-gaming.org/user-generated-content/members/132627/vks-shooter-study-r8.jarIts really interesting to make everything random.
Some day I want to try that with other genres too, particularly with adventure or role playing games. But those are quite complex, so I wanted to start my studies with something easy. But it helps to make games which one can play oneself as developer, and still be surprised now and then
