Here is what I call a great Galaga version!
Galaga C64 (Preview 3.1)
A downloadable game
This is the last preview version before a final release, so I can gather feedback on the difficulty level/curve and how it feels generally compared to the arcade, as well as any edge case bugs that I haven't come across yet.
It contains all intended features apart from those listed below, one of which will be a unique simultaneous two-player co-op mode in which you work together to destroy waves, while also competing for the highest score.
The complete change list from Preview 2 to Preview 3 is at the bottom of this section.
Version 3.1 includes NTSC compatibility and speed adjustments which turned out to be a lot easier to implement than expected, so I have released an update rather than waiting for the final game.
This is one of my all-time favourite games, if ever I've got 5 or 10 minutes spare for a game I will always choose Galaga. So I thought it would be nice to be able to play it on my favourite machine.
One obstacle of a decent Galaga port is the C64's aspect ratio, with the screen just 200 pixels tall compared to the Arcade's 288. However, the highly-rated NES conversion managed to squeeze it into 224 pixels, so all I needed to do was open up the top and bottom borders for sprites and use 12 or more pixels in each to make up the difference.
Another big hurdle is the sheer number of sprites. Having looked at the NES version more closely I noticed that the formation doesn't move smoothly like it does in the arcade. So I decided that if enemies were drawn using characters when in formation, and sprites used elsewhere, there would be plenty of sprites available using a slightly modified version of Shallan's multiplexor. I don't think it detracts from the gameplay too much, as the main action is concerned with spawning and diving enemies anyway.
What's still to be done?
- Challenging stages 6-8. Currently 1-5 will repeat.
- Two-player co-op mode.
- Improve collision detection
- Doesn't clear beam from screen when death/game over/level complete interrupts it.
- Second ship doesn't appear during level transitions
- Occasional mirroring of sprites into bottom or top border for a frame or two - unavoidable consequence of displaying sprites in the borders.
- Slight flicker during first few seconds of the first wave. £25 bounty for anyone who can figure that one out.....
- Occasional flicker when a lot of enemies/bombs are clustered in a row is unavoidable.
- Phantom explosion flashing on left of screen
Change list (3.0)
- Handle recapture of ship by crashing into boss
- Remaining music & sfx added
- Larger gaps between dive attacks
- Boss carrying ship can also take convoy enemies
- End game if last ship is captured
- Wait until bombs/enemies off screen when killed during entrance wave
- Hi-score table
- Hi-score saving to disk
- Fixed softlock via occasional miscounting of remaining enemies
- More simultaneous dive attackers allowed in later stages
- Transform enemies appear from Stage 4 onwards, hit all three for a bonus
- Challenging stages 4 & 5 added
- Show all score popups (i.e. 400, 800, 1500)
- Special transform and challenging stage enemies added
- Improved butterfly dive attack
- Orphaned ship (boss killed in formation) dives out of screen
- Orphaned ship flies in at end of last wave of next normal stage
- Smoother flying motions in general
- Prevent bombs from occasionally wrapping round to top of screen
Change list (3.1)
- Slow down gameplay speed and music/sfx on NTSC
- NTSC compatibility
- Prevent an enemy that spawned transform enemies from respawning to perform a dive attack.
Thanks to Stefan Wessels for sharing the code to his modern remake of the arcade version, which I have used as a reference for certain bits of the code, and also converted the wave pattern data to a C64-friendly format.
- Galaga Preview 2 - Music76 days ago
Log in with itch.io to leave a comment.
Great game! I really wait for the final release! :)
Great game so far!
I think I found a bug: In the first round, I got my fighter captured, and then the boss, in formation with one other fighter and my captured ship, swooped back down for another run. As it came down, I shot and missed the boss, but hit the fighter that was coming down with it (the alien, not my captured ship), and...I got my captured ship back, despite the fact that the boss was still alive! In fact, I was so thrown by this that the boss hit and killed my original ship, but I was able to continue play with the released ship.
Weird stuff, but a great achievement otherwise. Thanks for all the hard work.
Awesome work! I did notice that on one occasion my captured fighter was immediately returned to me as soon as the alien finished capturing it and taking it to the top of the screen. I didn't have to shoot him! Probably has something to do with the iffy collision detection. Hopefully you can nail the issue!
Just almost perfect, everything have a real feal from the arcade version, wish the Galaga player spacecraft looked a little more like the real deal, but hey it's just a 64 right?
I never thought I would see the day this come true
Thanks again for making such a great game, come to life on one of my favorite puters of all time
Yeah I've had a lot of attempts at that player sprite, the chunky pixels don't lend themselves to that particular shape. If there wasn't such a thing as dual fighters I could use a hi-res white sprite with a colour overlay, but two ships at the bottom would take up four sprites, leaving just four for bombs and diving enemies leaving the screen, massively increasing the flicker.
This now runs at out-of-control speed on the Retroarch port of VICE. Version 2 was fine. The only other game I've ever had this problem with was the recent Lady Pac.
Hmm, sounds like something's up with their port, it works on VICE 3.5, whatever version they have in TheC64 and presumably, as I've had no reports to the contrary, real hardware and Ultimate 64. I'll ask the dev of Lady Pac if he's had any issues.
Great port. I recognized two issues more in V3.1, which are not in the issue-list above.
First one is, that the game correctly saved my highscore, when i scored more than 30.000 points, but after a restart of the game, my higher score was not correctly displayed at the top of the screen, where the highscore can be seen. There still is the 30.000 score listed as the highscore, although the highscore-list shows my much larger score correctly at the top. So it works in the list, but not in the highscore-display on the screen.
Second thing i recognized is, that sometimes the game has it's little problems with sprite-collisions. I noticed a few times, that i actually hit an enemy with a shot, but maybe because i didn't hit the opponent exactly in the middle, he just kept on flying and ddidn't die. That cost me a few lives and that's not the case in the Arcade original or in the NES and Atari-7800 ports. The shot hit-query sometimes is not precise enough so far and this should be improved.
Then i also noticed some of the other issues mentioned in the list above. So there is still work to do, but from a gameplay point of view, it already looks and plays good. Looking forward to the finalised game.
Thanks for the bug reports. High score thing looks like an easy fix, and I am going to look at the collision detection, I'll strip it down to one enemy and one bullet and track it frame by frame.
Looks and plays freaking great!!!
A big YES !!! You did what i thought would never happen on c64. We now have a true, not only decent, but just EPIC conversion of the best Arcade Game ever made, and you are the one who succeeded in this incredible challenge. Many thanks !!!!
Really Classy, Love the feel of the Controls, perhaps saulc12 off Lemon 64 could do a Tiny Update of the Graphics for you but other than that, this is heading in the right direction - We are Long Overdue a PROPER conversion of Galaga on the C64 - Wonderful Stuff ! :->
Awesome work! Thanks for bringing one of my favourite games (Next to Megamania) to my fav machine. Can't wait for the full game!
Looks really good. Looking forward to a final version of this game.
Very good indeed so far. I've encountered a bug where the Boss Galaga and my captured fighter were the only enemies left onscreen and the boss refused to attack for over a minute, so eventually I had to shoot them both in formation to progress.
Please let there be saving for the high scores... :) I always enjoy games when the high scores get saved to a disk for next time.
I saw in the comments that you are using software sprites and a sprite multiplexer for hardware sprites. Coder LFT made two sprite routines that I think could be usable in the game of this type:
If you have the time, take a look, it may be something that could be useful to you. I really hope that this game will be finished.
saw this on youtube earlier. excellent work!
At last, 1rst phoenix and now Galaga. I wonder why not released this title at its time past years with another name.This preview is rellay great. Congrats in advance.
OMG, that's just brilliant !!!! Please make it a definitive game, you can still make history on this beloved platform ! Just wondering from a tech side : Are you using soft sprites or sprite multiplexing ? Keep up doing this great work !!!!
Both! The enemies in formation and your bullets are soft sprites, everything else is sprites using Shallan's multiplexor.
At last, a great port of Galaga! Thanks for doing this! About the aspect ratio, the recent port of Phoenix (Phoenix Recovered, June 2021) solves this using a vertical orientation, forcing the player to rotate the monitor, but for me, it´s worth it. Great work! Looking forward to try the final version!
I spent a large part of my youth waiting for good arcade ports of games like Crazy Kong and Galaga. And I was often disappointed about the Galaga ports I found! Galencia was nice, but it wasn't Galaga. THIS is more like Galaga than any other port I've ever seen on the C64. Thank you for making this. I'll be very keen to see the complete project!!
Great! The first preview is already better than Galencia (which IS a GREAT game, but its not the real Galaga^^). It already feels, looks and sounds like the real thing!
I`m glad that I`m following you by some coincidence! Otherwise I would have missed this.^^
I`m admin of a small retro gaming group on Facebook. I will post this preview there. Hopefully more people will notice, download, play and comment and motivate you to continue the work on this gem!
Noticed two bugs: I was destroyed, I respawned and was hit by another missile that was already on screen when I died.^^
Highscore (I scored 58.000 points first try^^): The game remembers the highscore, displays it when you start a new game. But in the main menue highscore is always 30.000.
Please implement the Highscore table from the original. And if you`re hardcore, make the scores saveable. I`m no coder, but there are already some routines as an addon for an expanded SEUCK version that enables highscore saving to disc. Maybe that could be of some use.
Thank you for your hard work on this one! Please continue!
Congratulations! After some playing I can say easily this will be another great game for the Commodore 64 Community! :)
This is awesome! Finally someone is on to make a decent Galaga port, after all these decades! Thank you for your effort and please don't give up!
From what I can tell from the first play, it looks quite fine. I'm Impressed about the smoothness of the attack waves and the Sprites are quite colourful. The player could become a little more similar to the original.
Gameplay seems good. I wasn't able to hit all the targets in the Bonus round, but that could be just because of my non-present skills ;)
Looking forward to see the full game.
PS: I WOULD BUY THIS!
Thanks! Yeah I'm not 100% happy with the player sprite either but the double-wide pixels don't make it easy to replicate the arcade or even the NES version. Feel free to download SpritePad and see if you can improve it! :)
Nice port! Feels pretty authentic and the enemy animations look very good, just the explosion-animation of enemies could be improved, I think. Sound effects are a bit annoying, but old school ;-)
I had a bug: one of the big green enemies on the top was drawn only half (left or right half was missing). I didn't think about taking a screenshot, sorry.
Thanks! No problem, I'm aware of that one, and there should be code in there to stop it happening but obviously that's not working! Explosions are smaller than the arcade, I didn't want them to take up more space than the enemy that was destroyed as it would lead to more problems with the enemies next to it, like the one you saw.