Page 25 of 50

Posted: Wed May 13, 2009 12:39 pm
by Ghislain
carlsson wrote:Ah, I'm doing something similar in my music player except that 111xxxxx is treated as an escape code to read another byte which allows me to use any duration 1-32, codes to mark end of track and so on.

If you make very specialized songs you don't even need a full 2.5 octave note table. You could pull out the notes you actually use and re-encode the offsets bringing it down to ideally < 16 values.
I'll have to check your music player -- if only to avoid 'reinventing the wheel' by writing my own code. I did write an IRQ music player for RofQ2, but I lost the source code to that a long time ago.
orion70 wrote:
darkatx wrote:looking good man...love the screenshots on the actual TV....looks cool. :)
Ditto. I tried it in VICE fullscreen @1280x768 (vertically stretched), and it looks much more readable and clear than in the screenshots posted here :P .
Thanks! I agree, the emulator screenshots look like crap. Much better to play it on the real hardware!
d0c wrote:i pray for a 16k version because that is all i have.... :cry:
Speaking of real hardware... it's true that the 32K requirement would limit the amount of users that can play it on the real thing.

To make a 16K game out of the current one is unlikely. However, I could use the same code and strip out all of the graphics. Get rid of the map, reduce the number of monsters and use PETSCII graphics to make a 3D maze dungeon crawler.

I don't want the memory requirement to be 35K expansion because I think only the Mega-Cart supplies this (and other special hardware)

I just finished the code to add experience points when you kill a monster (I don't use tables, it's calculated with (SPECIAL ATTACK+MONSTER HIT DICE)^2 * (MONSTER DAMAGE). I now have 7250 bytes free or so.

I think I should be able to fit everything now (within 32K expansion). All I've left to do for the combat engine is collecting treasure at the end and the monsters' special attacks. Hopefully I can keep those things below 2000 bytes.and that will leave me 5000 bytes to program spellcasting, magic items, potions and music (if I plan on having about 6 tunes and keep these to about 150 notes each then that part will be about 1200 bytes or so).

I think I'm starting to see the light at the end of the tunnel for this project. Hopefully I can have a full beta version within 2 months or so. (hopefully even less!).

After this is all done, I'll take a 6 month break and then ponder if I should make Realms of Quest IV: Epilogue.

Posted: Wed May 13, 2009 1:01 pm
by Ghislain
The following screenshot shows how the monster attacks are displayed:

Image

The character who is going to be attacked is highlighted and then the image of the monster flips horizontally (in this case the rat facing left now faces right) and the result of the attack is printed in the middle section of the screen.

That way, I don't have to create a routine that would print

Code: Select all

GIANT RAT ATTACKS
DOODLE AND MISSES
Having the character highlighted makes the method I'm using pretty self-explanatory (and saves a bit of memory).

I'd upload a demo, but there is a lot of cheat code that I'm using to create 'souped up' characters for my own playtesting. Maybe another time...

Posted: Wed May 13, 2009 2:32 pm
by Ghislain
Ghislain wrote:I'd upload a demo, but there is a lot of cheat code that I'm using to create 'souped up' characters for my own playtesting. Maybe another time...
*** I CHANGED MY MIND, I'VE UPLOADED ANOTHER DEMO ***

Download it here: http://www.usaupload.net/d/akr61hxhpax (new link with PARRY combat option)

To run it as always:

Code: Select all

LOAD"RQ4.PRG",8,1 (return)
NEW (return)
LOAD"RQ3.prg",8 (return)
RUN
Of course, I removed the cheat code from it. It starts you off with 500 GP.

What's different from the last demo is that now you can fight the monsters. Keep in mind that a lot of the combat options are not available (thief/monk backstab, spell casting, use magic item, drink potion).

***EDIT (with link updated above) ***: I just added a PARRY option (replaced the PASS combat option). It's useful when you have a weak character with low hit points. It only took me 15 bytes to program it :)

You can recover lost HP by resting at an inn available at the towns or at the castle.

Let me know if you notice any bugs/inconsistencies, etc.

Posted: Wed May 13, 2009 3:27 pm
by Ghislain
If you'd like to know how much damage each weapon does:
DAMAGEWEAPON:
.byte 2 ; no weapon
.byte 4 ; dagger
.byte 6 ; staff (two-handed weapon)
.byte 6 ; mace
.byte 8 ; flail (two-handed weapon)
.byte 8 ; short sword
.byte 10 ; long sword
.byte 12 ; battle axe (two-handed weapon)
.byte 15 ; two-handed sword (two-handed, of course)
.byte 4 ; sling
.byte 6 ; bow
.byte 8 ; crossbow (all missile weapons are considered two-handed)
If your character is not armed, then their fists do 1-2 hit points of damage. When employing a two-handed weapon, you cannot equip a shield on that character.

Extra damage points are calculated on the basis of double damage. Having a higher strength (as well as magic weapon, spell bonus, etc) will increase the chances of doing double damage. So if you find that your short sword does 16 points of damage all of a sudden, it's most likely due to DD.

A high dexterity determines if you score double damage with a missile weapon.

The THACO system is based on a 128 sided dice. THACO is calculated as follows:

THACO = 54 + STR (or DEX if missile) + CHAR LEVEL + WEAPON'S MAGIC BONUS + MAGIC COMBAT BONUS - MONSTER HIT DICE

So if you're fighting a kobold (hit dice of 1) and your level 1 character is attacking with a melee weapon and he has 10 strength, he would need...

54 + 10 + 1 + 0 + 0 - 1 = 64

...he would need to roll 64 and under using a 128 sided dice :)

