Sphinx Adventure

discuss classic text/graphic adventures for the bbc micro & electron
joachim
Posts: 229
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Sphinx Adventure

Post by joachim »

enh wrote:
Sun Oct 24, 2021 9:37 pm
The "DAVE KNEW" change is especially unfortunate, since it breaks the "kneel and wave" anagram (_and_ introduces a typo).
But the rest of the anagram hasn't gone completely: I can't think of any explanation for this room description change

Code: Select all

on the yellow brick road. Well I think it was yellow once upon a time but it has got rather muddy now. -> on Wide LANE
other than that it was intended to be the missing "W LANE" for the anagram. Seems hopelessly obscure, but I would argue that it at least shows the author's intention to keep the anagram.

By the way, to be pedantic the anagram makes not "kneel and wave" but "kneel; wave wand".
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

joachim wrote:
Mon Oct 25, 2021 2:00 am
enh wrote:
Sun Oct 24, 2021 9:37 pm
The "DAVE KNEW" change is especially unfortunate, since it breaks the "kneel and wave" anagram (_and_ introduces a typo).
But the rest of the anagram hasn't gone completely: I can't think of any explanation for this room description change

Code: Select all

on the yellow brick road. Well I think it was yellow once upon a time but it has got rather muddy now. -> on Wide LANE
other than that it was intended to be the missing "W LANE" for the anagram. Seems hopelessly obscure, but I would argue that it at least shows the author's intention to keep the anagram.
Oh, that makes a lot more sense! That "W LANE" change did stand out as odd, but I'm obviously not good enough at adventure games because it didn't occur to me that it might actually be meaningful :-)
By the way, to be pedantic the anagram makes not "kneel and wave" but "kneel; wave wand".
Good point, I'll fix that in my doc. Thanks!
fuzzel
Posts: 876
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Sphinx Adventure

Post by fuzzel »

lurkio wrote:
Indeed! The swingeing cuts to the text seem all the more surprising when you consider that they might not have been needed after all: there might have been a way to get a larger version of Sphinx to run on an Electron without having to cut or alter any text whatsoever -- or at least that seems to have been the promise of the odd little program that was printed in the June 1985 issue of Acorn User, which claimed to be able to run what I guess was a BBC Micro version of Sphinx on an Electron by squeezing the game into a small user-defined text window. It sounds intriguing but I haven't been able to get it to work. For one thing, I don't know which version of Sphinx you're supposed to use it on...

:?:
Here's the article and program from the June 1985 Acorn User in case anyone wants to give it a go. I suppose from the release dates of the three versions of Sphinx we could rule out v2 and/or v3?
Acorn User Jun85 Electron Sphinx.png
User avatar
lurkio
Posts: 3946
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Sphinx Adventure

Post by lurkio »

fuzzel wrote:
Tue Oct 26, 2021 11:42 am
Here's the article and program from the June 1985 Acorn User in case anyone wants to give it a go. I suppose from the release dates of the three versions of Sphinx we could rule out v2
But v2 was released in 1984 as far as I can tell.

:idea:

EDIT: Got it working, using a tweaked form of the Acorn User listing:

Code: Select all

   60 MODE 6
   70 N%=8:REM Number of lines in the window
   80 VDU 28,0,24,39,25-N%
   90 HIMEM=&6000+(25-N%)*320
  100 PAGE=&B00:OSCLI"TAPE":CHAIN"SPHINX2"
Here's a tape-image containing a version of the BASIC program SPHINX2 from Sphinx v2 for the BBC Micro, with the MODE7 line removed [EDIT: but note that I haven’t shifted any Page &C memory-usage down to Page &A as the article recommends, so the game probably won’t work properly!]:

SphinxV2-sphinx2.uef
(22.9 KiB) Downloaded 6 times

Screenshot of the tweaked BBC Micro version of Sphinx v2 running in Elkulator:

Screenshot 2021-10-26 at 13.51.09.png

I think that what you can see there is (i) the end of the BASIC heap at the top of the screen and (ii) the BASIC stack, lower down the screen, just above the game text window.

:idea:
Last edited by lurkio on Wed Oct 27, 2021 12:30 pm, edited 2 times in total.
fuzzel
Posts: 876
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Sphinx Adventure

Post by fuzzel »

