Gaming Zone > Unreal Tournament 2004

A Bit of Better Balancing

<< < (8/26) > >>

Gil-galad:
Reading back, I see i give a lot of though about damage delt, but it's not taking into the value for the enemies of the action I described earlier. They are valuable game for their enemy at the situations I described, but we have to reward the risk factor.  It goes like this :

The circumstantial value of where the player is set at at a given instant, and in relation to other points some of them maybe moving - the value given by those factors, when when summed, define the value of the damage the enemy deals on you. We have to consider the risk takers too, and give them something. For a flag run, how close you get to their flag post before dying should be valued too, because it's opening the way to the flag. In fact, going to the enemy flag on its post is in many maps more than 2/3 of the distance flag post to flag post. Since a flag run flag post to flag post is worth 0.5 of a cap (max), the journey to the flag is worth like a portion of it. It should be valued like this. If the flags are their flag post, the worth of a successful run should be considered like this :

(distance of the path from the spawn point to the enemy flag post) + (distance of the path flag post to flag post)  = value of the run = 0.5 of cap.

You can there find a value for caps against distance value, like how much is of a cap is one distance unit worth in the given map. This value will change for each map because maps vary. Used for flag carriers and flag retrievers matters. But also for flag takers that die before metamorphosing into the flag carrier butterfly (often a short lived condition, as we know). If one player dies by the enemy's flag even without touching it, his tentative has value, as it forced the enemy to react to him, and, with the teammates doing the same, hopefully overwhelm them. So lets reward this as a portion of the necessary travel distance to cap a flag. since we can argue that these tentative are portion of a cap that never get full, but still they're there, and those players tend to cap. Anyway, it's a way to give a balanced value for the risk of going into the enemy zone (pole of inaccessibility as seen last post.). 

Now, let's consider the situation of when the player picks it up or return it from  somewhere else, because it's dropped there. The flag hasn't all the way to travel to his flag post, it's also closer to the player's spawn points, hence costing less reaching it as well as then taking it to the flag post.

You could then use the value determined above a multiplier to compute the value in cap of a distance (not any sort of distance, just the carried or returned distances. Edit actually there's one more distance, that is the distance you are when you die, from your spawn and from the enemy 's flag post).

((Distance the dropped flag is from your flag post) + (distance the dropped flag is from your spawn)) x (the multiplier) = (value that assess how valuable is a flag run or a flag return when a flag is dropped, anywhere in the map).

Note that we decided to use a ratio for the flag travel, 0 for nothing of the way, 1 for the full way. The flag will be dropped at a proportion of 1,  and we ought to do the same for  the spawn to enemy flag post distance. Just multiply the corresponding ratio with each term in the above calculus, and you have the value.

Of course, I'm here training the idea, going for simpler cases first.

But we know that the player can still drop the flag. I'd look at the value of where he picked it, the one of where he dropped it using the calculus above, and substract the first by the last to have the value of a partial run.

One the things we can manage better, then, is when the player actually get the flag further away than it was before. In this case the right way to input in in the player stats would be a negative value, distance and the such going down in his stats, according to how much further did the flag go.

NOTE. I wrote distance as distance of the path. I wrote "spawn" as a place, but i should have used, if all agree to the idea, the pole of inaccessibility of the polygon designed by the team spawn points and the team flag post. If there's only one spawn point, then the point to be used is the middle of the segment of an imaginary line that would connect spawn point to flag post. by the shortest path (a straight line). See previous post for the pole of inaccessibility if you're not understanding what it is. I wasn't explicit for sentence simplicity's sake.

The_Cowboy:
Howdy!

At this point in time, Equalizer is 60% complete. We have a strong PHP backend with the ability to memorize Googolplex worth of players state (kidding, depends on the limit of the PHP webserver). A smooth UnrealScript-PHP communication channel has been established and CTF gameplay gauging measures discussed in this thread are now functional.

Now comes the hard part: designing a metric on basis of which players shall be categorized in teams. So far, I have been thinking of two actions
1. Attack: Score, FlagGrabs, Frags and Captures
2. Defense: Covers, Seals and FlagKills
(in units of "Per Hour") to compute the individual player ratings. Next, I don't know how to utilize the ratings to decide teams. I am all ears. 8)

P.S You may want to read https://miasma.rocks/index.php?topic=1703.0
P.P.S https://github.com/ravimohan1991/Equalizer

The_Cowboy:
https://www.youtube.com/watch?v=WXQzdXPTb2A

Just leaving this link here. Because we men are good with abstractions, this should help in coming up with good metric.

Flenser:
I'm glad I didn't get too far in reading up on PHP. :)

It seems like the scoring criteria might be over-complicated, at least to start with. Maybe just record each player's ending score at the end of a game, and use the sum or average of that, to pick balanced teams?

The_Cowboy:
Yup, that can be done! How do you suggest teams should be categorised? I need the algorithm!

One algorithm could be
 
1. Query backend for the PPH of all the players present on the server.
2. Sort and arrange the player array in some order (descending let assume).
3. Highest PPH player gets into some random team (say Red). Then next highest player to the Blue.
4. Now the next next highest player can be either in Red or Blue depending on the difference of total PPH of Red and Blue. If the difference is below some threshold, then randomly the player is categorised else in Blue.
5. The new players are categorised randomly (?)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version