Project 1999

Go Back   Project 1999 > Class Discussions > Melee

Reply
 
Thread Tools Display Modes
  #1  
Old 11-24-2024, 06:09 PM
Jimjam Jimjam is online now
Planar Protector


Join Date: Jul 2013
Posts: 12,729
Default

Quote:
Originally Posted by bcbrown [You must be logged in to view images. Log in or Register.]
I'm putting this one in a spoiler tag because I don't want to give anyone a jump scare.
 
[You must be logged in to view images. Log in or Register.]
Thank you for reviewing my post, I appreciate that. It turns out the distribution which Torven claims to have created created was "For TAKP, I have replicated this curve by employing the Box-Muller Transform to generate a gaussian distribution". Do you have any further info on what defines that (yes I know I could google search it, but you deliver so eloquently, and you seem to enjoy explaining and posting textbook jumpscares)?

Edit: I thought this would be an interesting extra point, according to a quick search, p99 branched from eqemu in 2009. Now obviously, Torven may have written the code before making the post (2014) but I'd say there is a good chance p99 is using either a more rudimentary damage roll OR on of the p99 devs may have either copied Torven's work or created their own die. I'd love to know which it may be.

Edit edit: DSM I'm gonna dig further into that post you made which included the code now I feel I have a rough estimation of what was posted there and it's potential relevance (or maybe not!) to p99.
Last edited by Jimjam; 11-24-2024 at 06:19 PM..
Reply With Quote
  #2  
Old 11-24-2024, 06:26 PM
bcbrown bcbrown is offline
Fire Giant


Join Date: Jul 2022
Location: Kedge Keep
Posts: 751
Default

Quote:
Originally Posted by Jimjam [You must be logged in to view images. Log in or Register.]
Edit edit: DSM I'm gonna dig further into that post you made which included the code now I feel I have a rough estimation of what was posted there and it's potential relevance (or maybe not!) to p99.
While I watch some football and come up with a good answer to your initial question, I thought i'd point to another eqemu implementation of this same method: https://github.com/EQEmu/Server/blob...cpp#L999-L1020

This is probably what you were thinking of when you described it as a roll-off.
Reply With Quote
  #3  
Old 11-24-2024, 06:38 PM
bcbrown bcbrown is offline
Fire Giant


Join Date: Jul 2022
Location: Kedge Keep
Posts: 751
Default

Quote:
Originally Posted by Jimjam [You must be logged in to view images. Log in or Register.]
Thank you for reviewing my post, I appreciate that. It turns out the distribution which Torven claims to have created created was "For TAKP, I have replicated this curve by employing the Box-Muller Transform to generate a gaussian distribution". Do you have any further info on what defines that (yes I know I could google search it, but you deliver so eloquently, and you seem to enjoy explaining and posting textbook jumpscares)?
I know nothing other than what I read on Wikipedia and Torven's post, but I think I can explain. The Box–Muller transform is a way to build a normal distribution from a random number generator. You start with two random numbers between 0 and 1, and you end up with two samples from a normal distribution. This is stuff that is deep in the bowels of scientific computing - most normal people should use a library that implements it for you.

If you compare the code to the wiki page, you can see what Torven did. First, there's some futzing around to come up with some multiplier values, and then they're used to modify some value calculated for the mean. Then, the Box-Muller transform is used to draw a random sample from a normal distribution with the mean calculated earlier, and standard deviation of 8.8. So two thirds of the time it'll be within +/- 8.8 of whatever that mean value is. Then the tails are clipped so any values outside [-9.5, 9.5] are set to -9.5 or 9.5. Then you add 11 and round down, so now it'll be between 1 and 20.

It's doing essentially the same thing as the other implementation I posted, just using a slightly different distribution to pick which DI from 1 to 20 to use.
Last edited by bcbrown; 11-24-2024 at 06:40 PM..
Reply With Quote
  #4  
Old 11-24-2024, 06:05 PM
DeathsSilkyMist DeathsSilkyMist is offline
Planar Protector

DeathsSilkyMist's Avatar

Join Date: Jan 2014
Posts: 8,154
Default

I appreciate the conversation has become civil again. Thank you to Troxx, BcBrown, and Jimjam.

To Bcbrown. With respect, my hunch is you are a little too pre-occupied in the theory of statistics, to the detriment of applying statistics practically.

Using the normal distribution in this post:

https://www.project1999.com/forums/s...&postcount=440

I was close enough to the parse data to support my position. My explanation is much better than any other explanation that has been given thus far. This is especially true considering the resistant nature of posters to supply data. My explanation shows how you come to the conclusion of "trivial" mobs, and why "non-trivial" mobs start to parse differently. As a bonus, it is friendly to both the formula and the programming code when looking at Torven's work.

