TGA - The Great Adventure

Discussion, Reviews & High-scores

Moderator: Moderators

User avatar
e5frog
Vic 20 Nerd
Posts: 551
Joined: Sat Feb 17, 2007 5:46 pm
Website: http://channelf.se
Location: Sweden
Occupation: Service Engineer

Post by e5frog »

I think the extra spaces are from when you use it like this:

234 PRINT"YOU HAVE $"DN"."

Will print as
YOU HAVE $ 2500 .

To move the . you can add a cursor left within the "

234 PRINT"YOU HAVE $"DN"{CUR LEFT}."

I'm not sure how to get rid of the space between $ and the amount... probably something complicated that's not worth the effort. ;-)

This doesn't help:
234 PRINT"YOU HAVE $";DN;"."

It gives the same output, seems to add spaces around the number for some reason.


Only thing I could think of was to write the $ afterwards with a new PRINT and move the cursor one row up and then right until I get to the second empty space after the last word.

234 PRINT"YOU HAVE "DN"{CUR LEFT}."
235 PRINT"{UP}{9 LEFT}$"

You have to move from the left to the right because you don't know how large the number is.


That would solve this incredible large problem. ;-)

BTW, how do you win the game, I saw the nice end-picture?
My other interest: http://channelf.se
User avatar
tokra
Vic 20 Scientist
Posts: 1123
Joined: Tue Apr 27, 2010 5:32 pm
Location: Scheessel, Germany

Post by tokra »

e5frog wrote:I think the extra spaces are from when you use it like this:

234 PRINT"YOU HAVE $"DN"."

Will print as
YOU HAVE $ 2500 .

To move the . you can add a cursor left within the "

234 PRINT"YOU HAVE $"DN"{CUR LEFT}."

I'm not sure how to get rid of the space between $ and the amount... probably something complicated that's not worth the effort. ;-)
Both can be solved at once. DN is a number and as such it has a space for a sign (+ and -) while + isn't printed

you "just" need:

print"you have $"mid$(str$(dn),2)"."

This converts dn to a string and prints it from the second character - et voila!
User avatar
e5frog
Vic 20 Nerd
Posts: 551
Joined: Sat Feb 17, 2007 5:46 pm
Website: http://channelf.se
Location: Sweden
Occupation: Service Engineer

Post by e5frog »

Yup!

I was thinking something like that was possible but it was some time since I programmed in BASIC.

I don't think we'll see it in the program...

Perhaps if it was a "print what's in the wallet" subroutine...



10020 print"$"mid$(str$(dn),2);
10030 return

That would add it correctly every time. ;-)
My other interest: http://channelf.se
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

Played it again last night on my VIC-20 and had great fun. I didn't notice wrong week counts. But yesterday the only healing potions going to the inventory were the ones I bought.
If there is the message "A HEALING POTION" after a fight, it shows up nowhere. The one got as reward from a quest vanished, too.
Everything else worked, no ?out of memory or other error this time.

Personally, I don't like the picture preview much. It looks a bit less professional to me. But that's just a matter of personal preferences.

If you really have some spare time left it wouldn't hurt to always clear the keyboard buffer before reading a key. On my VIC, I have to hammer on the keys to make contact and sometimes that results in two key presses (debouncing insufficient). This could be leveraged by only accepting the requested keys. For example, I use 'z' whenever I have to press _any_ key. But this is also accepted as a choice for '1' (run) or '2' (fight). In that case '1', so I ended up trying to run away in fights, where I didn't want.

Great game! Finished it once again yesterday. :-)
What is your record for no. of days until becoming a hero?
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

e5frog wrote:Perhaps if it was a "print what's in the wallet" subroutine...

