Jump to content
Eternal Lands Official Forums
Sign in to follow this  
Entropy

Missiles hit formula

Recommended Posts

I will use S as a "cumulative skill", it depends on actual player skill and his attributes,

normalized that S = 1 means average archery level.

Formula for S should be discussed later.

 

Bell functions:

Ermabwed's variant: B(x) = 1 - exp(-1/x^2). Behaves like 1/x^2 at infinity

My variant: B(x) = erf(1/x). Behaves like 1/x at infinity.

 

Ermabwed suggested to introduce another parameter for bows: average distance D (in my interpretation)

I'll use it this way: player with S = 1 will have probability 1/2 to hit at average distance.

 

Q > 1 - fixed constant (something like Q = 1.1)

Let r_0 be the root of erf(1/x) = 1/(2Q).

So basic probability (without consideration of target dexterity and lighting) is

P_0 = Q * erf(D * S / (r * r_0) )

bounded by 1 of course, where Q > 1 will make some radius with hit chance = 1.

 

Light and target dexterity I still think can be used as a factor modifier:

P = P_0 * (1 - erf(w / L) ).

This way we have probability = 0 in absolute darkness (L = 0).

 

P.S. Making pictures... please wait :)

I think discussion in game will be more active, and will help to clarify some points and ideas,

which are not obvious from formulas. Lets use channel 10001 for it :)

 

r - distance between bow and target. Bow average dist = 5.

P_0( r ) for S = 0.5, 0.75, 1.0, 1.25, 1.5

basic_hit.gif

 

P_0(S) for r = D/2, D, 2D, 4D

basic_dist.gif

 

P(w) for r = D, S = 1, L = 1, 0.75, 0.5, 0.25

dext_hit.gif

 

P(L) for r = D, S = 1, w = 0.1, 0.25, 0.5, 0.75, 1.0

light_hit.gif

Edited by Alia

Share this post


Link to post
Share on other sites

Bell functions:

Ermabwed's variant: B(x) = 1 - exp(-1/x^2). Behaves like 1/x^2 at infinity

My variant: B(x) = erf(1/x). Behaves like 1/x at infinity.

 

I think discussion in game will be more active, and will help to clarify some points and ideas,

which are not obvious from formulas. Lets use channel 10001 for it :)

Yes, that function was off, it should be exp(-x^2), exp(-1/x^2) is for cutting off (see above).

edit: and I changed my approach to use a maximum range instead of an optimal range :)

Edited by Ermabwed

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×