The comp.sys.sinclair Crap Games Competition 2021 - 25th edition!

 

COMPETITION ENTRY #38: ZOGGLE

Author:  Jamie Bradbury Model:  Z88 Formats:    .BBC   .Z88
Submission date:  30 August 2021 Documentation:  loading & playing instructions, C source code, screenshots Tested on:  OZvm v1.2

Download it here

I genuinely believe it's going to happen this year. This competition has already broken the record for the number of QL and ZX81 entries, and now the Cambridge Computer Z88 is moving the same way. It's all going to be due to one man, Jamie Bradbury, who owns a real Z88 and will single-handedly aim for the stars (quite literally, seeing as I know what's in development, and I'm hoping it'll be ready this year).

Given that the Z88 is a considerably more niche machine than even the ZX80 is around these parts, I am not all that bothered that this second entry for The Battery-Powered Laptop Formerly Known As Pandora is a nuts-and-bolts rewrite of the first. Z88 Boggle, written natively in the version of BBC BASIC that runs on the Z88, did a good enough job of displaying a game grid from the famous Parker Bros. word game, but this one has been written in C and compiled with Z88DK - something which is becoming a recurrent theme in this year's CSSCGC, although this time the target machine is the one that the compiler actually intended (can you tell by the name?)

Anyway, this new version has some improvements over its precedessor:

As with its predecessor, Zoggle doesn't actually play the game, because it would be fiendishly complicated to do so - not to mention that it'd need an enormous amount of memory to hold the word list. But it does do a better job than before at actually showing the layout of the sixteen dice. To remind you all (briefly) of the rules, you have three minutes to make words out of the 16 letters that show on screen which form a continuous path - so in the first screenshot, "sew" and "hit" would be acceptable but "shed" would not. Any capital letter (or one marked with an asterisk in Z88 Boggle) causes the word to score double points... but only words that have not been identified by both players score anything. The "Q" cube should be treated as "Qu" as it would be in the original dice game, and counts as two letters.

If there is one step downwards in this version compared with this original, it's that there's some anomaly in the code that generates the letter grid, because as you can see in the second screenshot, there are two Xs on that grid and only one of the sixteen dice in the original game has an X on it. Jamie's original C code can be found in the downloadable package or viewed online on GitLab, and though my knowledge of C is painfully limited, I can at least see it starts with a list of the 96 available letters; where there is a comment that says "pick 16 of the 96 faces", it does look like it should only ever pick one from every group of six, so where the second X came from is anyone's guess. I think Jamie must know about this, though, as there's a screenshot also included in his original package that shows two Qs.

Jamie tells me that there is supposed to be sound in this game. OZvm is known to be as silent as a ZX80, but if you can get the game working properly with ZEsarUX 9.2, you will get sound. I've done it, I've shown evidence in the screenshots below, and I've provided instructions on how to do it. Unfortunately, it seems to be pot luck whether the game itself will work on this emulator, as about 70% of the time it will stop after entering the two names as if the game's already over. If, in the end, you can't get ZEsarUX working, Jamie's made this video of Zoggle running on his real Z88.

This implementation of Boggle is clearly an improvement on the first attempt, which scored two masks for attainment and four Ricks for effort - so the score should reflect that. And while I appreciate the effort Jamie puts in to promote his favourite computer that isn't a Spectrum, I can't honestly score this at more than the four Ricks of the original - but I can bump up the attainment by one instead. If it actually played the game itself - even though the computer would cheat like a Juventus striker diving for a penalty - we'd probably be looking at five masks.

And I think that's a target worth aiming for. Which gives me an idea...

UPDATE (31 August 2021): Jamie has revised Zoggle to eliminate the bugs, and the game works fine on both OZvm and ZEsarUX. I've updated the downloadable package to include both versions; "Jim's additional material" now contains two OZvm snapshots, ZOGGLE1.Z88 for the original entry and ZOGGLE2.Z88 for the bugfixed version.

UPDATE (18 September 2021): Zoggle has been revised again with a graphical update - which is also shown in the screenshots below. The grid is now in capitals, with the former-capitals upgraded to bold text, the score is repositioned, and the timer appears as a series of diamonds under the logo. "Jim's additional material" has a third OZvm snapshot, ZOGGLE3.Z88, added to it.

Zoggle v3 with graphical upgrades:

Zoggle v1 running on ZEsarUX 9.2:

EFFORT:      ATTAINMENT:      DEMERITS:   none