Castlequest: 1980 text adventure recovered

Windows 7, but I’ve compiled it now using the patches branch. (The patches branch wasn’t there when I first looked two days ago.) It now works fine. I hadn’t read to the end of the thread and didn’t realise that @DavidK had already compiled it, so I did it independently. I did, however, use David’s asa thingy. That also works, but if you press Enter without entering anything, the window closes. That’s a bit of a pain, so I’ll play without that.

1 Like

I don’t know about the game, of course, but in the original Dracula the first protagonist is actually staying at Dracula’s castle when he discovers that the count is a vampire.

1 Like

When I enter an empty line the game should print something like “I didn’t get that!” but I get this error instead:

  You are in a large, tarnished brass bed in an old, musty bedroom.
  cobwebs hang from the ceiling.  A few rays of light filter through
  the shutters.  There is a nightstand nearby with a single wooden
  drawer.  The door west creaks in the breeze.  A macabre portrait
  hangs to the left of an empty fireplace.

  The shutters are closed.

  There is a silver bullet here.

At line 58 of file fread.f (unit = 5, file = 'stdin')
Fortran runtime error: Illegal seek

Error termination. Backtrace:
#0  0xffffffffffffffff in ???
#1  0xffffffffffffffff in ???
#2  0xffffffffffffffff in ???
#3  0xffffffffffffffff in ???
#4  0xffffffffffffffff in ???
#5  0xffffffffffffffff in ???
#6  0xffffffffffffffff in ???
#7  0xffffffffffffffff in ???
#8  0xffffffffffffffff in ???
#9  0xffffffffffffffff in ???
#10  0xffffffffffffffff in ???

Anybody else have this problem?
(I’m on a compilation of the asa-branch from today done with gfortran on CygWin).

1 Like

I’m on Windows 7 compiled with gfortran from the patches branch. I don’t get the backtrace. It just closes the window. (So it wasn’t asa causing the problem, after all.)

Ok. I will make a ticket on the project.

Has anyone confirmed that the game in its current form is winnable?

I’m going through it, documenting as I go.

Not yet, but I plan to do so soon. It looks like others are playing it. While looking at the source code and data files, I have noticed a lot of similarities with Crowther & Woods’ Adventure, e.g. no examine command, treasure hunt, maze, protagonists, method of scoring, limitation on playing times, warehouse at the end, ‘last lousy point’ and so on. I get a feeling that if you’ve played Adventure, you may have a head start on this one.

It looks like the source code has been updated again, so it’s probably best to get the latest version and recompile, as there was a known bug with the werewolf.

The lack of an examine command is proving really irritating. It also seems like I’m playing guess-the-verb a lot, however, I’m not sure if it’s really that or a bug that mangles the processing of the verbs I want.

1 Like

I’m certainly using the verb THROW a lot…and I find the concept of TAKE HUNCHBACK to make the hunchback start following you a bit strange.

1 Like

I’m not as far into it as you, as I haven’t encountered the hunchback yet, but there are certainly some strange ways of doing things. For example, you can’t give things to the butler, you have to drop them. You can’t get the note from the butler or the book in the library, but you can still interact with them. You can’t get in the rowboat, but you can carry it around with you and cross moat while you’re carrying it. You have to go up to fall through a trap door (and this is random). I’ve also struck a few bugs, which I guess I should note and raise on GitHub.

I’m quite enjoying the game, but I will fix all the bugs, spelling errors and illogical issues in my Inform 6 port to make it a more professional looking game. This means it won’t be a faithful port, but an enhanced version with EXAMINE, expanded vocabulary, proper doors and containers and so on. I’m only doing this for fun and wouldn’t have published it, but as there’s so much interest, I might publish it (assuming I get that far).

I’m not sure about the legalities with copyright and so on. My understanding is that a port to a new programming language is not covered by the original copyright, as it’s a new work, in the same way that a translation to a different spoken language is not covered by the original copyright. I’ll certainly give credit to the original authors, but it would be nice to get their blessing beforehand.

Translations of books etc. are covered by copyright - you’ll definitely get in trouble if you try selling your own translation of a French or German novel without permission. For software, as I understand, the functionality of a program (as opposed to the actual code) can’t be copyrighted, but that’s not really the issue here, since the nature of text adventures is that the text displayed to the user is as important as the code itself. The best way forward might be to find out if Arthur O’Dwyer is still in touch with the author. If so, he might be able to help you secure the necessary permission.

