Jump to content
IGNORED

New pet text adventure: The hunted


Recommended Posts

It's relatively short but there is a special scene for those that choose to stay near the end

my art skills are crap so excuse the horrendous attempt at graphics

tested to run on the 4032 in WinVice

load "hunted",8,1

for those wondering, i took the ending from here:

Through the Woods Full - Read Through the Woods Full comic online in high quality (readcomiconline.li)

you might have to click through to get to the end though. if you get to the second story, you've gone too far

The hunted.d64

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Can't figure out how to play it... No matter what I do the beast always tears my throat on the second move.

 

Update: I had to read through the code to figure out what to do, but I finished the "game".

 

There are several missing lines of code that make the game unplayable, and unfortunately whoever programmed it incremented the line numbers by 1 so I can't add those missing bits of code.

 

I managed to add a few bits of essential code (nothing more though) to the game and saved it as "EDITED.PRG". That being said, it's still far from playable. Definitely needs a lot more polish.

The hunted.d64

Edited by bluejay
Link to comment
Share on other sites

The game proceeds to the next part of the story no matter what you do. There needs to be code that prevents it from doing that. Also, the game is extremely short and linear unlike most text adventures.

 

Here's a strategy I made while writing a text adventure: draw a tile map of all the locations in which you can be in in the game. Then, write code to handle each command (such as go north, climb tree, get sword, etc.) along some extra bit of code to deal with commands it doesn't recognize. You will need to do this for each tile on your map. Write down the line of code in which each tile is located in your script on your tile map, so you can keep track of which line of code you will need to jump to when the player moves onto that tile on the map. 

 

You can also use variables to keep track of items that you can acquire during gameplay. 

 

I'm nowhere near a skilled BASIC programmer, therefore I'm sure there are better and more efficient ways to do things. However, I'm sure it's a simple strategy to implement in a BASIC text adventure.

Edited by bluejay
Link to comment
Share on other sites

I wrote an example program that makes use of the strategy mentioned above. The map is a 3x3 square, and once you're on the end of a map it wraps around. I've placed a sword on the first tile, a shield on the second, and a troll on the sixth. You're also given a help screen that teaches you all the commands. You can also access the inventory to see what you have.

 

This program is for testing and educational purposes only and it will need lots of changes to how it works to become a playable game. But hopefully you get an idea on what I mean when I said the stuff I posted above.

 

The program is in the same d64 file as your game, as EXAMPLE.PRG.

The hunted.d64

Edited by bluejay
Link to comment
Share on other sites

Spoiler

10 REM TEXT ADVENTURE EXAMPLE
20 X=0:Y=0:Z=0
30 REM X IS SWORD Y IS SHIELD Z IS TROLL
35 PRINT "{clr}{home}";
40 PRINT "     **** TEXT ADVENTURE THINGY ****"
50 PRINT:PRINT:PRINT:PRINT:PRINT:PRINTTAB(10)"HIT ANY KEY TO START"
55 PRINTTAB(13)"HIT H FOR HELP"
60 GETA$:IFA$=""THENGOTO60
70 IFA$="H"THENGOSUB10000
75 GOTO 100
80 PRINT"CANT GO HERE.":REM UNUSED IN GAME, BUT COULD BE USED WHEN CREATING BOUNDARIES
90 RETURN

95 REM FIRST TILE
100 PRINT "SQUARE 1"
110 INPUT"ACTION";A$
120 IFA$="N"THENGOTO300
130 IFA$="S"THENGOTO200
140 IFA$="E"THENGOTO400
150 IFA$="W"THENGOTO700
160 IFA$="SA"THENPRINT"THERE'S A SWORD HERE"
170 IFA$="I"THENGOSUB5000:GOTO110
180 IFA$="SWORD"THENPRINT"SWORD TAKEN":X=1
190 GOTO 110

195 REM SECOND TILE
200 PRINT"SQUARE 2"
205 INPUT"ACTION";A$
210 IFA$="N"THENGOTO100
220 IFA$="S"THENGOTO300
230 IFA$="E"THENGOTO500
240 IFA$="W"THENGOTO800
250 IFA$="SA"THENPRINT"THERE'S A SHIELD HERE"
260 IFA$="SHIELD"THENPRINT"SHIELD TAKEN":Y=1
270 IFA$="I"THENGOSUB5000:GOTO205
280 GOTO 205

