Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-22-2008, 05:10 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

This whole thread is actually from the following thread originally:

http://www.eqemulator.net/forums/showthread.php?t=26262

I moved it all here because it was getting way off-topic and was overly long. Discussions like this should be started in the general section, not in someone's code submission. You would need to read the post linked above to understand where these posts come in.


Cavedude,

Once you get the code added to PEQ, would you mind posting exactly where and how you added the Calculate2HDamageBonus function? I still have no clue and I just need someone to say "paste this exact code into this file" :P


Chaos,

Turning off weapon damage bonus isn't really something that is needed IMO. Sure, a rule could be put in place for it, but I would personally rather see rules for hit rate multipliers, damage multipliers, etc.

Damage bonus is something that has been on live for a long time and turning it off is like turning off Strength or AC or any other stat that is standard. If you really had to have an option to turn it off, I am sure someone could post the required code so you could add it in yourself. But IMO, the rules are already starting to get to be quite a large list. We could have rules for every little thing, but not everything needs them, really.

I think that you are not understanding that the code will still calculate a scaling damage bonus even for post level 80. So, it will still scale up probably to infinite levels I guess. They are just saying that it might not be as accurate to live after level 80, but it will still scale up to simulate what their best guess is that the live equations post level 80 would be.

I think you are thinking that a level 80 with the same weapon as a level 100 would both have the same damage bonus. If that was the case, then ya, you might want to turn it off to keep your weapon damage from scaling up in a weird way. But, since they still do scale up after level 80, you won't see any kind of weirdness. As far as you and your players are concerned, you probably wouldn't even be able to notice that they didn't have the post 80 numbers in there. If they didn't mention it, you would never have been able to tell unless live went past level 80 and you were comparing bonuses and they didn't match perfectly with your server.

As far as trying to simulate live goes, it is just something that the emulator has focused on since it was created. Sure, we do get additional features that live doesn't have, but the idea is to have the core settings and calculations to simulate live as closely as possible. If they wanted to make a whole new game, then they would just make everything up from scratch, but that isn't the goal of the dev team. That goal isn't going to change. I think the main thing to keep in mind is that even though they are working to simulate live, we also try to give as many options as possible so custom servers can do anything they want as well. I think having the options to deviate from live is one of the cool features of the emulator. But in the case of removing damage bonuses completely with a rule, even I don't think that is a very useful option. Once you see how it works, I don't think you will even care to have the rule option anymore. If you do still have a problem with it, I am sure a rule can be added at any time.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 09-27-2008 at 11:12 AM..
Reply With Quote
  #2  
Old 09-22-2008, 05:18 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

I think what Chaos is trying to say is that he would prefer to use damage/delay alone to calculate the damage. I understand this and agree. If a rule can be put into place then that would be great for folks like Chaos that would prefer to create or adjust the weapons based primarily on the weapons stats and not have to figure in some esoteric damage modifier. Makes sense to me. And it also gives a server op more options, huh, Trev.
Reply With Quote
  #3  
Old 09-22-2008, 05:36 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Andrew80k hit it right on the head =)

You see Trev, the devs who continusly trying to mimic Live to the best of their ability continusly forcing on themselves how SOE DID IT with no regard if SOE actualy did it RIGHT (If I honestly thought that SOE did ANYTHING right beyond the graphical engine, I would still be playign EQ1/Eq2, which is not the case )

SOE created dmg bonus for 2 things:

-give melees inherited bonus compared to non melee for same skills/weapons/stats
-fix ever screwed up 2handers falling behind 1handers

As Andrew80k pointed out - some of us simply do not want first apply SOE screw up, and then apply soe make-shift fix to a problem which does not have to exist in a first place. In 99 SOE created a game which so horibly unplayable solo, than over next 9 years they kept making it easier and easier until they arived at a point where they should have started at to begin with (and players such as myself were teling them it since day 1)

Aagain as well pointed out by Andrew80k , Its MUCH easier to balance/make custom weaposn using vanila dmg/dly than try to ALWAYS keep in mind whats the dmg bonus formula going to be for any given level X

