Tuesday, October 21, 2014

Adventure of the Week: Dungeon Adventure (1983, Steve Sherrard)

This week, we're looking at Dungeon Adventure, aka DUNGEON, written by Steve Sherrard for the TRS-80 Color Computer.  The name is admittedly generic, so much so that there was a second contest-entry game in the same 1983 Rainbow Book of Adventures collection with the same name!  The other Dungeon Adventure is an RPG I haven't been able to get running under Disk Extended Basic, but this one is a proper text adventure, with a D&D atmosphere about it.  We're supposed to be rescuing a princess, but have been thrown into the dungeon ourselves.

The engine isn't bad but it's a little buggy -- the parser has a tendency to get confused about object references with the LOOK command, and while it has a SAVE/LOAD feature, rare in these amateur efforts, and supports both disk and tape saving, the save content fails to retain some important flags.  This makes the restore operation largely useless without a little manual variable modification.

As usual, interested readers are encouraged to take a Dungeon Adventure before reading my notes below.  The game isn't difficult or lengthy, although there are a few unforeshadowed deaths and point-of-no-return challenges that required quite a few replays in my case.  At any rate, take care beyond this point, as there are certain to be...

***** SPOILERS AHEAD! *****


We begin in what seems to be a hopeless situation, in a dark pit with no obvious exits.  But INV discovers we've been left with a match and a candle, perhaps thanks to a lax security search, so we can LIGHT CANDLE and LOOK to reveal a stairway leading up.

When we GO STAIRWAY, we find ourselves in a long hall with exits to the south, east and west.  South just takes us back to the dark pit; heading east lets us pick up a sword at a turn in the hall, and there's a drunken guard at the guard post to the south, which is probably why we're free to wander around the dungeon.  We're not allowed to KILL GUARD, though, so we'll probably have to bribe him with some libation.

Heading back to the long hall and exploring to the west, we find a watch, which reveals only that TIME IS RUNNING OUT.  Continuing south through a small tunnel, we reach a round room where we find a bottle of whisky, which we'll probably want to give to the guard next time we see him.  But for now we'll continue exploring to the south, passing through a long corridor and eventually heading east into a foul-smelling room.

Venturing north into the miasma, we discover a room full of cobwebs occupied by a POISONOUS SPIDER.  Fortunately, we can easily KILL SPIDER -- and our sword crashes through the floor, revealing a cave entrance.  There's another sword here -- NOTHING SPECIAL ABOUT IT, though as the parser doesn't distinguish between the one we're carrying... oh, wait, this is our sword, which fell through the floor into the cave below.  Good to have it back, then.  Sometimes text isn't quite as clear as an illustration would be.

We can explore the cave to the east or west... a musty room to the east contains nothing interesting, though it leads south into a supply room with a hammer and exits to the east and west.  We have a five-item inventory limit, so I'll leave the hammer here for now.

East of the supply room is a jagged corridor that travels south into a low passage, with exits west and further south again.  To the south is a store room containing some rusty nails, probably for use with the hammer.  West is the EDGE OF A SMALL HOLE, leading down.  Should we go down there?  Might as well -- the hole contains a ladder, which we can take with us; we can climb U out of the hole without using the ladder, it seems.

Returning to the supply room, we explore to the west to find a descending passage heading south again, leading to a dead end where we can pick up a rope.  (This adventure's item list is nothing if not generic, so far!)

Backtracking to the cave entrance underneath the late spider's den, we explore west from this point to discover a large stone room with further exits south and west.  To the west we find the edge of a pit, and we'll postpone going down there for the moment.  South is a curving passage containing AN ISSUE OF RAINBOW MAGAZINE, and we can LOOK MAGAZINE to find "A REVIEW FOR DUNGEON BY STEVE SHERRARD."  Apparently this was meant as a commercial title at some point?  The reviewer seems filled with enthusiasm, sarcasm, or both: "I LOVE DIGGING HOLES IN DUNGEONS."   Probably a hint.

We'll continue south and west to AN OLD FOOD STORAGE ROOM where we can acquire a mousetrap.  We have to refer to it as a TRAP, not a MOUSETRAP, so we can LOOK TRAP to see an inscription: NEVER-MISS CO.

The dungeon isn't too hard to map out, as many pathways lead to a dead end with just a few forks in the path along the way.  The only direction we haven't checked out down in the cave at this point is the pit, but I'll bring the rope and the ladder along just in case we can't climb out.  We find a shovel in the pit, very handy, and we can test it out by trying to DIG HOLE here, though we don't find anything.

How do we get out of the pit, then?  I brought the ladder, but when I try to drop it and CLIMB LADDER, I HAVE NOTHING TO CLIMB.  Hmmmm.  LOOK LADDER indicates it sports writing reading "4.U.2. CLIMB," but this seems to be false advertising.  Ahhhh... we have to have the ladder in inventory in order to CLIMB LADDER.  This is not the way these devices usually work, but we're out of the pit at least, apparently using some sort of awkward pole vault maneuver to launch ourselves out of its depths while carrying the ladder.

I suspect we're going to need to DIG HOLE in the right place to make much further progress, so I'll spend a little time exploring and digging holes throughout the dungeon map now that we've covered the obvious ground.  But I don't find anything.  Hmmmm.

I guess it's time to GIVE WHISKY to the guard and see where that gets us.  His departure reveals a small passage, and we see a sharp knife here -- though if we try to GET KNIFE, we cut ourselves and bleed to death before we can take any sort of action to stop this from happening.  So we'll leave it alone on our next life.

Continuing past the GinsuKiri knife, we find ourselves in a jail cell with A CAVED IN HOLEDIG HOLE here clears the blockage, and we can enter a tight tunnel if we drop some items that are too large to fit through.  Unfortunately, it seems I should not have dropped the shovel, as the passage caves in behind us once we pass through it.

I might as well continue exploring for a bit before giving up, and I soon discover that our candle can burn out, leaving us in the dark where one wrong step is likely to mean death -- and even stopping to try to take INVentory leads to an accident of precisely this sort, so once the candle is out, we're pretty much done.

On my third life, I SAVE before entering the hole in the jail cell - the game conveniently supports either tape or disk saving -- and discover that the shovel is the thing that won't fit through the tight tunnel.  So we'll have to deal with the cave-in some other way, or simply accept there will be no turning back.

With only the candle in hand, because I don't know what else we might have needed to bring to this point, I explore south of the new cave-in to find a dead end with a lantern and a locked door.  The lantern might last longer than the candle, but of course I've left the matches behind as well, so we'll just have to go until our light source burns out (LIGHT LANTERN yields YOU CAN'T DO THAT YET, so the burning candle is apparently incapable of igniting the lantern.)

We can walk past the cave-in to the north, through a small hall to... a point where the candle again burns out completely, and again I die on the next move even if I stand stock still!  Apparently if we don't have the lantern at this specific location, we're simply doomed regardless of the number of turns we've gone through.  Perhaps there's a bad draft here.

Anyway, we'll LOAD and try again... except it turns out there's a bug of some kind afoot, because while I can still see the CAVE ENTRANCE and the STONE STAIRWAY, I am unable to GO to or through either one of them after a restore.  So I guess this feature doesn't quite work as advertised, and we'll have to start over from scratch anyway.

This time, I go into the jail cell tunnel with the matches, the candle, the rope, and the hammer, speculatively equipped with the items that seem most likely to come in handy.  As it turns out, we can't LIGHT LANTERN until the candle has gone out -- and then we had better do it immediately, or die from a bad fall.

With the lantern lit, we find ourselves in a windy passage now (that is why the candle went out!) with a map and an exit to the west.  The map is A MAP OF SOME TUNNELS.  To the west is a large chamber, and west of that point we are LOST IN MAZE-LIKE PASSAGES, in a location with some moldy bones.

It doesn't seem that this is a traditional adventure maze, however -- the map is still geographically consistent, or at least it is if we're carrying the map.  South of the bones we find a slanted passage heading south to a BRIGHT ROOM with exits north, south, and west.  Traveling south again through a few locations brings us to a KEY.  There's also an outdoor location, outside of the dungeon, west of the bright room, with a sign reading, "RETURN PRINCESS HERE TO WIN."  Oh, yes, the princess -- almost forgot about her!  We've escaped the dungeon, but not our heroic obligations.

The key we found just might work on that locked door near the cave-in... and yes, we can UNLOCK DOOR now.  There's no princess in the OLD DUSTY CHAMBER that greets us, but a large intersection to the south has exits in all four cardinal directions. 

Trying to go south here proves fatal, with no warning, as we slip and fall into a crevice.  I LOAD my previous game, and this time I peek at the BASIC code to learn that I can fix the GO bug by setting F(4) = 1 and continuing; this workaround lets me enter the tunnel I can't otherwise enter after a LOAD and that won't respond to DIG HOLE a second time.  I'm considering this a bug workaround and not a cheat.

Returning to the four-way intersection, I find an empty weapons chamber to the east, and a storage chamber with spiked sneakers to the west.  Ah!  Maybe I need these to keep from slipping and falling.  We can't WEAR SNEAKERS, so I'm relieved to confirm that just having them in inventory helps us travel south of the intersection safely.

And now we encounter... THE DREADED MINOTAUR!  And me with no sword.  Dang it.

Another LOAD and fetch, and we're able to KILL MINOTAUR with the sword in hand, revealing A SMALL OPENING.  And at least we reach the royal chamber!

