The Secret Garden

felicroman
Taking a break in the Lazy Gun series, I made this game as an attempt at infocom style humour and classic puzzle solving. It is fairly short but some of the problems are challenging. Concentration on the room descriptions is key, as exits are not listed seperately.

:D

' "The Secret Garden"
' Created with QDK 3.53 - UNREGISTERED VERSION

define game <The Secret Garden>
asl-version <350>
gametype singleplayer
start <Loft>
game author <Felic Roman>
game info <Created with QDK 3.53 - UNREGISTERED EVALUATION VERSION.>
default fontsize <12>
background <black>
foreground <white>
description {
msg <#indescription# |b|cr#quest.formatroom#|xb|cb>
msg <#quest.lookdesc#>
msg <There is #quest.formatobjects# here.>
}
command <dig> if got <spade> then msg <You consider digging here before having the sense to realise the futility of such an affront against hard ground.> else msg <You have nothing with which to perform the act of digging.>
command <eat bread> if got <bread> then msg <The bread has fungus on it and you don't want to eat it.> else msg <Try having it first.>
command <eat toast> if got <toast> then {
msg <You daintily consume the delicious piece of toast. It fills you with an immense feeling of satisfaction.>
hide <toast>
}
else msg <Try having it first.>
error <badcommand; Pardon, je ne comprende pas!>
error <itemunwanted; #quest.error.gender# laughs at your pitiful excuse for a gift.>
error <noitem; Try having that first.>
error <badexamine; You idly examine nothing for a few minutes.>
error <badtake; I'm sure its fairly obvious that you can't take that.>
error <defaultdrop; You throw it to the ground in disgust!>
error <defaultspeak; #quest.error.gender# is unavailable right now. Please leave a message after the tone...>
error <defaulttake; You pick it up.>
end define

define synonyms
end define

define room <Loft>
look <The loft is also your bedroom. There is a bed in one corner of the room, and not much else of interest. A trapdoor in the floor leads down.>
down <Hall>
command <look under bed> if exists <spade> then msg <You find nothing more under the bed.> else {
msg <A short rummage under your bed reveals a small spade!>
show <spade>
}

define object <bed>
look <It is your bed. It is stereotypically untidy and harbours a peculiar odour.>
examine <There appears to be something under the bed.>
invisible
end define

define object <spade>
look <It is a small, light spade which you can easily carry around with you. It is used for digging.>
take
examine <It is a small, light spade which you can easily carry around with you. It is used for digging.>
prefix <a>
hidden
end define

define object <bread>
look <It is a small piece of bread that appears to have been left out for too long judging by its regal infestation of fungus.>
take
examine <It is a small piece of bread that appears to have been left out for too long judging by its regal infestation of fungus.>
prefix <a slice of>
article <it>
gender <it>
end define

end define

define room <Hall>
look <This is the main hallway on the first floor of the house. The walls here are painted green - the ceiling is white. The hall continues east. There is a door leading west. You can go down the stairs here, or up through a trap door in the ceiling.>
east <Hall2>
west <Library>
up <Loft>
down <Stairway>
end define

define room <Bathroom>
look <This is a fairly standard bathroom with the usual utensils. The most interesting thing in the room is the window in the east wall, which overlooks the roof of your garage. A door leads south.>
south <Hall2>
command <out> if exists <window open> then goto <Garage Roof> else msg <There's no way of getting out while the window is closed. Find a way to force it open.>
command <open window> msg <You exert all your force trying to pull the window open, but it won't budge. Maybe you could find some tool to force it open.>
command <close window> if exists <window open> then msg <You want to close the window again after all that? Sorry, but its not worth it.> else msg <The window is already closed, to your eternal dismay.>

define object <window closed>
alias <window>
look <The window is set into the east wall of the bathroom. It looks out over the roof of your garage. It is closed.>
examine <The window appears to be stuck fast.>
use <screwdriver> {
msg <You wedge the screwdriver into the base of the window and wrench it downwards. The window emits a loud 'crack' and swings open.>
show <window open>
hide <window closed>
}
end define

define object <window open>
alias <window>
look <The window is set into the east wall of the bathroom. It looks out over the roof of your garage. It is wide open; you can go out of it.>
examine <The window is wide open.>
hidden
end define

end define

define room <Stairway>
look <You are on the stairway which leads up to the first floor and down to the ground floor of your house. There is very little of interest here.>
up <Hall>
down <Hall3>
end define

define room <Hall2>
alias <Hall>
look <Another boring hallway. From here you can take a door to the north, or go back west along the hall.>
north <Bathroom>
west <Hall>
end define

define room <Library>
look <This is your library, with which you occasionally attempt to impress intellectual guests. It is a small room but it has a soft carpet on which you occasionally doze. Most importantly there is a large bookshelf here.>
east <Hall>

