Spec A Sketch - Uglifruit

"Do you know what the world needs?

...Another Etch-a-Sketch clone for the Speccy!  That's what."

- Uglifruit, 2023

First we had Next A Sketch, then we had ZX A Sketch, now we have Spec A Sketch, with built in Stretch A Sketch! 

Recently, Firelord quality games made a valiant effort to stop this madness. Alas he has failed. If only one of those UDG had resembled a valiant hero, rather than the scribbly mess of a half erased Etch A Sketch glass. I'm now thinking Many Games In One was an etch a sketch game by stealth! If it was, then this latest entry from Uglifruit is the  65535th version of Etch A Sketch in this competition.

But hold your horses....

Because I did say I would not review another version of E-A-S unless, generally speaking, it was excellent. And actually, this is indeed really quite good. Certainly my favorite E-A-S game to date.

In UgliFuit's own words:

Bold claims are made the excellence of his game, stating 7 reasons his version shines above all others...

1. All BASIC

I resisted the urge to do some of the things in m/c code - which would have been FAR EASIER. Most notably the lack of bitwise operators in BASIC made key reading, and the pixel to byte stuff is arduous.

2. Q,A,O,P keys.

None of your joystick rubbish here - just good old QAOP ... but you CAN use diagonals. And it works regardless of which issue Speccy it is.

Keys: Q,A,O,P move

  C clear

  S shrink/small/stickers etc. (enters little mode

3. It emulates the ZX81 style block graphics

Pixels my arse. Etch-a-sketch clones should use quarter cell blocks. Fact.

4. Nearly quadrent-style graphics

I discovered a quirky thing I didn't know about the SCREEN$ basic command - it ALSO identifies inverted versions of characters - so my sneaky plan of making the GRAPHICS blocks the characters, so I could use SCREEN$ didn't work.  It identified ". " (bottom left) as "':" (everything except bottom left), as the latter one appears earlier in the character set. That's why I have corrupted the top left pixel of each graphic block, to make them unique. What a faff. The initialisation bit at the start is printing the graphics blocks to the screen - removing the top left pixel if it's filled (POINT and PLOT IVNVERSE 1;, then copying this info to memory - and pointing the CHARS variable at it.  All this 'cos Speccy basic doesn't have a 'chunky plot' command.

The awesome art of Flatduckrecords

5. Maths, Pokes, Peeks, Points, Plots

I cleverly hid some shenanigans in the top of the screen to do some bit-wise operations. Moving onto a previously filled square uses SCREEN$ to identify the character, then pokes into the screen the character, and uses PLOT to add the correct quadrent (top right = bit 0, top left = bit 1, bottom right = bit 2, bottom left = bit 3).  This is functionally a bitwise OR. I was pleased with this. #smugbastard

6. Small Mode

The 's' key is stupid, and reminds me of those photo booths in Japan that make little stickers.  S can stand for shrink or small or sticker. Your choice.

Upon pressing 'S' the enormous delay is POINTwise looking at all the information on the screen (well one in each 4x4 pixel block), which are grouped into eights and poked as into bytes that are poked into memory. Then the character set is pointed at them, so they can be quickly printed to the screen, in 'little.

7. Functionally small and cute.

Awww!

Once little you can CARRY ON editing, using the same keys (it's the same basic loop, optimised to be near the top of the program, cos I'm like that), and continuing in 'small mode'. Pressing 'S' again finished the program.

S mode engaged!

Final summary
 
I think Uglifruit deserves points for almost writing this review for me. 

However, it was utterly ridiculous of him to make yet another E-A-S clone.

But then, it's ridiculous in the best possible way. 

Ultimately, this is a very nicely made programme. The small mode is what really sets it apart - a cute feature that adds considerably to the fun. Very polished. Well done!

This is well worth a download 




Comments