Then maybe that’s what I smelled in your post? This and the structure (markdown sections) just made it look like an AI response copy-pasted. And in all honesty, after skimming the post and sensing that AI vibe I did not actually and fully read it, so I overlooked the … I asked Claude to … My bad.
Don’t get me wrong, though. I am not against using AI for research (I do this a lot), but imo it should be clearly flagged as such (and not hidden somewhere in the middle of a post) when sharing the results online.
Wow - that looks amazing and is much appreciated - but it is obviously pretty slow. If the speed could be improved - it would be fantastic!
I just loaded it onto real hardware - another issue I had was no beam from the boss Galagas in Stage 1 and 2. I deliberately leave them to double up for Challenging Stage - but there was no beam - if there are several boss Galagas left at least one of them will have a beam. That’s a major part of it.
It can certainly be quicker - the formations and challenging stage - in fact, once there are only a few characters left on the screen it then goes too fast.
So this game is very impressive for an AI-created version - it’s a bit slow but playable and looks good.
However, am I allowed to be a bit negative here and say that something like this might put off human coders from making a version that runs better? Much like how AI retro game translations (which work but lose the spirit of the original text) have been accused of putting proper human translations off, as some peope feel there’s no point since there’s a translation which is accurate, even if it’s not great.
This new version does have things that need fixing (sure wish it wouldn’t play the start music at the beginning of every stage) but it got a lot right. Too slow of course, but it does look really nice. The simple colour split from yellow to white works really well. It’s a good proof of concept. Wonder how much faster you could go.
Are sprites pre-shifted, and are they compiled? If the screen was 32x32 the sprite routines could be sped up a bit. There’d be about 40 sprites on screen at most, but more typically about 20. They could all be drawn unmasked and could erase their own trails rather than being completely cleared each frame.
Another problem… Galaga actually has a vast number of sprites. About 80 ish by the looks. But if you count palette swaps it’s more like 150. Also they need to be mirrored horizontally and vertically and both, so 600. It looks like every ship in the game has 32 frames of rotation. And then if you pre-shift them for the CPC that would be 2400 sprites. Argh.
Not all are used at once though. Some I’ve never seen so not sure if they’re in the game or just on the sprite sheet. Maybe you could do something clever with self-modifying code to make sprite stamps.
I think you could boil it down to 12 ships x 32 rotations, and forget about most of the palette swaps, so “only” 384. Give up on compiled sprites and you can vertical flip them easily enough, so half that. Make them move horizontally by 2 pixel steps only, so half the number of pre-shifts… back to 384. They’re all 16x16, so 16x4 bytes = 64 bytes each. So ok, 24k of sprite data for the ships…?
Perhaps you could cut the number of rotations down to 16 as well.
Looks really good visually, but the enemies seem to home in on your ship far too aggressively - their only attack mode is “aim at the player ship”, which takes the playability down a lot.
And while there’s slowdown when the aliens are coming on-screen initially, they’re incredibly fast once they start coming down at you!