You can finish the game without finding all the tools
Opened this issue · 0 comments
When you get a vision of which tool Marvin will ask for at the final puzzle, the game tries to pick one that isn't aboard the Heart of Gold. I say "tries", because there is no guarantee that it will succeed. See FRUIT-F
:
<GLOBAL TOOL-LIST
<PLTABLE
SCREWDRIVER
WRENCH
CHISEL
AWL
PLIERS
TWEEZERS
PINCER
RASP
CHIPPER
TOOTHBRUSH>>
(<VERB? EAT>
<REPEAT ()
<SETG TOOL-REQUIRED <PICK-ONE ,TOOL-LIST>>
<SET X <+ .X 1>>
<COND (<OR <NOT <IN-HEART? ,TOOL-REQUIRED>>
<G? .X 50>>
<RETURN>)>>
So there are ten tools, and it makes 50 attempts at picking one at random to find one that's not aboard the ship. If I have my probabilities straight, if you have nine of the tools there's a (9/10)^50 ~= 0.5% chance that it won't pick the missing tool.
Some games use a more elaborate random picker (see PICK-ONE
in zork-subtrate) that I think guarantees that it will pick all the available elements once before it starts repeating itself. (Note that this version requires there to be an extra element at the start of the table.)
But I'm not suggesting that this should be changed, because... well, I kind of like it that the game has this tiny chance of being merciful. However, when RAMP-F
prints the final text of the game it assumes that you picked up the toothbrush at the start of the game. And now it turns out that this isn't necessarily the case.
So perhaps, just as an obscure Easter egg, it should check if TOOTHBRUSH
has TOUCHBIT
or not?