ANother thign to keep in mind that on original EQ past lev 55 difuclty, mobs hp, and weapons dmg skyrockets up to x10 times, and keeps skyrocketing everytime they increase the level by 5, but it dificulty fills like another 50.
For server with more casual gameplay which is not obsessed with 72+ man raid to kill anything, a SMOOTHER progression is prefered.
WHich means level 65 mob does not have qudruple dps over lev 60 mob, but mayby only +10%.
Same thing goes for weapons and dmg bonus - its simply not needed and makes things far more confusing when trying to tune things up.

PS. Performance wise - if Rule check is placed BEFORE dmg bonus is calculated- I just saved myself some CPU work
Reply With Quote
  #4  
Old 09-22-2008, 06:09 PM
renoofturks1
Sarnak
 
Join Date: Jan 2008
Posts: 60
Default

You make it sound as if damage bonus is some huge deciding factor in how a weapon parses. It merely add's a set number to the final damage dealt. A weapon with a damage bonus of 13, can only hit for a minimum of 14. 1 plus the bonus. A 2 hander with a damage bonus of 42 can hit for a minimum of 43. So on and so forth. If you really wanted to turn it off, it's as simple as removing it from the code and recompiling it.

I have never tried to implement a rule, I will look into it if it is a function you would be interested in.
Reply With Quote
  #5  
Old 09-22-2008, 07:19 PM
Cantus
Fire Beetle
 
Join Date: Sep 2008
Location: New York
Posts: 18
Default

Quote:
Originally Posted by renoofturks1 View Post
This system, using the look-up table's, attains exactly that, post 80, it just stops going up, it doesn't decrease, it merely stays constant from 80+
Reno is almost exactly right. There is one small exception. Any 2H weapons with a delay of 27 or below will have their damage bonus continue to increase for levels 81+.

That's because 2H weapons with delays of 27 and below are the only ones where Sony used a simple formula that has not changed as new expansions are released. It's probably safe to assume that future expansions will not change it, either.

But, it's not entirely fair... as toons on EQEmus with a level cap above 80 will see the DPS of their fast 2H weapons (delays 27 and below, though these are fairly rare) increase as they level past 80, but the DPS of slower 2H weapons will stop increasing once they hit 81.

That's not ideal, so I'm sure Reno and I can put in place a set of formulas that approximate our best guess about what damage bonuses will look like post-81. That's really the only solution right now, as we can't know (without breaking out the old Ouija board or hiring a fortune teller) what formula modifications (if any) Sony will use when they increase the level cap again.




Quote:
Originally Posted by ChaosSlayer View Post
The only thing I could ask if you would add Rule: Damage Bonus on/off - so we can have an option to play with DPS only governed by natural weapon stats.
That's an excellent suggestion, Chaos. I doubt it'll be used much, but I'll include a preprocessor directive that lets you turn on or off damage bonuses when compiling the solution. Of course, they'll be on by default!

I'll include it when I get home from work tonight, and provide instructions on how to turn it on and off.

Also, Romai just finished verifying the damage bonus numbers for levels 66-80, so if there are any slight inaccuracies in the function, I'll fix them tonight!
Reply With Quote
  #6  
Old 09-22-2008, 07:24 PM
Cantus
Fire Beetle
 
Join Date: Sep 2008
Location: New York
Posts: 18
Default

Quote:
Originally Posted by renoofturks1 View Post
I have never had a toon over 65 on EQEmu, Does the weapon show the damage bonus as continuing to scale beyond level 80? If so, all the information we would need to extend it into the higher levels is right in front of us.
Like Reno, I've never played on an emulated server with a cap above 80. But I'll bet that damage bonuses, as displayed when you right-click on a weapon, do continue to increase.

However, this is no guarantee that the formula currently in the Titanium client is the same formula Sony will use next time they increase the level cap.

