Archive for the ‘fun-house-morgan’ Tag

Fun House: Science With Mr. Morgan   9 comments

Rather like how things went with Scott Morgan’s Haunted House, I only had one puzzle left to go, the pit of acid. My previous post is needed for context.

I admit I simply had to pull open the source to figure this one out. I had tried the right object out, but the game needs a very very specific phrasing, and it makes me wonder where the author was getting his science knowledge from.

Here’s the basic gameplay loop section; after an action happens, most of the time the game does the command GOTO 410:

410 CALL CLEAR
420 IF W$=”N” OR W$=”S” OR W$=”E” OR W$=”W” OR W$=”D” OR W$=”U” OR W$=”O” OR SEG$(W$,1,2)=”GO” THEN CALL WALK
430 IF M$”” THEN DISPLAY AT(17,1):M$ ELSE M$=”OK” :: GOTO 430
440 DISPLAY AT(1,1):”LOCATION:”;L$(LOC)
450 DISPLAY AT(3,1):”YOU SEE:”;

You might think the different directions call some kind of subroutine which then refers to a data chart where locations are cross-referenced (something like ROOM, 5, 6, 0, 0, 0, 0, where North goes to room 5 and South goes to room 6), but CALL WALK is simply a routine that adds sound effects to the player walking around.

1880 CALL SOUND(5,-3,5) :: CALL SOUND(30,-7,20) :: CALL SOUND(500,-7,30) :: N=N+1

There is a data line that gives directions to the various rooms…

1770 DATA U,DN,S,,N,D,UEW,W,E,SWE,SE,N,NSE,NWE,NE,SE,W,NWE,NW,SW,EW,SD,U,N,O

…but this doesn’t get referred to at all in order to move the player around, just in order to fill the top display under DIRECTIONS. Basically the author is cheating; a normal parser would interpret the data and display directions based on the data, but here he’s listing the exits out manually as a text string. How does the movement actually happen, you might then ask? Manually for every single room. Here’s some of the hedge maze:

1150 IF W$=”N” AND LOC=15 THEN LOC=16 :: GOTO 410
1160 IF W$=”E” AND LOC=15 THEN LOC=14 :: GOTO 410
1170 IF W$=”S” AND LOC=16 THEN LOC=15 :: GOTO 410
1180 IF W$=”E” AND LOC=16 THEN LOC=17 :: GOTO 410
1190 IF W$=”W” AND LOC=17 THEN LOC=16 :: GOTO 410
1200 IF W$=”E” AND LOC=18 THEN LOC=19 :: GOTO 410
1210 IF W$=”W” AND LOC=18 THEN LOC=14 :: GOTO 410
1220 IF W$=”N” AND LOC=18 THEN LOC=22 :: GOTO 410

No other commands are understood, which is why the game is so unresponsive to bad commands.

This does have the odd side-effect of making the mirror room that required a scream being given more synonyms than typical…

730 IF W$=”SCREAM” OR W$=”SHOUT” OR W$=”HOWL” OR W$=”SCREECH” OR W$=”HOLLER” OR W$=”SING” OR W$=”YODEL” THEN 740 ELSE 750

…(that is, pitching an extra OR W$=”VERB” in the line is easy, adding cross-referenced verbs as data is hard) but generally speaking, everything is worse as you can’t tell from the game if a verb is wrong, a noun is wrong, an action is impossible, or the author just happened to fishing for a different phrasing of a command.

Now, here’s the whole section starting with the card-in-sewer leading up to the acid pit:

