teeworlds icon indicating copy to clipboard operation
teeworlds copied to clipboard

openfng - (experimental) dynamic score

Open fstd opened this issue 13 years ago • 11 comments

maybe it would be neat to be a little bit more dynamic in how much score is provided for certain actions (freeze/melt/sacrifice), maybe in respect to the scores of the two players (killer and victim) involved. it might introduce a bit more complexity/teamplay when ppl can gain more score for killing good players and less for staying away from the good in order to only finish off the noobs. but since this would be quite a drastic change, it will most probably be optional and default to off

opinions?

fstd avatar May 22 '11 13:05 fstd

I think this would be a nice feature, but i guess most of the servers would have the feature set to off

andi103 avatar May 22 '11 14:05 andi103

could be difficult to make good system how it would work

starman-teeworlds-cz avatar May 24 '11 14:05 starman-teeworlds-cz

Well, what is to be found is a function which generates meaningful score gains for all possible killer_score/victim_score combinations.

More formally: Let S_min and S_max denote the minimum and maximum score a player can possibly have (for tw like -999 and 999, irrelevantly) Independent of the actual values for S_min and S_max, we normalize every score to the closed interval [-1, 1], a real subset of |R. (i.e. norm(score) := 2*(score - S_min)/(S_max - S_min) - 1) (note negative scores are possible) Similarly for the score gains, as normalized values are easiest to deal with, the output of the function which is to be found should target the [0, 1] interval. Rationale on this: The scoring function is supposed to be about score 'gain', that's why it should only return positive values. It does have to consider negative inputs, however, as it eventually might be *(-1)'ed, for example for misaligned sacrifices. So we are looking for a good scoring function f: S^2 --> G, (s_killer, s_victim) |--> [function term which is yet to be found] Where S denotes the set of possible score inputs [-1, 1] and G denotes the set of possible score gains [0, 1].

If someone can propose a nice function term, at best also link to a plotting of its graph

fstd avatar May 24 '11 23:05 fstd

Everything below "More formally:" is mystery for me :D I hope someone less dumb than me is going to solve this :D

starman-teeworlds-cz avatar May 25 '11 12:05 starman-teeworlds-cz

heh the formal part, well that's actually a lot blah blah saying what has already been said ;) i.e. that we need a function which takes killer and victim score (each between -1 and 1) as input, producing a good score gain as output (between 0 and 1)

fstd avatar May 25 '11 13:05 fstd

Uhm, well i had some thought on it and played a bit around with gnuplot which resulted in a function which i think could be somewhat usable. All values are normalized, as stated in the above post. Furthermore note that 3/4 of the plot deal with situations where one involved player has negative score, which doesn't happen too often. The most relevant part is the far right quadrant (note (0,0) is in the center), where x and y are both positive. here is the plot scorefunplot

any opinions/suggestions etc?

ps: as hopefully comes through, the output of this function depends primarily on how much score your victim has, and secondarily on how much the killer has

fstd avatar May 25 '11 20:05 fstd

Score will be counted in unwhole numbers? Looks like it's nearly impossible to gain 1 ... 1 is standard gain so i think it should be average.

starman-teeworlds-cz avatar May 26 '11 13:05 starman-teeworlds-cz

well, no, i have just used normalized values (i.e. between -1 to 1) because this makes it simpler to deal with (thats why the axis are labeled 'normalized'). what is important here is not really the actual values, but rather the shape of this function, the relation in which killer score, victim score and score gain are put. think of the limits -1 and 1 as the minimum and maximum score a player can possibly have (that is, -1 resembles -999 score and 1 resembles 999 score) furthermore, think of the output '1' as maximum score gain we want to give out, rather than actually giving ONE score for it.

said differently, the output of the function will be eventually linearly scaled up to produce values in a desirable range of meaningful scores (maybe between 1 and 15), but without affecting the functions 'nature' aka it's plot's shape.

and ofc the whole thing will necessarily be quantized to integers, but that shouldn't be a problem

fstd avatar May 26 '11 14:05 fstd

I think the idea should hold until the core gameplay that everyone agrees on is settled.

perogiue avatar Jun 11 '11 02:06 perogiue

that's not a real opinion towards the issue..

fstd avatar Jun 13 '11 10:06 fstd

four years later, looking at it again, it strikes me as pointless.

fstd avatar Sep 15 '15 14:09 fstd