COMPETITION ENTRY #31: THOR GAME
On my CSSCGC thread on the QL Forum, Steve Poole's been showing off some screensavers that were some basic (and SuperBASIC) tests of recursion routines. At least he calls them screensavers - that's what they would be on a PC, on a QL there's no automation and they have to be manually LRUN. There's one for a lightning strike, one that generates neurons, and one that draws a gnarled tree. The first of these was converted into a game for this competition.
The Vikings must have done something unforgivable. Maybe they converted to Christianity, made alco-pops out of ceremonial mead, sank too many longboats, or failed to swat a strange blue entity out of a cave. Either way, Thor is ANGRY and has taken to smiting the people of ninth-Century Denmark the only way he knows how - with lightning. Two particular Vikings - let's call them Bjørn and Erik - have decided it's an excellent day to go out for a wander on the perfectly flat scenery (hence why it's Denmark, not Norway) with their drinking horns stuck on their heads, even though suspiciously-circular storm clouds are gathering overhead. Inevitably, Thor sends a lightning bolt hurtling towards the ground, and if it hits one of the two errant Danes, they're going to be splattered into a filthy red mess.
Fortunately for Bjørn and Erik, not all is lost. For a start, Mjølner must have gone a bit rusty because Thor is a rotten shot. Lightning bolts will jag around wherever they like - and will sometimes land nowhere near either Viking, or will stop in mid-air. All you have to do to score one point is make sure there's at least one Viking still on screen by the time the bolt lands. Sometimes - and this is the recursion routine that Steve was testing in the first place - the bolt will branch off, shown in a different colour, and it too will make its way to the ground. More branches mean more chances for Bjørn and Erik to be zapped all the way to a terrible eternity with Hel, who will build a boat out of their toenails (seeing as they didn't die heroically in battle).
But this is where you come in, the protector from about 1150 years into the future, armed with a black box of wizardry the likes of which no Viking has ever seen: a Sinclair QL. Press left or right to cause a lightning-deflecting shield to appear around whichever Viking is standing on that side of the screen. Be warned that it only appears briefly, less than a second, so your timing has to be very good... though not quite as split-second-perfect as Dr. Emmett Brown trying to channel a lightning bolt into a DeLorean DMC-12 travelling at 88 mph - that was impressive. If either Viking is splattered by Thor's unrelenting vengeance, you'll have to remember which one it was, as only the control for the remaining Viking will still be active.
Be aware that the 18 "lives" in this game, as seen in the status bar at the bottom of the screen, refers to the number of shields you have remaining - you'll lose one every time a Viking is surrounded by the green circle of safety. "Lives" as we would usually think of them, rather obviously number only two, and they're wearing inauthentic horned helmets. Survive ten screens and you'll be returned to 18 shields-that-aren't-lives. How hard the game is will vary - you can select the difficulty level via the utterly minimalist "Hit (0) 3 6 9 ?" intro screen, in which 3 is "hard" and 9 is "easy" - this is no more than you specifying the amount to PAUSE between each line in the lightning bolt being drawn (and it won't let you select any other numbers either). The rest is down to the randomness of the bolts; I left the controls alone and still made it past the tenth screen with one Viking intact...
Steve wrote this game on (and for) QPC2, in which you can select "8-bit colour" at the start menu to make the game look the way he intended, and if you want it to make any sound, you'll have to manually edit line 190 to read bp=1 - but you're not missing much if you don't. For those with a registered QemuLator, bump it up to Full Speed to get it working at the speed Steve intended; if yours is unregistered, select level 3 on the opening screen or it'll run at a pace so leisurely that even a snail could escape Thor's wrath. To get full colour on QemuLator, load it in TV mode and edit lines 1350 and 1370 to AT 24,13 and AT 24,23 respectively - I've shown a couple of screenshots of this modification, as well as in MODE 4.
The major problem with this game is the collision detection, the likes of which hasn't been seen since Jack and the Beanstalk - a product of Thor Computer Software, no less - here, the lightning bolt could travel right through one of the Vikings and he'll be unharmed, even if you don't deploy the shield, or it could stop an entire Viking's distance away and the red, circular death effect washes him away. There's no way of telling.
I could never knowingly award this game more than two attainment-masks, but I'll at least give it three Ricks for effort, mostly because, short and simple though it is, I could never have written it myself. Not just because I'm still a QL noob (and probably always will be), but because I can't for the life of me get my head around recursion routines. Believe me, I've tried, mainly because it's an essential part of flood fills (which the QL helpfully has built into SuperBASIC). Seeing as Steve is more than 30 years older than me, there's still time to learn.
Unless Thor intervenes.