The Let's Play Archive

Compute!'s Gazette

by Chokes McGee

Part 10: ManxomeBromide - Verbatim

I had a sleepless night awhile back, and threw a random number generator at the list of issues to pick programs to type in. This was supposed to help me go to sleep, but instead I had an all-nighter and three programs. This is the first.

Let's Play Verbatim!
From Compute! Gazette, May 1989 Vol. 7, No. 5



Verbatim is essentially Mastermind with words. Another player, or the program, selects a word of 3 to 6 letters. You then have five tries to guess it. You're given the first character, and of your guess...
You have 16 seconds to make a guess or you lose that guess.



Hooray, victory.

The Good: The display is actually very slick. It makes excellent use of the default graphics characters, and the design is colorful and clean in ways that it was honestly a bit tricky to get the display to do. Furthermore, despite being a 100% BASIC game, it exploits the instructions BASIC has that are fast to run the game at a thoroughly acceptable speed throughout. This is true even though it's doing things like rolling its own INPUT command since the real INPUT doesn't let you do real-time timers alongside them.

The Bad: Not much, honestly! There was a bug in the timer display, which I'll get into in the tech notes, but to see the bug was to know which line needed to be fixed and how. I think the worst I can say about it is that it's a very simple game for the amount of typing it involves; the game could be a fifth the length or less and still be every inch as good of a game. All the rest is understated flash.

The Verdict: This isn't embarrassing, but the reward for effort is pretty low. It's a filler program made by somebody who clearly should be doing something more ambitious.

Tech Notes

We've seen before cases like Haunted Mansion where PRINT statements are used to create a full display. This understates just how much power the Commodore's PRINT statement had. Almost any special key you could type could be stuffed into a PRINT statement and made to execute. This included switching reverse video on and off, setting the color, moving the cursor around, or clearing the screen.

A cool thing that Verbatim does that I honestly don't often see in these type-in games is that it actually stores large-scale repeated character-graphics images in string variables. The blue tile with drop shadow is assigned to A$ at the start of the program and whenever it needs one, it just prints it out. The cursor is even set appropriately so that you can just print them out in sequence and have it work out. Likewise, the little extra border around the 1 and 2 in the top menu is stored in its own variable for reuse.

The trick to its colorful display is that the background screen color during play is actually white; the entire screen is displayed in reverse video, which frees up the more flexible foreground color for use drawing the tiles. Doing a force-reverse of the whole screen is ass-slow in BASIC (seriously, setting up the screen can take over a minute if you do it that way), but the code abuses PRINT once again to make this happen in more like two seconds. Machine language is faster, but for 100% BASIC, that's some solid work dodging limitations.

The code as written also has a bug in it: The first time the timer is drawn, it puts the cursor in the wrong place, and so there's a "16" just sitting there above the countdown. This is dumb, and it's trivial to fix:

QA 420 PRINT"{2 DOWN}"SPC(32)"{RVS}TIMER{DOWN}{5 LEFT}{5 CMD-T}{2 DOWN}{4 LEFT}{RVS}{CMD-5}"INT(TM)

The alteration is boldfaced; 2 downs there after the 5 commodore-T graphics instead of just one.

The Weird, Wild Pre-DMCA Frontier



Apparently people just take out ads for cracking tools in the back of major magazines in 1989. I particularly like the smug little "We can't tell you who uses us, but totally ask around, you'll find them, because we're that great. "