Tuesday, March 11, 2025

Game 542: The Wizard's Castle (1985)

 
Sounds easy enough.
      
The Wizard's Castle
Also known as Wizard's Den
United Kingdom
Independently developed; published as type-in code in the June 1985 Your Computer
Original code for the ZX Spectrum
Date Started: 27 February 2025
Date Ended: 27 February 2025
Total Hours: 1
Difficulty: Very Easy-Easy (1.5/5)
Final Rating: (to come later)
Ranking at time of posting: (to come later)  
    
Playing a type-in game for the ZX Spectrum is like multiplying zeroes. There wasn't much chance I was going to have anything positive to say about it. Type-in games for any platform are more programming exercises than real games. I'm sure that the readers of Your Computer who got through all c. 350 lines of code learned a lot, but it's hard to imagine that even in 1985, anyone spent more than an hour playing the final result.
   
There have been times that I've considered rejecting all type-in games, but the problem is that they tend to spawn commercial games. The Devil's Dungeon (1978), The Wizard's Castle (1980), Quest 1 (1981), and The Valley (1982) are among those type-in games that were adapted-cum-plagiarized into commercial titles later on. I don't know that such is the case for this Wizard's Castle, but if I do encounter a game based on it, it will be nice to have seen the original so I can recognize it.
     
The game begins.
        
This Wizard's Castle shares some commonalities with Joseph Powers' 1980 Apple II game, in that it takes place on a grid of squares, and you have a two-part goal: find something and get to the exit. But this game uses a first-person interface and has different commands and encounters than Powers' much-copied title. I wouldn't be surprised if the author, David Hamilton, had played Powers' game, but I equally would not be surprised if he said he never heard of it.
       
My guess is that they couldn't fit "Castle" on the page.
     
Meanwhile, this game can't decide on its own name. In the magazine's text, it's called Wizard's Den, but the code clearly instructs the user to type Wizard's Castle on the title screen.
     
After an option to see some basic instructions, the game thrusts you into the southwest corner of a 10 x 10 dungeon with 12 strength and 12 combat ability. Your goal is to find the evil wizard, defeat him, take his key, and find the exit to the dungeon. I'm not sure how randomized everything is, but I found the wizard twice near the southeast corner and the exit twice near the northwest corner.
  
Fighting a snake.
       
Each room is seeded with a chest, a hidden treasure (revealed with the "Look" command), or a monster (who may or may not have treasure). Chests and hidden treasures can be:
   
  • Weapons, which add directly to your combat ability.
  • Gold or gems, which add to your "treasure" statistic.
  • Food or wine, which add to your "strength" statistic.
  • Spells. These are very rare.
  • Traps. These are also very rare but deadly. They reduce both strength and combat to 1.
   
When you meet enemies, your only options are to F)ight or cast a M)agic spell if you have one. Spells basically instantly kill the enemy. Fighting requires you to spend several rounds watching enemy strength, your strength, and your combat ability slowly deplete. Naturally, if strength gets to 0, you die. You can still fight with combat ability at 0, though. There is no fleeing from enemies, and any square with an enemy automatically respawns when you leave and return.
        
Blasting a goblin with a spell.
       
That's about all there is to it. A string of bad luck, with multiple enemies in a row, will probably end you. You need good luck to make it to the wizard with sufficient strength and combat ability (or a spell) to whittle away his 50 points of strength.
      
As you can see, I had plenty.
      
Ah, but here's the thing that makes the game easy: any square without an enemy never spawns an enemy, yet still has a random chance of spawning a treasure chest or a hidden treasure every time you enter. So if you can find two such squares adjacent to each other, you can just dance back and forth between them, gathering all the treasure, weapons, food, and spells that you want until you're satisfied with your numbers. You can also R)est in each new room to restore some strength. Using such methods, I didn't even need save states to win the game in about 15 minutes.
     
The death screen, before I figured out how the game worked.
     
When you reach the exit with the key, the game gives you a colorful congratulations screen but doesn't even try to give you a final score based on your treasure. Treasure is collected for nothing, it seems.
          
I escaped to freedom in more ways than one.
       
A GIMLET for such a game is pointless. It gets 1s in a few categories for a total of 5. If I could give half scores for some of those categories (character development, encounters, combat), I would. But if we see a 1987 ZX Spectrum game with the same approach but a slightly more interesting title screen, we'll know where it came from.