10020 print"$"mid$(str$(dn),2);
10030 return
Thanks for the suggestion, and again for your contribution to this game :) . Will include this subroutine in the next v7 (hey, we're getting closer to the LAST V8 :wink: ).
Kananga wrote:Played it again last night on my VIC-20 and had great fun. I didn't notice wrong week counts. But yesterday the only healing potions going to the inventory were the ones I bought.
If there is the message "A HEALING POTION" after a fight, it shows up nowhere. The one got as reward from a quest vanished, too.
Everything else worked, no ?out of memory or other error this time.
This sounds strange. Is there a weeks bug or not? I didn't pay much attention to the week count while play-testing, so I'll check whenever possible. As for healing potions, I noticed it. It's probably my mistake: while trimming the fat from the C64 version, I trimmed too much.
Kananga wrote:Personally, I don't like the picture preview much. It looks a bit less professional to me. But that's just a matter of personal preferences.
IMHO, it's better than the on-screen garbage that appeared in early versions. Let's say we'll have a poll about it (I'm democratic :P ).
Kananga wrote:If you really have some spare time left it wouldn't hurt to always clear the keyboard buffer before reading a key. On my VIC, I have to hammer on the keys to make contact and sometimes that results in two key presses (debouncing insufficient). This could be leveraged by only accepting the requested keys. For example, I use 'z' whenever I have to press _any_ key. But this is also accepted as a choice for '1' (run) or '2' (fight). In that case '1', so I ended up trying to run away in fights, where I didn't want.
This would be useful, especially on the real hardware, but will eat some bytes more from RAM...
Kananga wrote:Great game! Finished it once again yesterday. :-)
What is your record for no. of days until becoming a hero?
WOW! You're the first one to complete the game... I did it before with the C64 version, which has the same parameters for becoming a hero, but never won TGA without cheating with variables :mrgreen: . BTW, e5frog, to win the game you must have all stats >19 and a combat skill >200.
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

Here's TGA_v7.
Fixes and improvements:

- No more OS$(X). The count of single or multiple objects is kept by the corresponding numeric variables KT, KF, KA, and KS. The free RAM should now be enough to avoid any possible ?out of memory error.
- Healing potions found "poking around" or bought in the shop do not disappear anymore.
- Money subroutine implemented (no more space between $ and money).
- Controlled the week count, but it seems to be OK. Weeks to go and back from single adventures are always counted from week 1 (of the sub-adventure), then when you're back home (inn) you see the grand total.
- I left the picture preview for now (sorry Kananga).
- The keyboard buffer is always kept clean by a GET subroutine called at every keypress.
- Last: when you finish an adventure, you're back IN the inn :P .

Have fun.
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

orion70 wrote:BTW, e5frog, to win the game you must have all stats >19 and a combat skill >200.
Finished V6 at weekend in week 75, although I didn't have all stats >= 19.
Will try V7 soon. :)
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

Reconsidering the BASIC listing, I noticed a redundance in the stats visualization routine (corrected), which caused the error.
Let's take a look at the program: EE is the variable checked for becoming a hero (together with the combat skill AT>200), and must be =6.

Code: Select all

620 ifee=6andat>200then6120
EE is increased by 1 every time an adventure is over, you get back in the inn, and you have one stat >19. But EE was increased TWICE for every stat!

Before:

Code: Select all

300 iffo>19thenee=ee+1:fo=20
310 print"{down}st = "fo:iffo>19thenee=ee+1:fo=20
320 ifin>19thenee=ee+1:in=20
330 print"in = "in:ifin>19thenee=ee+1:in=20
340 ifde>19thenee=ee+1:de=20
350 print"de = "de:ifde>19thenee=ee+1:de=20
360 iffr>19thenee=ee+1:fr=20
370 print"lu = "fr:iffr>19thenee=ee+1:fr=20
380 ifro>19thenee=ee+1:ro=20
390 print"en = "ro:ifro>19thenee=ee+1:ro=20
400 print"en = "rf" (actual)"
410 iffa>19thenee=ee+1:fa=20
420 print"ch = "fa:iffa>19thenee=ee+1:fa=20
After:

Code: Select all

300 iffo>19thenee=ee+1:fo=20
310 print"{down}st = "fo
320 ifin>19thenee=ee+1:in=20
330 print"in = "in
340 ifde>19thenee=ee+1:de=20
350 print"de = "de
360 iffr>19thenee=ee+1:fr=20
370 print"lu = "fr
380 ifro>19thenee=ee+1:ro=20
390 print"en = "ro
400 print"en = "rf" (actual)"
410 iffa>19thenee=ee+1:fa=20
420 print"ch = "fa
Now if you don't have EE=6, i.e. ALL stats >19, EE is reset to zero and another adventure begins:

