zblast SD - 4k entry for 2003 Minigame Compo Public domain by Russell Marks (rus@svgalib.org) Compression code by Paolo Ferraris, used with permission. for 128k Spectrum (only) NB: It won't work if a Microdrive or any other additional hardware which effectively moves PROG is being used. So don't do that. NB2: If it hangs when you run it, you're not running it on a Spectrum 128 in 128 mode! *Make sure* you're emulating a 128 before loading. zblast SD is a fairly manic shoot-em-up. It's a simplified rewrite of a vector-based game I originally wrote in 1993 (see http://www.svgalib.org/rus/zblast/ ). When you first load the game, it'll decompress. The border flashes for a few seconds while this is going on. The basic idea of the game is this - shoot everything. That said :-), some other details: - Getting hit loses you energy. But when your ship appears blue (after being hit), it cannot be harmed. If you get hit when your energy is at zero, it's game over. - If you don't get hit at all during a wave, you get 10 extra energy points. You'll probably want to stock up on these in the earlier waves. - The large purple and blue baddies generate smaller baddies, so try to kill off the big baddies first. If you don't, you'll soon be facing a wall of bullets. :-) - There are 20 different waves, only 3 of which are random (and even those remain basically the same). If you finish all 20, you start again, but with hardly any speed control on the game (so it's a *lot* faster most of the time). If you finish all 20 yet again, you repeat them indefinitely with no speed control at all. :-) - Don't assume that all baddies of the same type take the same number of hits to destroy. It varies. (Though it's preset rather than random, so it'll always be the same on a wave-by-wave basis.) - The collision-detection in zblast is intentionally biased; the blaster things at the left/right sides of your ship don't count as part of it as far as being hit is concerned, only the middle bit counts. But on the other hand, you do have to shoot the main body of the larger ships for it to count as a hit. - The debris which appears when you destroy a baddie is harmless. - The first few levels are a bit dull, because I didn't want it to get hard too early (a mistake I made last year with dotathon). Things start getting a bit more interesting at around waves 5 and 6. For control you have the option of either keyboard, or Kempston joystick (most emulators support Kempston joystick emulation, though you may have to enable it). At the title screen, press 1 to start the game using keyboard control, or 2 for joystick. The keyboard controls are: Q up A down O left P right Space fire You can hold down fire to get auto-fire, but you should be able to get a faster firing rate by hammering the button. Still, you're best off using auto-fire most of the time, and saving the hammering for when you really need a burst of speed. I should note that, while the game runs absolutely fine on a real Spectrum or with decent emulation, if you run it under emulation on older PCs with newer emulators (for example) it can struggle. This is because the game uses the 128's dual screens for double-buffering, which is unusual on the speccy (the only commercial game I can think of that used this approach was Ghouls 'n' Ghosts, but demos commonly use high-speed screen switching for certain effects) and requires the emulator to do a *lot* of redrawing. So check your emulator is running at 100% speed before writing the game off as too slow. :-) FWIW, a few notes on differences from the original Linux version: - Sprite-based 2D rather than vector-based on a rotated 3D plane. The original's play area is much taller/deeper. - The two-channel music is a bit crude by comparison :-), and rather faster. - 20 waves rather than 35; 5 enemy types rather than 7; no PDC shot; no concept of each group of five waves being a "level" (though it's still implicit - waves 5/10/15/20 are among the hardest). Most waves were cut down slightly, with fewer enemies and the like. - The original's design for the biggest enemy type (which was too big to be workable in a 4k game) was dropped, and replaced with a new one. - It runs at 25fps max (the first time around) rather than 70fps. - You don't get points for hitting something, only for destroying it. And the scores have been reduced by a factor of ten, as otherwise all scores would now have ended in a zero. :-) - It's a lot easier, partly due to the auto-fire support. Finally, in case anyone hadn't realised, the "SD" in "zblast SD" stands for super-deformed; this version feels a bit like that compared to the original. :-) -Rus.