udgil and the cursed scroll - Andy Jenkinson

"Welcome stranger". And so begins Andy's latest masterpiece in Crap Game TM construction. Yes. I'm not holding back. This is one of the best games I've had the pleasure to review in this compo. I just love it. Its bonkers mad and I've never seen anything like it. 

One thing I love about this and the previous entry from Andy is how he takes such a small piece of inspiration from a quirk of the Spectrum ROM and produces something incredibly original. 

The game begins with an intro, which explains the story. The story is artfully woven around the programming technique, which is also present in the artwork, which is in fact the program! I mean Shakespeare had a play within a play, but Andy has just blown my mind with this. 

Let me try to explain a little before I hand over to Andy himself. If I understand correctly, the UDG stored at the D location has has a small machine code program inserted into that location, then the UDG is used in the game to represent the cursed face of the chap introducing the game. 

The game itself starts out simply, and fairly conventionally. Guide the white ship toward the green things while avoiding the red things. See below.

However, when you collect a green thing something truly unusual happens. A poem is written on the screen.

This is very disconcerting, and feels like I'm having a BASIC induced migraine, which isn't good at all. But once I accepted what is happening, I was able go with the flow and enjoy the unique gameplay mechanic.

I have decided not to add anymore screenshots as I think its worth you playing for yourself and I don't want to spoil your enjoyment and discovery any further.

In Andy's own words

the zx81 was blessed with a SCROLL command in basic, and meant that games like 'man eating budgies' were very common. especially given the limitations of 1k.

the speccy doesn't have a scroll command, but it's easy to find it in the rom and it's only a RANDOMIZE USR 3582 away.

But look... there's an entry point only two bytes later at 3584 (0E00h) that is more interesting, it scrolls 'b' lines of the display.

a cog turned in my brain

i'd always wanted to make a machine code program in the UDGs, and then use the UDGs, somehow.

this gave me the perfect opportunity...

i genuinely old-school hand coded the five byte program below, looking up the opcodes

ld  b,n 6 nn ;load b with the number of lines to scroll

jp 0E00n 195 0 14 ;jump to the second entry point

;the routine it jumps to ends in a RET, so will return to BASIC

and then poked them into the graphics using

POKE usr "a",6

POKE usr "a"+1,8

POKE usr "a"+2,195

POKE usr "a"+3,0

POKE usr "a"+4,14

(i picked 8 as the second byte, just cos i wanted to see what it did)

then i ran the program i'd written, which was achieved using the quirky looking statement: RANDOMIZE USR USR "a"

(the second USR "a" is interpreted as the address the UDGs are stored, as per the the system variable UGDG at 23675/6 - normally 65368 on a 48k speccy)

and from this the game was born

i initially made the 'game' engine bit, with the ever smaller scroll area (which pleasingly gets quicker as a consequence)

then i thought i'd make a couple of udgs for game graphics (just three geometric shapes), and pushed the machinecode udg to position 'd' - initially a capital D.

with the machine code poked over the top 5 bytes, and leaving the bottom of the D it could be a face (if you squint), so i used the game graphics, and some ascii to make udgil (as he was now called) a cowl. most mysterious.

so now he needed a backstory. obviously a 'scroll'. and something about his face.

the game was done.

but i carried on faffing, and made the obstacles get wider, and added a score. and skill levels (that made them get wider earlier on the hardest level). on the easiest level you are only point penalised for hitting a bad thing - losing if you go below zero. most people should get to the end on that level.

so it needed some reward ... a crappy poem, being revealing into the unscrolling bit of the screen. ideal!

and there it is

hope you at least find it's genesis interesting, and the calling a tiny machinecode routine with let udgil=usr usr "d" doesn't get old.

andy 'uglifruit' jenkinson

july 29



3 skill levels

3 and five eighths* of a UDG

a udg that doubles as a tiny machine code routine

the basic statement let udgil=usr usr "d"

some hokum plot

a bit inspired by 'man eating budgies'** for the 1k ZX81, which we played as a family. we didn't have a 16k ram pack. this was as exciting as it got. i did borrow andrew vale's once though, just for a weekend.

*eighths. What a word! Two vowels and then "ghths". Suzy Dent probably loves it.

**this one, it's great 

Back to my review

Is this game GOOD I hear you cry! Well, yes, it is. here is the second real GAME from Andy that is achingly original, and has me not only wanting to play but also it has that 'just one more try' appeal.

However, lets not get too carried away, it is a BASIC game, and as such the input delay is frustrating. The red things are quite flashy (in a bad way) when the screen redraws, and the in game poetry takes some getting used to. 

I am a big fan of poetry, and even added a poem to my own game  The Disputed Territories of Ghotto so, fair warning, this is right up my street!

Final thoughts

What is Andy's obsession with negative scores? My first got I scored -3! I love the novelty!

I feel like we have had two exciting crap games from Andy and its been a pleasure to play them before anyone else. Thank you.

I would love to see a third game then it could form a trilogy. 

udgil and the cursed scroll is definitely up there as one of the better games I have enjoyed this year. But it is also crap too. As if it has crapness in its DNA but manages to be more than the sum of its parts - to the point it is more than a simple game, it is perhaps art?

try here