Yes, that’s what I was thinking. I need to finish it first - both playing and coding - and it just happened to come up during a very busy period.

From a programming standpoint, I guess it’s not random:

C     ...TRAP DOOR...
      IF (ROOM .NE. 2 .OR. LROOM .NE. 3) GOTO 613
      IF (ITEMS(4) .NE. -1) GOTO 103
           ROOM = 16
           LROOM= 0
           WRITE(6,1043)
           GOTO 103

If I read this correctly, if you move from room 3 (the parlor) to room 2 (the dim corridor), and you are carrying item 4 (the skeleton key), you will instead move to room 16 (dark E/W passage) and message 1043 (“You have fallen through a trap door and find…”) is printed. I think setting LROOM to 0 simply means that the “BACK” command won’t work afterwards.

On second thought, this does seem pretty random! :stuck_out_tongue:

1 Like

Your spoilered stuff was my presumption from playing it, but I hadn’t checked my hypothesis or checked the code. This raises the question, how do you get the key to the locked door? (Don’t tell me. I’ll try to work it out for myself first.)

I thought the illogical aspect was that you go up in order to fall down through a trap door. Maybe it just needs a better response when this happens.

There are a number of conditional exits that seem illogical when playing it, so I’ll have to check the code to see exactly what the conditions are. The mirror room is a good example. I think that one is random.

I just struck one bug whereby you can get the rope from beneath the window, even though it’s tied to the bed, then you’re trapped and can’t get back again, thus making the game unwinnable.

There are also things a bit underexplained - Why do things dropped in the Mirror Maze dissappears and end up in the Upstairs Hallway?

I also fail to visualise the floorplan where the dark passage behind the mirror leads down to the Library and the secret passage from the Library also is down back.

An original bug is also that if you shoot the hunchback, there is no message but the hunchback and the silver bullet is gone forever. Probably making the game unwinnable.

2 Likes

I found my way past the locked door. So, the mirror maze was random, but in a selective way.

Regarding your spoilered questions:

  1. I think this is to prevent you mapping it. Even though it’s only one room, you may not realise that at first.
  2. No explanation for this one.
  3. If you did that, it may not be unwinnable, but you’d certainly have to be very lucky not to get killed by that bloody werewolf. FWIW, the werewolf can kill you even if you’ve got the appropriate weapon. I think it should allow you at least one move to kill it. It’s unfair otherwise.

Regarding 1 - I understand that it is to make mapping the maze harder, but a message that explains it would be nice. Like “The xxx falls through a crack in the floor” or “The gupsy woman scurries through the rooom and picks up the xxx”.

3 Likes

Does anyone have a problem with the maze of winding passages in this game? Apart from the fact that everyone hates mazes, this one is completely illogical and has no redeeming features whatsoever. The long room descriptions have two pairs of rooms with identical descriptions, the long descriptions don’t match the short descriptions and the dead end isn’t a dead end at all.

For example, when you enter the first room in the maze, you’re told that “You’re in a long and winding maze of passages.”, but when you type LOOK, you’re told “You’re in a maze of short and winding passages.” This is inconsistent. Are they short or are they long or is this an intentional ploy to make them even more confusing than they already are?

1 Like

Did you solve the maze?

Looking at the code there is only one room in the maze (room 27)

C     ...MIRROR ROOM...
      IF (LROOM .NE. 27) GOTO 619
           IF (RDM(SEED) .LT. 0.20) GOTO 618
           ROOM = 27
           LROOM= 27
           PREV(ROOM) = 1
           GOTO 20
  618 ROOM = WHER(IFIX(RDM(SEED)*9+1))
      GOTO 103

As I read it there are a 20% chance that you exits to one of the exits in the WHER-array (intially filled with room 9, 15 & 28 - Upstairs Hallway, Budoir & L-shaped Corridor). When you do this:

      IF (MASTER .EQ. 0) GOTO 201
      IF (MASTER .EQ. 4 .OR. ROOM .NE. 43) GOTO 740
      IF (ITEMS( 6) .NE.  -1) GOTO 250
           WRITE(6,1087)
           MASTER = 4
           ITEMS( 6) = 0
           NUMB = NUMB - 1
           SCORE=SCORE+25
           DO 252 II=1,10
                WHER(II) = 2
  252      CONTINUE

The WHER-array are filled with exits to room 2 (Dim Corridor), so there will be a 20% chance to exit to outside the locked door.