14 comments:

  1. It's better looking than most type-ins. Spartan as the mechanics are, it's the sort of thing I would've tinkered around with back when it came out.

    ReplyDelete
  2. I'm curious, how are the graphics for these type-in games created? Are they generated in code, or did "Your Computer" come with a disk or tape with the graphics on it?

    ReplyDelete
    Replies
    1. The photographed article mentions that the graphics are entered separately with a "hex loader". So they were distributed as data, which you'd type in by hand. I know BASIC type-ins for other platforms would have huge strings of DATA statements that filled the same role.

      Delete
    2. Looking at the article, they have a small program to insert the data where you put in the data and a checksum for each couple of bytes. Which isn’t a bad idea as it stops people from making mistakes and only realising when they try to run it. Though it does become an entire afternoon of typing on the monstrosity that is the spectrum keyboard…

      Delete
    3. With this game it uses a couple of methods to produce the graphics. The ZX Spectrum has basic in-built graphics commands (eg 'plot' for a point, 'line' and 'circle') which are used to draw the room and doors. For the mini-map and the encounters (ie the chest, bat, skeleton, etc) it's a little bit more complicated. The Spectrum has a built in 'character set'. This describes how each letter, number and symbol looks when displayed on screen (all characters are made up using an 8x8 grid of pixels - see https://worldofspectrum.org/ZXBasicManual/zxmanchap14.html for more info). So if we wanted to display our own graphics, what we can do is overwrite some of the character set with our own designs and display this instead. For example if we wanted to display a treasure chest we could use 4 characters (eg ABCD) for the top half of the chest and 4 characters (eg EFGH) for the bottom. This gives us a grid of four 8x8 pixel characters for the top half and the same for the bottom (in effect a 32x16 pixel grid in total). Once we overwrite the 8 letters with new graphics (which is what the hex listing describes) we then "print" out "ABCD" on one part of the screen where we want the top of chest to be and "EFGH" just below this for the bottom part. However we don't see the letters "ABCDEFGH" as we have overwritten the characters to look like a chest when printed on screen. NB when overwriting the character set, if you overwrite a character which you need to use later (ie a letter or number) then you will need to restore the original character design otherwise, when printed out, it will still display with the changed version you made (which is why when done this way, programmers will normally use the least used characters in the character set rather than the letters and numbers). The listing is found on page 61 of the 1985 June edition of Your Computer magazine (https://archive.org/details/your-computer-magazine-1985-06/page/n59/mode/2up)

      Delete
    4. It was the same on the C64, I remember typing in literally thousands of lines of DATA, POKE and PEEK which didn't tell me anything of what was going to be the result.

      Delete
    5. @Deano - you miss-spelled "Marvelous" or "Miraculous", I'm not sure which one you meant.
      :)

      Delete
    6. Thank you all for your answers! Thanks in particular to Twin Valley for the extensive explanation.

      Robert, I had to re-read both your and Dean's comment a few times before I got it :-D Never owned a Spectrum, but Jimmy Maher has written about it, particularly about the "quality" of its components...

      Delete
    7. Deano's, not Dean's. A spellchecker and a small screen, not a winning combination...

      Delete
  3. It's still incredible that this is possible with just 350 lines of code. And anyone could learn from it and use it as the basis for their own development of a new game. No compiler or software development kit was needed, every Spectrum user was able to do it.

    In contrast, in the 90s you'd probably get a book for game development with C++ and Microsoft's DirextX, which had much higher hurdles. Luckily it became easier again to start game development later on, with libraries and engines like SDL, GameMaker, Unity, and so on.

    Is it possible to run the game via the web-based JSSpeccy emulator which is linked on this page?

    https://spectrumcomputing.co.uk/entry/27019/ZX-Spectrum/Wizards_Castle

    I only get this output:

    Program: Wizard's
    5 Out of screen, 0:1

    ReplyDelete
  4. For some reason you will need to untick the 'Instant tape loading' option under the 'File' menu at the top and then press the small 'start tape' button at the bottom (looks a bit like a cassette tape - it's next to the pause button). You will have to wait a couple of minutes for it to load though.

    ReplyDelete
  5. Regarding the title: I'll bet you whoever laid out that page just didn't want to fool around with fitting "Castle" into an otherwise tidy arrangement of text and pictures!

    ReplyDelete
  6. Regarding the title: I'll bet you whoever laid out that page just didn't want to fool around with fitting "Castle" into an otherwise tidy arrangement of text and pictures!

    (Oops - accidental anonymous comment, sorry.)

    ReplyDelete
  7. Pray: alien encounter is not really an crpg. But I think you would have found that out pretty quick.

    ReplyDelete

I welcome all comments about the material in this blog, and I generally do not censor them. However, please follow these rules:

1. DO NOT COMMENT ANONYMOUSLY. If you do not want to log in or cannot log in with a Google Account, choose the "Name/URL" option and type a name (you can leave the URL blank). If that doesn't work, use the "Anonymous" option but put your name of choice at the top of the entry.

2. Do not link to any commercial entities, including Kickstarter campaigns, unless they're directly relevant to the material in the associated blog posting. (For instance, that GOG is selling the particular game I'm playing is relevant; that Steam is having a sale this week on other games is not.) This also includes user names that link to advertising.

3. Please avoid profanity and vulgar language. I don't want my blog flagged by too many filters. I will delete comments containing profanity on a case-by-case basis.

4. I appreciate if you use ROT13 for explicit spoilers for the current game and upcoming games. Please at least mention "ROT13" in the comment so we don't get a lot of replies saying "what is that gibberish?"

5. Comments on my blog are not a place for slurs against any race, sex, sexual orientation, nationality, religion, or mental or physical disability. I will delete these on a case-by-case basis depending on my interpretation of what constitutes a "slur."

Blogger has a way of "eating" comments, so I highly recommend that you copy your words to the clipboard before submitting, just in case.

I read all comments, no matter how old the entry. So do many of my subscribers. Reader comments on "old" games continue to supplement our understanding of them. As such, all comment threads on this blog are live and active unless I specifically turn them off. There is no such thing as "necro-posting" on this blog, and thus no need to use that term.

I will delete any comments that simply point out typos. If you want to use the commenting system to alert me to them, great, I appreciate it, but there's no reason to leave such comments preserved for posterity.

I'm sorry for any difficulty commenting. I turn moderation on and off and "word verification" on and off frequently depending on the volume of spam I'm receiving. I only use either when spam gets out of control, so I appreciate your patience with both moderation tools.