1320 IF W$=”LOOK SEWER” AND LOC=23 THEN M$=”YOU SEE A CARD.” :: GOTO 410
1330 IF W$=”TAKE CARD” AND LOC=23 AND O(17)=-1 THEN M$=”I CANNOT REACH THE CARD,WITH WHAT?” :: GOTO 410
1340 IF W$=”STICK GUM” AND LOC=23 THEN M$=”TO WHAT?” :: GOTO 410
1350 IF W$=”TO STICK” AND LOC=23 AND O(13)=0 THEN OT=1 :: GOTO 410
1360 IF W$=”WITH STICK” AND LOC=23 AND OT=1 AND O(17)=-1 THEN O(17)=0 :: M$=”I HAVE MANAGED TO GET IT!” :: GOTO 410
1370 IF W$=”LOOK DOOR” AND LOC=23 THEN M$=”IT READS:’EXIT'” :: GOTO 410
1380 IF W$=”GO DOOR” AND LOC=23 AND OPN=0 THEN M$=”CAN’T, IT’S CLOSED.” :: GOTO 410
1390 IF W$=”PUT CARD” AND LOC=23 AND O(17)=0 THEN M$=”INTO WHAT?” :: GOTO 410
1400 IF W$=”INTO SLOT” AND LOC=23 AND O(17)=0 THEN OPN=1 :: M$=”DOOR OPENS.” :: GOTO 410
1410 IF W$=”GO DOOR” AND LOC=23 AND OPN=1 THEN LOC=24 :: GOTO 410
1420 IF W$=”U” AND LOC=23 THEN LOC=22 :: GOTO 410
1430 IF W$=”N” AND LOC=24 THEN LOC=23 :: GOTO 410
1440 IF W$=”GO PIT” AND UN=0 AND LOC=24 THEN M$=”YOU WANT TO LIVE!” :: GOTO 410
1450 IF W$=”NEUTRALIZE ACID” AND LOC=24 AND UN=0 THEN M$=”WITH WHAT?” :: GOTO 410
1460 IF W$=”WITH LICHENS” AND LOC=24 AND UN=0 THEN O$(19)=”WATER PIT” :: UN=1 :: M$=”ACID TURNS TO WATER!” :: GOTO 410

The way through is to NEUTRALIZE ACID, and then say WITH LICHENS when the game asks. I did try THROW LICHENS (even before writing my last post) but that’s because I thought it’d have some interesting side effect, not that it would turn the substance into water somehow.

Anyone have an idea what he’s thinking of here? Some searching led to papers where the acid from lichen was removed via some process, but that’s the exact opposite of using lichen to remove external acid.

The source is a grand total of 219 lines, most of the sort shown above. The author seemed to be more concerned with utilizing the speaker of the TI-99/4A than consistent parser and world modeling.

2010 SUB CAROUSEL
2020 FOR A=1 TO 10 :: L=-99 :: CALL SOUND(L,523,0) :: CALL SOUND(L,659,0) :: CALL SOUND(L,659,0) :: CALL SOUND(L,523,0)
2030 CALL SOUND(L,440,0) :: CALL SOUND(L,440,0)
2040 NEXT A

We’re nearing the end of the trail with the TIVentures as this game says to play Stone Age, meaning we have finally learned what the full sequence is!

007 Aqua Base, Haunted House, Miner 49’er, In Search of the Four Vedas, Fun House, Stone Age

Coming up next: Stone Age, which hopefully will not recommend Aqua Base and put us into an infinite loop.

Posted April 8, 2025 by Jason Dyer in Interactive Fiction, Video Games

Tagged with

Fun House (Morgan, 1982)   6 comments

This marks the fifth game I’ve played by Scott Morgan, who had all of his work published by American Software Design and Distribution (ASD&D) as run by Thomas Johnson. (Previously: 007: Aqua Base, Haunted House, Miner 49er, In Search of the Four Vedas.)

I haven’t unearthed much more on ASD&D than last time: they were short lived, mostly focused on Texas Instruments, and their downfall matched that of the TI-99/4A getting taken down by Commodore. Their game Entrapment was slated to be released by Texas Instruments themselves in July and even was shown off at the Chicago Consumer Electronics Show but it never made it out under that label, because Texas Instruments dropped support for their personal computer line first.

One other tidbit, though: ASD&D’s most successful game was Wizard’s Dominion, and that happened to be advertised for both the TI-99/4A and the Commodore 64. For a while it was thought the Commodore version may have never existed, until one was unearthed in Europe. The game somehow ended up with the Swedish reseller Computer Boss International.

