Introduction by Nerds!!!
Planetfall Game
Stationfall Game
Enchanter Game
Beyond Zork Game
3D Planetfall Maps
Stationfall Blueprints
P.R.I.S.M.
G.U.E. Tech Game
1980's Greatest Music Songs - from Apple iTunes.
Doctor Who
karn.z5 (87 Kbytes)
7doctors.z5 (70Kbytes)
spacestation.z5 Version 2.4 Run Code (79Kbytes) - 22nd August 2010.
PET Corner - Commodore PET Computer.
4Kbyte of RAM, Green Monochrome Monitor, Tape Cassette Drive,
and Keyboard with Symbols on it. Like on the Fast Show.
How to write a Transcript
faulty_towers.inf - below
bzork_sample.inf - below
.inf = Inform 6 , .z5 = RUN File
! Simple game about the Faulty Towers TV Situation Comedy. Can be expanded by anyone interested. The ! 'actors' could have more detail added to them. ! ! Type 'c' to compile i.e. c ft.inf . ! Goto 'Start' Button, Run 'cmd' (MS-DOS Command Prompt, Microsoft Disk Operating System) ; ! 'cd Desktop' ; 'cd ft_inf' ; 'c ft.inf ... and fix any errors and re-compile - CD = Change ! Directory , DIR = List Directory. ! Then you get the 'ft.z5' Run code, run using 'WinFrotz2002.exe' ; Simples!!! ! !'inf' stand for 'Inform Code' (Inform 5 and 6 available) ; !'.z5' Stand for 'z-Machine' Interacive Fiction Text Adventure multi-platform Programming Language that !works on any computer platform with Free Emulators downloadable from the internet e.g. PC, Psion... ! !Dave. 14/09/15 Switches xd; Constant DEBUG; Constant Story "Faulty Towers Computer Game"; Constant Headline ": An Interactive Transcript^ Freeware 2014 by David Ledgard;^"; Serial "150914"; Release 1; Include "Parser"; Include "VerbLib"; Include "Grammar"; Object Reception "Reception" with description "This is the Reception of the Hotel. Exits lie North, South, and East.", n_to Office, s_to DiningRoom, e_to Lobby, has light; Object -> Proprietor "Basil" "Forta", has static animate male; Object Lobby "Foyer" "Lobby" with description "This is the Reception of the Hotel. Exits lie North, South, West, and East. And stairs lead upwards.", w_to Reception, n_to Lounge, s_to DiningRoom, e_to CarPark, u_to FirstFloor, has light; Object FirstFloor "First" "Floor" with description "There are three Rooms on this floor. With Doors.", d_to Lobby, has light; Object -> Manuel "Manuel" with before [; Kick: "Manuel says 'Oi!'"; ], has static animate male; Object -> ReceptionDesk "Desk", with found_in Reception, has scenery; Object -> -> ReceptionBell "Bell" with before [; Ring, Push: "The Bell Rings.^ Basil says 'Hello. how do you do?'^ People don't even say 'Good Morning' in this Country anymore, at the Station."; ], has scenery; Object Office "Office" with description "This is the Hotel Office. There is a safe here.", e_to Lounge, s_to Reception, has light; Object -> Simone "Simone" "woman" has static animate female; Object -> Safe "Safe" has scenery openable open; Object -> -> Money "Money" "Fiver" with description "A fiver."; Object Lounge "Lounge" with description "This is the Hotel Lounge.", w_to Office, s_to Lobby, has light; Object -> theMajor "Major" with description "The Major is here. Sitting down in a Chair.", has static animate male; Object -> Chair "Chair" with before [; "The Major is sitting in a Chair."; ], has scenery supporter enterable; Object -> Drinks "drinks" with name "drink" "drinks" "glass" "glasses", description "There are three drinks here.", has scenery; Object -> -> Whisky "Whisky" has scenery; Object -> -> Vodka "Vodka" has scenery; Object -> -> Scheppes "Scheppes" has scenery; Object DiningRoom "Dining" "Room" with description "There a several tables here, Chairs, and a Menu.", n_to Reception, e_to Kitchen, has light; Object -> OldLadies "Old" "lady" "ladies" has static animate female; Object -> GermanTourists "german" "tourists" has static animate male; Object -> Maid "Maid" has static animate female; Object -> Menu "Menu" with description "For breakfast there is Orange Juice, Tea, Toast, and Cereal.", before [; Consult, Read: "For breakfast there is Orange Juice, Tea, Toast, and Cereal."; ]; Object Kitchen "Kitchen" with description "There is a Cooker here and Fridge. Also a Table.", w_to DiningRoom, n_to Lobby; Object -> Cook "Cook" has static animate male; Object Lane "Lane" with description "You're standing a Lane. A Hotel lies to the West, and the lane continues East.", w_to CarPark, n_to TechnicalCollege, e_to RecordingStudio, has light; Object TechnicalCollege "Technical" "College" "School" with description "This Technical College offers a two year course in Computer Studies. Subjects covered include the c programming language, selected because it can BIT TWIDDLE... The Pascal Programming Language is recommended as a Teaching Language, it is elegant, and has special commands like variable TYPES e.g. [ January .. December], [Ace .. King ], RECORD's, ARRAY's... CONSTANT, INTEGER, BYTE, REAL, BOOLEAN (TRUE or FALSE), CHAR, and STRING. if (KeyPressed = TRUE) then isQuit. Another Command is GotoXY ( 1, 1 ) for the Screen Cursor, and ClrScr ().^ WHILE / DO, and REPEAT / UNTIL isQuit Loops. Procedures, and Functions - Returns one Variable, e.g. Result := Sqrt (144). Plot (X, Y, Color), Draw (X1, Y1, X2, Y2, Color)...^ Turtle Graphics: Turn Left, Turn Right, Forward, SetPenColor, SetPenDown...^ You can download the Pascal Programming Language (named after a French Philosopher and Mathamatician) FREE from the internet, and find a Manual, or Teaching book in your local Bookshop. The Pascal Language can be COMPILE'ed, from test.pas for example. Any Errors are shown and can be fixed in the Program Editor. When correct it then creates a RUN File: .COM, or .EXE .^^ Technical Colleges also do short courses for 2 hours a week, for 10 weeks, Evening Classes, or Saturday Morning like 'Introduction to the Internet' and 'Writing Web Pages'. 'NoteTab Pro' and 'CuteFTP Professional' are highly recommended for editing Web Pages, and Uploaded to the Internet - FTP: File Transfer Protocol. Download them from the internet for little. A good book is 'HTML 4 - 10 Minute Guide' - Hypertext Markup Language, developed by Sir Tim Berners Lee, at CERN, at little cost.", s_to Lane, has light; Object RecordingStudio "Record" "Studio" "Tape" "Cassette" "Sony" "Walkman" with description "This is a Music recording studio ; and a 'Sony Walkman' for Cassette Tape, with x2 AA Batteries, and Earphones. Also a collection of Tapes.^ One is 'By the Rivers of Babylon, where we sat down, and we did weep when we remembered Zion.'. A second is 'In the Jungle the Mighty Jungle the Lion Sleeps tonight.'. A third is Michael Jackson's 'Beat it.'. Fourth 'We built this City on Rock and Roll' by Starship. Fifth 'Changes' by David Bowie.". Sixth ABBA's 'My, my. At Waterloo Napoleaon did surrender' and 'Money. Money. Money'. Seventh Starship's 'We built this City on Rock and Roll'. Eighth The Bangles 'Walk like an Egyptian' and 'Guilty in the First Degree'. Ninth The BeeGees 'Saturday Night Fever' and 'You Win again'. And finally Tenth Jeff Wayne 'War of the Worlds'. w_to Lane, has light; Object -> DaniDaveto "Dani" "DeVito", with name initial [; print "Dani says his favoutie quote: 'I've got Chesse!'. He also starred in the great film 'Other peoples Money' with Gregory Peck."; ], before [; Consult, Read: "I'm making you Money!"; ]; has static animate male; Object -> MusicAmplifier "Music" "Amp" "Amplifier", with description "There is a Music Amplifier here.", has scenery; Object CarPark "Car" "Park" with description "This is a small Car Park next to the Hotel.", w_to Lobby, e_to Lane, has light; Object -> Car "Car" "Renault" with description "It's a Renault Car.", has scenery; Object -> FaultyTowersSign "Sign" with before [; Read: "The sign says 'Faulty Towers'."; ], has scenery;
! The transcript upon which this game is based is copyrighted by ! Infocom, 1987. The rights today belong to Activision, and no ! attempts have been made to secure permission from them. From their ! track record, they probably don't care about this obscure use of a ! by-product of one of their old Infocom games. This certainly can't ! be any worse than the Hugo port of Zork. ! ! This transcript programmed in Inform by Allen Garvin for no ! apparent reason (well, actually, he was bored and decided to ! program in one of the example transcripts for fun--Beyond Zork's ! was the most complete and self-contained); he can be reached at ! earendil@faeryland.tamu-commerce.edu. All code may be freely ! distributed and modified, as long as no commercial profit is ! involved. It'd be kinda neat if people made full games out of the ! transcripts of this or other Infocom games. ! ! Note also this is unfinished. I got bored before I could get around to ! programming the combat. Switches xd; Constant DEBUG; Constant SACK_OBJECT = Pack; Constant Story "Beyond Zork Example"; Constant Headline ": An Interactive Transcript^ Copyright 1987 by Infocom; Inform code copyright 1998 by Allen Garvin^ Zork is a registered trademark of Activision.^"; Release 1; Replace DrawStatusLine; Replace TimePasses; Replace YesOrNo; Include "/usr/games/Inform/Parser"; Object LibraryMessages with before [; Buy: if( location == Tavern or Shoppe ) "Unfortunately, you've already spent your last zorkmid."; rfalse; Quit: QuitRoutine(); ], ; Array Stats --> 18; Array PresetChars --> 36; Global AC; Global Gender; Global MyName; Include "/usr/games/Inform/VerbLib"; Object Tavern "Tavern" with description "You're in a dark and smoky tavern, filled to capacity with soldiers, louts, and other misfits like yourself. The ringing of glasses is almost drowned out by the din of drunken voices. An exit lies to the east.", e_to Road, has light; Object -> "drinks" with name #n$a "drink" "drinks" "glass" "glasses", description "You are the only patron without a glass of sweet liquor.", has scenery; Object -> "grizzled warrior" with name "warrior" "grizzled" "zot" "brastar" "man", initial [; print "Sitting at a nearby table is a grizzled warrior. "; if( child(self) ) { print "He's holding "; WriteListFrom(child(self), ENGLISH_BIT); "."; } ""; ], player_standing [; if( parent(player) == Tavern ) { self.number = self.number + 1; switch( self.number ) { 1: "~Sit down, sonny!~"; 2: "~I ain't talking to no man that can't sit down like a gentleman.~"; default: if( self has general ) print "Zot"; else print (The) self; " ignores you."; } } self.number = 0; rfalse; ], before [; GreetPerson: if( self.player_standing() ) rtrue; if( self has general ) "Zot gives you a friendly nod."; self.greet(); ], greet [; if( self has general ) "~I've already told you about myself.~"; give self general; move Replica to self; "~Zot Brastar's the name!~ roars the warrior, clasping your hand in an iron grip. He reaches under the table and reveals a bright, round object. It's just what you've been looking for - a glow-in-the-dark plastic replica of the legendary Stone of Dreams!"; ], life [; Ask: if( self.player_standing() ) rtrue; switch( second ) { 'warrior', 'himself', 'grizzled', 'zot', 'brastar': self.greet(); rtrue; 'replica', 'stone', 'dreams': "~Nice little trinket, eh? The dragon I stole it from thought so, too.~"; default: "~I don't know nothing about that.~"; } rfalse; Tell: if( self.player_standing() ) rtrue; rfalse; Order: if( self.player_standing() ) rtrue; rfalse; Give: switch( noun ) { Egg: move Egg to self; "You give the egg to the warrior. ~Hey, thanks!~ he says."; Wand: if( self has general ) print "Zot"; else print (The) self; " refuses your offer. ~I never could make magic work,~ he says. ~That's why I took up the sword for my trade.~"; default: if( self has general ) print "Zot"; else print (The) self; " refuses your offer."; } ], orders [; Greet: if( self has general ) "Zot gives you a friendly nod."; self.greet(); rtrue; Give: if( noun == Replica && second == player ) { if( Egg in self ) "~Oh, this thing? Sure, you can have it. But first, there's this grue's fang I've been hankering after...~"; "~Not so fast, boy!~ chuckles Zot, leaning closer. ~You can have the stone - if you bring me the egg of the Queen Corbie.~"; } NotUnderstood: switch( random(3) ) { 1: "~You're not making sense, sonny.~"; 2: "~Speak clearly, boy.~"; 3: if( self has general ) print "Zot"; else print (The) self; " looks at your puzzled."; } default: if( self.player_standing() ) rtrue; ], number 0, has static animate male transparent; Object -> "table" with name "table", after [; Enter: if( self has general ) "~Welcome back, sonny!~"; give self general; "You sit down at the table."; ], has scenery supporter enterable; Object Replica "glow-in-the-dark plastic replica of the legendary Stone of Dreams" with name "replica" "of" "stone" "dreams" "dream" "glow-in-the-dark" "legendary" "plastic", description "It is exactly the item you need.", ; Object Road "Road" with description "You're standing on a dirt road outside the tavern. A Magick Shoppe stands to the east, and a dark alley leads north. Looking south, you see the snowy peaks of a distant mountain.", w_to Tavern, n_to Alley, e_to Shop, s_to MountainBase, has light; Object -> "magick shoppe" with name "magick" "shoppe" "shop" "store" "magic", description "Little can be seen from here.", has scenery; Object Alley "Alley" with description "You're in a dark alley with exits to the south and west. Unpleasant aromas waft from heaps of garbage.", s_to Road, w_to Alley2, has light; Object -> Imp "trash imp" with name "trash" "imp" "monster", initial "A trash imp is grinning at you maliciously.", react_before [; Go: if( noun == w_to ) "The trash imp blocks your path! "; Attack, kill: "You deal the imp and decisive blow with your Sword!^ The trash imp disintegrates into a pile of garbage!^ [Your experience just went up.]" ], has static animate; Object Alley2 "Alley" with description "You're in a dirty alley, with an exit to the east.", e_to Alley, has light; Object -> "jagged hole" with name "hole" "jagged", description "It is about five inches wide, but you can't tell how deep it is or what may be in it.", initial "A jagged hole is visible in the sidewalk.", before [; Search: "You see only darkness."; ReachIn: if( Wand hasnt moved ) { move wand to player; give wand moved; "You grasp a thin piece of wood and pull it out. It looks like a magic wand!"; } ], has static container open; Object -> -> Wand "wand" with name "wand" "magic" "zorch", description [; if( self has general ) "You recall that the old woman said it was a Zorch wand."; "It is a short wand, about 8 inches long and made of wood."; ], before [; Point: if( self.number == 0 ) "Nothing happens."; self.number = self.number - 1; switch( second ) { Greech: remove Greech; "POOF! The greech turns into an iguana, and scurries out sight."; Corbie: move Gila to MountainBase; remove Corbie; "POOF! The corbie turns into a large gila monster, scurries out of the nest and tumbles out of sight."; default: "POOF! There is a flash and a cloud of smoke. Nothing else seems to have changed."; } ], number 9, ; Object Shop "door" with name "door", found_in Shoppe Road, ! description [; ! print "It looks as if the door is door_dir [; if( location == Shoppe ) return w_to; return e_to; ], door_to [; if( location == Shoppe ) return Road; return Shoppe; ], before [; Knock: if( door has open ) "It's already open."; if( location == Road ) "A voice calls from inside, ~Come in!~"; ], after [; Open, Close: print "As you "; if( action_to_be == ##Open ) print "open"; else print "close"; " the door, a concealed bell tinkles merrily."; ], has door openable scenery; Object Shoppe "Magick Shoppe" with description "You're in Ye Olde Magick Shoppe. Shelves groan with forbidden books, bubbling potions, and other fun items.", w_to [; print "~Please try our new Partay spell, with a money-back guarantee!~^"; return Shop; ], has light; Object -> "old woman" with name "woman" "old", initial "An old woman is standing behind the counter.", description "The old woman regards you with equal interest.", life [; Show, Give: switch( noun ) { Wand: if( Wand has general ) "~I've already told you about the Zorch wand.~"; give Wand general; "The old woman takes the wand and turns it over in her hands. ~Hmm,~ she says, ~a rare magic item, indeed! This is a Zorch wand, which can transform any creature into a reptile. Please be careful - it's not a toy.~^She hands the wand back to you."; default: "The old woman glances at ", (the) noun, ". ~Can't tell you much about this here,~ she mutters."; } Attack, ThrowAt: "The old woman obviously means you no harm; even your meager compassion is enough to stay your hand."; Ask: "The old woman smiles wryly, but says nothing."; Order: "~I'm not used to being ordered about,~ observes the old woman coldly."; ], has animate static female; Object MountainBase "Mountain Base" with description "You're at the bottom of a huge mountain. A steep, rocky path leads upwards. Open areas lie to the west and east.", n_to Road, e_to Pasture, w_to Garden, u_to [; if( player in Greech ) return Ledge; "You try to scramble up the path, but it's much too steep."; ], has light; Object Pasture "Pasture" with description "You are standing in a wide, green field of grass.", w_to MountainBase has light; Object -> Greech "greech" with name "greech" "mountain" "animal", initial [; if( self hasnt general ) "A bored-looking mountain greech is feeding in the tall grass."; print_ret "A ", (name) self, " is here, looking at you happily."; ], number 0, ! number of times we've ridden before [; Enter: if( self hasnt general ) "The greech trots away from you, and pulls up another clump of grass."; Pet: if( self hasnt general ) "The greech sniffs your fingers, decides they are not worth eating, and mouths another clump of grass."; "The greech seems to enjoy your attention, looking happily up at your face."; Go: if( location == MountainBase && noun == u_to ) "The greech walks up the path with ease, climbing confidently over the rocks."; if( (location == Garden or Pasture) || (location == MountainBase && noun ~= n_to) ) "The greech trots across the grass."; if( location == Ledge && noun == u_to ) { print "The greech shakes his head, refusing to climb any higher.^"; return 2; } if( location == Ledge && noun == d_to ) { print "The greech picks its way down the slope. "; if( parent(Egg) == player ) { remove Egg; move Scrambled to MountainBase; "About half way down, however, the greech's hoof slips on a rock, jolting you and sending the egg tumbling from your hand onto the ground below, shatting as it crashes into the rocks."; } ""; } if( location == Road && noun == w_to ) { print "A passing constable growls, ~No greeches allowed in the tavern.~^"; return 2; } if( location == Road && noun == e_to ) { print "As you start ride the Greech into the Magick Shoppe, the old woman points at a previously unseen sign by door, ~No Animals allowed in Shoppe~. You turn the greech around.^"; return 2; } if( location == Road && noun == n_to ) { print "The greech apparently doesn't like the look of the filthy alley, and refuses to budge towards it."; return 2; } "The greech carries you along, walking steadily."; ], life [; Give: if( noun == BlueTulip ) { remove noun; give self general; "The greech's eyes light up when it sees the blue tulip. It grabs it out of your hand, gobbles it down, and gives you a hopeful bleat."; } print_ret (The) self, " sniffs ", (the) noun, " but doesn't consider it worth eating."; ], after [; Enter: if( self.number == 0 ) { self.number = 1; "The greech reluctantly allows you to climb onto its back.^"; } "The greech allows you to climb onto his back."; ], has static animate supporter enterable; Object Garden "Garden" with description [; print "You're standing in a lovely garden, surrounded by exotic flowers. "; if( RedTulip has scenery && BlueTulip has scenery ) "A red tulip and a blue tulip are growing at your feet."; if( RedTulip has scenery ) "A red tulip is growing at your feet."; if( BlueTulip has scenery ) "A blue tulip is growing at your feet."; ""; ], e_to MountainBase, has light; Object -> BlueTulip "blue tulip" with name "blue" "tulip" "flower", before [; Pull, Take: if( self has scenery ) { give self ~scenery; move self to player; print_ret (The) self, " pulls out of the ground with a muffled ~pop.~"; } ], has scenery; Object -> RedTulip "red tulip" with name "red" "tulip" "flower", before [; Pull, Take: if( self has scenery ) { give self ~scenery; move self to player; print_ret (The) self, " pulls out of the ground with a muffled ~pop.~"; } ], has scenery; Object Ledge "Ledge" with description "You're on a narrow ledge near the top of the mountain. A path leads downward. About ten feet above you is the peak, which appears to be covered with straw.", u_to Nest, d_to [; if( player in Greech ) return MountainBase; print "As you climb down the path, you trip and fall! You slide down to the bottom unhurt, "; if( parent(Egg) == player ) { remove Egg; move Scrambled to MountainBase; print "but the egg falls from your hand and shatters on the ground.^"; } if( parent(Egg) == Pack ) { remove Egg; move Scrambled to Pack; print "thanks to your pack which you fell on. Unfortunately, you heard a crunching sound as you landed on it.^"; } print "miraculously.^"; return MountainBase; ], has light; Object Nest "Nest" with description "You're in a huge straw nest, lined with brightly-colored string and the skeletons of small, unfortunate animals.", d_to Ledge, before [; Take: if( noun == Egg ) { if( Corbie in location ) "There's a giant Queen Corbie looming over you that seems intent on preventing your theft."; if( Gila notin MountainBase ) { move Corbie to location; "As you reach for the egg, you hear a terrible squawking from above, and a pair of talons zooms out of the sky! The Queen Corbie lands in the nest and screams at you, her eyes red with anger."; } } ], has light; Object -> Egg "giant purple egg" with initial "A giant purple egg lies in the middle of the nest.", name "egg" "purple" "giant", ; Object Scrambled "scrambled egg" with name "scrambled" "egg", description "It is a scrambled egg of herculean proportions.", after [; Eat: "You manage to choke down the uncooked scrambled egg."; ], has edible; Obj ct Corbie "Queen Corbie" with name "corbie" "queen" "bird" "monster", has animate static; Object Gila "large but dead gila monster" with name "dead" "reptile" "lizard" "gila" "monster" "large" "but", before [; Take, Remove, Push, Transfer: "You strain, but cannot even move the dead gila monster, which must weigh several hundred pounds."; ], has static; Object Sword "sword" with name "sword" "blade" "elvish", description "It's of elvish workmanship.", ; Object Pack "pack" with name "pack" "backpack" "back" "leather", description "It is a worn but sturdy leather backpack that has accompanied you on all your journeys.", has container open worn clothing; Array printed_text table 800; ! I added the printf from the designer's manual, but didn't find it very ! useful, so I changed it into this :) [ FormatText format j k; printed_text-->0 = 64; @output_stream 3 printed_text; print (string) format; @output_stream -3; j = printed_text-->0; for( k=2: k
![]()
|