The princess is ON A CHAIR SCREAMING

There's a bed, and a chair, and a mouse!  Man, I wish I had brought that mousetrap...

But I'll try to KILL MOUSE with the sword... YOU MISSED THE MOUSE AND ACCIDENTLY [sic] KILLED THE PRINCESS!!  Oops!  Sorry, hero, your princess is in another phase of existence.

On the next try, I'll bring the mousetrap so I can TRAP MOUSE... nope... DROP TRAP works, though. THE MOUSE GETS CAUGHT IN THE TRAP AND DIES.  So not one of those newfangled live traps, then.  This may explain why the princess is still screaming, but we can just GET PRINCESS, and OK, YOU GOT HER.  She's treated as an inventory item, basically, and we can't TALK PRINCESS or KISS PRINCESS or otherwise put the King Graham-style moves on her, so we'll just have to haul her back outside the dungeon.

We're outside the dungeon now, with the princess, but we haven't been congratulated yet... so I'll DROP PRINCESS... OKAY, I DROPPED IT, as if to emphasize the game's complete lack of development of her character.  And nope, we still have no luck after dumping her unceremoniously outside the dungeon.  Can we SCORE?  We have 0 points.  What the... ?  Ah!  We have to have the princess in our inventory when we type SCORE... and however the game chooses to interpret that verb, now victory is ours!

Steve Sherrard's Dungeon Adventure isn't a bad little game -- there are plenty of rooms to explore, and some suspense and challenge in the endgame, even though the design is a little too specific about certain events like the candle/lantern switchover and the manner of the princess' rescue.  I had fun playing through it, anyway, and it didn't take too long to uncover its secrets.  Onward!

Tuesday, October 14, 2014

Adventure of the Week: An Unexplored Mansion (1983)

I'm working through a more substantial game as I write this, but in the interest of my more-or-less weekly deadline, I'm tackling yet another Rainbow Book of Adventures contest winner -- An Unexplored Mansion, published in 1983 and written by Tim Hanson in BASIC for the TRS-80 Color Computer.

The story casts the player as a young person setting out for the city after growing up in a small town, then nearly hitting a deer and walking for miles to discover an old mansion... unexplored!  The parser is a straightforward two-word affair, with a few unique quirks -- invalid navigational directions just keep us where we are with no specific feedback, and there's no room-level LOOK, as it substitutes for EXAMINEINV handles inventory, while I and other unrecognized commands just refresh the current room display.

I can recommend this one to interested readers -- the code is fairly robust, and the puzzles are straightforward but well constructed with useful hints to be found via thorough exploration.  I enjoyed working my way through it in an hour or so, and it made for a pleasant diversion.  So please, feel free to step away and enter An Unexplored Mansion on your own before proceeding with my comprehensive...

***** SPOILERS AHEAD! ***** 

We begin outside, on the front lawn, with the exit to the south (reversing the opening geography of many mansion adventures!) with directions AVALIABLE [sic] to the south, east, and west.

Before entering the house, we'll explore the environs -- to the east is the east garden.  I try to DIG but YOU HURT YOUR HAND with no other result.  To the west side is the rock garden, with a large rock and another exit to the south.  GET ROCK reveals a gun underneath?  Might as well take it along.

Continuing around the house, we find a veranda and another entrance to the mansion to the east.  At the southwest corner of the house is a hilly area with a jagged stone tower visible to the south.  We can obtain some batteries and a skull cap here.  LOOK CAP indicates it's produced by SKINNY BONES HATS FOR SKELETONS INC.

Going south again leads us to the stone tower itself -- the door is locked.  This seems like a good time to examine the objects we've acquired -- the gun is a VERY OLD PISTOL, we have two batteries, and the rock we're lugging around MUST WEIGH AT LEAST FIFTY POUNDS.

There's no SAVE GAME feature available, so there seems to be nothing to do but cross our adventuring fingers and enter the mansion itself.  I'll take the unorthodox approach and enter through the door on the mansion's west side first, since we're over here. 

We find ourselves in a ballroom with a staircase leading up and exits in all four directions.  North is the entrance hall -- and there's nothing nasty lurking there, so it wouldn't have mattered which way we entered the house.  East of the ballroom is the dining hall, with four exits again, so we're going to spend some time mapping this space out.

East of the dining hall is the bathroom, with a sheet of paper that provides instructions for use of... a TIME BOMB?  We have to BUILD BOMB, SET TIMER on the bomb, and escape.  Or somebody does, at least; this sounds suspiciously like a task we'll be taking on, rather than instructions for some other mad bomber.

Going north from the dining hall leads back to the entrance hall, and going south leads to the kitchen.  There's a book of matches here, promoting COLLEGE DEGREES BY MAIL, with a phone number that is notably NOT a fictional 555 exchange -- I wonder what its significance was in 1983?  There is also a dark staircase leading down.

The inventory system is interesting -- when I try to exceed its four item limit as I GET MATCHES, the parser reports, "UGH! YOU NEARLY BROKE MY BACK! BECAUSE YOU FEEL YOU SHOULD GET EVERYTHING YOU SEE YOU HAVE DROPPED EVERYTHING!"  I haven't seen this type of approach before, and it's actually kind of handy during this exploratory stage.

East of the kitchen is a pantry, and we can OPEN CABINET to find a soup can -- it reads CHICKEN NOODLE on the label, but it's empty.  We can try to go D the dark staircase in the kitchen, but IT'S TOO DARK, and when we LIGHT MATCH it BRIEFLY FLARES UP AND DIES.  So we'll need a more enduring light source, it seems.

South of the ballroom is a bar, leading south again to a study -- without the usual clue-filled desk.  West of the study is a library, however, with a very dusty book containing instructions for building a time bomb.  We will need a timing device, a small length of fuse, a small metal container (check!), two batteries (check!), an ounce of gunpowder (the gun?), some electrical wiring, and a match (got it).  The book also mentions that "SOME KNOWLEDGE OF THE USE OF TIMEBOMBS IS DESIRABLE," apparently saving that for a second volume.

So it seems our goal (or at least the only objective that has offered itself so far) is not to find treasure or exorcise an evil spirit or rescue anyone trapped in the mansion, but to blow the place up; kind of a SMALL TOWN BOY MAKES GOOD BOMB story.  So let's head upstairs from the ballroom in search of more bomb components.

The upstairs landing has exits in all four directions.  South is a bedroom, where we can OPEN BUREAU to find a torch, which should be handy.  We can tell IT HAS BEEN USED BEFORE, so it seems it's not a U.K. flashlight but an actual wooden torch.  South of the bedroom is a skeleton closet, containing a skeleton, who is described as KIND OF SKINNY.  Should we do something with the skull cap here?  We can't PUT CAP, but DROP CAP prompts the skeleton to say "THANK YOU VERY MUCH" and drop a fuse at our feet.  We'll just pick it up and not think too much about where that came from.

East of the bedroom is a short hallway with a ladder leading up, and more exits to the north and east.  Climbing up to the attic yields an old wooden box, in which we find a telescope with a label reading, "USE IN A HIGH PLACE."  Probably that rock tower.

East of the short hallway is the upstairs bathroom -- nothing of note here -- and north leads to the guest room, where we find an important item in the form of an old alarm clock.  Traveling west from the short hallway leads us back to the upstairs landing. 

Exploring the western side of the upstairs now, we find an overlook with a view of the rock garden.  USE TELESCOPE here only confirms that YOU AREN'T HIGH ENOUGH.  North of the landing is the master bedroom, where we can GET the oriental RUG to discover the traditional trap door.  We can OPEN DOOR and go down to find a secret room -- a window facing west is coated with grime, too thick to see through, and there's a safe here, though of course we can't just OPEN it.  Examination reveals that it has a COMBONATION [sic] LOCK, and the dial is too rusty to move, so we'll have to... hmmmm... maybe blow it open!

This is probably a good time to learn that we can't leave the secret room the way we came -- the door seems to have disappeared, and we can't BREAK WINDOW or CLEAN WINDOW or MOVE SAFE.  But we can OPEN WINDOW -- it allows us to pop through onto the veranda, then shuts tight again.

So what are still we missing for our bomb construction?  We need a length of fuse and some electrical wiring, and there's a good chance we might find both in the basement.  Oh, wait -- the FUSE the skeleton gave us is actually a very short fuse, not an electrical fuse as I was picturing.  We LIGHT TORCH using the matches, and now we can go down to the cellar.  There's a spool of electrical wire right here, perfect for our needs, and we find a barrel of gunpowder in the arsenal room to the south... I opt not to hang around with my blazing torch, however. 

The wine cellar to the east reveals the source of a strong smell noted when we entered -- a rotting cask of chablis, as well as a monster, who lacks even the courtesy to wait for us to make a move, interrupting our typing with repeated attacks!  With four hits, we're dead, and need to restart.  So we'll need to be quicker about leaving the room, or, presumably, dispatching the creature somehow.

On my second go, I focus on this goal first -- only to find that I can't SHOOT MONSTER and when I cooperate with the parser by trying to KILL MONSTER, the gun isn't loaded.  LOAD GUN reveals that YOU DON'T HAVE EVERYTHING YOU NEED -- and while we have a source of gunpowder, we're short of ammunition.