Posted: Wed May 13, 2009 4:17 pm
by Ghislain
I've playtested my combat system (with the same demo I uploaded for you guys--get it here http://www.usaupload.net/d/akr61hxhpax ), and even though it's very simple, there are quite a few tactics and decisions to make.

Since adding the PARRY option, I find myself in a dilemma where there is a character say at position 5 with only 1 or 2 HP left but all 4 characters in the front had missed. Does he attack, hoping to kill off a monster and improve the chances for the party or should he PARRY (increasing his armor class value for when the monsters attack).

The reason I'm so obsessed with finishing this game is because it is _the_ game I've always wanted to make for the past 20+ years or so. RofQ1 and 2 were "ok" games, but they were very simple: just a generic class that could fight and cast spells and you only had 1 character.

So far, I find the game has a difficulty that is not too cruel to a first level party. Keep in mind that when playing the demo, rest at the inn after an encounter -- even if you only suffer a couple of hit points of damage. That extra hit point could mean life or death for a character!

Posted: Wed May 13, 2009 4:30 pm
by carlsson
Ghislain wrote:I'll have to check your music player -- if only to avoid 'reinventing the wheel' by writing my own code.
My player is more complex than what you seem to expect to need, but you could always borrow code. Hopefully I'll find time to do a partial rewrite of the whole player structure this summer, to a format closer to what you'd desire and also one that takes even less space. Maybe usage in your game would be enhanced motivation to take on that task.

Posted: Wed May 13, 2009 8:16 pm
by Jeff-20
For me, it seems like the animal is more easily recognized when the head is on the left. My eye must scan left to right as if reading. I looked at the giant rat for 15 seconds before I could figure out what it is. :lol:

Posted: Thu May 14, 2009 12:26 am
by Schlowski
Great progress :P , unfortunately I will not have time before weekend to have a look. Damn, can't wait to play your demo!

Posted: Thu May 14, 2009 12:48 am
by Ghislain
Jeff-20 wrote:For me, it seems like the animal is more easily recognized when the head is on the left. My eye must scan left to right as if reading. I looked at the giant rat for 15 seconds before I could figure out what it is. :lol:
The image is flipped briefly during combat when the monster attacks. If you try the demo, you can see why I do this. Have you tried it? ;)

Posted: Thu May 14, 2009 12:51 am
by Ghislain
Schlowski wrote:Great progress :P , unfortunately I will not have time before weekend to have a look. Damn, can't wait to play your demo!
I'm making faster and faster progress it seems. Yesterday I was looking at the combat options and I asked myself "wouldn't it be great if you could PARRY?" -- and because I have so many subroutines in place that interact so well, it only took me about a minute to program it and make sure it works.

I remember when I first started, it took my several hours to just print the character's level...

Posted: Thu May 14, 2009 12:55 am
by Ghislain
carlsson wrote:My player is more complex than what you seem to expect to need, but you could always borrow code. Hopefully I'll find time to do a partial rewrite of the whole player structure this summer, to a format closer to what you'd desire and also one that takes even less space. Maybe usage in your game would be enhanced motivation to take on that task.
Thanks! But don't worry if you don't have the time to do this -- I've implemented an IRQ music player before, and I think i can do it again :) I've a feeling that I might be finished sooner than I think...

Posted: Thu May 14, 2009 3:05 am
by Ghislain
I fixed a display bug and I also implemented the following:

-if a character is poisoned (but still allive), their condition is cured when they rest at an inn. You don't need to spend 500GP to "heal all" at the castle's temple (the latter now being a cure statue/resurrection place)
-the thief/monk backstab option is now available. What this does is that it can add 10 points to damage rolls if a hit is successful. However, monsters get a +10 to hit during the next combat round. You can't use this if you're armed with a missile weapon. If you try to use this option without meeting these conditions, the combat menu does not respond when you press "B".

Download the latest demo here http://www.usaupload.net/d/9aa9uuursj5

Posted: Thu May 14, 2009 7:32 am
by Mayhem
One note... you've got a monk class? Then these guys are traditionally very good at unarmed combat in RPGs. I hope you're going to give them a big attack bonus for not using a weapon ;)

Posted: Thu May 14, 2009 7:41 am
by darkatx
It's utterly amazing how much info you can cram into a 22*23 character screen! :)

Posted: Thu May 14, 2009 9:16 am
by Ghislain
Mayhem wrote:One note... you've got a monk class? Then these guys are traditionally very good at unarmed combat in RPGs. I hope you're going to give them a big attack bonus for not using a weapon ;)
I thought about calculating 'hands' damage for monks at 1 to (2 * level). With that, a level 7 monk would be able to do 1-14 damage (almost as much as a two-handed sword). With a backstab option, then they could do up to 1-24, and if they score a double damage hit, that has the potential to do 2-48 damage.

Level 15 monk in this case could do 2-80 with successful double damage hit + backstab (in this case, a punch to the back of somebody's head).

Too unbalanced? Or does it make for a more interesting power curve? Monks start off wimpy with 1-6 base hitpoints per level. They can only use studded leather and the priest's weapons. Their special abilities are backstab, use all magic items that other classes can use and possibly 'hands' damage if I decide to go with it.

Regular fighters (or grunts as I call them) can only score 2-30 double damage with a two-handed sword. This makes them impressive compared to all of the other first level classes (save for rangers and paladins who can use the same weapons), but eventually they get surpassed because the other classes have better special abilities. Their only advantage over the others in the long run are their hit points (they get 1d12 base hit points per level, rangers+paladins get d10, priests d8, thieves+monks d6 and wizards+necromancers d4).
darkatx wrote:It's utterly amazing how much info you can cram into a 22*23 character screen! :)
Especially when you're forced to :)