define object <bookshelf>
look <As you glance over the bookshelf, a certain book catches your eye, but you lose sight of it again. Maybe you should examine it more closely.>
examine if exists <book> then msg <There are no books on the shelf that you find particularly interesting. The whole thing is more for show really.> else {
msg <A certain book definately catches your eye. You give it a tug and it slides out, falling to the floor.>
show <book>
}
invisible
end define

define object <book>
look <It is a battered old book about telephone repair.>
take
examine <The book contains such exact instructions on how to repair a broken telephone that even a duffer like you could carry out the task with it at hand.>
prefix <a battered>
hidden
end define

end define

define room <Hall3>
alias <Hall>
look <This is the main intersection hall of the ground floor of your house. From here you can head northeast to the lounge, whilst a passage to the south leads into the front porch. A stairway leads up to the first floor, and the hall continues west.>
south <Porch>
west <Hall4>
northeast <Lounge>
up <Stairway>
end define

define room <Porch>
look <Its a cosy little porch connecting your house with its front door. You feel safe in this enclosed space, and sometimes come down here to sleep when you have bad dreams. The hall is north, the front door south.>
north <Hall3>
south if got <key> then playerwin else msg <You can't go through the front door without the key.>

define object <newspaper>
look <Its your daily Independant, bringing you well written articles on a wide range of topics from across the world.>
take
examine <The cover features stories on Michael Jackson and the recent G8 summit.>
prefix <a>
end define

end define

define room <Garage Roof>
look <Its a gravelled garage roof, topping off the garage which connects your house to the one next to it. From here you can look out across your pleasant suburban neighbourhood. A few people in the street to the north stop to stare at you. There is an open window here leading in.>
north msg <Jump off the garage roof? Sorry, you're far too much of a wimp for that. What if you break your ankle?>
command <in> goto <Bathroom>

define object <reciever>
look <It appears to be a telephone reciever; thats the part you hold which usually rests on the phonecase.>
take
examine <The reciever has a port where it could be attached to the cord on a phonecase with the right expertise.>
prefix <a>
end define

end define

define room <Back Garden>
look <Its your well kept back garden. The hedges are well trimmed and the fences comfortably high to allow you your privacy. To your south is your house, tall and proud. To the east of the house itself is a small garage, which as far as you know is entirely inaccessable. There is a small tool shed here which you can go in.>
south <Lounge>
command <in> goto <Tool Shed>
command <dig> if got <spade> then {
if exists <note> then msg <You have great fun digging for a while but find nothing of interest.> else {
msg <You have great fun digging for a while, and eventually unearth a small, soiled note.>
show <note>
}
}

define object <note>
look <Its a small note with a number written on it. You are probably meant to use it on a telephone.>
take
examine <Its a small note with a number written on it. You are probably meant to use it on a telephone.>
hidden
end define

end define

define room <Tool Shed>
look <This is your tool shed where you sometimes come to smash electrical goods apart with your screwdriver and contemplate getting into DIY. There are several spiders hanging from the ceiling, and you resist the urge to hurl yourself comically through the small window in fear. You can go out.>
command <out> goto <Back Garden>

define object <screwdriver>
look <Its a simple, heavy duty screwdriver. Not being much of a DIY person, you mainly use it for smashing apart electrical equipment and forcing open stuck jars.>
take
examine <Its a simple, heavy duty screwdriver. Not being much of a DIY person, you mainly use it for smashing apart electrical equipment and forcing open stuck jars.>
end define

define object <phonecase>
alt <case>
look <Its the main part of a telephone - the phone case. It appears to be missing a keypad and a receiver. Well, you have nothing better to do.>
take
speak <"Please help me find my keypad and receiver!">
examine <Its the main part of a telephone - the phone case. It appears to be missing a keypad and a receiver. Well, you have nothing better to do.>
prefix <a>
use <reciever> if got <book> then {
msg <Following the instructions of the phone repair book, you fix the reciever onto the phonecase, creating a partial telephone.>
hide <reciever>
hide <phonecase>
give <partial telephone>
}
else msg <You don't have the ingrained expertise to carry out such an act of repair. You'll need help.>
use <keypad> msg <That's not the right order for repairing the telephone.>
use on <reciever> msg <That's not the right order for repairing the telephone.>
use on <keypad> msg <That's not the right order for repairing the telephone.>
end define

end define

define room <Kitchen>
look <Ah. This is the kitchen. Its the most modern part of your house, with all varieties of cooking utensils and machines. The whole room is tiled, if that helps in any way. There is a toaster here. You can leave via the door to the south.>
south <Hall4>

define object <toaster>
look <It's a toaster. The idea is that you put bread in it and it heats it up at a carefully set rate, slowly dehydrating it until the bread takes on a more rigid and crispy form known as toast.>
speak <"Hello," says the toaster jovially. "How would you like your toast today?">
examine <It's a toaster. The idea is that you put bread in it and it heats it up at a carefully set rate, slowly dehydrating it until the bread takes on a more rigid and crispy form known as toast.>
prefix <a>
invisible
use <bread> {
hide <bread>
msg <You put the bread into the toaster and push it down. A few minutes later, it re-emerges as a piece of toast, leaping into the air and landing on the sideboard.>
show <toast>
}
end define