So we actually have a puzzle here. While exploring some more, I find a small bug -- if we drop the rug anywhere at all, when we GET RUG again we reportedly DISCOVER A HIDDEN DOOR, though it only appears in the master bedroom where it's supposed to.  Maybe we don't need to deal with the monster at all -- we have everything we need to build the bomb now, I think.

Oddly, when we GET GUNPOWDER it doesn't show up in our inventory, but we're not allowed to get more, and the parser thinks we still don't have all the materials needed?  Ah, we have to GET POWDER -- GET GUNPOWDER is confused with the GUN, which I already had in inventory.  BUILD BOMB proves fatal, however, as apparently we were supposed to WIND CLOCK before we do so -- something none of the instructions we've found thought to mention.

As I work my way through a third attempt, something tells me we ought to build the bomb where we plan to detonate it, and since the monster in the wine cellar won't let us hang around long enough to deliver the components, it makes sense to attempt this in the secret room.  We GET CLOCK, WIND CLOCK, BUILD BOMB... whoops, I don't have the matches.  I fetch them, WIND CLOCK again just in case, BUILD BOMB, OPEN WINDOW to escape, and... nothing happens?

Ah -- I forgot to SET TIMER (a separate operation from winding the clock).  This time, I OPEN WINDOW, and on the very next turn: KER-POOOOOWWW!!! THE BOMB GOES OFF!

Fortunately, it was not a big enough bomb to destroy the mansion, just damage the safe in the secret room.  THE DOOR HAS BEEN JARRED LOOSE upon our return, and OPEN SAFE yields a silver lockpick, a note, and a bullet.  The note reads, "LET EVERYBODY KNOW (INCLUDING THE APES) THAT A TREASURE IS HIDDEN, BEHIND ROTTING GRAPES."  So the monster wasn't really the source of the wine cellar's strange odor, it seems.

This seems like a fairly obvious clue given our exploration to date, but before we shoot the monster in the wine cellar, let's check out the tower with our telescope and lockpick.  At the base of the tower we can UNLOCK DOOR with the lockpick, and enter to find a shovel stored here along with a rope ladder leading up.  Climbing to the top, we USE TELESCOPE to read writing carved in a faraway tree: THE KEY TO YOUR SUCCESS IS BURIED IN THE FRONT LAWN.  That will save us a little digging time, anyway, though we probably could have figured this out even if we missed the telescope altogether.

DIGging on the front lawn yields a golden key, so now we're ready to get some more gunpowder, LOAD GUN with the bullet, and KILL MONSTER (typing as fast as we can!)  It only takes one shot to kill the nine-foot tall, fanged, big-footed monster, which is fortunate as we only had the one bullet.  The large drum of chablis here is caked with dust, and when we GET DRUM a small wooden door is revealed.  We OPEN DOOR, and an exit to the north is revealed.

Inside the room north of the wine cellar, we find a LARGE VAULT.  And now all we have to do is UNLOCK VAULT, OPEN VAULT, and find victory and wealth (assuming we're allowed to keep the money and aren't convicted of trespassing on someone's property, breaking, entering, and stealing)!

I enjoyed venturing into An Unexplored Mansion quite a bit -- the puzzles were not difficult, but they were logical and there were a few surprises that forced me to stop and think.  And the descriptions and details were of a higher standard than many of the other games in The Rainbow Book of Adventures.  This was definitely one of the better amateur efforts in this collection, as we get close to wrapping this volume up.

Tuesday, October 7, 2014

Adventure of the Week: The Deed of The York (1983)

This week, we're trying to hunt down The Deed of The York (1983), yet another Rainbow Book of Adventures contest winner, in this case created by Dwight Logan and translated to TRS-80 Color Computer BASIC by Chris Harland.  We're playing using the VCC emulator.

As we might surmise from the title, we're trying to track down the deed to the York Hotel, a family asset hidden by one William T. York, our late, unlamented grandfather, before a rival family faction does.  It's reportedly hidden in his summer home, so it seems we'll be spending our time there rather than going anywhere near the hotel.

Like a lot of the other reader-submitted adventures in The Rainbow's first adventure collection, the format of The Deed of The York comes partly from experimentation, partly from inexperience.  It's not nearly as limited as some of the menu-driven adventures I've recently been covering, but it's not a full-blown adventure engine either.  We're given text descriptions and prompts, and are free to enter whatever we like, but the parser recognizes only a limited set of options in each location and is highly situational, with no inventory system to broaden the possibilities.

This is another one you can safely skip playing -- it's easy enough to explore the world, and the structure is simple enough that death isn't a huge setback.  But actually completing the game depends on sidestepping a frequently fatal bug at the game's conclusion, and I don't generally wish that upon my readers.  So feel free to see what recovering The Deed of The York is all about by venturing directly into the...

***** SPOILERS AHEAD! *****

The game's intro text informs us that THE DOOR WILL ONLY OPEN IF YOU SHOUT 'PIZZA'.  The parser, unusually, asks us to type WHERE to get our bearings rather than LOOK, and its tone is rather snippy -- an initial WHERE at the first prompt yields, YOU'RE OUTSIDE AN OLD HOUSE, STUPID!  And a LOOK, for some reason, causes us to exit the game completely?  Ah -- apparently if we fail to invoke the magic word PIZZA on our first or second turn, the game unceremoniously ends.

Surviving into the entrance hallway, we see a very worn carpet, a coat rack, doors to the right and left and a glass door straight ahead.  LOOK COATRACK reveals the carved initials W.S. -- not William York, apparently.  William Shakespeare?  Will Smith?  MOVE COATRACK and TAKE COATRACK produce the same response as LOOK -- apparently the parser just looks for recognizable keywords in the player's input, so we can save ourselves some typing by sticking to nouns and navigation.

Let's head to the RIGHT and check out the living room -- a couch and two easy chairs are covered in sheets, with a folding door on one wall, a sliding door on another, and a door going left back to the entrance hallway.  Accessing the FOLDING door leads to a dining room with a long oak table and eight chairs, a swinging door, two pictures and a wall switch.  PICTURES moves one of the pictures, yielding a cryptic note: "HE GOT A PIGLET, HE GOT A BIG MAC, BUT WHEN HE LEARED [sic?], HE GOT HISTORICAL."  Is that supposed to be LEARNED or LEERED?  No telling at this point.

Returning to the living room, we move the COUCH to reveal a panel in the wall -- an arrow shoots out, narrowly missing us, with another note: "DON'T MAKE MUCH ADO ABOUT NOTHING."  Another Shakespeare reference?  This action will repeat any time we access the couch -- the game doesn't worry about retaining a memory of events, it seems, so everything kind of happens in the moment.  (And no, I don't think it's going to go all Marcel Proust on us, it seems resolutely focused on Shakes.) The SLIDING door takes us to a den with no other exits, where we spot a TV set -- written in the dust on its top are the words, "BOOKS ARE BETTER!"

Okay -- so far, not much has been learned, or leared, for that matter.  We'll continue exploring the right side of the hall by returning to the dining room north of the living room.  If we touch the TABLE, a trap door unceremoniously dumps us into the basement, and our rivals the Chomiuk family find the deed first, leading to our expulsion from the York family.  I'm not sure I really want to be part of either of these clans, but such is the familial hand we've been dealt.

Re-starting again, we touch the SWITCH on the dining room wall, and LIGHT FILLS THE ROOM every time we do this; there seems to be no way to turn the lights off, nor does there seem to be any reason to want them in either state.  Going through the SWINGING door here leads to a kitchen, with doors left, right and straight ahead.  The CUPBOARD is bare except for a dusty glass, and the ICEBOX contains a roll of paper, reading "SHELVE ALL PLOTS AS THE BARD WAVES HIS JAVELIN."  A double Shakespearean reference here, giving the Prince of Denmark +2 points while the Fresh Prince remains at 0.

Continuing our vaguely northeastern progress, we'll step outside the kitchen to the RIGHT, onto the back porch, where we are explicitly told we should return to the house and nothing else I try produces any interesting responses.  Moving AHEAD from the kitchen is far more dramatic -- A DISEMBODIED ARM SWINGS AN AXE AT YOU!  We stagger through another door, bleeding badly, and take a chance at heading RIGHT -- which leads us outside, to attract help at the hospital, where we can recover and try again (from scratch) another day.  Retrying and going LEFT instead leads us into the central ballroom, where we simply bleed to death.  So we'd best not try to travel north of the kitchen at all, it seems, despite the glimpse of a pantry mentioned before the axe connects.

In our next life, traveling LEFT from the kitchen puts us in the central ballroom -- so apparently we staggered back into the kitchen earlier.  We're always facing north in these rooms, so LEFT is WEST and RIGHT is EAST for traditional mapping purposes.  The ballroom is quite impressive, with a chandelier, a settee, doors to the BEHIND (south), LEFT and RIGHT, a winding staircase leading upstairs, and a green door near the staircase.

There's a music room behind the GREEN door (no, there's no Marilyn Chambers quartet), with a red door, a piano, and portraits of famous English authors and playwrights providing decor.  If we approach the PIANO, unseen fingers play "AS YOU LIKE IT," though trying to look for the portrait of SHAKESPEARE produces nothing interesting.

The music room's RED door leads to the study, with a DESK containing a library card with "1600S" written on it.  A door to the right returns to the music room -- I had my bearings reversed here at first -- and approaching the big FIREPLACE creates a phantasm, a choking hand of ash that drives us back into the ballroom (we can also get there by going through the study's DOUBLE doors.) 

