Zeta Wing is almost here!

So what is Zeta Wing I hear you ask?

Well, it’s my latest C64 project, a cute, fun little vertically scrolling SHMUP. To keep the scope of the project down and to avoid the possibility of feature creep, I’ve made it a single load only. This imposes several limits, but it’s also a challenge to make the game as good as possible with the limited RAM available.

My main inspiration for Zeta Wing is Gemini Wing, a game I had some dealings with when I worked at Imagitec. You see, back in the day, Imagitec handled the conversions from arcade to computer, and that included an Amiga version. The already had the game running on the Atari ST, and tasked me to make a quick Amiga version, porting the ST version as quickly as possible, thus not using the Amiga’s superior hardware. I didn’t like it, but I got the job done.

So fast forward to the present. Since I’m into C64 coding (and am having lots of fun doing it), I remembered Gemini Wing and decided to make a C64 game, one as fun and colourful as Gemini Wing. This time I was in control of the project, so I could make it as good as I wanted it to be, the only deadline being my own, so no pressure this time to push out an unsatisfactory project.

And so Zeta Wing was born.

Zeta Wing was designed to have fun, colourful graphics (so no grey/white colours typical of a lot of C64 SMHUPs). I’ve composed the music to be fun and happy too, aiming for an old arcade feel.

The game has 7 stages stretching across various themes, each one quite different, from clouds, to islands, down a deep valley (with 7 layers of parallax scrolling), to across lava pits and finally down a mysterious tunnel… I’ve added as much parallax scrolling as possible to all the stages, and I’m quite pleased with the results.

For those technically minded (or just curious), the core of the game is based on the same engine as Santron (another of my C64 games), but with some updates from Soul Force (my horizontal SHMUP). There are some updates to the sprite multiplexer, just a few stability fixes. The main update is the inclusion of lots of parallax scrolling, including code to round off block edges so you don’t see a hard corners where the scrolling background meets a parallax layer.

Unlike Neutron, Zeta Wing has been coded from the start to work on NTSC. Caused a few problems at first, the main one being the difference in frame rates. You see, PAL runs at 50fps (frames-per-second), while NTSC runs at 60fps and thus scrolls faster. To compensate for this (and because there isn’t the RAM to store 2 versions of the background maps), the PAL background map sections are “stretched” from being 10 blocks high, to the 12 blocks high needed for the NTSC version. I had to add some code to do the stretching. Basically, the system uses a table to decide what block lines to copy. So for example, it might copy the first 10 lines of a map section, then duplicate the first 2 lines again to make a map section 12 blocks high. All this means is although the NTSC version scrolls faster, it has to scroll over more data, thus ensuring the timings are the same.

Right now the game is finished, so just needs some testing, a bit of polish, and some bug fixing before the game can be released into the wild. It’ll be released via my itch.io page as a digital download; right now there’s no plans for a physical version, but that could change if there is sufficient demand for it…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s