Talk about adding to the excitement. That blank area will slowly fill up as the game heads inexorably towards the dreaded "No room" message.
Btw, does anyone remember a sort of unofficial competition in one of the magazines where people wrote in claiming to have solved Sphinx in the fewest number of moves? I was convinced I'd seen them over several issues in The Micro User but I've been looking through them and I guess I must be mistaken. Or maybe I read them somewhere else or I dreamt the whole thing up. The memory does play tricks sometimes.
joachim
Posts: 229
Joined: Wed Jun 21, 2006 2:20 am
Location: Germany
Contact:

Re: Sphinx Adventure

Post by joachim »

fuzzel wrote:
Tue Oct 26, 2021 7:03 pm
Btw, does anyone remember a sort of unofficial competition in one of the magazines where people wrote in claiming to have solved Sphinx in the fewest number of moves?
I found such a discussion in Pendragon's column (Electron User) yesterday, which seemed to imply that it had been an ongoing correspondence: https://archive.org/details/ElectronUse ... 9/mode/2up
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

joachim wrote:
Wed Oct 27, 2021 2:06 am
fuzzel wrote:
Tue Oct 26, 2021 7:03 pm
Btw, does anyone remember a sort of unofficial competition in one of the magazines where people wrote in claiming to have solved Sphinx in the fewest number of moves?
I found such a discussion in Pendragon's column (Electron User) yesterday, which seemed to imply that it had been an ongoing correspondence: https://archive.org/details/ElectronUse ... 9/mode/2up
i assume the clerics were flogged once again... running that solution through my C Sphinx Adventure in walkthrough mode (where your lamp doesn't run out and you're invincible, so you don't need to rub lamp or throw axe or throw sword, and a whole game takes milliseconds) shows that you end up lost in the desert with this solution as well as the previous one they'd published /facepalm

should anyone care, there's a missing "south" (shown here in capitals) in the "..., North, *SOUTH*, East, West, East. South, North, kneel..." at the end.

here's the full corrected solution:

Code: Select all

n
n
in
take lamp
out
s
take bottle
e
e
d
light lamp
s
w
s
take sword
down
take food
w
take water
s
throw sword
take sword
s
take wand
n
e
throw water
e
wave wand
cross bridge
e
take books
up
w
n
e
s
s
feed crocodile
e
s
s
up
wave wand
rub ring
n
e
e
cross bridge
e
s
s
pay troll
cross bridge
w
s
n
e
e
throw sword
up
e
s
kill dragon
yes
take teeth
n
w
down
n
e
n
down
wave wand
cross bridge
w
w
throw teeth
w
n
e
n
s
e
w
e
s
n
s
e
w
e
s
n
s
e
w
e
s
n
kneel
wave wand
that gets me 230/800 in 101 turns.

the earlier solution referenced in that Electron User article is here: https://archive.org/details/ElectronUse ... 1/mode/2up

the error in that solution is again in the desert. this time there's an "east, east" that should be "south, east" instead. here's the corrected version:

Code: Select all

n
get bottle
n
in
get keys
get lamp
out
s
e
e
d
light lamp
s
get carrot
w
w
get wand
e
s
get sword
d
get food
w
fill bottle
e
n
throw water
e
wave wand
cross bridge
get rug
n
feed rabbit
carrot
e
n
e
s
s
feed crocodile
e
s
s
u
wave wand
d
n
n
w
w
n
n
w
s
w
s
e
s
s
pay troll
cross bridge
w
s
n
e
e
u
e
s
kill dragon
yes
get teeth
n
w
d
kill ogre
no
sword
n
e
n
d
wave wand
cross bridge
n
w
w
throw teeth
w
n
e
n
s
e
w
e
s
n
s
e
w
e
s
n
s
e
w
e
s
n
kneel
wave wand
that gets me 230/800 in 108 turns.

the solution/walkthrough that's on the web (http://www.solutionarchive.com/file/id%2C20885/) that was already mentioned in this thread gets me 710/800 in 367 turns. note though that that's on my C Sphinx (as are all the other numbers here), so it's possible the issue is with my scoring rather than with the solution. if anyone has a 800 points solution or a link to one, i'd be interested to see it! (or indeed any other solution. i plan on including all of these in my "collector's edition" zip file :-) )
User avatar
lurkio
Posts: 3946
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Sphinx Adventure

Post by lurkio »

enh wrote:
Sat Oct 30, 2021 5:37 am
the solution/walkthrough that's on the web (http://www.solutionarchive.com/file/id%2C20885/) that was already mentioned in this thread gets me 710/800 in 367 turns. note though that that's on my C Sphinx (as are all the other numbers here), so it's possible the issue is with my scoring rather than with the solution. if anyone has a 800 points solution or a link to one, i'd be interested to see it!
That solution was intended to get you a full score in v1 and v2 running on a real Beeb or in an emulator.