The study's LEFT hand door accesses the library, where we find a shelf of books and a metal panel.  The PANEL leads to a narrow enclosed porch, with a mirror and an old novel lying on a lawn chair.  The MIRROR produces a hummed rendition of "I'M HENRY THE EIGHTH I AM," meant to evoke Shakespeare's work rather than Herman's Hermits, of course, or DJ Jazzy Jeff for that matter.  The NOVEL proves to be a book of blank pages, except for "THIS IS NOT 'A SUMMER'S TALE'" on the first page, and "ALL'S WELL THAT ENDS WELL" on the last, just in case we haven't yet gotten the message.  A DOOR at the rear of the porch takes us back to the entrance hall, through the door on the left that we hadn't explored yet.

Oddly, messing with the SHELF in the library doesn't do anything, despite the apparent hint about shelving the plot.  And I note that some of the geography doesn't quite make sense here -- we go left from the kitchen into the ballroom, and left again from the ballroom to the kitchen.  Touching the SETTEE in the ballroom drops a carved pumpkin on our heads, and we stagger back into the kitchen in a daze before recovering.  Trying to interact with the CHANDELIER causes it to sway away from our attempts.  Curious.  Where have we not been yet?  We can try to go UP from the ballroom -- and a loud wailing noise precedes the appearance of a ghost in white that rushes at us, scaring us out of the house in terror for several days, forfeiting our chance to find the deed.

So... it seems we've explored the accessible house now.  I hadn't yet examined the CARPET in the entrance, which has a label reading, "MADE BY LORD CHAMBERLAIN'S MEN'S SEWING COMPANY-1605," another reference to the Bard's personal history.  We can't use the old library CARD in any direct way, and as I muddle about I eventually provoke an OS ERROR IN 130, as the BASIC program runs out of string memory and forces yet another restart.

What else?  Well, we can pinch our finger in the old lawn CHAIR, to no real effect.  And oh!  It strikes me now that the apparent misspelling LEARED is intentional -- that verse refers to Hamlet (PIGLET), MacBeth (BIG MAC), King LEAR, and Shakespeare's HISTORICAL dramas.

It sure seems like the study or the library might be the place to invoke the Bard and find the deed, but I try SHAKESPEARE and BOOKS and PORTRAITS in both locations to no avail.  And while I'm experimenting in the library some more, I again run into the fatal OS ERROR IN 130 I saw a bit earlier... and that happened here, in the same location... hmmmmmm... maybe we should peek at the code to see what tiny infuriating detail I'm blindly missing... aha!  It's not my approach at fault, for a pleasant change -- this bug's to blame, wherein we'll catch the concept of the game!

All of the unsubtle clues lying around the house are meant to point us toward SHAKESPEARE as our inevitable target, a magic word clearly held as a source of great power by the authors of this adventure.  We've got that much right.  But the game logic doesn't quite work the way the authors intended.  They clearly expect us to enter the library, and immediately say SHAKESPEARE -- which wins the game like so:

Whoops!  Looks like I just told everyone THE SECRETS!

But anyway, here's the technical problem I was running into -- if we hang around the library trying other possibilities, as adventure gamers are wont to do, the routine in line 130, meant to safeguard the magic word from prying eyes, actually causes it to grow with every move.  It's looking for SHAKESPEARE on the first turn we're in the library, but it just keeps adding to the "decrypted" string with each turn.  That is, it starts looking for SHAKESPEARESHAKESPEARE, and then it wants SHAKESPEARESHAKESPEARESHAKESPEARE, and so forth, creating a moving target until it runs out of string memory and produces the game-crashing OS ERROR IN 130.

So the game's offer of victory is good for a very limited time only, and that makes The Deed of The York rather more difficult to complete than it should be!  This is why playtesting is so important -- this is exactly the type of bug that an author never runs into, while almost all players are likely to encounter it.

I have to say, while these old amateur adventure games are often simplistic and buggy, they do come in more varieties than the commercial efforts of the time.  Not everyone had the benefit of reading Scott Adams' seminal article in BYTE magazine during those pre-Internet days, and I'm enjoying seeing how different people starting from scratch chose to implement their own ideas, even if they weren't always completely successful.

(And don't worry, faithful readers -- I'm itching to get back to some more traditional adventuring myself, and will do so before too much longer.)

Tuesday, September 30, 2014

Adventure of the Week: The Door (1983)

I'm continuing to work my way through the 1983 collection known as The Rainbow Book of Adventures, as we find ourselves facing The Door, another BASIC-language contest written by Jean Roseborough for the TRS-80 Color Computer.

Unfortunately, despite its initial resemblance to a standard adventure, The Door is really just a guessing game -- so don't bother with this one, gentle reader.  I'm going to jump straight into the...

***** SPOILERS AHEAD! *****

We're initially asked HOW MANY TRIES?, an indirect way of setting the difficulty as the solution is randomized for each run.  I'll try 3, prompting a prescient YOU'LL NEVER MAKE IT! response.

There's only one room here, in which YOU ARE STANDING IN FRONT OF A LARGE DOOR.  The door is, at least, festooned with possible options -- a door knob, a door knocker, a button, and a bell.  I try to backspace at the command prompt so I can take a clean screenshot, and learn that, SORRY, NO MISTAKES ARE ALLOWED IN THIS GAME!  So this parser is going to be a bit of a taskmaster, and in short order I've decided to RI-- no, PU... and suddenly A LOUD EXPLOSION IS HEARD and the game is over.  I hadn't realized the consequences of failure would be quite so dire!

On my next try, I attempt to TURN KNOB, then KNOCK KNOCKER, and PUSH BUTTON -- leading into my third try.  On my fourth, I decide a more generous number of attempts may be in order, and go for 10.  Within three tries under this configuration, as luck would have it, I find that RING BELL works, and victory is ours!

Of course, getting the door to open is not the primary objective here -- the author encourages us to find as many of the 44 possibilities as we can, and it seems the successful choice is randomized each time we start.  We can't do anything mundane like EXAMINE DOOR to get a clue, and there's no INVentory.  Basically, the engine will accept anything we type, and if it matches the randomized solution phrase it has come up with, we win.

The next successful solution I came up with was PUSH DOOR, and after that, figuring out the actual odds of succeeding started to interest me more than the limited gameplay.  As it turns out, our odds aren't all that bad on a strictly probabilistic basis -- 1 in 44 -- though as there's no real parser operating here, we're allowed to make blind guesses using words that the game will never, ever recognize, raising the difficulty considerably.  I was hoping that the game's randomness would be something more like a game of Mastermind -- some tricky, hard-to-predict-but-solvable combination of moves on the door and its accessories that would reveal something new about the puzzle with each unsuccessful choice.  But The Door isn't opening for anything but a single expected phrase, chosen from a set of 44.

Cheating by breaking out and printing the contents of A$(X), at first, then going full-on Twenty One and dumping the successful phrase in the display code on line 5, I learn that some other viable answers are to BREAK DOOR (which I never tried, though I attempted to HIT DOOR and ATTACK DOOR), KNOCK KNOCKER (which I tried many times), GRASP KNOB, BATTER DOOR, RAP KNOCKER, PROD BUTTON, and THUMP KNOCKER.  And while the code checks for some of the traditional Anglo-Saxon curse words and duly admonishes the player with a NOW, NOW, LET'S NOT GET NASTY, it happily allows us to JERK KNOB and LIFT KNOCKER.  Less predictably, we can also CRY, CLAP HANDS, SCREAM, and WHISPER PASSWORD.

Unfortunately, it's not much fun to come up with any of these solutions, because the path to victory remains largely random -- even when we've discovered a solution that can work, its actual success is determined by chance, and unlikely to be the pre-selected answer next time around.  This tends to undermine the learning-by-experience vibe that makes most adventure games entertaining -- here, even if the player eventually discovers, say, ten workable phrases, the odds of one of them being usable in any given run, and hence the odds of the game being winnable at all, remain below 25%.  If we have the source code handy, then sure, 44 moves is always enough to arrive at the right solution.  But it never feels much like adventuring, and so The Door ends up being nothing more than a 44-sided die roll dressed up with a cardboard Dungeon Master.

Tuesday, September 23, 2014

Adventure of the Week: A One Room Adventure (1982)

This week, we're tackling A One Room Adventure, another contest winner from The Rainbow Book of Adventures.  This BASIC-language adventure was written in 1982 by Jorge Mir (who also wrote Dreamer) and published in early 1983, tackling a theme more commonly in recent interactive fiction -- an entire adventure that takes place in a single room.

The premise briefly summed up on the title screen is more explicit about the traditional adventurer's amnesia than the norm; our mission, of course, is to figure out what's going on and escape the room.

I hesitate to recommend A One Room Adventure for general use, only because there are a couple of design limitations (and/or bugs) that make two of the more complex puzzles more difficult to solve than ought to be the case; I had to dig into the code to figure out just what I was missing near the very end of the game.  So feel free to plunge straight into the...

***** SPOILERS AHEAD! *****

We start in the middle of a room, sitting on a chair, blindfolded.  We have nothing in inventory.  I try to ROCK CHAIR -- SORRY, I JUST DON'T KNOW HOW TO ROCK ANYTHING.  Trying to REMOVE BLINDFOLD reveals that, as we might have guessed, MY HANDS ARE TIED WITH A ROPE.  Even so, with a FEEL BLINDFOLD we somehow manage to not feel anything unusual, and we can't WIGGLE EYEBROWS to loosen it.