Keep in mind that there's no way to level past 80 on Live, so there's no way for players to see what damage bonuses will be at higher levels. Therefore, if Sony wants to change the formula (like they did when PoP was released, for example), the just release a patch to the client that changes the way it calculates and displays bonuses for levels 81 and above when the next expansion is released.

So, we'll base level 81+ damage bonuses on the formulas we currently know about. If Sony throws us a curve ball with the next increase in cap, we'll shift things around then .
Reply With Quote
  #7  
Old 09-23-2008, 11:45 AM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

well I can't coment on performance potential atm, but esentialy the performance difirence bewten runign the DMGB part or part shoudl be same since its will either:

check if rule is False and skip the code
OR
Run the code

somehow it feels that skiping the code should save you more CPU time than runing it.

another important note of havign Trev's type Rule is ability to turn on and off on the FLY - even for purposes of testing actual effects of diffirence of DMGB, wihout having to recompile the code.

ANother thing, if you let me add, I would sugest puting in place yet another , 3rd option - a separate system where DMGB is calculated by linear formula which will stay true from 1 to 255 ONLY basing the values of weapons DLY and players levels rather than on table with values aquired from LIVE, along with modifier (again in Rules) which would set how strong/fast the bonus value builds up.

And making it a DMGB Rule with 3 difirent options: LIVE-like, None, and linear Admin controleld scale.

Alternativly the 3rd option could be set to 0 efectivly turning the DMBG OFF.
This would be PERFECT for any custom server to tune up pace of progression.

PS. NEVER hard code anything
Reply With Quote
  #8  
Old 09-23-2008, 12:34 PM
renoofturks1
Sarnak
 
Join Date: Jan 2008
Posts: 60
Default

Quote:
Originally Posted by ChaosSlayer View Post
check if rule is False and skip the code
OR
Run the code

somehow it feels that skiping the code should save you more CPU time than runing it.
Why I do not disagree, skipping the function would speed things up. What about when it is not skipped? I may be mistaken, but doesn't that involve a call to MySQL to get the rule? Or does it store them somewhere else at start-up? So, every time someone make's a hit, it calls MySQL, checks the rule, then parses the DMGB code? Correct me if i am wrong?
Reply With Quote
  #9  
Old 09-24-2008, 12:45 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

regarding the implementation.

I havent looked ta actual code but in order to minimize extra calculation in mind it would look like this:

You store ALL values in a table which is accessed by parameters of Level and Dly

When weapon strike you simly add X(a,b) to the final damage, where X(a,b) points the table with pre-calculated values

As far no DMGB Rule goes - you simply fill the table with ZEROES and every time X is retrived its retrives a 0 =)


NOW to make this even MORE custom, we should make yet ANOTHEr small Rule which would describe a FORMULA for linear DMGb growth, and then when server loads the table will be filled with values based on the formula specified by server admin in Rules

hows that? =)
Reply With Quote
  #10  
Old 09-24-2008, 01:21 PM
renoofturks1
Sarnak
 
Join Date: Jan 2008
Posts: 60
Default

Another RULE? I see no need for multiple rules.
Reply With Quote
  #11  
Old 09-24-2008, 01:24 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by renoofturks1 View Post
Another RULE? I see no need for multiple rules.
1 rule gives LIVE-like effect
1 rule turn effect off
1 rule- alows you create per server custom effect on the fly

all this can be incorporated into a single rule of course which you simply set to 0,1 or 2, or whatever =)
Reply With Quote
  #12  
Old 09-24-2008, 06:55 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

There really isn't much of a need for a rule for adjusting damage bonuses. I think a much better solution for custom servers would be a rule for adjusting the main damage multipliers. So you would increase or decrease normal damage instead of messing with damage bonuses. This is something that I think KLS has already considered adding at some point.

Also, along with that rule it would be nice to have an additional one for adjusting how often hits land for PCs and/or NPCs. Both of these would just add an additional multiplier to the equations that calculate them. Then if the rules are set to 100, it would mean no adjustment, 50 would be half and 200 would be double, etc.

