Wrapping up (for real this time)
Some final thoughts which I wanted to make part of the official series (instead of being buried in comments):
-
Introduction: Following a poll, the Space Burger in the introduction has been replaced with a failthful re-rendering of the original 1999 model.
-
Saving progress: I donât think saving is appropriate for this kind of game. Itâs a repeating game where youâre just meant to collect points, not to go through a plot or reach any kind of end goal. It would also introduce a âsave scummingâ problem. Although this can be mitigated (as subsequent episodes do), I felt it would be too much effort for something that was a poor fit to begin with.
-
2002 mode: Specify the
-2002mode
command-line parameter to enable this mode. Because why not. As a refresher, this mode simulates an (approximately) authentic 2002 experience: graphics are reduced in color and resolution, there is no translucency, and certain special effects are disabled. So itâs effectively un-remastering (âdemasteringâ?) the game. -
Mouse pointer bug: I noticed the mouse cursor jittering as resources are being loaded, which I fixed (and forward-ported the same fix to CIU, which is also affected).
-
RNG incompatibility: Certain inconsistent behaviour with respect to the original (see đ Chicken Invaders 1 Remastered #11 - #14 by EmeraldBirb ) was traced back to an RNG issue. Borlandâs RNG will always return positive numbers when passed negative ranges. Some more digging revealed that the % operator discards signs in Borland, but preserves them in Microsoftâs compiler. This is odd. I was under the impression that the behaviour of % was codified in the C standard. Maybe the BCB compiler is too old, or non-compliant.
-
Use keyboard to enter name: Selecting letters individually is cleanly a hold-over from a bygone era. I briefly looked into using the keyboard to speed up name entry, however it has two problems: (i) There could be two players trying to enter their name simultaneously, in which case use of the keyboard is ambiguous and (ii) using the keyboard itâs possible to enter more characters (or emoji!) than the original a-z 0-9, and itâs not clear whether this should be allowed. Altogether, changing this was more trouble that it was worth, so I left it alone.
-
[v.2.1+] In-mission options: The options menu can now be invoked from the pause screen.
-
[v.2.1+] Mouse predictor: Added option to control shape of âmouse predictorâ in the game:
(*) -
[v.2.1+] Entering high score name using keyboard: This would be a nice feature, but it wouldnât work when both players are trying to enter their names, and it also creates questions whether characters apart from a-z should be accepted. Still, I implemented a small quality-of-life change that hides the blinking cursor if youâve reached the maximum number of characters in your name.
-
[v.2.1+] Missile shake bug: There is a bug in the original game, where the exhausts and spawn shield will ignore screen shakes (e.g. during missile explosions), causing them to be detached from the spaceship. This has been fixed in the remaster.
-
[v.2.1+] Easter Egg: Fireworks are displayed on the anniversary of CI1âs first release (24 July 1999).
* And yes, the last one is translucent, so it technically breaks that rule.
Installer
Iâve put the remastered version in a proper installer. The installer will install both the original and the remaster (I thought it would be make for a nice side-by-side comparison, since the original hardly kind of works still).
Download the installer from here: Chicken Invaders 1 | InterAction studios