I try to RUB HANDS to loosen the rope, and receive an unexpected prompt -- ON WHAT?  I try ROPE, but NOTHING HAPPENED.  I try to LEAN OVER, but I DON'T HAVE ITGET UP suggests that I CAN'T GET ANYTHING NOW!, and STAND UP indicates that we don't know how to stand anything.  How about SHAKE HEADI DON'T HAVE IT TO SHAKEEXAMINE HEAD yields DID ANYBODY MENTION ANYTHING ABOUT ANY HEAD?  So this is one of those parsers that tries to look smarter than it is, by tossing any unrecognized words into a generic handler instead of confessing its dictionary's ignorance.

We can't JUMP or TIP or CHEW or EXAMINE anything, or RUB anything on anything else as far as I can tell, though EXAMINE and RUB seem limited due to the blindfold and not the parser.  So maybe we should work on removing that first.  I try lots of unrecognized phrases, to no avail, and finally I ask for HELP.  This game actually has a help system that accepts objects (BLINDFOLD in this case) and responds with hints, and it lets me know I'm on the wrong track -- we need to work on freeing our hands first.

I can't STRETCH ROPE, or SPREAD HANDS, or CLASP HANDS, or RUB HANDS on HANDS, or MAKE FIST, or SLIP HANDS, or SLIP ROPE, or LOOSEN ROPE.  I try to FEEL POCKET, FEEL PANTS, EXAMINE POCKET -- this, at least, revealing that I DON'T HAVE ANY POCKETS -- and FEEL CHAIR... aha!  I FEEL SOMETHING LIKE A NAIL.  Aha!  RUB ROPE on NAIL tears the rope.  Now we can UNTIE HANDS, UNTIE BLINDFOLD, and see that we are facing the room's north wall.

We see a chair, a desk, and a radio here, and the north wall specification is important -- there are actually four locations within this room that we can visit.  The east wall is near a toolbox, a couch, a big bird cage, and a wood burning stove; the south wall adjoins a door, and we see a switch on the wall, a picture, and a flower pot; and the west wall provides access to a window, some antique furniture, a coat rack, and a coat on the rack.  Most or all of these items will probably be needed if we are going to escape the room, presumably via the door or the window.

Of course, we can't just OPEN the DOOR or the WINDOW.  There are sunflowers growing in the flower pot, and the picture depicts a boat, in a nice wooden frame.  There is, of course, a vault revealed if we GET PICTURE, and opening it will require a combination.

The antique furniture near the west wall turns out to be a bookcase, containing a single notable item peculiar to the era in which this game was written -- IT'S A BOOK ON CB RADIOS.  So the radio must be one of those 1970s relics of Convoy fame.  The book tells us we need power, an antenna, and a microphone to operate the CB set.  The sports coat on the rack can be taken and examined -- EXAMINE POCKET here yields a pair of pliers, generally useful in adventure games.  After we're done checking it out, we can try to PUT COAT - WHERE? - ON RACK - PLEASE, ANSWER WITH ONE WORD - WHERE? - RACK -- but after all that discussion, I CAN'T.  Good thing, though, as if I had I might have missed the wire hanger remaining on the rack -- although my attempts to BEND HANGER and MAKE ANTENNA don't pan out.

Returning to the north wall, we'll check out the desk, which has a large drawer on the side -- locked, naturally.  Near the east wall, some closer examination establishes that the toolbox is rusted shut, the cage contains a white dove, the couch contains some pillows, and the stove is one of those pot-bellied Franklin stoves.  We can OPEN STOVE to find an electric cord, good.  The pillow seems heavy, but we need something to cut it with.

The chair is described as FRAGILE, but the pliers and toolbox are insufficiently heavy to BREAK CHAIR and so is the heavy pillow.  There's a can opener on the couch, now that we've moved the pillow, and at last we've hit the inventory limit -- 8 items, though as the map is so constrained this shouldn't be a big problem.  The birdcage is wired shut, but we can CUT WIRES - WITH WHAT? - PLIERS, then OPEN CAGE to release the dove.  All this establishes is that the cage is now empty, and it's A SPECIAL TYPE DOVE.  A carrier bird, maybe? 

Can we attach the cord to the radio?  One end is bare and the other end has a plug, but I fail in my attempts to ATTACH CORD and FIX RADIO and USE CORD.  Somehow, something I've done (maybe picking up the can opener -- yes, that's it) allows me to OPEN TOOLBOX now, yielding a crowbar, screwdriver, and hammer.  Even the crowbar and hammer seem unable to break the fragile chair, though.

We can TAKE SUNFLOWERS from the pot, and observe that THEY ARE KIND OF DRY.  We don't have any water, but SHAKE SUNFLOWER loosens some seeds, which fall to the floor, attracting a mouse who eats them and flees.  Hmmmm.  This seems like a problem to solve, but I fail in my attempts to somehow shake the seeds into the bird cage in hopes of catching the critter. 

Can we move any of the furniture?  The couch won't budge, but moving the desk reveals an electric outlet.  And I luck into the right verbiage -- we can CONNECT CORD - WHERE? - RADIO and then CONNECT CORD - WHERE? - OUTLET to successfully power the radio.  That helps me figure out that we can CONNECT HANGER - WHERE? - RADIO to create a makeshift antenna as well.  So we just need a microphone now, and we'll pause to take advantage of the game's SAVE command, rare in these magazine type-in adventures -- it even handles both cassette and disk saving.

What else can we try?  Experimentation establishes that the parser recognizes UNSCREW but not SCREW, so we must need the screwdriver for removal rather than assembly.  We can BREAK WINDOW with the crowbar, and the dove flies away.  That might be premature, so I'll re-LOAD my recent save.

I try to EXAMINE FLOOR and notice a small rug and some wire there, along with a familiar blindfold and piece of rope.  MOVE RUG reveals a loose floorboard, as it so often does in these games, and we can... well... EXAMINE BOARD suggests that IT SEEMS TO GIVE A LITTLE, but we can't PULL BOARD at all and can't PUSH BOARD "WITH JUST MY HANDS."  Having the crowbar in hand makes a difference, revealing a round box... but it's empty, and proves unsuitable for catching falling sunflower seeds.

There's a common bug here -- every time we PUSH BOARD, the round box re-materializes under the floorboard, and if it's in our hands the removal isn't counted correctly and we lose an inventory slot.  I'm down to seven usable slots now, and hoping that doesn't break the game. 

Since the floor proved productive, it's not a bad idea to LOOK CEILING -- where we see the dove flying around and nothing else of note.  It seems like it might be a good time to ask for HELP about the RADIO -- and we're encouraged to PLAY RADIO.  We tune in just in time to hear a local news report about a truck stop robbery and a missing driver, presumed kidnapped... it definitely sounds like we may be that person.  We're told that lots of our truck driver friends are driving around looking for us, so there's hope!

So maybe we should break the window, let the dove fly and see what happens.  This also has the effect of adding some glass to the mess on the floor, with which we can CUT PILLOW to reveal a magnifying lens.  Hmmmm... it's a SHERLOCK HOLMES OFFICIAL FAN CLUB LENS.  So we should be able to do some detecting with it.

Can we do anything else with the sunflowers and the mouse?  It's not clear that we can see a mouse hole anywhere at all, but if we try to LOOK HOLE we observe that it LOOKS LIKE IT WAS MADE BY A LARGE RAT.  Can we block it?  The pillow and the rug don't seem to work, nor does the sport coat.  Ahhhh.. the round box is round for a reason, and PUT BOX - WHERE? - HOLE plugs up the rodent traffic, so now we can SHAKE SUNFLOWER and GET SEEDS.  While we're doing this, we see that SOMETHING JUST CAME THROUGH THE BROKEN WINDOW, the returning dove it appears, and with the seeds in hand, we can GET BIRD.

But is there a message?  EXAMINE DOVE doesn't note anything new, and we can't FEEL anything unusual about the bird.  HELP suggests we let it fly away, so let's try that again; it flies through the open window once more.  It won't come to us unless we have some sunflower seeds, which it eats upon arrival, but it doesn't seem to be bringing us any messages, so we must need to arrange an outgoing note.

Can we UNSCREW anything at all?  Not that I can find.  How about OPEN?  We can OPEN RADIO to pop a battery out onto the floor -- shouldn't need that with the power cord connected, though... hmmm... it seems we do?  We'll have to figure that out later.

