Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

C64 website updates, new releases of games, demos, tools etc.

Moderator: Lemoners

Post Reply
User avatar
mikeebean
Trollie Wallie
Trollie Wallie
Posts: 336
Joined: Sat Apr 21, 2007 6:23 pm
Contact:

Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by mikeebean »

Image

Over Christmas break I decided to try my hand at a text adventure conversion for the C64. I chose a ZX Spectrum game called Castle of Doom from Specsoft/Alligata software written by Mark Aldrich and John Wigglesworth of Sheffield England. Apparently the game was thought lost until Aldrich uploaded it in 2018. (Unsurprisingly, there are other games which share the same name for the Spectrum.)

Castle of Doom contains four stages consisting of 40 rooms each. Each stage includes several puzzles (you must appease or defeat a character with a specific object in order to proceed) and a few death traps. As you find each of the Lost Keys you may progress to the next stage, bringing you closer to the Wicked Wizard and his hidden gold.

The game accepts only simple commands: N/NORTH, S/SOUTH, E/EAST, W/WEST, H/HELP, P for pick up, D for drop. P or D alone will pick up or drop the first object in the location or in your inventory. You can specify which object to pick up or drop by typing all or part of its name: P SCYTHE, P SC or P S

Image

The conversion:

Written in BASIC with a single bitmap logo, Castle of Doom was a relatively easy conversion. The hardest aspects were re-learning how to use the maddeningly frustrating Timanthes, cobbling together sound effects, figuring out how to run a python script, and decyphering the ZX Spectrum emulator keyboard. I was actually surprised to find that the ZX Spectrum would glide over issues with ease which were showstoppers on the Commodore: GOTO or GOSUB to a non-existent line number didn't phase the Spectrum—it just goes to the next available line number, and performing string functions on empty/short strings works quite differently on a Spectrum.

