Tag: blue

Ultimate Games Designer for the ZX Spectrum

And so, as we near the end of another great year of game crapness, I return from an extended leave of absence to the Towers of Sqij (still lofty, still menacing) to review one last effort from Andrew Green.

Not a game but a games designer.  And not just any games designer but The Ultimate Games Designer for the ZX Spectrum.  Are you beside yourself with trepidation?  Maybe!

Title Page

Title Page

The title page if full of guarantees to produce the best game ever; so much so that Mr. Green has even gone to the extra effort of using CAPITAL LETTERS to emphasise the fact.  The mention of complex algorithms however basically comes down to the ZX BASIC “RND” function and the NB at the end mentions a time to build this game is approximately the lifetime of the earth to date.  “program” – maybe; “design” – maybe not.

Now, I’m glad I got to review this program because I reviewed a program very similar to this back in 2010.  Advanced UDG Generator promised to create your perfect UDG simply outputting every combination of bits in an 8×8 pixel square.  This program takes this to a whole new level and I’ll explain why…


The program basically fills a large chunk of the Spectrum’s memory with random data before executing it.  Where Advanced UDG Generator would take a mere 2.2 million years to run through every UDG graphic, this program populates 36,612 bytes of RAM (between 28775 and 65367 (immediately below the UDG area) before attempting to execute it.  This is humongous leap in entropy space compared to UDG designer’s 8 bytes.


Yawn. I wonder what those numbers mean.


As with Advanced UDG Generator however, there are some flaws, and more so here:

  1. The game has been submitted as a Z80 Snapshot with no means to seed the random number generator.  Consequently, the sequence of bytes generated is exactly the same every time you run it from initial load up! We get just one generated game code instead of the potential 2^292896 possibilities (that is a number that is over 88 thousand digits long by the way)! Oh how the opportunity was missed.  Major fail!
  2. Assuming the above flaw was solved, the Spectrum’s implementation of RND is far too limited to generate all 2^292896 possible states.  See my own program RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE RANDOMIZE for more details on that matter.
  3. The aforementioned “lifetime of the earth to date” to make the greatest game.
  4. Despite checking the location of the machine stack, the program is supposed to display “PRESS ANY KEY TO RUN PROGRAM“, and give you the opportunity to press a key before running your masterpiece.  However, I kept getting “C Nonsense in BASIC, 20:1” at this point.  Now you might think, that the generated program might simply have bombed out with a “C” Report, however it hasn’t actually ran the generated program at this point!  I don’t know what gives here but I suspect Mr Green has some damage already built into the snapshot file.  It should be on line 50 at this point, not 20!
C Nonsense in BASIC, 20:1


So, credit where it is due, the program is crap beyond comprehension and probably took less time to write than it took me to review it.  But, if you like WAITING and DISAPPOINTMENT and ENTROPY SPACE and BLUE then you might get something out of this.  Personally I am a CYAN type of guy!

Score: 1 / 2^292896

Download: .z80