Should Range Weapons+Melee weapons be nerfed and Magic be buffed? Other Game Balance Questions

edited March 24 in General

Just wanted to think out loud. There has always been an engine issue of if you deal too much damage, the numbers go into the negatives and the number of hits it takes to actually kill a monster goes up.

Damage ranges for upper 60-70+ characters can easily reach 50k-65k+ damage per hit, however the game bugs out.
It doesn't also take a turn for those characters to equip a new weapon/bow or ammunition either.

In contrast, in the damage range of the most optimal mage only character is roughly 1k-2k max. Even at that damage range, the cost per cast is incredibly high. Reloading on mana also takes a turn as well.

And doing the wand only method is a playstyle all the other archtypes are open to as well, but it doesn't really bring that true magic experience.

Other game issues that can be brought up is the lack of use of the personality based traits, it seems combat is more favored. I prefer that process myself, however, I think we should utilize all skills available, like having higher level of that specific personality skill give more rewards or different items?

Or having more daggers, maces and and 2h/1h crossbows/throwable weapons would add a different sort of options in terms of playstyle, since under the hood, its pretty much all flavor text, right? I also don't remember if we have 2h only melee weapons.

I'd also like to Bring up Undead Magic, since it is set separate, yet it doesn't offer anything so significant that requires a separate style, even though it does have a unique flavor in the beginning. Should Undead Magic have more additional Disease Effects in addition to what it already does and it becomes more intense as the levels get higher? Same thing with Higher level attack magic or having attack magic have more AOE spells?

Or am I thinking too much sandbox style in terms of what the Quest Engine can do?

Just wanted to spark some discussion on Game Design. What do you all think?

«1