I wanted to preserve the spirit and charm of the original game—including spelling errors (SUBERB/suburb, FLOUR/flower) and the silly copyright obfuscations (HULTON/Hilton, DARLIK, Dalek)—but made choices to improve some things. I fixed a few problems in the inventory system, changed traps so that they display their location name (so you'll know what caused your untimely death as you perish), fixed a bug that caused several rooms in Stage 3 to be inaccessible, and fixed several GOSUBs without RETURNs which quickly maxed out the C64's stack memory. I didn't attempt to reproduce flashing text or the Spectrum's weird bottom-line input method—I didn't really care for them anyways.

I discovered an extra puzzle in Stage 1 which was apparently written out for some reason, so Stage 1 has the option to unlock the puzzle or play the original version. The game data also revealed the likely location of a missing object, and the unlocked version allows the Killer Raven to finally have its desires satisfied. Lastly, the game hides the Lost Keys in random locations. In the original version, entering the location would immediately transport you to the next level. I found it disappointing to be taken so abruptly out of an incompletely-mapped level, so I added the option to fully explore each stage before progressing to the next.

If I'd had more time I would have liked to redo the bitmap logo. It looks great in Vice, but on a real C64 it's stretched... or maybe it's just my VGA monitor.

I made the conversion in CBM PRG Studio with Vice, the bitmap was created with Timanthes, plus lots of help from the Lemon64 forum and Joe Forster's STA pages. I used shred/tzxtools to extract the original game data and JSSpeccy 3 to better understand how the ZX Spectrum works.

It was a lot of fun to convert, and an enjoyable game to play. I hope you'll enjoy it too!

The Commodore version can be downloaded here:

https://www.mediafire.com/file/sxf61drg ... 4.zip/file

Image
User avatar
Bieno
Mikie
Mikie
Posts: 562
Joined: Sun Jul 09, 2006 7:16 pm
Location: Spain
Age: 53
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by Bieno »

Thank you for the conversion !
User avatar
mikeebean
Trollie Wallie
Trollie Wallie
Posts: 336
Joined: Sat Apr 21, 2007 6:23 pm
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by mikeebean »

Thanks, I hope you have fun with it!
User avatar
DanSolo
Bruce Lee
Bruce Lee
Posts: 8112
Joined: Tue May 23, 2006 3:26 pm

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by DanSolo »

Great work! From what I remember the ZX doesn't have LEFT$ and RIGHT$ only an equivalent of MID$? Great that the game data could be copied directly.
Will give it a go later.
User avatar
mikeebean
Trollie Wallie
Trollie Wallie
Posts: 336
Joined: Sat Apr 21, 2007 6:23 pm
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by mikeebean »

Yes Spectrum "string slicing" is handled in a way that is arguably less confusing than the standard LEFT$ RIGHT$ and MID$:
string expression (start TO finish)
"abcdef"(2 TO 5)="bcde"
If you omit the start, then 1 is assumed; if you omit the finish then the length of the string is assumed. Thus
"abcdef"( TO 5)="abcdef"(1 TO 5)="abcde"
"abcdef"(2 TO )="abcdef"(2 TO 6)="bcdef"
"abcdef"( TO )="abcdef"(1 TO 6)="abcdef"
I had thought that the Spectrum was handling empty/short strings gracefully where the C64 would error out—at least in this game—but upon re-reading the section in the Spectrum manual it says otherwise, and testing in the emulator confirms. Must have been something else in the program. It's been just long enough that I don't remember exactly!

It's a fun game, not a lot of story or details, but more about mapping and figuring out the best way of shuffling objects around to complete the map, plus seeing the amusing pairing of objects to characters.
User avatar
Baber64
Joe Blade
Joe Blade
Posts: 269
Joined: Fri Jul 28, 2017 4:53 pm
Location: USA
Age: 54

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by Baber64 »

The Timex-Sinclair was the first computer I learned to program. I wrote sample text adventures on cassette tape using the 16K expanded memory module.

If I jiggled the computer, the 16k expanded memory (which had a flimsy connector) would reset the computer, losing all of my work. What a hard way to learn how to program on that little flexy keyboard!

Thanks again.
User avatar
C64 Mat
Lemon64 Database Editor
Lemon64 Database Editor
Posts: 923
Joined: Wed Nov 21, 2007 12:19 am
Location: Yorkshire, UK
Age: 43
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by C64 Mat »

Been loving these conversions we've been getting lately, from the Atari stuff to this and Shadowgate.
Lemon64 Database Editor (when time permits)
Just Dave
William Wobbler
William Wobbler
Posts: 124
Joined: Tue Dec 09, 2014 2:02 pm
Location: Ireland

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by Just Dave »

You are a LEGEND. I never played this, only read about it. I would gladly pay money for other text adventure conversions.
User avatar
mikeebean
Trollie Wallie
Trollie Wallie
Posts: 336
Joined: Sat Apr 21, 2007 6:23 pm
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by mikeebean »

Legend, wow! lol Well Mark Aldrich did upload two other games, I haven't looked at them but maybe it's a trilogy in need of conversion?

Thanks for all the encouragement guys, I do have two more text adventure conversions to post:
One is simple and has the inspiring name of "Adventure 1". It was just to see if I could convert an Apple II Pascal game to Commodore Power C, and hey it worked.
The other is actually a whole adventure programming suite from the BBC Micro, with a nice adventure called Arabia. It was a huge year-long project—because I converted the encoder and interpreter as well! I need to write some documentation for it, but someday soon I'll finish it.
User avatar
C64 Mat
Lemon64 Database Editor
Lemon64 Database Editor
Posts: 923
Joined: Wed Nov 21, 2007 12:19 am
Location: Yorkshire, UK
Age: 43
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by C64 Mat »

Very interested in the utility. I love old game creating software - from SEUCK to GAC via the way of 3DCK.
Lemon64 Database Editor (when time permits)
User avatar
oldschooljoe
Zorro
Zorro
Posts: 1328
Joined: Sat Jan 23, 2021 4:12 am
Location: Los Angeles
Age: 54

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by oldschooljoe »

Always grateful for any additional add-ons to C64 library,

especially a decent game like Castle of Doom Text Adventure.
Are you keeping up with the Commodore?
'cause the Commodore is Keeping Up with You!
Just Dave
William Wobbler
William Wobbler
Posts: 124
Joined: Tue Dec 09, 2014 2:02 pm
Location: Ireland

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by Just Dave »

mikeebean wrote: Mon Jan 30, 2023 4:12 am Legend, wow! lol Well Mark Aldrich did upload two other games, I haven't looked at them but maybe it's a trilogy in need of conversion?

Thanks for all the encouragement guys, I do have two more text adventure conversions to post:
One is simple and has the inspiring name of "Adventure 1". It was just to see if I could convert an Apple II Pascal game to Commodore Power C, and hey it worked.
The other is actually a whole adventure programming suite from the BBC Micro, with a nice adventure called Arabia. It was a huge year-long project—because I converted the encoder and interpreter as well! I need to write some documentation for it, but someday soon I'll finish it.
Definitely deserving of legend status from myself. I have a list written down somewhere of a bunch that I want to play, but don't have the computer for them. I tried playing them on an emulator, but it doesn't seem as fun for some reason. Adventures are the only games I collect proper, as opposed to just kid of have to play, so being able to put Castle Of Doom on a disc and run it is a real trip.
User avatar
mikeebean
Trollie Wallie
Trollie Wallie
Posts: 336
Joined: Sat Apr 21, 2007 6:23 pm
Contact:

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by mikeebean »

Just Dave wrote: Mon Jan 30, 2023 7:06 pm I tried playing them on an emulator, but it doesn't seem as fun for some reason. Adventures are the only games I collect proper, as opposed to just kid of have to play, so being able to put Castle Of Doom on a disc and run it is a real trip.
I'm right there with you. When writing a program I don't use the real hardware because it's sooooo much easier in an IDE, but to play-test it I want that old school experience. (But I do need to have all the newfangled updates like SD card storage and so on.) Thanks again, I'll try to get my other adventure games up in maybe a month.

I just can't help but wonder if the Castle of Doom on your game bucket list might actually be the one by Giant Byte or the one by Fantasy:

Giant Byte, 1986:
https://spectrumcomputing.co.uk/entry/1 ... le_of_Doom

Fantasy Software, 1989:
https://spectrumcomputing.co.uk/entry/3 ... Giant_Byte
Last edited by mikeebean on Tue Jan 31, 2023 12:50 pm, edited 1 time in total.
Just Dave
William Wobbler
William Wobbler
Posts: 124
Joined: Tue Dec 09, 2014 2:02 pm
Location: Ireland

Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)

Post by Just Dave »

Definitely the Aldridge one, I read about it in Classic Adventurer Magazine #4.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest