GALAGA CPC AI by REVIVE8BIT

Hi,
i have used my last credits on Claude to make a version of galaga for CPC, and i’m working on it, in order to make something playable.
As usual with all my Claude projects, i want them to be a full and working cpcteleraNext project, so that i can understand and, above all, make modifications.

Here the progress, it’s a little slow for now.

13 Likes

Only the list at the end, and I said so when I introduced it: Claude did the web search, I selected and edited the items and checked every link before posting.

I strive to write good prods and good prose. I hope careful writing does not become a sign of AI. :slightly_smiling_face:

Long answer for those who wants details

Here’s how I introduced it:

Just noticed the typos “to to” instead of “to do” an “personnally” instead of “personally”. AIs typically don’t do that. :slight_smile:

Why do you feel that?

I write my posts myself. I benefit from the forum, I try to share something thoughtful back… which easily becomes too long, so I cut it with Markdown sections and a TL;DR as a courtesy to readers. It is different from most people style but it’s my style, not any AI style.

I also have a discipline, before posting, of reading what I wrote “in the shoes of a reader passing by” and checking if it’s clear. Traditionally I would check for better words with a dictionary or sometimes Google translate one or two sentences. Nowadays when I think it’s not good enough I sometimes ask Claude to re-read, criticize and rewrite parts (which I did for example in my other post about “any-setup keys”).

Oh, plot twist ahead. :slightly_smiling_face:

I just discovered that the dashes in that list (they mark date ranges) are not em dashes but en dashes, and according to En (typography) - Wikipedia that is the proper mark for a range. So it is correct typography. (Edit: but you were right on the main point: those dashes are in the part Claude produced.)

In the past I sometimes used -- (double-hyphen) when writing Markdown (here’s the result: – , also triple-hyphen yields: — ), IIRC because I read once on a typography geek site that those were more proper than the ASCII hyphen/minus sign in non-mathematical context. Now I don’t even consider it because it makes people believe an AI wrote the text.


As an exercise I asked Claude to rewrite the whole answer above. See its version below. That version is shorter. Mine has typos. :grin: Genuine question: would anyone prefer that I post Claude’s version next time?

What Claude suggests

Only the list at the end, and I said so when I introduced it: Claude did the web search, I selected and edited the items and checked every link I posted.

The rest is my own writing. My posts tend to be long, so I add section titles and a TL;DR as a courtesy to readers. That is my habit, not an AI’s.

Before posting, I re-read my text as a reader passing by would. I used to check words with a dictionary, or Google Translate for a sentence or two. Now, when a text is long and unclear, I sometimes ask Claude to re-read, criticize and rewrite parts. I did that in my other post about “any-setup keys”.

The dashes you spotted are in that list. They are en dashes in date ranges, which is standard typography. I used to type -- myself, because a typography site said it was more proper than a plain hyphen. I stopped, because now it makes people believe an AI wrote the text.

I strive to write good prods and good prose.

1 Like

A little teaser while a rebuild with full optimization is making.

Just for information, to make this version i used all my Cloud credits with 100$ free on it (promotion to test Cloud).


8 Likes

Have fun with it, Galaga is a really good game.

The game works with 64Kb on classic CPC and no load after.
Almost of code is in C and use cpcteleraNext library, but for problematic of speed and memory size, some specific functions in assembler were written.

Well, it’s a very good demonstration of what can be done with cpcteleraNext (and Claude.IA)

The game is slightly simplified but most of features of original game are present.
My main goal was for it to be playable.

Galaga_cpctelera.dsk (199.8 KB)

10 Likes

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.

1 Like

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.

1 Like

This is quite mind-blowing! Looks like Cloud reverse-engineered the original arcade game?

I’d be interested in reading the whole conversation just to satisfy my curiosity ..

1 Like

Yes i give to Claude.AI the MAME rom of the game, cpcteleraNext repo and examples of my games.

1 Like

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.

I’d be incredibly interested in looking at the source code!

1 Like