Comments

  • That's because the Quest engine was originally very low on bits but enough in those days to make it exciting. If you go over the bits the game allows, you wrap around to the negative. Elendil does not want to change this as he did not script the original game, just portions of it. In fact, he's done a lot to make it more playable and to improve things.

    Because Redshift is working on the Quest 2, he doesn't want to tweak the Quest engine further.

    I've tried to increase the damage of staves, maces and hammers so they are as good as swords. I've put code on the spellcasters to make them harder because without that they can be very weak as levels go higher.

    I have to digest your suggestions but I think the bottom line is that we have to work with what the Quest engine offers. I've been adding more disease effects to monsters. I can't change the AOE of spells.

  • Can someone give me some numbers to work with, like a save? It could help us to tweak out what is going on. If the numbers, for example, are 16bit, it'll start wrapping at 32768 for signed numbers, and for unsigned numbers 65536. If 32bit, 2,147,483,648 if signed, 4,294,967,296 if unsigned. To make matters more confusing, if there are multipliers at any point in the equations, those ranges are misleading. If you know exactly what numbers to avoid, it would be wisest to never let a certain skill go above that number for something with -80% resistances, and consider doing a staff or wand to prep against enemies since you can enchant higher than your level, in theory (i haven't tested it myself).

    Although, Catacomber can give us an idea what the min and max resistances from her expansions are, which can help us get closer to that peak, because relying on -80% resistance is going to cut us off from most of the damage, if i understand the formula right. At the end of the day, i think the resistance range is why this is so noticeable.

    That said, i haven't looked at the creation kit outside of seeing that i can't use it to get maps of catacomber's expansions (crashes for some reason when i opend the pdb files), but in theory if you made your own mod (or presumably i could make it) if it allows spell creation, we could make some high level spells that add or take-away enemy magic resistances, that way we can set them to a known value to calculate against, but there's no way of knowing whether buff or debuff is better, since i don't know where in the damage calculation the overflow is occuring without the source code for the damage formula (which isn't the whole program, but i doubt he'll feel comfortable giving that to us).

  • edited March 27

    You'd have to write elendil@redshift.hu. He's the only one who can answer questions about this because he knows what the code and engine can and can't do. It may be that he upped the Quest in the HD version to 32 bit. I'm just going by what I originally knew of the original Quest. I don't know if he changed that or not.

    You can't open our pdbs. They are just meant to be played.

    You can experiment with the editor but you have to be very careful. You never know when you are going to do something that tips the calculations into disaster.

    I've done that and know. Fortunately, each time I've done that I've been able to recover. It's not easy.

    All I can say is that when I asked if it was safe to go over level 100 for a player, he told me it's never been tested.

    The enemy magic resistances are based on the monsters' Intelligence and percentage of it's fortify magic and sometimes it's better to do that through infecting a disease.

  • Money's over 16bit, but the issue that SilentFocus is complaining about could easily be an overflow, even if the number's unsigned. The quickest way to find out is "what happens when it goes too high?" If it's actually hitting negatives, that means it'll be healing the monster, which means the values are signed. However, both signed and unsigned numbers can battle "high-order truncation" issues.

    Take the following scenario: Numbers are 32bit, but the function passing is usign an unsigned 16bit number. Now let's say that damage = attack * multiplier * 5 / resistance. Now if your attack was 30,000, and you have a 30% buff, and the enemy has 50% resistance, that means damage would be 97500 (0x17CDC). Now, signed or unsigned, when passed to a function and it only handles 16bit values, the damage would become 31964 (0x7CDC since the 1 gets "truncated", and bit 15 needs to be set for negative numbers).

    But, the thing is, this is to address OP. My character isn't anywhere near having to deal with those kinds of numbers, yet, so I can only offer advice on how to identify the problem without the code. If you can get the pre and post attack numbers (which OP can provide), with 2 or 3 samples to identify to what degree RNG is involved, you can effectively find out what the damage formula is. Since computer version users have access to the modding kit, if he can't create a test scenario himself, he could send me a save and tell me how he found out what the damage numbers are, and i can sit there and place with the magic resistance until find out what the best truncation is. Then it's a matter of simply making spells that can raise or lower the magic resistance.

    If I'm understanding correctly, while it might be immersion breaking to raise magic resistance or something intentionally, it would be a simple way to solve the problem OP's dealing with if i'm understanding him correctly (high damage is making either high level mobs near impossible or low level mobs stronger than they should be due to truncation).

    Another angle is level drop spells, maybe adding "master spells" that can only be acquired by a skillcheck of some kind. I could submit these to Elendil, myself, but I'd need to learn more about the game's inner systems. Going over the forums, it would seem it's "legacy code" from another dev for the quest HD, so Elendil might not really be able to find the root cause of this bug, either. If someone can volunteer a save file or their stats where i can isolate the scenario where they first notice this issue. Looking at the editor, i have a few ideas that, if any of them worked, would be pretty effective "master spells".

    I just actually need to get far enough (either on my own or through a save) to see this problem to come up with a reliable fix for it. It could be something as simple as taking a skill that does 50 crush damage and turning that spell effect into 25 crush damage + 25 crush (or 10 + 10 + 10 + 10 + 10 if you want it to last longer) damage if the overflow is happening in the right place. I just need a way to experiment without going way too far out of the boundaries.

    As for the mana complaint, in the editor i set the intelligence to 50, which gave me 250 mana (mana = 5 * int). Burning hand at 20 attack magic is at 17 mana cost, 33 mana at 100 int. If you keep your attack magic at max possible, when your int is 10 you'll spend 34% of your mana casting it, but at 100 int, you'll spend 13.2% of your mana casting it. This isn't taking equipment and other things into consideration, but it's worth noting that the engine is catering towards class specialization (like most RPGs). Therefore, if you can fix the damage issue, the mana issue becomes more like spells are too cheap, not too expensive (as long as the mana/skilllevel number stays 1 or below).

  • Elendil is the best person to talk to about this. He explained to me awhile back why what Silent Focus experienced and we all experience who have been playing for awhile happens. He did not code the Quest except for the 3d engine. He said there was a lot of sphaghetti code that made it difficult to track some things down. I may have saved what he told me somewhere, I'll take a look. I don't have a useful save file because I play on Steam and have expansions you wouldn't have. Steam save files are funny that way. If you have an expansion on Steam but not on another device, it affects the save file. So the other device would need those expansins too or It would crash you.
  • edited March 28

    @Silent Focus--having different rewards based on Personality is interesting. I'll try to do something with that in Mithril Horde I. But just a few as Horde I is pretty much done. That can wait for another new expansion. : ) I can also add an undead magic spell that infects a nasty disease. Will try that in Horde I. They're both interesting possibilities. The area of affect I don't think I can do.

  • edited March 28

    @kohlrak--min and max resistances are 100 and -100. But the effectiveness depends on other factors. For example, magic resistance depends on Intelligence of the monster. If you have a monster that uses melee only, you want its intelligence to be really low or magic resistance in the negative won't work and you won't be able to paralyze it.

    The best way to affect a monster's magic strength or resistance is through script so that if you use a certain spell, it is more or less resistant.

    The best way to study what's going on is probably to get the PC version of the Classic Quest and the Classic Quest editor because then you can open the base game. It's how I learned the Quest editor. Well, I learned it by helping to build the base game. But same thing. I think it would really be hard to learn it from the HD version because you can't open the base game.

  • edited March 28

    @Catacomber said:
    I don't have a useful save file because I play on Steam and have expansions you wouldn't have. Steam save files are funny that way. If you have an expansion on Steam but not on another device, it affects the save file. So the other device would need those expansins too or It would crash you.

    Only if you were on the island. I was playing with it. That's the problem though: odds are you actually used those mods.

    But yeah, spaghetti is a mess. Supposedly C and C++ were supposed to prevent that, but in the real world everything's spaghetti. I get where he's coming from. The "arduino programming language" is literallly just C with macros shoved so far up the line i literally spent several days trying to turn something like "setbit(portA, 3);" to "*0x32 |= 8;" which could save alot of time in the long run.

    @Catacomber said:
    @kohlrak--min and max resistances are 100 and -100. But the effectiveness depends on other factors. For example, magic resistance depends on Intelligence of the monster. If you have a monster that uses melee only, you want its intelligence to be really low or magic resistance in the negative won't work and you won't be able to paralyze it.

    The best way to affect a monster's magic strength or resistance is through script so that if you use a certain spell, it is more or less resistant.

    The best way to study what's going on is probably to get the PC version of the Classic Quest and the Classic Quest editor because then you can open the base game. It's how I learned the Quest editor. Well, I learned it by helping to build the base game. But same thing. I think it would really be hard to learn it from the HD version because you can't open the base game.

    Yeah, i tried tackling that. I noticed, however, that the ingame editor, as Elendil said, is not in line with the game. No matter what i set the spell damage to, it does the same damage every time to the test opponents i create. On the flip side, i did see a signed overflow issue at 16 bits with the editor, though, meaning the highest base damage you can put on a spell is 32767. I'm trying to get my girlfriend into the game later today incase she gets locked in at work (she's a nurse at a long-term care facility), but if i don't forget, i'll try creating a spell that does 32768 base damage (no skill modification) to test. My theory is that if i do that, it'll heal the enemy for 32768 hp, but if i make a second spell that does 16384 and 16384 base damage (same effect twice), it'll actually work without healing the enemy. If that's the case, all you have to do to fix the spells (which i know is alot of work) is to take spells and divide all stats by 10 and just repeat the spell effect 10 times and you could, in theory, raise the spell damage cap 10 fold, but i have to actually try it out (just an idea for now). That would then, cause a problem for melee users, since they don't have that luxury when they hit their damage limits (unless enchanting with repeated effects the same way.

    But, I'm getting a little ahead of myself. I'll try it out in a few days after i found where i lost my holy shield, 'cause i have no idea where Phredd is, or even if he sells it. I know i had one, and dropped it 'cause i thought it was just generic and i was getting pretty heavy. How exactly do you see how much health any enemy has?

    Low magic res could be divide by 0 type issue. That's far, far easier to avoid, fortunately, but the magic user damage cap is a real threat, 'cause by the time the player finds out about it, it's too late, and your character's permanently damaged (unless you can either fix the spells or enemy resistances).

    EDIT: Just found the shield outside Gorum's door. The odds i'd drop it right there...

    EDIT2: Messing with a debugger i found out that health and mana are 16bit values in RAM. Yikes! I set my mana to -1 and it instantly went to 65535, so it's an unsigned value. I'm wondering if damage is then unsigned, too. Would explain why no one's seeing it as "healing" which means the max damage would be 65535, and if you did 1 more damage than that you do 0 damage. 1 more than that and you do 1. Fortunately, I don't think this naturally spills over to the next byte.

  • I never played Ice and Fire on Steam. But I have expansions that I've made to test graphics and you wouldn't have them so for you my save file would crash.

    I can't find where Elendil told me what happens when you use the high damage weapons that use drain health and drain mana but basically it's that you wrap around because it's 16 bit.

  • I created a weak enemy from the base classes of the game, but even at 250 attack magic, i wasn't able to recreate the problem, then i scrolled up and realized the issue behind the complaint. I was misreading, the whole time, that mages were the ones bugging out, when it's melee users. Now i see the problem (usually it's mages in games who break engines).

    So I made a new mistress enemy with 32767 health (the health works, but the healthbar breaks starting with 32768), made her a ranged fighter with no spells, and set out to create a spell that will kill her in 2 hits, and another spell that fails horribly in the attempt.

    The attempt failed near immediatly: turns out, negative numbers apply to magic. This means that, ultimately, you can't hit the wraparound. Due to limitations of the floating point implementation, you can't actually do the overflow, only signed overflow (0x7FFF + 1 is 0x8000 which is -32768). This creates an interesting effect, while also creating an interesting problem.

    Enemies can be made that don't immediately have a healthbar, because they have beyond 32767 health. Health is "unsigned" which means it can have a range of 0 to 65535, while an individual bit of damage is limited to -32768 to 32767. This also means you can do a restore target health spell, which wouldn't be particularly useful outside of making a quest to heal someone or keep them alive while they're taking damage in a scripted "trap" or something like that.

    But, that's not all. I then created a spell with 4 effects, each of simply damaging all by 8192 (which, when added together) makes 32768, which if you would've thrown into the editor becomes -32768 (healing for half of max possible HP). Since she had a high enough int (9), that was not an instakill (+8% magic resistance)... So i bumped it up to 9500, which should really be interesting, 'cause it's over 9000. Instakilled. This has one obvious implication: every time damage occurs, each effect get calculated separately.

    However, this doesn't solve the problem melee users are facing. For archers and mages, this isn't a problem in the slightest, because you use enchantments (for bows or arrows) or stack spell effects (there's a realistic danger of truncation, though, i imagine). On the flip side, there is a function called GetDamage() which could, in theory, be useful for throwing a cap on the damage.

    Now, my level 78 cheat character that i just made did 92 damage using Drain Health. I didn't use trainers or books or anything, but I'm curious what kind of stats are leading to damage ranges in the thousands for melee users. It kind makes me want to start my game over and make a melee character instead if they're able to handle everything so much more easily. How does one hit over 32,000 per turn with a melee user without cheating?

  • A good question for Elendil. : ) Using a high level weapon with Drain Health and Drain Mana is the problem. I wrote to him but he's busy and not sure when I'll get an answer. Basically, I think we have to live with it.

  • @kohlrak Really, this isn't a complaint, more that I feel that some skills are underutilized in the game or the fact that I think every build of any character should be viable in the Quest. Since its a single player game. Also due to the fact that if numbers keep going up, the turns per attack regardless of damage go up anyway due to overflow issues. So why not just cap the damage and equalize everything.

    I just brought up this thought experiment since I believe all play-styles should be viable. For example, like a Rogue Character or a Ranged only character or a Knight based character or a Mage only character. Similar to what you can do in Skyrim or Runescape for example, certain styles may be better for combat, but that doesn't remove it from usability. Or that fact that the Undead race and its skillset isn't really that unique to grant the spell separation or the type of things it casts.

    Since we are only playing one character type is all. So I think adding things like that is pretty much like flavor text in D&D. I've been playing since 08, so I just want to see if we can improve the Quest, is all.


  • Here is a basic screenshot of my character. I can DM my save over to you if you'd like to see it, however, I am on Steam right now with new worlds since I am playtesting and I can fire off a save from my IPhone if you'd like. My process on essentially making these characters is min-max the stats using potions on level one and find the highest level enchantment and focus on 1 skill and pour all the enchantment in that. Each item has like 7k-9k magic storage. For this character, I focused on Range. I also own all the expansions, so I look for all the items there.

  • edited March 30

  • That's the thing, though, I'm only working with magic at this point 'cause it's the only thing i know, and the Health Drain spell is weak. I'm not even getting close to overflow operations. I'm not pulling 92 damage because it's glitching out, i'm pulling it because magic attacks barely grow in power as you level up. This cheat character i made at level 78 has a maximum damage potential of 505 (using Lightning Storm, the most powerful base spell), and that's only in theory, and far from practice. Frankly, magic is broken, and not in a good way.

    Basically, the OP is talking about "the traditional experience" referring to RPGs in general. I don't know how many you play, but the general rule is that there are 3 major classes:

    1. Tank: Low to medium physical damage only at close range, however is the only class that is encouraged to wear heavy armor.

    2. Rogue: Low to medium physical damage, primarily at range, and is encouraged to wear light armor, which is usually enchanted.

    3. Mage: Heavy magic damage, primarily from afar, and looses magic power for wearing armor instead of enchanted clothing, but also has AOE damage that can hit multiple opponents. His attacks will ignore armor rating, but not enchantments.

    This creates a rock-paper-scissors scenario where the tank is rock because the rogue can't damage him as he closes the distance while the mage completely obliterates him in a few hits, the mage is paper because he obliterates the tank but the lack of armor makes him painfully weak to the arrows of rogues, and the rogue is scissors because the tank will always out damage him, but he'll kill the mage.

    The thing is, I could easily make a mod, myself, to fix this, and, of course, I'd make the mod available for free, but i need a few questions answered to prevent the mod from making mages being too powerful:

    1. What's the highest intelligence stat of any of your hostile creatures?

    2. What's the highest dexterity stat of any of your hostile creatures?

    3. What's the highest HP of any of your hostile creatures?

    4. What're the magic stat values of the strongest spell that you've made available to players?

    5. What are the stats of the strongest weapon you made available to players?

    6. What are the strongest boosts to physical and magical available via equipment that you've made available to the player?

    The reason I have to ask this is, because your expansions are where people are going to notice this stuff (since they the highest level requirements), so if I have this information, i can close the gap a bit. There seems to be a huge issue, however, with physical stats. HOLV suggests you be around level 80, so i assume that's the one that a fix should be balanced upon if one is actually necessary (I'm not particularly convinced it is, yet, since I don't know whether things are actualy disproportionately called or not without seeing actual numbers). The base game is fine, largely because the "base damage" of a spell isn't small taters until well after you should've finished it. If it is disproportionate, my guess is that it's a result of base damage and enchantments on weapons themselves, which would naturally creep up as a reward for completing harder and harder quests, but mages not getting many spells as quest rewards.

    Or, maybe people who are having issues are ignoring mind magic, which can help alot between paralysis and mage curse, which is something i slowly discovered in Thor's Hammer. Upon getting into battle, a mage should be casting resist magic if against a mage, or stone skin against a melee fighter, then be looking at something like mage curse and/or paralysis, because that's your only hope at keeping the mage's natural advantage over melee fighters. Whether or not it's an issue comes down to whether or not you can be getting into battles with dragons that have 20,000HP or higher and a decent intelligence level. If that's happening, the mage is going to loose, but if we're talking about a single dragon with 3,000HP with no more than 30 intelligence, I think the mage can handle themselves without any changes.

  • Well, you can actually make a decently strong mage character as well. I can send show you a image of one of my mage characters, but unlike Melee or Range, the damage values do not exceed 1k-2k in my experience. The technique I use to reach high levels in terms of damage is essentially focusing on 1 skill. For Magic, you primarily focus on Fortify Magic for example and the Primary Magic you will be focusing on, for example, Attack Magic and pour all your enchantments on that one skill only. I do the same for my Melee characters.

  • But the comparison between the styles in terms of damage output do not match. I only brought this up because if you use 2 daggers for example to play a Rogue-like character in the classic version, you encounter this overflow issue as well. Melee functionally stays the same, but the flavor changes. The way you play the game with a Rogue only character or a Knight Heavy armor is basically the same or a 2h Bow user vs a Crossbow for example, but it at least offers variety, when all you need to do is change the weapon options. But under the hood, the processes are the same.

    Plus, I think we can ignore this issue altogether if we nerf all the melee and ranged weapons to never exceed 25k damage no matter how high your skills are, since anything after that, it takes more than 1 hit to actually kill any monster, so functionally its the same, while avoiding the bug. In addition to avoiding that bug, we can focus on buffing Magic and Undead Magic, since they are so weak in comparison.

    So regardless of what playstyle you prefer, all of it is playable in all the expansions. Akin to what you can do in Skyrim, some builds are better than others, but all are playable and viable.

  • edited March 30

    And it seems that you're only using Spells from the Base game, I have access to all the expansions, but even then the Magic Spells are weak in comparison to their Melee and Ranged counterpart by 10x if you min-max.

    If you only have access to the Base Game, my saves won't load for you, since you do not have the expansions I do.

    @kohlrak I do play only RPGs myself, but I was looking more in the case of something like Dungeons & Dragons, where you can choose whatever you like and its playable.

  • edited March 30

    @SilentFocus

    Just saw your message. I didn't realize you were active right before i posted my reply.

    @SilentFocus said:
    @kohlrak Really, this isn't a complaint, more that I feel that some skills are underutilized in the game or the fact that I think every build of any character should be viable in the Quest. Since its a single player game. Also due to the fact that if numbers keep going up, the turns per attack regardless of damage go up anyway due to overflow issues. So why not just cap the damage and equalize everything.

    Well, the thing is, Elendil is the guy who is stuck modifying the engine right now, and the original developer of The Quest left, but left behind the docs surrounding the usage of the engine, but those docs show that it really was a quick and dirty job making the engine. There actually is a pretty effective way of capping the damage, if the docs are right, however it would require almost as much work as trying to find the code necessary for capping the damage in the source. I more or less don't blame anyone for the wraparound, given the situation, but it's worth looking into if there are practical considerations. How badly do we need such damage levels, and what are the odds that someone might actually run into the overflow errors? If so, what can we do to mitigate the chances of that happening? That's the goal that i'm approaching with right now.

    I just brought up this thought experiment since I believe all play-styles should be viable. For example, like a Rogue Character or a Ranged only character or a Knight based character or a Mage only character. Similar to what you can do in Skyrim or Runescape for example, certain styles may be better for combat, but that doesn't remove it from usability. Or that fact that the Undead race and its skillset isn't really that unique to grant the spell separation or the type of things it casts.

    Rasvim in particular is a vampire type class. While i do agree it could use more diseases or something, at the end of the day that Drain Health spell is where it shines. Rasvim is definitely meant to take advantage of that spell, but it's getting put on melee weapons which takes away it's uniqueness. Top that off with the fact that the spell's also pretty weak.

    Since we are only playing one character type is all. So I think adding things like that is pretty much like flavor text in D&D. I've been playing since 08, so I just want to see if we can improve the Quest, is all.

    Persuasion is a rough one to work with. It's really not easy to find a good way to utilize that unless we could recruit NPCs or convince monsters to become our friends or something, which isn't possible under the current engine. In theory you could use it for dialog derived bartering (i could think of a few not so savory uses for this, including one such example which would arguably be against the site rules to discuss, so I won't discuss it here), but really ntohing outside of that. The thing with the mages is that their damage and shield potential is pretty wicked, because it's affected primarily by percentages whereas melee and ranged are not, and it would seem that, as a consequence, the original coder and/or Elendil solved the problem by keeping the base-spells pretty restricted (most spells have a damage of skill/2 + some arbitrary number to keep the spells viable at lower levels). The trick to maxing the mage seems to be taking advantage of spell buffs, and taking advantage to their tricks for extending their turn count.

    But, at the end of the day, my primary concern is whether or not pure mages are viable. Not only do I play games either as a pure mage or a mage-heavy hybrid class, but alot of people tend to, so if there's an issue with my setup, I need to be aware of it so I can either make a mod to fix it for myself and others, or at the very least start a new file (i made persuasion a primary skill, so i already know i done goofed, but so far I don't think it's worth starting a new file over). If there's a problem with the mage class where it's significantly harder, or even impossible, for them to beat HOLV, then that's something that needs addressed ASAP.

    @SilentFocus said:
    Here is a basic screenshot of my character. I can DM my save over to you if you'd like to see it, however, I am on Steam right now with new worlds since I am playtesting and I can fire off a save from my IPhone if you'd like. My process on essentially making these characters is min-max the stats using potions on level one and find the highest level enchantment and focus on 1 skill and pour all the enchantment in that. Each item has like 7k-9k magic storage. For this character, I focused on Range. I also own all the expansions, so I look for all the items there.

    If you want, I can create an account on my website for you to upload files. I have all the mods that are available for android, but I have them ported to the PC version. I've been cowboy coding for 15-20 years in C++ and Assembly (and other languages here and there), so it doesn't take me long to pick apart an engine. If you want we could try to talk on my IRC server (i have web clients and a logbot if you need, it'd take no time at all for me to set up), or i could try to see if Steam actually works on my old rust bucket of a computer, which would be a bit faster for analyzing things and then could post the results here or on Elendil's site (once it gets working again, 'cause it looks like it's temporarily down). The editing tool seems pretty easy to use, now that i've spent a few hours playing with it. We could make some fun mods.

  • @SilentFocus

    Ninja'd again. We definitely need to talk somewhere a little more rapid.

    @SilentFocus said:
    Well, you can actually make a decently strong mage character as well. I can send show you a image of one of my mage characters, but unlike Melee or Range, the damage values do not exceed 1k-2k in my experience. The technique I use to reach high levels in terms of damage is essentially focusing on 1 skill. For Magic, you primarily focus on Fortify Magic for example and the Primary Magic you will be focusing on, for example, Attack Magic and pour all your enchantments on that one skill only. I do the same for my Melee characters.

    Yeah, the mage relies alot on paralysis and maybe breaking your opponent's intelligence.

    @SilentFocus said:
    But the comparison between the styles in terms of damage output do not match. I only brought this up because if you use 2 daggers for example to play a Rogue-like character in the classic version, you encounter this overflow issue as well. Melee functionally stays the same, but the flavor changes. The way you play the game with a Rogue only character or a Knight Heavy armor is basically the same or a 2h Bow user vs a Crossbow for example, but it at least offers variety, when all you need to do is change the weapon options. But under the hood, the processes are the same.

    Plus, I think we can ignore this issue altogether if we nerf all the melee and ranged weapons to never exceed 25k damage no matter how high your skills are, since anything after that, it takes more than 1 hit to actually kill any monster, so functionally its the same, while avoiding the bug. In addition to avoiding that bug, we can focus on buffing Magic and Undead Magic, since they are so weak in comparison.

    So regardless of what playstyle you prefer, all of it is playable in all the expansions. Akin to what you can do in Skyrim, some builds are better than others, but all are playable and viable.

    Well that's good news. That means i don't have to panic over my build. You're more interested in the limits and how we can effectively attempt to break them. My idea to make a "lore friendly" way to do this was to make a mod where we have a simple "mages college" or "guild land" or something where we can address the shortcommings of the engine. It would be somewhat easy to create a system where we could have weapons and blades awarded for certain stat based feats, and these weapons would have the melee and ranged caps placed on them, since we aren't likely to rock the boat in terms of nerfing weapons or getting the engine fixed. Elendil seems to be primarily concerned with making a new engine, and that seems to be the way to go.

    @SilentFocus said:
    And it seems that you're only using Spells from the Base game, I have access to all the expansions, but even then the Magic Spells are weak in comparison to their Melee and Ranged counterpart by 10x if you min-max.

    If you only have access to the Base Game, my saves won't load for you, since you do not have the expansions I do.

    @kohlrak I do play only RPGs myself, but I was looking more in the case of something like Dungeons & Dragons, where you can choose whatever you like and its playable.

    Yeah, ultimately new spells are going to have to be created if you want to buff magic. It's perfectly possible to run into the damage issues with magic, but it's not nearly as easy. Would be easy enough to put them on par, though. You gotta keep in mind the playstyle differences, too: mage and ranged have that distance, and mage has paralysis, so, due to existing engine limitations, you have to keep mage weaker than ranged and ranged weaker than melee, but they should be in a similar ballpark. Creating spells and weapons are pathetically easy in comparison to quests, so that shouldn't be a problem.

  • @kohlrak This right here ->
    "Well, the thing is, Elendil is the guy who is stuck modifying the engine right now, and the original developer of The Quest left, but left behind the docs surrounding the usage of the engine, but those docs show that it really was a quick and dirty job making the engine. There actually is a pretty effective way of capping the damage, if the docs are right, however it would require almost as much work as trying to find the code necessary for capping the damage in the source. I more or less don't blame anyone for the wraparound, given the situation, but it's worth looking into if there are practical considerations. How badly do we need such damage levels, and what are the odds that someone might actually run into the overflow errors? If so, what can we do to mitigate the chances of that happening? That's the goal that i'm approaching with right now."

    I did not know it would be extremely difficult to cap damage. I only have a little bit of coding experience, mostly to actually build a Quest Clone myself. I actually work in AI managing data in SF, yet I do not have as much experience in coding as you do.

    I brought that solution up of capping melee and range, despite the fact that those are the styles of most of my characters, but I'd rather have a game where everyone can play, rather than the occasionally bug or so. I actually am trying to learn the editor, but with working at a Startup in SF and the Corona Virus and playtesting, I've been swamped with duties.

    I can help maybe by bringing up ideas and playing around with the "expansion" you create, since my goal with these games is usually to min-max them or break them to see the bugs. I wouldn't be able to anticipate how difficult a specific feature would be to implement from a coding perspective, though.

    I'll see if I can make an account in your site in a few hours. Just DMing during my lunch right now.

  • This is Elendil's answer:

    "It's because The Quest was originally designed for those old limited
    handhelds. :)

    Memory was much more limited so Stewe tried to use as little as
    possible. Numbers can be most easily held in memory in power of 2 number
    of bytes, where a byte is 8 bits. So you can have 8 bit numbers, 16 bit
    numbers and 32 bit numbers (and 64 bit numbers but The Quest doesn't use
    those). 8 bit numbers can hold numbers between -128 to 127 or 0 to 255.
    16 bit numbers can hold -32768 to 32767 or 0 to 65535 while 32 bit
    numbers can hold -2147483648 to 2147483647 or 0 to 4294967295.

    And not only did Stewe use little memory to hold the data but frequently
    to calculate results too. I'll try and find the problematic places in
    the example Istara sent me but there is no guarantee I'll find all
    places. And it might still be the case that even though I might be able
    to lift a limit somewhere in the calculations, the numbers get chopped
    when the character is saved.

    The only true solution would be to clean up/redesign the whole of The
    Quest, which is not realistic. I'm sorry."

    It doesn't seem to bother most people so I think it's best not to worry him about it.

  • @SilentFocus

    @SilentFocus said:
    I did not know it would be extremely difficult to cap damage. I only have a little bit of coding experience, mostly to actually build a Quest Clone myself. I actually work in AI managing data in SF, yet I do not have as much experience in coding as you do.

    It depends on the code, really. Elendil has implied the source is a mess, so i'll just defer to him. I was actually planning on building something like The Quest myself, then Elendil put it on GOG so I abandoned that project 'cause I no longer needed to, and i'd rather play games than make games that i'll likely never get paid for, since i've never coded professionally (and we all know how corporations like their paperwork).

    I brought that solution up of capping melee and range, despite the fact that those are the styles of most of my characters, but I'd rather have a game where everyone can play, rather than the occasionally bug or so. I actually am trying to learn the editor, but with working at a Startup in SF and the Corona Virus and playtesting, I've been swamped with duties.

    I noticed a function called GetDamage() and there's another called SetDamage() in the documentation. In theory, all one would have to do is if(GetDamge() < 0) setdamage(32767); but we'd have to actually test it. It's not a perfect solution, since, in theory, it can go so far off the scale that it wraps around even negative numbers ands lands into the positive ones again, but that type of bug would require an engine update to prevent.

    I can help maybe by bringing up ideas and playing around with the "expansion" you create, since my goal with these games is usually to min-max them or break them to see the bugs. I wouldn't be able to anticipate how difficult a specific feature would be to implement from a coding perspective, though.

    Most things are really easy to implement, until they get too vague or become impossible. Knowing your code's limits is very important. The problem with The Quest in particular is that Elendil is the guy stuck with the code and he didn't write it. I'm sure the original writer could implement.

    I don't plan on making an expansion that's too particularly complex, but something that could boost magic would be good. Fixing the issues with melee might or might not be in the scope depending on how hard you gotta min-max to get there. I think you'll find it's relatively easy, though. I need to find a way to get the physical damage formula. I have the formula for magic, since it's relatively simple, but the higher you go the higher the margin of error, and I honestly have no idea where it's coming from. The error barely matters though, since it's less than 5%. Weapon based damage, however, is a challenge because I don't know how exactly defense works or how the damage ranges are calculated. I would search Elendil's site, but i think someone's DDoSing it (shared hosting it appears), especially since no matter what weapon you use, even if you create one, your stats automatically give you a random damage modifier which makes it harder to reverse engineer with a large number. I really get the impression that defense is subtraction, but I don't know for sure.

    I'll see if I can make an account in your site in a few hours. Just DMing during my lunch right now.

    I figured you weren't coming on anytime soon, so i went to sleep. I noticed someone popped on IRC twice via kiwi (using the name kiwi_44), so i assume that was you. You don't need an account unless you plan to upload or protect a username.

  • That was me, that was the login when I clicked your link. Just making sure I can even use it. Will update you later on tonight or possibly tomorrow. I'm located in SF. I don't know your Timezone @kohlrak

  • @SilentFocus said:
    That was me, that was the login when I clicked your link. Just making sure I can even use it. Will update you later on tonight or possibly tomorrow. I'm located in SF. I don't know your Timezone @kohlrak

    GMT -5 hours (Eastern Standard Time). You're GMT -8 then. I'm unemployed, and my girlfriend is a nightshift nurse so until finding a job that pays a practical wage becomes possible again, I live as a vampire.

    @Catacomber said:
    This is Elendil's answer:

    "It's because The Quest was originally designed for those old limited
    handhelds. :)

    Memory was much more limited so Stewe tried to use as little as
    possible. Numbers can be most easily held in memory in power of 2 number
    of bytes, where a byte is 8 bits. So you can have 8 bit numbers, 16 bit
    numbers and 32 bit numbers (and 64 bit numbers but The Quest doesn't use
    those). 8 bit numbers can hold numbers between -128 to 127 or 0 to 255.
    16 bit numbers can hold -32768 to 32767 or 0 to 65535 while 32 bit
    numbers can hold -2147483648 to 2147483647 or 0 to 4294967295.

    And not only did Stewe use little memory to hold the data but frequently
    to calculate results too. I'll try and find the problematic places in
    the example Istara sent me but there is no guarantee I'll find all
    places. And it might still be the case that even though I might be able
    to lift a limit somewhere in the calculations, the numbers get chopped
    when the character is saved.

    The only true solution would be to clean up/redesign the whole of The
    Quest, which is not realistic. I'm sorry."

    Yeah, but what i find odd was his choice to store the health and mana as unsigned numbers, but didn't choose to do the calculations that way. For each health bar, it's 2 bytes, but if Stewe did 32bit calculations and used the line if(result & 0xFFFF8000) result = 0x7FFF; that would've effectively sovled the problem costing 2 bytes (of RAM) only when calculating damage. Clearly, he wasn't thinking people would get any higher in level than maybe 30 or something to that effect. The weird thing is, too, he was frequently using 32bit foating point values for all spells instead of using 16bit ints and dividing them on the fly. That tells me he made the engine in a hurry and didn't stay long after it was completed, 'cause this contradiction wasn't addressed, and if someone hit that damage cap before he left, I think he would've dropped that line in. Also, he set the health to be unsigned, but the health bar assumed signed numbers, indicating further that it was rushed.

    It doesn't seem to bother most people so I think it's best not to worry him about it.

    Yeah. What needs to be done is at the script level. I understand he's working on making a whole new engine which should allow him to solve such problems alot more easily, so getting in his way of doing that by trying him to fix these issues is counter-productive.

  • Stewe never expected levels to become as high as they have been. I worked with both him and Sylon on the Quest. I wrote many of the quests as their English was not perfect. It probably would not be safe to take levels over 100. Stewe left after Ice and Fire and then Elendil came in. The editor can be a beast to work with sometimes but I try not to bother Elendil with its problems because he has a lot on his plate.
  • @Catacomber said:
    Stewe never expected levels to become as high as they have been. I worked with both him and Sylon on the Quest. I wrote many of the quests as their English was not perfect. It probably would not be safe to take levels over 100. Stewe left after Ice and Fire and then Elendil came in. The editor can be a beast to work with sometimes but I try not to bother Elendil with its problems because he has a lot on his plate.

    If only Stewe were around, i have a fascinating video for him to watch:

    The video's basically about people like SilentFocus. People, naturally, don't RTFM, which is the problem at the end of the day. The problems that will plague your the most are the ones you make the assumption that will never happen.

    As it stands right now, magic will not likely break the damage limit and create an overflow error unless your attack magic is over 6,000, if we're only using the spells from the base game (and i didn't look, but i get the impression the other mods didn't add many, if any, spells that have a chance of surpassing Lightning Storm). This seems to be the crux of SilentFocus' argument: they didn't implement a damage cap, so non-mages are running into this issue, while mages are so underpowered in offensive spells that no matter how hard you try, you'll have a hell of a time seeing that damage cap without hacking your save file. Frankly, he's right, and especially so with Rasvim, which, if they try to focus on keeping their damage output high, are likely to get OHKOed, which is something i've tangibly experienced at lower levels, but it should be happening at higher levels, too. There were times in Thor's Hammer than i used Magic Immunity to save my bacon, because magic resist was not enough to protect me with Berseker's disease on me.

  • edited March 31
    The more I've used the editor, the more I've experimented with spells, not so much in the early expansions like Thor's Hammer, but quite a lot in the later expansions. They can be far more damaging than a weapon and affect more than one monster at a time. I hardly ever fight with weapons now unless it's a bow and arrows as the spells are more satisfying and have a visible effect. I've created a slew of spells.

    I've also made stronger staves. You can fight well with a strong staff as with any weapon. But again, in later expansions. I didn't have the luxury of focusing on those in early expansions because I focused on the graphics which actually are more important in my humble opinion.
  • edited March 31

    Ah ok. I'll have to see for myself to draw my own conclusions, because all my info is based on the base game and my own experimentation with the editor. I don't really expect much out of Thor's Hammer, since it appears to have been your first expansion and it's also low level enough that base game spells and weapons should be more or less on par. Whenever SilentFocus shows me his magic build I'll be able to see where the improvement needs to be made, whether it's his character or the available spells. I know from my own experience and the experience of others that balancing, especially in an RPG, is particularly difficult. However, while forums allow for more effective communication of long-style arguments and discussions, quick term instant messaging is far, far more useful for orientation, which is necessary here. Obviously some sort of information is wrong here if the order of magnitude difference is 30 multiplicatively.

Sign In or Register to comment.