I try dropping the dove again, and this time it returns with a piece of paper bearing the combination 4R8L12R.  (I did some after-game checking -- the dove only works as expected if we shake out and retrieve another batch of seeds while we have the bird in hand, then drop the bird; it flies away, then immediately returns with the paper tied to its leg, whereas if we don't have seeds when we set it free, it will come back when we get some but without the paper.)  There's no fancy parser wrestling here -- we can now try to OPEN VAULT, respond to the combination prompt with the exact string specified, and obtain a set of keys!  Now we can OPEN DESK and EXAMINE DRAWER to reveal a CB SET!  So I've been wrestling with the wrong radio entirely.

The CB already has a microphone attached, with a button on it upon closer examination.  But nothing happens when we PUSH BUTTON?  Oh, I have to connect the cord and the hanger to the CB rig like I did the radio earlier.  Still nothing?  Can we TURN CB ONI TRIED, BUT NOTHING HAPPENED.

There seem to be several bugs at large here -- I had to dig into the code to see that if we've connected the cord to the radio previously, its description changes to IT'S PLUGGED IN and breaks the logic here, so the CB description never changes as we get it into working order.  The big hiccup is that the CB RIG has to be visible in the room in order for it to work at this point, and EXAMINE DRAWER reveals its existence without making it visible the way the code wants it to be.  Closer examination of the internal logic reveals that we have to GET CB out of the drawer before we can actually use it!  This oversight is a bit annoying, because we can do just about everything else -- we can see the CB in the unlocked drawer, connect the cord and the antenna, turn on the power using the switch on the south wall, and see the microphone and its button without touching the rig at all.  But we can't actually PUSH BUTTON to talk until we GET CB and drag it into inventory and either keep it or DROP it into a visible location.  It's one of those cases where what works for the designer doesn't necessarily work for a larger audience that may not behave exactly as the code anticipates.

Now that we can see the CB, we can PUSH BUTTON -- THE CB SWITCHED TO TRANSMIT.  WHAT DO YOU WANT TO SAY?  I'll start with BREAKER BREAKER, which probably doesn't conform to standard CB Radio etiquette but is about all I remember from the CB era.  Fortunately, it doesn't matter what we say at all -- we just have to repeatedly PUSH BUTTON and say something (I AM EURIPIDES!  ALL HAIL MY MARSHMALLOWY GOODNESS!, for example) while our trucker friends try to get a fix on our location.  After a few rounds of this, victory is ours -- well, victory in the form of mild admonishment over getting ourselves into this predicament in the first place:

A One Room Adventure is fairly challenging within its narrow scope, with logical puzzles marred only by strange behavior around the more complex situations.  Without access to the source code I would have been pretty stuck, but I managed to push on through and enjoyed the journey despite a few headaches along the way.  This one hasn't aged well, but it still provided a few interesting hours of adventuring. 

Tuesday, September 16, 2014

Adventure of the Week: House Adventure (1983?)

We're returning to the early portable TRS-80 Model 100 computer this week, to tackle House Adventure, a fairly conventional BASIC language treasure hunt set in a sprawling, multi-floored but sparsely furnished house.  The author is unknown; I found this game at the Interactive Fiction Archive in the same collection as the other Model 100 games I've been playing recently, and I'm assuming these were all written circa 1983 when the LCD-display machine was the coolest tech around.  It's possible this game was written in another version of BASIC and ported to the Model 100, based on some significant bugs I ran into.

I'm going to say something I almost never say, in this case, and that is: DON'T TRY THIS AT HOME, unless you have a high tolerance for debugging your adventures while trying to play them.  House Adventure seems to have been coded without ever really being played through, and features several game-breaking bugs that I had to uncover and work around.  If you do tackle it, please consider adding a DEFINT A-Z at the beginning of the code; without it, many things don't work as I assume they were meant to by the designer, and the odds against completing the game become stratospheric.  I'll detail my struggles with the game along with the gameplay in the following, so feel free to save yourself the pain and simply indulge in the...

***** SPOILERS AHEAD! ******

The first issue I encountered was no fault of House Adventure -- I got an OM error at startup, indicating insufficient memory, but I just hadn't been doing my housekeeping.  The Model 100's entire memory space is shared -- the storage is really a RAM disk, and too much of the system's memory was used up by files.  Once I cleaned that up, the game fired up with its title screen, including a cryptic clue, "Remember the Imposter is last," displayed before the game begins.

We find ourselves in a foyer, with a wooden box and a locked door, and exits east and west.  We have //NOTHING\\ in inventory; OPEN DOOR, as expected, suggests that I NEED SOMETHING FIRST!  OPEN BOX, less predictably, indicates that I'M SORRY, BUT I ONLY KNOW HOW TO UNLOCK DOORS AND DRAWERS.  Trying to EXAMINE BOX reveals that the parser has yet more to apologize for, as it seems to interpret this as a desire to travel East, to the family room.

Since we're here, we'll note that there are no objects of interest at hand, but we can travel north or south.  South takes us to the dining room, where we can travel east to the first floor elevator.  So there must be a second floor, at least; we can also head east again or exit north from the elevator.  Going UP takes us to the second floor elevator; we can go up again to the third floor, which is as high as we go.  So the map might be fairly large.

Returning to the first floor, we exit the elevator to the east to enter a coat closet and discover a flashlight.  And, to my surprise, heading east from the coat closet wraps around to the foyer again!  So this map doesn't necessarily adhere to real-world geographical conventions.

Well, since we're back here, let's try to READ BOX -- we have to GET it first, according to the parser, and only then, once we have it in inventory, are we permitted to discover that YOU CAN'T READ THAT!  SHAKE BOX yields YOU CAN'T GO THAT WAY -- apparently no general verbs can begin with the letters E, W, N, S, U or D.  Except that's not entirely true -- WAVE BOX is recognized by the parser but has no effect.

Let's explore the rest of the first floor -- north of the family room is the bedroom, with nothing of interest but an exit east to the pantry.  The cupboard is bare -- this house is very sparsely furnished -- but we can travel north to a telephone booth incongruously placed there, or south to the kitchen.  Now things are getting a little more interesting -- there's a carving knife here, as well as a vampire.  He doesn't prevent us from continuing south to the first floor elevator, but he SEEMS TO HAVE GROWN VERY ATTACHED TO THE KNIFE AND WON'T LET YOU HAVE IT.

So this seems to be our first puzzle -- how do we deal with the vampire?  There are rules about these things in pop culture, but we don't have any obvious implements of vampire-spookery on hand, so we'll head up to the second floor and poke around there for a while.

West of the second floor elevator is a sewing room, once again bare of any items of interest, with a closet to the south containing A SMALL DIAMOND.  We can exit the closet to the south again, to find a guest room occupied by a Ming vase and an insane monk, who guards the vase much as the vampire guards the knife.  An exit west leads to another guest room, and heading west again discovers a bathroom with a brass bathtub and exits in all four cardinal directions.  We can't TAKE BATH -- I SEE NO BATH HERE -- nor can we GO BATHTUB.

Traveling west from the bathroom leads us back to the insane monk -- his affliction does not seem to be evident in his behavior, and one person's insanity can be another's deeply held faith, but we don't have to deal with his mental condition in any direct way.  South of the bathroom is a sitting room with a hairbrush we can take with us, and an exit west into a den with a banjo and a dusty moose head.  We have a four-item inventory limit, we now discover, so we'll leave these here for the moment; we can't take the moose head, anyway, but it seems we can PLAY BANJO if we pick it up later on.

West of the den is another telephone booth, this one containing 100'S OF GOLD COINS, which we also can't carry at the moment.  This is a dead end, so we'll return to the bathroom and head north into the master bedroom, with a king sized bed and another exit north.  We can't MOVE BED or GO BED, or SLEEP (unless we choose to believe we tend to sleepwalk to the south) or otherwise learn anything about it, so perhaps it's just window dressing.  Traveling north leads us back to the second floor elevator, another twist in the map.

Nothing we've found looks like it will have much effect on the vampire, so we'll take the elevator up again to the third floor.  Exiting the elevator the east, we find ourselves in a library with a Sorcerer's Handbook, guarded by a leopard.  Just on a whim, I try to BRUSH LEOPARD with the hairbrush -- and it actually works!  THE LEOPARD IS VERY GRATIFIED FOR THE GROOMING, AND LEAVES.  Now we can DROP HAIRBRUSH, TAKE BOOK and READ BOOK -- it mentions four magic words that can be used to make objects, which may help us solve some of these puzzles.  The four words are ABRACADABRA, SHAZAAM, SEERSUCKER and UGABOOM.  A warning trails off: "BE SURE TO USE THE RIGHT WORD IN THE . . ." -- so we may need to be careful using these.

Let's finish mapping before we try the magic words out.  South of the library is a trophy room, with a set of batteries and an exit west.  LIGHT FLASHLIGHT confirms that it doesn't work, until we GET BATTERIES, and then I realize the verb works differently than I thought -- we use LIGHT ON to turn the flashlight on, LIGHT OFF to turn it off.  Oddly enough, we can LIGHT ON with the batteries in hand, and then DROP BATTERIES with no apparent impact.  That flashlight's circuitry must store a lot of electricity!  We also need the batteries if we want to LIGHT OFF, though, so two of our four inventory slots are going to be eaten up if we want to keep a light source handy.

West of the trophy room is a bare living room, and going north takes us back to the elevator; the third floor is a lot smaller than the other two, just four rooms.

Okay, let's try these magic words out and see what happens... apparently, nothing if we're in the wrong place, so we may be protected against flagrant misuse.  Just for fun, let's try to SAY SEERSUCKER in the vampire's presence -- nope, NOTHING HAPPENED.  None of the other magic words do anything either here, or at the locked door in the foyer.  Do we need to have the spellbook in hand?  It doesn't seem to make a difference.

I try to GIVE DIAMOND or THROW DIAMOND to the monk, to no avail, and DROP DIAMOND just prevents us picking it back up again as long as the monk is around.  We can't FILL BATHTUB.  What about that drawers reference earlier?  I don't see any drawers around so far, and my avatar's pants remain invisible and out of reach so we'll never know about that possibility.  PLAY BANJO doesn't have any effect on the monk, or the vampire.

... Hey, this game actually has a SAVE command!  I didn't expect that.  It exits the game after we save, though we can use the BASIC CONTinue to return to the game in progress.  (This will prove extremely handy later on.)

We have nothing to KILL MONK with -- though that carving knife might be handy.  The parser recognizes WATER in the bathroom, but we can't GET WATER and of course DRINK WATER is interpreted as Down.  Can we perhaps frighten the vampire with the flashlight?  Yes!  LIGHT ON and WAVE FLASHLIGHT sends him flying away.  I guess it doesn't have to be sunlight after all!  We'll LIGHT OFF to conserve the batteries, assuming this game adheres to that convention.

Now can we KILL MONK with the knife?  We don't actually succeed in doing so, but THE MONK HAS BECOME FRIGHTENED AND RUN AWAY, which will suffice for our needs.  This gives us access to the Ming vase, but since we don't have anywhere to stash treasures yet it doesn't seem like we should fill our limited inventory with them.

Hmmmm.  Aha!  We can take the elevator Down from the first floor -- I hadn't tried that.  It's too dark down here to see, so I'll go back and fetch the batteries from the kitchen where I left them.  We can exit the basement elevator to the north or south.  South is yet another telephone booth; continuing south, we find the torture chamber, with a bag of gold and a set of stocks, also treasures it seems. 

South again is the workshop, with exits east and west.  East is a freezer, where a protoplasmic blob guards a wrinkled parchment.  There's a dirt-floored room to the east, where we could probably DIG FLOOR -- but YOU CAN'T DIG THE FLOOR?  Ah, we must ask the parser to DIG DIRT -- but YOU DON'T HAVE ANYTHING TO DIG WITH

We can continue south to an empty laboratory, and go E from here to the pumproom, where we find a can of bug spray and a savage beast.  Again, this beast doesn't block our path -- we can head south to the furnace room, with exits to the east and south.  East is a dusty coal bin, and east from the bin wraps back around to the workshop.  South from the furnace room leads back to the elevator in similar fashion.

Well, presumably we can use music to soothe the savage beast, and yes, PLAY BANJO does so -- THE BEAST HAS WANDARDED [is that like drownded?] OFF IN A STATE OF BLISS!  And now we can drop the banjo and GET SPRAY -- well, GET CAN, actually.  Might as well try to SPRAY BLOB -- and that sends it scurrying through a crack in the floor, providing access to the parchment.  READ PARCHMENT suggests that we use "THEM" IN A TELEPHONE BOOTH, IN THE LIVING ROOM, and IN THE DINING ROOM.  This information should help, assuming it relates to the magic words!

Let's try the magic words in the basement telephone booth.  SAY SHAZAAM makes us disoriented and sends us to the family room?  It looks like the locked door in the foyer has vanished, though no new exits are apparent, and we no longer need to turn on the flashlight when we go into the basement.  That's powerful magic!  Let's try using one in the dining room -- nope, none of these words seem to work here.

I'll start over and see if I can figure out how these work.  I try to SAY ABRACADABRA in the basement telephone booth, and this time I end up in the guest room.  UGABOOM goes to the pantry, and SEERSUCKER to the laboratory after subsequent restarts.  But nothing seems to change otherwise???

Let's try the first floor telephone booth instead.  Nope, nothing seems to happen here at all.  And when I try to SAY ABRACADABRA again in the basement, it seems the magic word sends me to a random destination.  What about the phone booth upstairs with the gold coins?  Nope, nothing happens here either.  So the basement must be the right place to start.

Is there an order in which we're supposed to use these incantations?  It seems like only one word works -- after that, nothing happens even in the basement telephone booth.  Does it matter which word we use where?  Let's go to the living room next and try there.  Nope.  First floor telephone booth?  Nope.  Second floor?  Nope.  Ack!

Time to dig into the code, methinks -- the magic word logic is pretty convoluted, and as it turns out, it's just plain buggy.  There seem to be two stages to it -- each stage checks to see if we're in a specific valid room, i.e. the basement telephone booth first and the dining room second, so that kind of makes sense.  But it compares X (the object of the command, i.e. the magic word) to a P array of floating point numbers that seem unlikely to ever match a value of 0, 1, 2, or 3.  It looks like P is initialized to a random value between 1 and 4, but it isn't being rounded to an integer so a match for 1 of 4 words would be pretty rare.  Z also gets randomized after a bad guess to a number that may prevent any guess from working, as there are only two possibilities, 0 and 1, and Z ends up as a floating point number between 0 and 3.  Was this feature ever playtested?  My first thought was that I should force P(0) and P(1) to something consistent so the game can be played successfully and more predictably, so I edited line 5 and attempted to restart and continue.

The next thing I learn is that if we move around too long in the dark basement without light, we end up getting killed by something unseen but gruelike in its habits and habitat, ending the game.  So we'll be more careful about that on the next try.  Saying the correct magic word in the telephone booth yields an old leather glove, and in the dining room it produces an aluminum dime.

I'm stuck again, so I try to crack the next puzzle by willing the shovel into inventory by altering the O array.  So let's try using the shovel in the dirt-floored room -- now it seems we can't DIG FLOOR or DIG DIRT either?  Ahhhh... our location is partly determined by variable Z, which is roundable to 0 but is not actually 0 when the dig logic checks our location.  So line 75 doesn't quite work right unless we force Z to a nice round 0.  Now DIG DIRT turns up a rusted key.

I'm beginning to realize what's going on here, though I wouldn't have figured it out if I hadn't recently been reading some old magazine articles about dialects of Microsoft BASIC.  The game works a lot better if we modify line 1 to start with DEFINT A-Z:  -- Model 100 BASIC supports this and now these variables all behave much better, allowing random numbers to land cleanly on an integer instead of a messy floating point value that won't match many game logic comparisons.

I remove my modifications to line 5, to be a good sport now that I've realized where House Adventure's biggest issue lies, and it takes me a few tries, but SAY SHAZAAM in the basement telephone booth yields the old leather glove, and SAY ABRACADABRA in the dining room produces the aluminum dime.  Nothing ever happens in the living room, though, so the parchment is a little misleading.

Now the telephone booth room on the second floor takes us (as I'm sure the author intended) back to the telephone booth on the first floor; actually, this is randomized, taking us to different telephone booths each time we enter one.  And I find the rusted key and a clove of garlic on the floor of the dirt-floored room, without having to do any digging; not sure if that was intended, but it works for me.

With the rusted key, we can finally UNLOCK the DOOR in the foyer.  This lets us go to the front porch, where we can see the front yard, and I suspect this is where we need to bring treasures.  It also appears that monsters now run away but turn up elsewhere, as they are not randomized away into nonexistent rooms any more,so we need to keep track of where we left important items for shooing them off again.

Let's round up the treasures we know about -- the diamond, the gold... and it turns out the set of stocks are not stock certificates as I was picturing, but actual non-portable as-in-"put-the-prisoner-in-the" stocks (it's a torture chamber after all!)  The wooden box also counts -- it seems we get credit for hauling anything not nailed down out to the front porch!  The hairbrush, the sorcerer's handbook, the... uh-oh.  I've run into the leopard again, and after we take items out of the house, they disappear!  So perhaps we'd better collect things in the foyer instead, in case we need them again.

Starting fresh, it seems some items are randomized, and I'm seeing some objects I didn't encounter before, like a block of dry ice in the dining room.  And I exhaust my flashlight batteries before I manage to get anything out of the house.  Sigh.

The batteries only last 40 turns, tracked by a variable U in the code, and with the tight inventory limit it's pretty difficult to get everything out of the basement.  There's also no clear victory condition when we die or quit -- just a score for how many items we got out of the house?  I cope with the battery life by occasionally doing a QUIT, U = 0, CONT sequence.  Yes, it is cheating.  No, I am not ashamed of myself. I don't think it's possible to carry a light source and remove everything from the basement in 40 turns, and if we wander in the dark for more than a few turns we are consumed by an unseen menace, so that's not an option.

What's going on with the telephone booth rooms?  They seem a lot more stable since I restarted.  Do they react to having the dime in inventory?  Yes!  Now they start teleporting us randomly around again.  But while the design intends for it to be possible to reach a "secret" fourth telephone booth in a separate section of the third floor we can't otherwise reach, it's nearly impossible for this to happen given the random number algorithm used in line 7.  This can be patched imperfectly by changing the code to randomly pick a number between 0 and 5, instead of 0 and 4; the odds of it being greater than or equal to 4 are much better now.  (After the fact, I realize that multiplying the random number by 4.999 would prevent a bad value of 5 from coming up without substantially altering the odds of it being 4.)

Good, now we randomly find ourselves in a new telephone booth, with an exit to the east.  This leads to a barroom with a block of dry ice, and an exit leads east to the game room.  North of this point is the computer room, with a UNITRON 30/50 MAINFRAME and a shovel.  Traveling north of the computer room takes us back to the first floor telephone booth.

Finding our way back again, we establish that south of the game room is the art hall, where we see a silk pillow and a werewolf, guarding it of course.  To the west is a nondescript bedroom.  We can WAVE GARLIC (is that canon?) to ward off the werewolf and take the silk pillow, so we can take the Ming vase formerly guarded by the insane monk (a steal from Colossal Cave there, though more insistent in implementation, as we can't drop the vase at all without the pillow present.)

I try to use the glove to take the dry ice, but I end up dying with a scream, followed by "REMEMBER?"  Hmmmm.  Maybe that's what the imposter business on the title screen is about -- the dry ice in the living room is not the real dry ice?  Or it's the last thing we should take out of the house?  Or dry ice is an imposter for real ice?  There are two locations where it appears, though, so that's probably what this means, especially as we have to get into the hidden telephone booth area to find the real one.  I think.

I grab the shovel from the computer room and finally DIG DIRT in the dirt-floored room, but nothing comes up.  At least we can dispose of the shovel.  I haven't grabbed the diamond from the closet yet this round, so I'll do that.

Now let's see if we're allowed to pick up the dry ice from the barroom... yes, we can GET ICE here without dying.  We do need the glove in order to do so -- if we try to drop it first while carrying the dry ice, we're prevented: YOU'LL BURN YOURSELF IF YOU DROP THE GLOVE NOW!  So that's done, but it seems I'm still short an item, namely the hundreds of gold coins from the second floor telephone booth.

We can't GET COINS directly, but if we have the wooden box in inventory we can.  And after we drop it and all of the other remaining items outside, victory is ours -- with an end message that's just as bugged up as the rest of the game!

Playing House Adventure was not a great deal of fun -- it took a lot longer than I was expecting due to its general quality problems, though somehow it kept drawing me back, probably because having the source code made it possible to finish, in theory at least.  I was able to fix a couple of game-breaking bugs, though I also had to cheat quite a bit to extend battery life and occasionally continue after an untimely demise. 

And this completes my tour through the handful of TRS-80 Model 100 text adventures I currently know to be in circulation -- pity this last one was probably the least polished of the batch!  Onward!

Tuesday, September 9, 2014

Adventure of the Week: Dreamer (1983)

This week's subject might be one of the earliest intentionally surreal and experimental adventures, in a vein modern interactive fiction authors continue to explore.  Dreamer was written by Jorge Mir in BASIC for the TRS-80 Color Computer, as another magazine contest entry published in The Rainbow Book of Adventures in early 1983.

Dreamer was designed to run in a mere 4K of RAM, the basic early Color Computer configuration that saw very little commercial support.  The objective is to explore all 26 rooms without being killed, but the tight memory constraints result in a novel engine approach -- there's no real parser, so there's nothing in the way of feedback, and the puzzles consist almost exclusively of guessing exactly the phrase that the game wants.

Mr. Mir claims his game is suitable for beginners, and in a way he's right -- since there's not much complexity to it, anyone can sit down and guess at phrases until something happens.  But I can't really encourage anyone to play this game today -- it's not so much an adventure game as a series of brick walls, and I had to peek at the code on a few occasions when guessing wore thin.  So feel free to experience Dreamer vicariously by reading on into the...

***** SPOILERS AHEAD! *****

We are LOST IN THE FOREST as we begin.  We have nothing in inventory; in fact, it seems there is no I or INV command, so we probably won't have to deal with any objects.  There's no exit list given, so movement will have to be by trial and error.  But it seems we can move in all directions without really going anywhere -- again, hard to verify without inventory -- and no verb I try seems to do anything.

Trying to use the title as a jumping-off point, I attempt to SLEEP and DREAM and WAKE, with no response to any of it.  I try to SEARCH WALL and JUMP and YELL, also to no avail.  I try to CLOSE EYES and IMAGINE something that might happen.  I DIG and EXAMINE FOREST and CLIMB TREE, but nothing ever occurs.

At last I try battling the parser on its own terms, and GO WEST finally brings me somewhere new -- to the edge of the forest, near a house.  Here, if I try to E I am at least given a useful response -- I CAN'T E, whereas in the forest I got no feedback at all to any phrase I tried.  We can't go anywhere else from here using compass directions, but we can GO HOUSE to approach its door.

We can't, however, GO DOOR, or OPEN DOOR, or EXAMINE DOOR, or KNOCK DOOR or RING BELL.  We can't PUSH or PULL or MOVE or SLIDE it either.  And we can only GO EAST here, which gets us lost in the forest again.  Ah!  We can UNLOCK DOOR.  This might be our house, as we've seen no evidence of a key, although since this is a dream there's not necessarily an answer to the question.  Once we've done that, the door stands open, but we can't GO DOOR or ENTER DOOR.  We have to ENTER HOUSE.

At this point I wonder if we're being graded at all, so I try to SCORE -- and I CAN'T SCORE.  Okay.  We can see STAIRS and FURNITURE here.  But we can't GO STAIRS or GO UPGOing EAST puts us back in the forest again.  We can't CLIMB STAIRS or USE STAIRS, nor STAND on, USE, MOVE or CLIMB the furniture.  We can, however, GO UPSTAIRS.

I'm beginning to realize how this game manages to work in 4K -- every location has a specific "command," really a phrase that we must hit upon exactly to get to the next stage.  There's no real parser at work here, which is why the engine is so strict yet arbitrary in its demands.  This does not make the game very much fun, I might add.

Upstairs we find a bedroom with a window, a bed, and some stairs again.  We'll try to GO DOWNSTAIRS, which actually works, leading to a family room with a fireplace and TV set.  We can GO FIREPLACE to find ourselves in the dark, and (it turns out) GO NORTH to find ourselves out in the forest again, though not in the starting LOST location this time.

We can see A HOUSE FAR AWAY, but we can't GO HOUSE from here.  GO NORTH takes us back to the starting location, lost in the forest, and we have to find our way back here exactly as we did before.  GO SOUTH takes us to a river bank with a cave.  We can't ENTER CAVE, but we can GO CAVE.  Inside we see a large box and a light to the east.

We can't OPEN BOX, but we can GET BOX -- and finally something produces a negative response, as THE BOX WAS FULL OF POISONOUS SPIDERS.  YOU ARE NOW DEAD!  YOU ONLY GOT TO SEE 11 ROOMS.  So this is how we're scored, then... if we die, we at least learn how well we performed to the author's exacting specifications.

Starting over again, we choose to ignore the box and GO EAST instead, arriving outside the cave near a hungry bear and a tree.  CLIMB TREE proves fatal, as THE BEAR CLIMBED THE TREE ALSO AND ATE YOU!  We've now seen 12 rooms.  Of 26?  This is going to seem like a very long adventure despite its simplicity.  Maybe a peek at the code will make up for the lack of a save game -- it appears we can GOTO 4 to pick up wherever we died and try something else.  I'll allow myself this concession for the sake of efficiency.

With this trick speeding things up, I try some other possibilities.  We can't PET BEAR or KILL BEAR or WRESTLE BEAR, but we can RUN to escape to a hill with a small cabin.  GO CABIN brings us to its door, where we also see a horse.  Unfortunately, we cannot GO HORSE or RIDE HORSE, nor do anything with the door.  But we can ENTER CABIN regardless.

Here we find some food and a saddle.  GET SADDLE actually responds like a normal adventure game -- the saddle disappears from the screen, leaving the food behind, though this is in actuality a simulation of normal adventure behavior.  But we can't GET FOODEAT FOOD proves, as I suspected, that it's poisonous, and we die with 16 rooms under our collective belt.  After we get the saddle, we need to EXIT CABIN.

We can't SADDLE UP, or SADDLE HORSE, or GO HORSE, but now that we have the saddle we can RIDE HORSE to a large lake.  We can't SWIM or DIVE or EXAMINE LAKE or GO LAKE or DIVE LAKE or DRINK LAKE or DRINK WATER or anything else that seems reasonable to try.  We're still on the horse, but we can't DISMOUNT or GET DOWN or GET OFF, and directional navigation doesn't get us anywhere.  I finally had to look at the BASIC code to see that Mr. Mir threw us a curve on this one -- we have to abandon the two-word approach used almost everywhere else, and dismount and/or overcome a serious drug habit as we GET OFF HORSE!

Now we can see a small boat, and GO BOAT to approach a small island.  Of course, we can't GO ISLAND, or SWIM ISLAND, or EXIT BOAT.  We have to ROW BOAT to reach the island.  Here we find some sand and a shovel; we can't GET SHOVEL or DIG, but we can DIG SAND to find a bottle.  We can't GET BOTTLE or OPEN BOTTLE, or READ BOTTLE or GET NOTE (guessing there might be one in it)... but we can, in desperation, BREAK BOTTLE.

Now we find ourselves magically transported to A STRANGE LOOKING PLACE where we see a magic wand, and a blue cloud engulfing us.  GET WAND transports us to a palace, where we see a WELL ARMED GUARD (somehow I picture Ray Harryhausen's interpretation of Kali instead of the author's intended imagery) and some DIAMONDS ON A TABLE.  Fortunately, since the engine really only recognizes a couple of responses for any given location, we can freely attempt to KILL GUARD and STAB GUARD and GOUGE OUT EYES OF GUARD without irritating him in the least.

As it turns out, what we really want to do is give in to our base impulses and simply GET DIAMONDS -- and now we have an ANGRY GUARD at hand, probably because he's envisioning his next job evaluation.  Let's try the bear strategy again, and RUN... and we find ourselves at home!  It may have only been a dream, but victory is ours!

Dreamer has an interesting concept at its core, but in execution it's a novelty, rather than a true adventure -- the solution is so constrained that it's more of a guessing game along narrative lines.  But it was fun to fight through it anyway, and I appreciate the technical variety found in low-memory adventures -- they are always forced to compromise in some way, and Dreamer does squeeze a lot of story into 4K of RAM.