šŸ” 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

image

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:

image

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.

image

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):

image

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:

image

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ā€:

image

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):

image

Then, Iā€™ll delete the problematic beaks from the original file:

image

ā€œ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:

image

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:

image

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:

image

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

image

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

30 Likes

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.

2 Likes

Goose angel

4 Likes

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

2 Likes

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

image
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.

2 Likes

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.

9 Likes