This doesn’t have much to do with Fun House other than indicating that a random software house out of Cottage Grove, Minnesota (population in 1980, roughly 19,000) can still have some international reach. (Well, maybe a little bit of the “thought to be lost” part. I had the Fun House listed as lost until LanHawk found a copy in a file helpfully entitled SINGLEFILE.dsk.)

Fun House has a perfectly normal opening where you start, with no context, in a pit with only chewing gum in your inventory. The pit also has a plastic bucket. When you climb out, there’s a clown there, and if you try to walk past the clown, it pushes you back into the pit. You need to find the shaver from the plastic bucket and shave the clown, whereupon it will become your friend.

No, really:

Past that is a slide with some matches to scoop up, with a room of mirrors on the bottom.

From here the game was highly resistant to essentially everything, so I thought it was time to check the manual. It gives a fairly normal list of sample verbs (UNLOCK, BREAK, KILL, PUSH, PULL, EAT, DIG, TIE) but also an explicit hint:

Scream and yell if you will,
when the mirrors make you nil.

SCREAM, then?

This opens the way to a carousel, a scene I don’t fully understand.

The carousel is first stopped; pushing a button gets a message about how IT TURNS, STOPS, AND TURNS AGAIN. Getting on the carousel (RIDE CAROUSEL, not GO CAROUSEL) gets a curious message:

IT TURNS, SHOVES YOU OFF, AND DISAPPEARS.

Leading to another ROOM with some MOVING STAIRS. Trying to climb the stairs gets the response that

YOU FALL TO THE LEFT, AND TO THE RIGHT, AND YOU DISCOVER THAT YOU CAN’T MAKE IT.

Typing LOOK UP shows “YOU SEE SOMETHING VERY USEFUL” and a rope hanging. While I’ve had this command occur enough times I will sometimes test it out of reflex, the reason this occurred to me here was the Scott Adams game Mystery Fun House, which has a similar situation; a merry-go-round has “hemp” falling on your head, and you can LOOK CEILING in order to see a rope. (There’s a moment you’ll see later also taken from Mystery Fun House, so it is clear Morgan had that game in mind.)

The rope doesn’t let you climb, so working my way through the logical choices I found SWING.

This leads to a new small area of three rooms.

At the landing dark room with some LICHEN you can take, there’s an exit leading up, but this is still the spinning stairs and it just knocks you off. My guess is that the path is one-way and not a puzzle you’re intended to solve, but the interesting aspect is once you knock your head, the border of the game goes permanently red.

To the east there’s a vat of water; to the west there’s a fire.

Getting through the fire is a matter of simply re-using the plastic bucket and splashing the fire with water. (Simple when finding the right parser combination. THROW WATER or EMPTY BUCKET or POUR BUCKET don’t work, you need to POUR WATER.)

Past the fire is a hedge maze.

The hedge maze has a stick you can pick up just out in the open, and a “green slime” blocking one of the exits. You can just go around a different way so I’m unclear if the green slime is meant to be a minor plot moment or some kind of puzzle.

The end of the maze has a “room” with a “closed sewer”, a “slot” and a closed door. The sewer has a card but it is out of reach.

This is the other Mystery Fun House moment. You have the gum from the start, and just obtained a stick. You can put the gum on the stick in order to extract the card (STICK GUM / TO STICK / TAKE CARD / WITH STICK — TAKE prompts you with what, which the game normally doesn’t do, so you just have to trust the command is overloaded with a special variant.) The card then goes in the slot, opening the way to a vat with acid.

I have yet to be able to do anything with the acid. FILL BUCKET just has the game respond “WHAT?” The game doesn’t even allow GO PIT:

YOU WANT TO LIVE!

I’ve gotten lucky so far, but the parser has been fairly hyper-specific so it’s going to be harder to run across a command if I’m not sure it’s the command I should be using in the first place.

Posted April 7, 2025 by Jason Dyer in Interactive Fiction, Video Games

Tagged with