Part 19: FredMSloniker - Pests
I have a memory of an old game where you were running around a garden fumigating flowers, but I haven't seen anything like that in my scan of the magazines and don't even recall a title. It kind of felt like a type-in though, so if anyone has a better memory than me, it'd be great to see that again.
I'm about to make you very happy, Manxome.
Let's Play Pests!
Compute! Issue 49, Volume 6, Number 6, June 1984
Summary: You play as the world's most confused racist gardener, out to sweep the plague of 'coloreds' from your garden. To do this, you have a spraycan of white paint, which you must douse every flower in your garden with. Oh, and there are weeds to kill, and you lose if too many of them show up, but seriously, if there is one colored flower in your garden when time runs out, you lose.
Or you could be fumigating your flowers to keep them from catching some horrible rot. I dunno.
What's good: It's a very short type-in for the amount of fun you can have. Juggling keeping the weed population under control and getting your flowers dosed before time runs out is genuinely tense. It also loads a custom font without having to use the preloader Hex War does; instead of moving the beginning of BASIC space, it moves the end, which is completely safe so long as (a) you haven't thus made BASIC space too small to hold your program and (b) you immediately use the CLR statement, which erases all variables. (Strictly speaking, what it does is write a blank variable reference table to the end of BASIC memory - and since you've just moved that, this erases potentially garbage info.) I don't believe this would work with Hex War - it greatly reduces the space available for program and variables - but I'll test that.
What's bad: Aside from a spraying sound effect, there's no sound. Control is janky, a common problem with joystick games on a C64 (because of the delay between it reading the stick and you seeing the effect). Aside from simply having more flowers and faster weed growth, levels don't get more difficult or interesting. Sometimes, when you spray a weed, it doesn't actually die, so it reappears when it hits its next growth stage and is redrawn.
What's odd: The timer's weird. See, Commodore BASIC provides two timekeeping methods. The internal variable TI counts the number of jiffies since the computer was turned on or reset. (A jiffy is 1/60th of a second on NTSC C64s and 1/50th of a second on PAL C64s, because it's synced to screen refreshes.) You can also assign a value to TI to cause the count to go from there. It wraps around at 24 hours.
The other timekeeping variable is TI$, which is a six-digit string holding the current timer value in hours, minutes, and seconds. You can assign it a six-digit string (if you try to assign it something else, an error will occur), and the computer will start counting from there. TI and TI$ are kept synchronized, and a change to one affects the other.
So what's weird about the timer? The program simply prints TI$, which means two things. One, it counts up, and you don't know how much time you have until it's game over. Two, it counts from (say) 159 to 200, which is not behavior you'd expect without some colons in there somewhere. It'd probably be better to take the number of jiffies that mean game over, subtract TI, divide by 10 or something, and show that as a timer.
Weird ads: This issue has several contenders, and indeed the one I chose isn't the freakiest. It is, however, the one the most amused me:
I'm trying something different with this post. See the header image? Save it, rename it to a .zip, extract it, and you'll get the .prg and the C64List-format .txt that created it! (Note: when I tried this hosting on Imgur, it didn't work, so the file is probably reprocessed there.)