Code: Select all

630 ee=0
Thanks for this bug report! Please DOWNLOAD TGA_V7 AGAIN!!!
Sorry for the bug, but it was already present in the C64 version, and this also explains why I managed to win the game 20 years ago :D .
Kananga
Vic 20 Afficionado
Posts: 317
Joined: Mon Mar 08, 2010 2:11 pm

Post by Kananga »

orion70 wrote: Sorry for the bug, but it was already present in the C64 version, and this also explains why I managed to win the game 20 years ago :D .
Now with being able to collect healing potions during adventures it should be a piece of cake!

Thanks for the quick fix! :-)
Buy the new Bug-Wizard, the first 100 bugs are free!
User avatar
e5frog
Vic 20 Nerd
Posts: 551
Joined: Sat Feb 17, 2007 5:46 pm
Website: http://channelf.se
Location: Sweden
Occupation: Service Engineer

Post by e5frog »

OK, so for some reason, when on a mission the weeks starts to count on 1 again, week 1 passes, week 2 passes. I fight, I win and then it's week 1 again... So I guess weeks are counted from 1 again on the way back as well.
Last edited by e5frog on Mon Aug 23, 2010 7:06 am, edited 2 times in total.
My other interest: http://channelf.se
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

Exactly! In the original Italian game, the message was:
1' settimana di viaggio verso...
(Week 1 of travel towards...)
and then
1' settimana di ritorno da...
(Week 1 back from...)
I know it can be confusing, but it's also useful to keep track of the time passed in every single sub-adventure, while the grand total of weeks is useful only when you become a hero :wink: - so I kept this as it was.
User avatar
e5frog
Vic 20 Nerd
Posts: 551
Joined: Sat Feb 17, 2007 5:46 pm
Website: http://channelf.se
Location: Sweden
Occupation: Service Engineer

Post by e5frog »

If a demon has dexterity 17 and I initially hit him with a 12 pts wound - how could I kill him? Isn't the dexterity in this fight the points that it will be drawn from?

Image


Why doesn't say "week 1 of tavelling" or something like that instead of just "WEEK 1"?
My other interest: http://channelf.se
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

Dexterity is a character's dexterity (ehm), not endurance: it only determines who attacks first. The endurance of your foe is determined by the variable HR

Code: Select all

hr=((int(6*rnd(0))+1)+(int(6*rnd(0))+1)+6)
which I left untouched from the original game, as well as all the other variables, because I liked the game mechanics as they were (this is a port, not an entirely new game). This is the reason why your adversary's endurance is not shown during the combat: I like the way it was, you never know when he's going to die.

Week 1 of travelling or something will be added in future versions.

Again, I'd like to stress the following:
1) It would be better if suggestions, bugs etc were posted BEFORE and not just one moment AFTER a new version has been issued :?
2) Anyone reading this post should feel absolutely free to modify the game as he wants, either to post a better version for everyone's pleasure -and credits will be reported in the game page-, or for his personal use.

Sorry for being rude, but after 20 days of almost continuous work on this game and seven versions of it, I'd like to move on with something else on my good old VIC.
User avatar
e5frog
Vic 20 Nerd
Posts: 551
Joined: Sat Feb 17, 2007 5:46 pm
Website: http://channelf.se
Location: Sweden
Occupation: Service Engineer

Post by e5frog »

;-)

You didn't HAVE to "correct" everything right away, just add it to a list and see what to use and what not.



... and I seem to be good at this, pointing out mistakes to programmers until they give up, it's not the first time.
Sorry for that.
My other interest: http://channelf.se
User avatar
orion70
VICtalian
Posts: 4341
Joined: Thu Feb 02, 2006 4:45 am
Location: Piacenza, Italy
Occupation: Biologist

Post by orion70 »

:D
Post Reply