Any contrarian could always proclaim that my data was insufficient, and thus it isn't valuable. But you should understand that the probability of getting the same pattern of results across multiple 10 minute parses, and a single 3 minute parse, on different mobs, is improbable if you want to claim my data is just random. Especially when the data matches my formula quite well.
Last edited by DeathsSilkyMist; 11-24-2024 at 06:08 PM..
Reply With Quote
  #5  
Old 11-25-2024, 12:34 AM
Ripqozko Ripqozko is offline
Planar Protector


Join Date: Jul 2018
Posts: 2,070
Default

idk why yall dont just parse on like vindi and see what weapon options yall have. i get you done your 52 or whatever but for instance on ranger i promise no matter what 1h combo you use on a ranger i will beat it plain and simple with my cek sword. if you have the option to get a baton or kflame you have access to cek 2h as well. its not just a couple dps, its ~10-15dps difference. this isnt theorycraft, this is my years of parsing with it.
Reply With Quote
  #6  
Old 11-25-2024, 03:30 PM
Troxx Troxx is offline
Planar Protector

Troxx's Avatar

Join Date: Jun 2014
Location: The sands of DSM’s vagina
Posts: 4,285
Default

Quote:
Originally Posted by Ripqozko [You must be logged in to view images. Log in or Register.]
idk why yall dont just parse on like vindi and see what weapon options yall have.
^ This
__________________
Quote:
Originally Posted by DeathsSilkyMist View Post
There is no fail message for FD.
https://www.project1999.com/forums/s...43&postcount=2



.
Reply With Quote
  #7  
Old 11-25-2024, 05:01 PM
Jimjam Jimjam is online now
Planar Protector


Join Date: Jul 2013
Posts: 12,729
Default

[You must be logged in to view images. Log in or Register.]
I just want to say necro rogue pet has crazy hit distributions on these fm giants! (level 44 pet and -20 AC debuff)
Last edited by Jimjam; 11-25-2024 at 05:11 PM..
Reply With Quote
  #8  
Old 11-25-2024, 06:40 PM
bcbrown bcbrown is offline
Fire Giant


Join Date: Jul 2022
Location: Kedge Keep
Posts: 751
Default

Quote:
Originally Posted by Jimjam [You must be logged in to view images. Log in or Register.]
I just want to say necro rogue pet has crazy hit distributions on these fm giants! (level 44 pet and -20 AC debuff)
Fascinating stuff, Jimjam. Wiki has the giants at level 50, so I'm surprised to see such a huge spike at max hit.

I looked at the giant's hits against DSM, and I saw some weak indications of something similar; 20% at min hit and 13% at max hit.

The other interesting thing I noticed was that your histrogram shows Jibartik with exactly 20 unique hit values. The giants were similar: almost all the values fell into 20 distinct values, but 1% didn't fit that pattern.

Everything I've seen when looking at player damage points toward that pattern not occuring in player hits. DSM's unique hit values on the giants, for example, ranges from 35 in mainhand punches to 93 in IFS hits.

This suggests a conclusion that:
* mob damage and player damage have different calculations
* player damage has something to add some noise to "smear" hit values across more unique values
* this difference in calculation, either intentionally or unintentially, leads to a high percentage of player hits at some value that's right around the average for that weapon.

There's some code in the EquEmu implementation that looks like it might be adding that noise:
Code:
	int basebonus = hit.offense - damage_table.minusfactor;
	basebonus = std::max(10, basebonus / 2);
	int extrapercent = zone->random.Roll0(basebonus);
	int percent = std::min(100 + extrapercent, damage_table.max_extra);
	hit.damage_done = (hit.damage_done * percent) / 100;
I'm starting to seriously wonder if this is a bug in the p99 codebase - I can imagine it might be intentional to treat mob and player damage rolls differently, but I find it harder to believe that the spike around the average value is intentional. I also wonder if the spikes at max and min hit are intentional.

Jimjam, you said you recalled a thread where Rogean discussed the damage calculations. Would you mind doing a little digging? All I could find were some patch notes without a lot of detail.
Reply With Quote
  #9  
Old 11-25-2024, 05:19 PM
Duik Duik is offline
Planar Protector

Duik's Avatar

Join Date: Oct 2017
Location: Near the largest canyon in the world!
Posts: 2,937
Default

Vindi refuses to use me as a parse subject (yes, mobs parse us as well) so I cant offer my data.

Dingodong whimpers insignificantly. This target is trivial and provides zero usefulness as a parse subject.
Reply With Quote
  #10  
Old 11-25-2024, 07:03 PM
Jimjam Jimjam is online now
Planar Protector


Join Date: Jul 2013
Posts: 12,729
Default

https://www.project1999.com/forums/s...d.php?p=690963 Third post in has link to code, someone else repeats it lower down. I don't know whether this has since been tweaked. I'm sure it has been as now I look it is a 2012 post! [You must be logged in to view images. Log in or Register.]


Here is how I found it:


Advanced search

Keyword
Damage bonus

Find posts by user
Rogean

Show results as
Posts
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 01:03 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.