define object <toast>
look <It's a delicious looking piece of toast. Go on. Eat it. What harm can it do?>
take
speak <"Eat me! Eat me!" And who are you to refuse?>
examine <It's a delicious looking piece of toast. Go on. Eat it. What harm can it do?>
prefix <a piece of>
hidden
end define

end define

define room <Hall4>
alias <Hall>
look <A generic hall. They are common in your house. In fact there are four of them. From here you can go east, or take the door to the north.>
north <Kitchen>
east <Hall3>

define object <vase>
look <Its a very delicate looking vase with pretty pictures painted onto it with a mind bogglingly thin brush.>
take
examine <There might be something inside the vase, but your not sure. There doesn't seem to be any way of getting into it.>
prefix <a>
drop {
msg <You throw it to the ground in disgust, and have the simplicity to be surprised when it smashes into a thousand pieces, revealing a small telephone keypad, which you subsequently pocket.>
hide <vase>
give <keypad>
}
end define

end define

define room <Lounge>
look <This is your lounge, where you lounge about watching TV and lying on your sofa reading the Independant. The walls in here are a natural green/blue hued mix - the ceiling is white. You can head southwest down a corridor, whilst a set of french doors to your north leads out into the back garden.>
north <Back Garden>
southwest <Hall3>

define object <phone cable>
alt <cable>
look <Its a simple phone cable protruding from the wall. Working telephones can be attached to it, resulting in the connection of the user to a fully functioning global communications network.>
examine <Its a simple phone cable protruding from the wall. Working telephones can be attached to it, resulting in the connection of the user to a fully functioning global communications network.>
prefix <a>
use <telephone> {
msg <You attach the telephone to the phone cable...>
hide <telephone>
show <telephoneworking>
}
end define

define object <telephoneworking>
alias <telephone (fixed)>
alt <phone; telephone>
look <Its a working telephone. You will need a number to use on it though.>
speak <The telephone doesn't actually talk itself, although you would be forgiven for thinking so. This is actually just an illusion created by the transmission of vocal audio from an external source through the speaker in the reciever.>
examine <Its a working telephone. You will need a number to use on it though.>
prefix <a>
hidden
use <note> if got <key> then msg <You lift the reciever and type in the number from the note, but nothing happens.> else {
msg <You lift the reciever on the phone and type in the number from the note. It rings for a few seconds, before going dead. A key suddenly pops out of a previously unseen hatch on the telephone.>
give <key>
}
end define

end define

define room <Object Room>

define object <key>
look <This is the key to the front door of your house.>
take
examine <This is the key to the front door of your house.>
prefix <a>
drop nowhere <That's too valuable to drop!>
end define

define object <partial telephone>
alt <telephone; phone>
look <It is a partially completed telephone, consisting of a phonecase and a reciever. It appears that a keypad is still absent.>
examine <It is a partially completed telephone, consisting of a phonecase and a reciever. It appears that a keypad is still absent.>
prefix <a>
use <keypad> if got <book> then {
msg <Following the instructions of the phone repair book, you fix the keypad onto the phone, creating a completed telephone.>
hide <partial telephone>
give <telephone>
}
else msg <You don't have the ingrained expertise to carry out such an act of repair.>
end define

define object <keypad>
look <Its the keypad for a standard telephone, used for typing in numbers. It would usually be attached to the front of the main phonecase.>
take
examine <You're not sure how one might go about re-affixing the keypad to a phonecase.>
prefix <a>
use <reciever> msg <That's not the right order for repairing the telephone.>
use on <reciever> msg <That's not the right order for repairing the telephone.>
use on <phonecase> msg <That's not the right order for repairing the telephone.>
end define

define object <telephone>
alt <phone>
look <This is a complete telephone. However, it won't be available for its functionable purpose until it is attached to a working phone cable.>
examine <This is a complete telephone. However, it won't be available for its functionable purpose until it is attached to a working phone cable.>
prefix <a>
end define

end define

define text <intro>
THE SECRET GARDEN

In this game you play a young post-graduate who cannot be named for legal reasons, who has lost the key to his front door which he needs to exit the house this morning. Have a look around the house to see if you can solve the problem. The name 'the secret garden' is about a dream you had - there is a garden in the game, but it isn't the focus in any way. Good luck.

end define

define text <win>
You unlock the door, throw it wide open and dance out into the street, singing your joy at this new found freedom. Now you can go on to live an exciting and productive life. This is the happiest ending ever. I'm truly proud of you.

THE END

Goodbye.
end define

define text <lose>

end define

This topic is now closed. Topics are closed after 14 days of inactivity.

Support

Forums