I can’t remember what the scoring system in Sphinx is exactly, but if it doesn’t deduct points for reasons unrelated to treasure then that solution should get you a full score because it tells you how to take all the treasures to the Sphinx (albeit not necessarily in the fewest possible turns).

:idea:

EDIT: Found an old Mac BeebEm savestate from when I was testing the walkthrough (I think!):

23.uef
(176.89 KiB) Downloaded 2 times

Screenshot 2021-10-30 at 11.41.43.png
fuzzel
Posts: 876
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Sphinx Adventure

Post by fuzzel »

lurkio wrote:
Sat Oct 30, 2021 8:56 am
enh wrote:
Sat Oct 30, 2021 5:37 am
the solution/walkthrough that's on the web (http://www.solutionarchive.com/file/id%2C20885/) that was already mentioned in this thread gets me 710/800 in 367 turns. note though that that's on my C Sphinx (as are all the other numbers here), so it's possible the issue is with my scoring rather than with the solution. if anyone has a 800 points solution or a link to one, i'd be interested to see it!
That solution was intended to get you a full score in v1 and v2 running on a real Beeb or in an emulator.

I can’t remember what the scoring system in Sphinx is exactly, but if it doesn’t deduct points for reasons unrelated to treasure then that solution should get you a full score because it tells you how to take all the treasures to the Sphinx (albeit not necessarily in the fewest possible turns).

:idea:

EDIT: Found an old Mac BeebEm savestate from when I was testing the walkthrough (I think!):


23.uef



Screenshot 2021-10-30 at 11.41.43.png
Intriguing. Of course we *have* to find a solution which attains the maximum score of 800. I've just dug out my solution to Sphinx from bitd and rather frustratingly I've written down my score of 800/800 but not written out a full walkthrough which I did do for Philosopher's Quest, Castle of Riddles and Countdown to Doom. Of course I have no idea which version I was playing but I must have been a complete masochist if I'd persevered with it to the end without a save game facility. Perhaps it was the random elements in the game which dissuaded me from producing one. Anyway, I like a challenge so using my very neat map I intend to give it a go for the very good reason that I have no recollection of playing it at all (except the first few locations) so it'll be like playing a brand new game (I distinctly remember playing the other three Acornsoft games mentioned above). Maybe as I work my way through it my memory will be jogged.
fuzzel
Posts: 876
Joined: Sun Jan 02, 2005 1:16 pm
Location: Cullercoats, North Tyneside
Contact:

Re: Sphinx Adventure

Post by fuzzel »

Here's a two page article from Merlin's Cave in Electron User January 1986. He mentions the maximum score of 800 can be broken down into 630 points for collecting the treasure and an extra 170 points for depositing them at the Sphinx.
ElUser-Sphinx1.png
ElUser-Sphinx2.png
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

lurkio wrote:
Sat Oct 30, 2021 8:56 am
That solution was intended to get you a full score in v1 and v2 running on a real Beeb or in an emulator.

