The idea, roughly, is that you're Varg Vikernes, and you get pissed off at Euronymous for locking you out of your room, leaving you without an instrument to play. So you go wandering about the house, looking for the key. Then you find it, then you pick up your bass, then you go play.
Anyone who knows anything about the early nineties black metal scene would understand. Anyone who doesn't would probably not have a clue of what's going on.
I tried to make it a bit funny. As I mentioned, I'm not too fond of text-based games. So, I guess I had to make up for the boring stuff. :)
bassman.bas
REM ------------------------------------------------
REM BASSMAN 0.0.1
REM Text based adventure/exploring game.
REM ------------------------------------------------
REM VARS:
REM $1 = Player Name
REM a = room number
REM b = got note
REM c = got candle
REM d = opened box
REM e = got key
a = 1
b = 0
c = 0
d = 0
e = 0
f = 0
$1 = ""
LOGO:
CLS
PRINT " _ "
PRINT " | |__ __ _ ___ ___ _ __ ___ __ _ _ __ "
PRINT " | '_ \ / _` / __/ __| '_ ` _ \ / _` | '_ \ "
PRINT " | |_) | (_| \__ \__ \ | | | | | (_| | | | | "
PRINT " |_.__/ \__,_|___/___/_| |_| |_|\__,_|_| |_| "
PRINT " "
PRINT "------------------------------------------------------------------------------"
PRINT " | A Text-Based Adventure Game | "
PRINT " ------------------------------- "
PRINT " now with 30% more profanity"
PRINT ""
PRINT ""
PRINT ""
GETNAME:
PRINT ""
PRINT " So, what's your name?: " ;
INPUT $1
IF $1 = "" THEN GOTO GETNAME
GETNAMEREMARK:
RAND X 1 3
PRINT ""
PRINT " " ;
PRINT $1 ;
if x = 1 then PRINT "? Dude..! What kind of name is that? Anyway..."
if x = 2 then PRINT "!!? So your parents didn't like you, eh? Oh well, it's just a name."
if x = 3 then PRINT "? What are you, Klingon or something?"
GOSUB PRESSAKEY
GOTO GAMEINTRO
HELP:
PRINT ""
PRINT " The following are valid commands in game:"
PRINT ""
PRINT " CLS - CLEARS THE SCREEN"
PRINT " LOOK - REPRINTS ROOM DESCRIPTION"
PRINT " INVENTORY - VIEW WHAT YOU ARE CARRYING"
PRINT " NORTH, WEST, SOUTH, EAST - MOVES TO INPUTTED DIRECTION"
PRINT " EXAMINE (OBJECT) - EXAMINES AN OBJECT"
PRINT " USE (OBJECT) - USES AN OBJECT"
PRINT " TAKE (OBJECT) - TAKES AN OBJECT"
PRINT " OPEN (OBJECT) - OPENS A CONTAINER"
PRINT " UNLOCK (OBJECT) - ATTEMPTS TO UNLOCK AN OBJECT"
PRINT " HELP - VIEW THESE COMMANDS AGAIN"
PRINT " EXIT - QUITS THE GAME"
RETURN
LOWERCASE:
J = & $2
FOR X = 1 TO 20
PEEK K J
IF K < 65 THEN GOTO NOTCAPITAL
IF K > 90 THEN GOTO NOTCAPITAL
K = K + 32
POKE K J
NOTCAPITAL:
J = J + 1
NEXT X
RETURN
GAMEINTRO:
CLS
PRINT ""
PRINT " ( )"
PRINT " |\ _,--------._ / |"
PRINT " | `.,' `. / |"
PRINT " ` ' ,-' '"
PRINT " \/_ _ ( /"
PRINT " (,-.`. ,',-.`. `__,'"
PRINT " |/#\ ),-','#\`= ,'.` |"
PRINT " `._/) -'.\_,' ) ))|"
PRINT " / (_.)\ . -'//"
PRINT " ( /\____/\ ) )`'\"
PRINT " \ |V----V|| ' , \"
PRINT " |`- -- -' ,' \ \ _____"
PRINT " ___ | .' \ \ `._,-' `-"
PRINT " `.__,`---^---' \ ` -'"
PRINT " -.______ \ . / ______,-"
PRINT " `. ,' "
PRINT " The Seventh Date of Blashyrkh. The darkest, gr1mmest, trvest, blackest night."
PRINT " The night of the big concert. If you can make it out of bed, that is... All"
PRINT " you remember is lotsa faces, lotsa drinks, three dwarves on ponies, and then"
PRINT " things got really weird... You struggle for air as you try to make some sense"
PRINT " out of this world... Looks like you won't be going to the concert, after all..."
GOSUB PRESSAKEY
CLS
PRINT " FUCK IT! I am " ;
PRINT $1 ;
PRINT ", I am the trvest, gr1mmest, darkest motherfucker"
PRINT " ever to hold a bass guitar!"
PRINT " I'm going to that concert, and I'll prove to everyone I'm not a pony..."
PRINT " or something..."
PRINT " "
PRINT " ,//)"
PRINT " ,;;' \"
PRINT ",;;' ( '\"
PRINT " / '\_) "
PRINT " "
GOSUB PRESSAKEY
CLS
PRINT " You manage to get your gr1m, dark ass out of bed, and onto the toilet"
PRINT " only to find out you're out of toilet paper..."
PRINT " Tough luck... I guess duct tape will do..."
PRINT " ,-. "
PRINT " ( O )` ~ - . _ . - ~ ` ~ - . _ . - ~ ` ~ -"
PRINT " |`-'| : : : : : : : :"
PRINT " | | : : : : : : : :"
PRINT " `-'` ~ - . _'. - ~ ` ~ - .'_ . - ~ ` ~ -"
PRINT " "
GOSUB PRESSAKEY
CLS
PRINT " You crawl more than walk out of your room. Your head's still fuzzy"
PRINT " from all the fluffy kittens and pink ponies from the night before."
PRINT " You gaze down the hallway, or staircase, or whatever, and remember your"
PRINT " bass is still in your room..."
PRINT " _"
PRINT " / 7"
PRINT " /_("
PRINT " |_|"
PRINT " |_|"
PRINT " |_|"
PRINT " |_| /\"
PRINT " /\|=|/ /"
PRINT " \ |_| /"
PRINT " ) _ \"
PRINT " / |_| \"
PRINT " / -=-o /"
PRINT " \ /~\_/ "
PRINT " \/"
PRINT " "
GOSUB PRESSAKEY
CLS
PRINT " __________"
PRINT " | __ __ |"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | |__||__| |"
PRINT " | __ __()|"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | |__||__| |"
PRINT " |__________|"
PRINT " "
PRINT " -- SLAM!! -- Oh fuck! The door swings shut behind you! -- CLICK! --"
PRINT " The motherfucker locked up on you..!"
GOSUB PRESSAKEY
GOSUB MOVEROOM
GOTO PARSER
MOVEROOM:
IF a = 1 THEN GOSUB R1
IF a = 2 THEN GOSUB R2
IF a = 3 THEN GOSUB R3
IF a = 4 THEN GOSUB R4
IF a = 5 THEN GOSUB R5
IF a = 6 THEN GOSUB R6
RETURN
R1:
CLS
PRINT ""
PRINT " __________"
PRINT " | __ __ |"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | |__||__| |"
PRINT " | __ __()|"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | | || | |"
PRINT " | |__||__| |"
PRINT " |__________|"
PRINT " "
PRINT " -- Your Room -- "
PRINT " The door to your room."
PRINT " The thing is locked, with your instrument behind it."
PRINT " The rug feels funny under your feet..."
RETURN
R2:
CLS
PRINT ""
PRINT " (*) (*)"
PRINT " (__) ^ ^ (__)"
PRINT " (oo) | | | (oo)"
PRINT " [..] | = | [..]"
PRINT "\ | U (-) | | | | (-) U |"
PRINT " || ==<_>== ||"
PRINT " || ) |||||||||||||||||||||||||||||||||||||||||||||||||||| ( ||"
PRINT " ||___)==||||||||||||||||||||||||||||||||||||||||||||||||||||==(___||"
PRINT " |\====| |||||||||||||||||||||||||||||||||||||||||||||||||||| |====/|"
PRINT " | \ | | | | / |"
PRINT " = * = = = = * ="
PRINT " -- The Dining Room -- "
PRINT " There is a large table in the middle of the room. There are multiple"
PRINT " doors going out of this room. You see a large, shiny, glossy, painting."
RETURN
R3:
CLS
PRINT " _"
PRINT " _( )"
PRINT " ( ) )"
PRINT " _ ( _)"
PRINT " ( ) ( ( )"
PRINT " ( ) _ ,-. _ ) ) ("
PRINT " ( ( ,-''' )_( ```-.,' )"
PRINT " `-( ) ) ("
PRINT " __|`-..._______...-'|__ ( )"
PRINT " [=== |==] ____(___ __,.--."
PRINT " | |__,-_''.------.``_-.-''__,.--'"
PRINT " | | (( ))-' /|"
PRINT " | | \`-...______...-'/ / / |"
PRINT " `-..._______...-' `-...______...-' / / |"
PRINT " / /`- ,-----. -' `- ,----. -' / / |"
PRINT " / /___________________________________/ / |"
PRINT " `---------------------------------------' |"
PRINT " | _________________________________ | |"
PRINT " | | - - - - - - - - - - - - - - - - | | |"
PRINT " | |___-_-___-___-_-___-_-_____-_-___| | |"
PRINT " | (___________________________________) |"
PRINT " | | - - - - - - - - - - - - - - - - | |"
PRINT " -- The Kitchen -- "
PRINT " There is a doorway in this room, with the door ripped off of the"
PRINT " hinges. Purple flurry thingies run about as you enter."
RETURN
R4:
CLS
PRINT ""
PRINT " _____"
PRINT " | D"
PRINT " | |"
PRINT " | |"
PRINT " \___| _"
PRINT " || _______ -( (-"
PRINT " |_'(-------) '-'"
PRINT " | /"
PRINT " _____,-\__..__|_____"
PRINT " "
PRINT " -- The Guest Bathroom -- "
PRINT " Odd, for being a bathroom there are no windows or methods of"
PRINT " ventilation. Aaaah... the smell..."
IF c = 0 THEN PRINT " There is a black candle on the sink..."
RETURN
R5:
CLS
PRINT ""
PRINT " .AMMMMMMMMMMA."
PRINT " .AV. :::.:.:.::MA."
PRINT " A' :.. : .:`A"
PRINT " A'.. . `A."
PRINT " A' :. ::::::::: : :`A"
PRINT " M . :::.:.:.::: . .M"
PRINT " M : ::.:.....::.: .M"
PRINT " V : :.::.:........:.: :V"
PRINT " A A: ..:...:...:. A A"
PRINT " .V MA:.....:M.::.::. .:AM.M"
PRINT " A' .VMMMMMMMMM:.:AMMMMMMMV: A"
PRINT " :M . .`VMMMMMMV.:A `VMMMMV .:M:"
PRINT " V.:. ..`VMMMV.:AM..`VMV' .: V"
PRINT " V. .:. .....:AMMA. . .:. .V"
PRINT " VMM...: ...:.MMMM.: .: MMV"
PRINT " `VM: . ..M.:M..:::M'"
PRINT " `M::. .:.... .::M"
PRINT " M:. :. .... ..M"
PRINT " V: M:. M. :M .V"
PRINT " `V.:M.. M. :M.V'"
PRINT " -- A Portal -- "
PRINT " Damn those interdimensional beings..."
PRINT " Better go back..."
RETURN
R6:
CLS
PRINT ""
PRINT " -- The Basement -- "
IF c = 1 THEN PRINT " + You light your candle."
IF c = 1 THEN PRINT " There is a box on the floor."
IF c = 1 THEN PRINT " __________"
IF c = 1 THEN PRINT " /\____;;___\"
IF c = 1 THEN PRINT " | / /"
IF c = 1 THEN PRINT " \/_________/"
IF c = 1 THEN PRINT " |\_________\"
IF c = 1 THEN PRINT " | | |"
IF c = 1 THEN PRINT " \ | )) |"
IF c = 1 THEN PRINT " \|_________|"
IF c = 0 THEN PRINT " Can't see shit..."
RETURN
PARSER:
RAND H 1 3
x = 0
PRINT ""
PRINT "> " ;
INPUT $2
GOSUB LOWERCASE
IF $2 = "cls" THEN CLS
IF $2 = "help" THEN GOSUB HELP
IF $2 = "north" THEN GOSUB NORTH
IF $2 = "n" THEN GOSUB NORTH
IF $2 = "south" THEN GOSUB SOUTH
IF $2 = "s" THEN GOSUB SOUTH
IF $2 = "west" THEN GOSUB WEST
IF $2 = "w" THEN GOSUB WEST
IF $2 = "east" THEN GOSUB EAST
IF $2 = "e" THEN GOSUB EAST
IF $2 = "look" THEN GOSUB MOVEROOM
IF $2 = "inventory" THEN GOSUB INVENTORY
IF $2 = "examine rug" AND a = 1 THEN CLS
IF $2 = "examine rug" AND a = 1 THEN PRINT " ( )"
IF $2 = "examine rug" AND a = 1 THEN PRINT " ( ) ("
IF $2 = "examine rug" AND a = 1 THEN PRINT " ) _ )"
IF $2 = "examine rug" AND a = 1 THEN PRINT " ( \_"
IF $2 = "examine rug" AND a = 1 THEN PRINT " _(_\ \)__"
IF $2 = "examine rug" AND a = 1 THEN PRINT " (____\___))"
IF $2 = "examine rug" AND a = 1 THEN PRINT " Somebody took a shit on the rug last night..."
IF $2 = "examine table" AND a = 2 THEN CLS
IF $2 = "examine table" AND a = 2 THEN PRINT " __________"
IF $2 = "examine table" AND a = 2 THEN PRINT " |`. ,'|"
IF $2 = "examine table" AND a = 2 THEN PRINT " | `.__.' |"
IF $2 = "examine table" AND a = 2 THEN PRINT " | |"
IF $2 = "examine table" AND a = 2 THEN PRINT " |__________|"
IF $2 = "examine table" AND a = 2 THEN PRINT " I don't remember having a table this big..."
IF $2 = "examine table" AND a = 2 AND b = 0 THEN PRINT " There is a note on the table."
IF $2 = "examine painting" AND a = 2 THEN CLS
IF $2 = "examine painting" AND a = 2 THEN PRINT " |||||"
IF $2 = "examine painting" AND a = 2 THEN PRINT " ||. .||"
IF $2 = "examine painting" AND a = 2 THEN PRINT " |||\-/|||"
IF $2 = "examine painting" AND a = 2 THEN PRINT " |.-- --.|"
IF $2 = "examine painting" AND a = 2 THEN PRINT " /( ) ( )\"
IF $2 = "examine painting" AND a = 2 THEN PRINT " \ ) ( /"
IF $2 = "examine painting" AND a = 2 THEN PRINT " '( v )`"
IF $2 = "examine painting" AND a = 2 THEN PRINT " \ | /"
IF $2 = "examine painting" AND a = 2 THEN PRINT " ( | )"
IF $2 = "examine painting" AND a = 2 THEN PRINT " '- -`"
IF $2 = "examine painting" AND a = 2 THEN PRINT " It is a poster, really. Naked chicks... boobs and all..."
IF $2 = "take note" AND a = 2 AND b = 0 THEN b = 1
IF $2 = "take note" AND a = 2 AND b = 1 THEN PRINT " You've taken the note."
IF $2 = "open box" THEN GOSUB TREASURECHEST
IF $2 = "unlock door" AND a = 1 AND e = 1 THEN GOTO GAMEEND
IF $2 = "fuck" THEN CLS
IF $2 = "fuck" THEN PRINT " _ _"
IF $2 = "fuck" THEN PRINT " |_| |_|"
IF $2 = "fuck" THEN PRINT " | | /^^^\ | |"
IF $2 = "fuck" THEN PRINT " _| |_ (| O.O |) _| |_"
IF $2 = "fuck" THEN PRINT " _| | | | _ (_---_) _ | | | |_"
IF $2 = "fuck" THEN PRINT " | | | | |' | _| |_ | `| | | | |"
IF $2 = "fuck" THEN PRINT " | | / \ | |"
IF $2 = "fuck" THEN PRINT " \ / / /(. .)\ \ \ /"
IF $2 = "fuck" THEN PRINT " \ / / / | . | \ \ \ /"
IF $2 = "fuck" THEN PRINT " \ \/ / ||Y|| \ \/ /"
IF $2 = "fuck" THEN PRINT " \__/ || || \__/"
IF $2 = "fuck" THEN PRINT " () ()"
IF $2 = "fuck" THEN PRINT " || ||"
IF $2 = "fuck" THEN PRINT " ooO Ooo"
IF $2 = "fuck" AND h = 1 THEN PRINT " You wish..."
IF $2 = "fuck" AND h = 2 THEN PRINT " You are a very strange person..."
IF $2 = "fuck" AND h = 3 THEN PRINT " You're pretty rude, for a pony..."
IF $2 = "use note" THEN GOSUB NOTE
IF $2 = "read note" THEN GOSUB NOTE
IF $2 = "take candle" AND a = 4 AND c = 0 THEN GOSUB CANDLE
IF $2 = "exit" THEN END
IF $2 = "" THEN PRINT " Feeling OK? Type HELP for a list of valid commands!"
GOTO PARSER
CANDLE:
CLS
PRINT " )"
PRINT " (_)"
PRINT " |`|"
PRINT " | | _()"
PRINT " \_|_|_/"
PRINT " "
PRINT " + You take the black candle from the sink."
c = 1
RETURN
TREASURECHEST:
CLS
IF a = 6 AND c = 1 THEN e = 1
IF a = 6 AND e = 1 AND f = 0 THEN PRINT " __"
IF a = 6 AND e = 1 AND f = 0 THEN PRINT " /o \_____"
IF a = 6 AND e = 1 AND f = 0 THEN PRINT " \__/-=^=^`"
IF a = 6 AND e = 1 AND f = 0 THEN PRINT " "
IF a = 6 AND e = 1 AND f = 0 THEN PRINT " + You open the box and take a KEY out of it."
IF f = 1 THEN PRINT " Naughty naughty pranksters..."
f = 1
RETURN
NOTE:
CLS
IF b = 1 THEN PRINT " The note reads:"
IF b = 1 THEN PRINT " It's in the box, dumbass!"
IF b = 1 THEN PRINT " "
IF b = 1 THEN PRINT " You begin to understand who is behind this little prank."
RETURN
GAMEEND:
CLS
PRINT " You unlock the door and rush into your room to get your bass!"
PRINT " It's almost time for the concert, and you almost had to stay home!"
PRINT " Good thing you've found the key, despite the pranks played on you."
PRINT " Stupid ass Euronymous and his stupid pranks... -- you think to yourself"
PRINT " I guess I'll have to shoot him and change my name to something else."
PRINT " Fuck it, I'll call myself count grishnackh... or burzum... or pony..."
PRINT " "
PRINT " Q "
PRINT " ______ /|\"
PRINT " (_ Z.(o\_)==#"
PRINT " __Z / \"
PRINT " |()| \ \"
PRINT " |__| ~ ~"
GOSUB PRESSAKEY
CLS
PRINT ""
PRINT " __ _ __ _ _ __ ___ ___ _____ _____ _ __ "
PRINT " / _` |/ _` | '_ ` _ \ / _ \ / _ \ \ / / _ \ '__|"
PRINT " | (_| | (_| | | | | | | __/ | (_) \ V / __/ | "
PRINT " \__, |\__,_|_| |_| |_|\___| \___/ \_/ \___|_| "
PRINT " |___/ "
PRINT "----------------------------------------------------------------- "
PRINT " THANKS FOR PLAYING"
END
INVENTORY:
PRINT ""
IF b = 0 AND c = 0 AND e = 0 THEN GOSUB EMPTY
IF b = 1 THEN PRINT " NOTE"
IF c = 1 THEN PRINT " CANDLE"
IF e = 1 THEN PRINT " KEY"
RETURN
EMPTY:
CLS
RAND X 1 5
IF X = 1 THEN PRINT " Nothing in your pockets. Not even dirt."
IF X = 2 THEN PRINT " You wonder why your pockets are so thin... they are empty."
IF X = 3 THEN PRINT " Your pockets have a surprising emptyness."
IF X = 4 THEN PRINT " Apart from several dead flies in your pocket, it's empty."
IF X = 5 THEN PRINT " Your pockets are full of dreams and treasures unknown..."
IF X = 5 THEN PRINT " Not really, they're empty."
RETURN
NODIR:
CLS
RAND X 1 3
IF x = 1 THEN PRINT " So that's how the wall feels on my face..."
IF x = 2 THEN PRINT " You shall not pass... can't go this way..."
IF x = 3 THEN PRINT " You win!"
IF x = 3 THEN PRINT " ...not!"
RETURN
NORTH:
REM -- BEDROOM TO DINING ROOM --
IF a = 1 THEN x = 1
IF a = 1 THEN a = 2
IF x = 1 THEN GOSUB MOVEROOM
IF x = 1 THEN RETURN
REM -- DINING ROOM TO KITCHEN --
IF a = 2 THEN x = 2
IF a = 2 THEN a = 3
IF x = 2 THEN GOSUB MOVEROOM
IF x = 2 THEN RETURN
GOSUB NODIR
RETURN
WEST:
REM -- BEDROOM TO PORTAL --
IF a = 1 THEN x = 1
IF a = 1 THEN a = 5
IF x = 1 THEN GOSUB MOVEROOM
IF x = 1 THEN RETURN
REM -- DINING ROOM TO BASEMENT --
IF a = 2 THEN x = 2
IF a = 2 THEN a = 6
IF x = 2 THEN GOSUB MOVEROOM
IF x = 2 THEN RETURN
REM -- KITCHEN TO BATHROOM
IF a = 3 THEN x = 3
IF a = 3 THEN a = 4
IF x = 3 THEN GOSUB MOVEROOM
IF x = 3 THEN RETURN
GOSUB NODIR
RETURN
SOUTH:
REM -- DINING ROOM TO BEDROOM
IF a = 2 THEN x = 2
IF a = 2 THEN a = 1
IF x = 2 THEN GOSUB MOVEROOM
IF x = 2 THEN RETURN
REM -- KITCHEN TO DINING ROOM --
IF a = 3 THEN x = 3
IF a = 3 THEN a = 2
IF x = 3 THEN GOSUB MOVEROOM
IF x = 3 THEN RETURN
GOSUB NODIR
RETURN
EAST:
REM -- BATHROOM TO KITCHEN --
IF a = 4 THEN x = 4
IF a = 4 THEN a = 3
IF x = 4 THEN GOSUB MOVEROOM
IF x = 4 THEN RETURN
REM -- PORTAL TO ENTRANCE --
IF a = 5 THEN x = 5
IF a = 5 THEN a = 1
IF x = 5 THEN GOSUB MOVEROOM
IF x = 5 THEN RETURN
REM -- BASEMENT TO DINING ROOM --
IF a = 6 THEN x = 6
IF a = 6 then a = 2
IF x = 6 THEN GOSUB MOVEROOM
IF x = 6 THEN RETURN
GOSUB NODIR
RETURN
PRESSAKEY:
PRINT ""
PRINT " -- Press any key to continue. --"
WAITKEY X
PRINT ""
RETURN