Whether those rules get added or not isn't really related to this thread though and should probably be discussed elsewhere IMO. I am pretty sure there is already a thread somewhere talking about them.

Actually, while thinking about these 2 rules, it made me think of a cool new idea for a quest command. Maybe additionally to these rules, a quest command could be made that would adjust the entire zone damage and hit rates on the fly for all NPCs in it. Then, you could make zones that automatically scale in difficultly based on player level. Though, another rule to scale hps would probably help too
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 09-25-2008 at 02:59 AM..
Reply With Quote
  #13  
Old 09-24-2008, 07:33 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by trevius View Post

Also, along with that rule it would be nice to have an additional one for adjusting how often hits land for PCs and/or NPCs. Both of these would just add an additional multiplier to the equations that calculate them. Then if the rules are set to 100, it would mean no adjustment, 50 would be half and 200 would be double, etc.
YES!! I been asking for "TO HIT" modifier since last year . Technicly I have been asking for rule option where DEX would determien how often you score a hit AND a modifier to determine the ratio of how much DEX will be affectign that. Via such option such classes who inherently suck at to hit ratio (like paladins and Sk) can at least do something to improve via in game means- such as building up DEX, rather than to pop up to hit bonus for all classes

Along with that I was also asking for a rule and modifier where AGI will affect the dodge

I probably asking too much. but imho the combat engine would have been if it was writen to mimic eq2 model rather than eq1. cause in eq2 there is never too much stats since your ability to hit and to dodge directly compared to mobs level and mobs ability to hit and to dodge, and X dex and agi which is uber at say 51 will not be as efficient vs say lev 53 mob. This way there is ALWAYS room to improve your stats wihout hiting any sort of cap, since as you level up the worth of your previous stats continusly diminishes vs equal level mobs while making you much tougher vs lower level mobs
Reply With Quote
  #14  
Old 09-25-2008, 06:42 PM
Cantus
Fire Beetle
 
Join Date: Sep 2008
Location: New York
Posts: 18
Default

Quote:
Originally Posted by ChaosSlayer View Post
I havent looked ta actual code but in order to minimize extra calculation in mind it would look like this:

You store ALL values in a table which is accessed by parameters of Level and Dly

When weapon strike you simly add X(a,b) to the final damage, where X(a,b) points the table with pre-calculated values
Hi, Chaos!

What you're describing is a brute-force lookup table... just one that's built on-the-fly (which would, in all likelihood, be slower than a comprehensive, pre-built static lookup table.)

There are three options for calculating damage bonuses:
  • A brute-force table like what you describe
  • A pure-formula approach where damage bonuses are calculated mathematically
  • A hybrid approach where formulas are used in cases where they're simple and fast, and tables are used for all other situations

I tried all three possibilities, and the third option -- the hybrid approach -- is what provided the best performance.

That's what's implemented here in this thread. As I mentioned above, testing (that you can easily re-create) proves that this function is a very efficient and fast way of calculating these values, and that it will have an absolutely unnoticeable impact on server performance.

Please don't think I'm shooting down your idea! It's a great one! I'm just pointing out that it was considered, tested, and found to be not quite as efficient as the solution presented in this thread.
Reply With Quote
  #15  
Old 09-25-2008, 06:49 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by Cantus View Post

What you're describing is a brute-force lookup table... just one that's built on-the-fly (which would, in all likelihood, be slower than a comprehensive, pre-built static lookup table.)
.
Hiya!

I am not sure why you saying that this method is build on the fly
You create the table and populate it with values when server loads- and it NEVER changes - the values are very static.

You may very well put them directly into code. You simply pre-calc the values ONCE and then just add them to final dmg when/if needed

I am not arguing btw - I just not seeing the "complexity" in creating the table at server start up and keeping it static (just like you want it) until server shuts down

The bonus part of course is that BEFORE server loads you can populate the table with values based on ANY formula- again only once - and they stay static for whole duration
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:28 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3