290 REM THIRD TILE
300 PRINT"SQUARE 3"
310 INPUT"ACTION";A$
320 IFA$="N"THENGOTO200
330 IFA$="S"THENGOTO100
340 IFA$="E"THENGOTO600
350 IFA$="W"THENGOTO900
360 IFA$="SA"THENPRINT"THERE'S NOTHING HERE":GOTO310
370 IFA$="I"THENGOSUB5000:GOTO310
380 GOTO 310

390 REM FOURTH TILE
400 PRINT"SQUARE 4"
405 INPUT"ACTION";A$
410 IFA$="N"THENGOTO600
420 IFA$="S"THENGOTO500
430 IFA$="W"THENGOTO100
440 IFA$="E"THENGOTO700
450 IFA$="SA"THENPRINT"THERE'S NOTHING HERE":GOTO405
460 IFA$="I"THENGOSUB5000:GOTO405
470 GOTO 405

480 REM FIFTH TILE
500 PRINT"SQUARE 5"
510 INPUT"ACTION";A$
520 IFA$="N"THENGOTO400
530 IFA$="S"THENGOTO600
540 IFA$="E"THENGOTO800
550 IFA$="W"THENGOTO200
560 IFA$="SA"THENPRINT"THERE'S NOTHING HERE":GOTO510
570 IFA$="I"THENGOSUB5000:GOTO510
580 GOTO 510

590 REM SIXTH TILE
600 PRINT"SQUARE 6"
610 INPUT"ACTION";A$
620 IFA$="N"THENGOTO500
630 IFA$="S"THENGOTO400
640 IFA$="E"THENGOTO900
650 IFA$="W"THENGOTO300
660 IFA$="SA"THENGOSUB7000:GOTO610
670 IFA$="I"THENGOSUB5000:GOTO610
680 IFA$="TROLL"THENPRINT"THE TROLL IS DEAD":Z=1
690 GOTO 610

695 REM SEVENTH TILE
700 PRINT"SQUARE 7"
710 INPUT"ACTION";A$
720 IFA$="N"THENGOTO900
730 IFA$="S"THENGOTO800
740 IFA$="E"THENGOTO100
750 IFA$="W"THENGOTO400
760 IFA$="SA"THENPRINT"THERE'S NOTHING HERE"
770 IFA$="I"THENGOSUB5000:GOTO710
780 GOTO 710

790 REM EIGHTH TILE
800 PRINT"SQUARE 8"
805 INPUT"ACTION";A$
810 IFA$="N"THENGOTO700
820 IFA$="S"THENGOTO900
830 IFA$="E"THENGOTO200
840 IFA$="W"THENGOTO500
850 IFA$="SA"THENPRINT"THERE'S NOTHING HERE"
860 IFA$="I"THENGOSUB5000:GOTO805
870 GOTO 805

880 REM NINTH TILE
900 PRINT"SQUARE 9"
910 INPUT"ACTION";A$
920 IFA$="N"THENGOTO800
930 IFA$="S"THENGOTO700
940 IFA$="E"THENGOTO300
950 IFA$="W"THENGOTO600
960 IFA$="SA"THENPRINT"THERE'S NOTHING HERE"
970 IFA$="I"THENGOSUB5000:GOTO910
980 GOTO 910
1000 END:REM UNUSED IN GAME, BUT COULD BE USED TO ADD A QUIT FUNCTION

4995 REM INVENTORY
5000 PRINT"{clr}{home}";
5010 PRINT"INVENTORY"
5020 IFX=1THENPRINT"SWORD"
5030 IFY=1THENPRINT"SHIELD"
5040 PRINT:PRINT"HIT ANY KEY TO EXIT INVENTORY"
5050 GETA$:IFA$=""THEN5050
5060 RETURN

6995 REM TROLL SUBROUTINE
7000 IFZ=0THENPRINT"THERE'S A TROLL HERE"
7010 IFZ=1 THEN PRINT"THERE'S A TROLL'S CARCASS HERE"
7020 RETURN

9995 REM HELP
10000 PRINT"HELP":PRINT:PRINT
10010 PRINT"N FOR NORTH"
10020 PRINT"S FOR SOUTH"
10030 PRINT"E FOR EAST"
10040 PRINT"W FOR WEST"
10050 PRINT"I FOR INVENTORY"
10060 PRINT"SA FOR SEARCH AREA"
10070 PRINT"SWORD TO GET SWORD"
10080 PRINT"SHIELD TO GET SHIELD"
10085 PRINT"TROLL TO KILL TROLL"
10090 PRINT"PRESS Q TO EXIT HELP"
10100 GETA$:IFA$=""THEN10100
10110 IFA$="Q"THENPRINT"{clr}{home}";:RETURN

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...