I can’t remember what the scoring system in Sphinx is exactly, but if it doesn’t deduct points for reasons unrelated to treasure then that solution should get you a full score because it tells you how to take all the treasures to the Sphinx (albeit not necessarily in the fewest possible turns).
thanks! that claim was enough to convince me to add some debugging to see what i was missing at the end. because, yeah, the PROCS() scoring code is basically "30 points for each of: sapphires, diamond, gold, silver, platinum, rubies, emerald, pearls, coins, opals, books, spices, sceptre, cushion, rug, ring, bottle, water, carrot, bracelet, amethyst, crown, boat; an extra 170 for having finished; but you lose 100 points for every reincarnation". interestingly that gives a maximum of 860 points, but i don't think it's actually possible to get into that state (you can't have water _and_ bottle, for example). i will note that if you're trying to get the minimum-move maximum-score walkthrough you don't actually have to drop items at the end --- you're scored whether they're at that location or in your inventory.

anyway, yeah, i had a bug with matches (i've replaced all the magic numbers with names in my code, and accidentally mixed up "mouse" and "matches", which meant i ended without the crown) and another bug where i'd mixed up rubies and coins (ruining both). those were my three missing objects for the maximum score in the "web walkthrough". i'm at 800 now (with fewer moves than your saved game because in walkthrough mode you don't have to waste moves fighting dwarves, rubbing lamps, or scaring pirates).
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

fuzzel wrote:
Sat Oct 30, 2021 12:31 pm
Perhaps it was the random elements in the game which dissuaded me from producing one.
yeah, that's tricky for me with my "walkthrough mode" in my C version --- i couldn't decide whether to have an option to let you seed the random number generator so you can keep the randomness but reproduce it for any given run, or just do what i've currently done and disable the problematic elements.

thinking about it, there's nothing in the original BASIC2 version to seed the random number generator based on TIME or whatever, so presumably for anyone actually playing the game back in the day it wasn't _very_ random... actually, no, it was probably fine because RND gets called a few times for every turn so although a _walkthrough_ could be predictable, any given game probably wouldn't be just because you're human.

maybe rather than using the C random number generator i should reimplement the BASIC2 one. it's only a few lines of code...
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

fuzzel wrote:
Sat Oct 30, 2021 1:31 pm
Here's a two page article from Merlin's Cave in Electron User January 1986. He mentions the maximum score of 800 can be broken down into 630 points for collecting the treasure and an extra 170 points for depositing them at the Sphinx.
his claim of "honesty" (immediately followed by an admission that he'd looked at the source enough to disable the dwarves) interests me. he's right about the "scoring theoretically allows 860, but you can't actually get it" --- the boat and the water being the two that i don't think it's possible to finish with. i assume it just wasn't worth PMF's time (or the computer's limited memory) to exclude them.

as someone who's only ever played Sphinx (and not very well) and one graphical adventure that i don't really remember other watching while the graphics drew and being impressed that such a thing was even possible, it seems to me like there's no "honest" way to solve the desert? it's not like the different locations have subtly different messages or something so you can tell them apart... or is there another trick to solving mazes like that?
User avatar
lurkio
Posts: 3946
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Sphinx Adventure

Post by lurkio »

enh wrote:
Sat Oct 30, 2021 6:48 pm
it seems to me like there's no "honest" way to solve the desert? it's not like the different locations have subtly different messages or something so you can tell them apart... or is there another trick to solving mazes like that?
The traditional method is to drop a different object in each location in the maze. It can be laborious...

See also:

https://www.mocagh.org/loadpage.php?que ... +gamer%27s

:idea:
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

lurkio wrote:
Sat Oct 30, 2021 7:17 pm
enh wrote:
Sat Oct 30, 2021 6:48 pm
it seems to me like there's no "honest" way to solve the desert? it's not like the different locations have subtly different messages or something so you can tell them apart... or is there another trick to solving mazes like that?
The traditional method is to drop a different object in each location in the maze. It can be laborious...
heh, my immediate thought was "doesn't the carrying capacity limit cause trouble?", but...
...that link answers that nicely :-)

thanks!
enh
Posts: 13
Joined: Fri Oct 08, 2021 1:56 am
Contact:

Re: Sphinx Adventure

Post by enh »

missing message, or superfluous code?

this makes sense:

Code: Select all

412 IF W2=52 AND O?50=1 THEN PROCR(40):O?52=1:O?50=0:ENDPROC ELSE IF W2=52 THEN PROCR(28):ENDPROC
it's basically

Code: Select all

  if (W2 == noun_mouse && have(noun_stilton)) {
    PROCR(40); // "The mouse eats the stilton and allows itself to be caught."
    O[noun_mouse] = 1;
    O[noun_stilton] = 0;
  } else if (W2 == noun_mouse) {
    PROCR(28); // "You have nothing it wants."
  }
this, however, leaves me scratching my head:

Code: Select all

404 IF W2=6 AND L=O?33 THEN PRINT FNS("The teeth become skeleton warriors and drive the goblins away.",40):O?33=0:O?6=0 ELSE IF L=O?41 AND W2=47 THEN PROCR(40):O?41=0:O?47=0
the ELSE there is basically

Code: Select all

  } else if (W2 == noun_crown && here(noun_crocodile)) {
    PROCR(40); // "The mouse eats the stilton and allows itself to be caught."
    O[noun_crocodile] = 0;
    O[noun_crown] = 0;
i wonder whether this was just a mistake, or there was originally an alternative to "feed crocodile" that would make the crocodile go away but take the crown with it (but not have the huge bird swoop down)? or am i missing something again?

(every time i find a bit of apparently dead code like this, i wonder how many bytes we actually need to shave off V2 to find on the Electron...)
Post Reply

Return to “8-bit acorn software: classic adventure games”