A “good enough” conversion certainly might put someone off, but then it’s also possible they wouldn’t have achieved any better. But equally a poor port might motivate someone to try harder, just as things like the original Bubble Bobble or R-Type ports lead to people pushing harder.

I don’t think it’s enough of a reason not to do it. If someone has the passion for something enough to do it, chances are they’ll do it anyway. And, as people get better with AI tooling at least a few of those will probably lead to amazing conversions of things we’d never see otherwise.

1 Like

I don’t totally agree with your point about improving the original Bubble Bobble and R-Type as those were games we paid for back in the day, and some of these developers may be doing it to make the games they wish that they’d bought back then!

There’s two good points here. I want to play games created by people who have the passion to want to make games (which includes conversions of old games as well as new games). Contrary to that, I don’t want really to play a game, no matter how good it is, when it’s been made purely by prompting AI. As @Ivan_Avila said in another topic:

For me, playing games is also a hobby, I’d rather experience games created by someone who has put their passion into it.

That’s not to take away from anyone who is happy to play AI-created games, that’s fine, enjoy yourself.

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.

1 Like

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.

3 Likes

I think now it’s good, It needs to spin a bit faster.

First comment back here and it’s just to let people know my opinion on AI. It should be called ZI (not SI as Trump has called it, although Stupid Intelligence fits). It has Zero Intelligence, it’s just an auto-completing, plagiarising knowledge base and search function. It’s great as a tool to help an educated intelligent person find information, do a complicated search and replace, flesh out some repetitive or boiler-plate templates or try a millions of combinations to see what works, but it doesn’t actually have any actual intelligence.
It is most dangerous because management believes, based on what the AI billionaires advertise that it is much more useful that it actually is and that good developers are generally more productive when using it, and although this can be the case it usually isn’t.
I don’t mind people using it, but when they start claiming that it’s done a better job than real people then I have a problem.
There are a lot of good programmers in this community who published a lot of the optimised code which could be used by these AI agents for free and they don’t deserve to be belittled in the way I saw above in this thread, thanks @rexbeng and @gryzor for voicing your opinions here.

5 Likes

Heeeeey welcome man!! Good to have you back :slight_smile:

The real quote should be “AI does a better job than a real person who doesn’t know what they’re doin”.

This Galaga version is much more like it - good enough to warrant its own version but it’s got merit here as well.

1 Like

I don’t have the theological objections to AI/LLMs that others have (I’m not disputing their reasons and their views, I just don’t share them). But what I do have is too much programming experience as a professional dev, and someone who came back to Amstrad programming after decades away.

AI can help you do a better job of programming. What it can’t do is provide you that level of programming ability that you need for it to help you do a better job of programming.

For me as the, ahem, tired and hoary old (ish) programmer (who has been coding as a day job for nigh on 30 years) it’s excellent. When used as part of my craft. It’s a blessing for a senior dev.

But Junior Devs need to kept well away from it in most cases. And the same applies to the CPC Scene. The biggest thing I think with use of AI/LLMs is knowing when the stuff they produce is not correct (for your use case) and being able to push back. Just like you’d push back on a human who didn’t produce required or correct code. If you can do that successfully, then it’s a great help.

5 Likes

They’re just notable examples of game remakes that sprang to mind. I don’t really think the fact that the originals were commercial changes things much.

Consider a world in which AI development didn’t exist: Should you avoid trying to hand write your own version of Galaga because, maybe, a better CPC coder might see it and be put off from producing a more polished version? What if everyone thought like that? That way madness lies and nothing ever gets made.

Mostly I just think hobbies should be as inclusive as possible. If something helps someone enjoy the process of making a game, good for them. Doesn’t matter if it’s AI or something old school “Game Maker” and, to be quite honest, it doesn’t matter if the end result is garbage. They did something, felt proud and enjoyed the process.

Now if they try to turn it into some sort of low effort, slop machine that they pay little attention to and expect a huge revenue stream from - then they deserve to fail. I know there are some people who will, very generously, but almost any physical release but maybe it’s time for those people to be more discerning rather than worry about people making crappy games for their own pleasure.

1 Like