- mikeebean
- Trollie Wallie
- Posts: 337
- Joined: Sat Apr 21, 2007 6:23 pm
- Contact:
Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
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
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
- Bieno
- Mikie
- Posts: 565
- Joined: Sun Jul 09, 2006 7:16 pm
- Location: Spain
- Age: 53
- Contact:
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
Thank you for the conversion !
- mikeebean
- Trollie Wallie
- Posts: 337
- Joined: Sat Apr 21, 2007 6:23 pm
- Contact:
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
Thanks, I hope you have fun with it!
- DanSolo
- Bruce Lee
- Posts: 8134
- Joined: Tue May 23, 2006 3:26 pm
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
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.
Will give it a go later.
- mikeebean
- Trollie Wallie
- Posts: 337
- Joined: Sat Apr 21, 2007 6:23 pm
- Contact:
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
Yes Spectrum "string slicing" is handled in a way that is arguably less confusing than the standard LEFT$ RIGHT$ and MID$:
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.
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!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"
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.
- Baber64
- Joe Blade
- Posts: 276
- Joined: Fri Jul 28, 2017 4:53 pm
- Location: USA
- Age: 54
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
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.
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.
- C64 Mat
- Lemon64 Database Editor
- Posts: 925
- 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)
Been loving these conversions we've been getting lately, from the Atari stuff to this and Shadowgate.
Lemon64 Database Editor (when time permits)
-
- 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)
You are a LEGEND. I never played this, only read about it. I would gladly pay money for other text adventure conversions.
- mikeebean
- Trollie Wallie
- Posts: 337
- Joined: Sat Apr 21, 2007 6:23 pm
- Contact:
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
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.
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.
- C64 Mat
- Lemon64 Database Editor
- Posts: 925
- 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)
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)
- oldschooljoe
- Zorro
- Posts: 1344
- Joined: Sat Jan 23, 2021 4:12 am
- Location: Los Angeles
- Age: 54
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
Always grateful for any additional add-ons to C64 library,
especially a decent game like Castle of Doom Text Adventure.
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!
'cause the Commodore is Keeping Up with You!
-
- 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)
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.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.
- mikeebean
- Trollie Wallie
- Posts: 337
- Joined: Sat Apr 21, 2007 6:23 pm
- Contact:
Re: Castle of Doom Text Adventure (ZX Spectrum to C64 conversion)
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.
-
- 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)
Definitely the Aldridge one, I read about it in Classic Adventurer Magazine #4.
Who is online
Users browsing this forum: No registered users and 1 guest