🐔 Chicken Invaders 1 Remastered #09

Almost there (?)

We have now remastered all of the core graphics. The original code compiles successfully, we have wired up the input and the sound to the new engine, high scores work, and the game is playable from start to finish. (*)

* Figuratively speaking. CI1 doesn’t really end.

:warning: You might think that this means that we’re almost done, but in truth we are only at the half-way point. To arrive at the final polished product, we still need to do approximately as much work as we have already done so far. The devil is in the details, they say, and they are right.

Although the game ‘works’, recall that we have taken a lot of shortcuts to make this happen:

  • Some functionality has been removed or disabled.

  • We’re using CIU’s menu system (which includes a lot of irrelevant/non-applicable options for CI1).

  • We are loading a lot of unused language and graphics assets (again, inherited from CIU).

  • We’ve only tackled the core game (not the introduction or other ancillary stuff).

  • A lot of little other details are still missing: An OS icon, a mouse pointer, a loading bar (maybe)

So, although we’ve won this battle, the war is far from over.

Title screen


I spend some time updating the title screen with the new control methods. Formatting this type of text is normally a royal pain, but thankfully CIU can already do a lot of the heavy lifting for us. I notice that the lines must be spaced out vertically more than they were originally. This is a side-effect of the taller font we’re now using.

Pause screen

Technically, the game can’t be paused because the rendering loop isn’t separate from the logic loop. But we can still put it on hold (without showing the game screen while paused, of course). I quickly implement a basic pause screen:


You can also catch a glimpse of the new GUI here. Designing a good GUI is something that takes a lot of thought and effort, none of which we can spare right now. Besides, after 6 entries in the series, how unique and distinctive can each episode’s GUI really be?

I decide to employ the “principle of least effort” and perform minimal modifications to CIU’s theme (mainly by rounding off the buttons more, darkening the color theme, and applying a thick border). I even re-use some of the icons.

The original CI1 did not have a GUI to speak of, and this is both a blessing and a curse. On one hand, it’s good that we are not restricted by the original design, but on the other hand, we don’t have anything to guide us either.

Cleaning up

I go through the language phrases and all loaded graphical and sound resources, and try to weed out as many unneeded ones as possible. This takes a long time and, from experience, I’m bound to miss a few.

At least the game is loading much faster now.

I also go through all menus and remove unneeded options. This takes even longer.

Mouse pointer

This is a new element because obviously the original didn’t have any mouse support.

I choose something simple that doesn’t stray too far off expectations.


OS icon

Although there are a lot of fancy things that could be done for this, I’d rather have something evocative of the original game, so I decide to crop part of the original introductory bitmap. As a bonus, this will be a nice nod to this screen (which would otherwise not appear in the game at all):


There’s an issue, though. When cropping to a square, there’s no good framing that includes both chickens. Plus it all looks a bit empty at the top:


Ideally I’d like to move some of these elements closer together. But looking at my source files, I only have the finished opaque bitmap, not individual layers (back then I hadn’t yet refined my workflow, and I was not in the habit of rendering individual layers).

Normally, I’d simply go back and re-render the chickens will proper translucency information, so I can freely compose them on the background (I do have the earth as a layer). But, if you recall, the chickens all have that horrible “beak problem”:


Alright, it’s time to get creative. First, I’ll load up the CI2 chicken and delete everything except the beak and the body (the body is only needed as a reference for the beak’s relative placement to it):


Then, I’ll delete the problematic beaks from the original file:


“I Have No Mouth, and I Must Scream”.

Next, I’ll merge the body-plus-beaks into the scene, align the bodies exactly on top of each other (which will place the beaks also at their correct location), and finally delete the duplicate bodies. It all sounds a bit complicated when written down, but it’s quite straightforward. After a little bit of work, everything is done:


Well, uhm, I seem to have forgotten to re-parent the beaks to the bodies.

image (*)

* Actually, I seem to have rendered the wrong frame in the sequence for these screenshots, the wings should not be bent so far upwards

There. I can now render them out with translucency information and move them around independently. I don’t even have to render at twice the resolution, because the icon is so small:


Finally. It’s not great, but it reads a little bit better.

Bonus: Pigs in space

Looking at the source code again, I see a reference to a certain flying pig:


It’s commented out, but it’s there nonetheless. And the assets folder actually includes the necessary bitmaps:


So, it turns out there might have been plans to launch this pig into space much earlier than 2002.

Next part in the series

Start at the beginning


ok the chickens without beaks is cursed af

Piggly 2 itself was worked on in 2002, so is this model older than that game?

Can you just use something similar to the classic silver fork? That’d look like a cursor used for the game at its time, this fork seems a bit too modern.


Goose angel


Lmao. IA can make Chicken Invaders bowling game with that.


Rip chicken emoji in the thread name

That’s good but I think you could start new story now…
New graphics new sounds and New mission

Agree, the 90s had a lot more of details on this sort of things. Heck just compare Windows 95’s icons vs W10’s. Or the famous 3D cursors set.

1 Like

use this instead

I know a bit off-topic but:
ia goose invaders when?
Or in a meeting that we had you said you might add turkeys as new specific enemies to CIU, will those happen? we can even have gooses attacking us
Thanks, iIfireli !

1 Like

I don’t recall seeing that pig before ci2.
Looks like you had planed for it early lol.
Like iIfire said I agree that the classic silver fork would look awesome and maybe we can use the ci2 remastered frame with a little bit of editing instead of that not working frame

Or just use beakless chickens

Nicer UI, improved graphics, etc…

1 Like

A remaster is a 1:1 recreation, while a remake is a reimagination of the original in order to cater a modern audience.

The anniversary mission is a CI1 remake because it features Universe’s content and mechanics added to CI1’s gameplay.


The flying pig file is dated August 1999. Piggly was probably in some kind of development or other for several years before 2002. There was a DOS version dated sometime in 1998.