Re-Organizing DSB

General discussion

Moderators: Beer Hunter, Tembest, Entr0py

User avatar
Entr0py
Posts: 135
Joined: Sat Dec 17, 2011 7:54 pm

Re: Re-Organizing DSB

Post by Entr0py »

falconeer wrote:He just need to convert his bot to Python, or something, and make a module out of it. All we need is the practice bot. We can add everything else later.
"Just" converting it into a python module would take ~120-160 hours of work. Sorry, but I don't have the time. But the code is open for anyone to take and do it themselves, as it has been for the past 2 years. Or better yet, it would probably be easier to rewrite the bot from scratch for ASSS. That would still probably take ~120-160 hours of work. Again, I don't have the time, but anyone can go ahead and do that.
falconeer wrote:[12:08:46 PM] So no clue why Entropy said it's not possible. It's possible without ASSS according to snake.
I said that the current bot can't do that. I never said it's impossible. However, coding it would take several hours to do it properly.

User avatar
Entr0py
Posts: 135
Joined: Sat Dec 17, 2011 7:54 pm

Re: Re-Organizing DSB

Post by Entr0py »

It looks to me like our goal is to find a value for kill points that will make kill points roughly equal flag points, or some multiple thereof. If you think about it, changing the value of flag points will not help things, because there is always a fixed maximum number of possible flag points in any prac:

East: [ ( 600 seconds/half * 2 halves ) / ( 80 seconds/bell ) ] * ( 3 players ) * ( 10 points/player/flag/bell ) * ( 20 flags ) = 9000 points
North: (600*2/80)*(4)*(10)*(32) = 19200 points
South: (600*2/80)*(3)*(10)*(24) = 10800 points
West (2 players): (600*2/80)*(2)*(10)*(24) = 7200 points
West (3 players): (600*2/80)*(3)*(10)*(24) = 10800 points

The teams are essentially fighting for a portion of that maximum number of flag points. It doesn't matter if we set flag points equal to 1 point per flag per player per bell, 4 points per flag per player per bell, or 10, because what really matters is setting the correct value for kill points to get the ratio that we want.

So let's just keep flag points at 10 per flag per player per bell. Then we need to find the point value for kills such that Kill Points = Flag Points * p where p is some multiple/fraction of flag points. Let's assume that for each kill, the player gets points equal to K + B*f, where K is a fixed number of points per kill, B is the bonus points per flag, and f is the number of flags held. Let:

F = maximum number of flag points in prac
p = desired percentage of flag points
G = number of flags
N = number of players in prac
A = average kills per player
P = points per kill = K + Bf
K = Fixed points per kill
B = Bonus points per kill per flag held
f = Average flags held = G / 2

Then the answer is:

Kill Points
= F*p
= N*A*P
= N*A*(K + Bf)
= N*A*(K + B(G/2))
= N*A*K + N*A*B*G/2

If we don't want a flag bonus, this becomes:
F*p = N*A*K => K = (F*p) / (N*A)

Given the above flag points for each sector, this is:
East: K = (9000 * p)/(6 * A) = 1500 * p / A
North: K = (19200 * p)/(8 * A) = 2400 * p / A
South: K = (10800 * p)/(6 * A) = 1800 * p / A
West K = (2 players): (7200 * p)/(4 * A) = 1800 * p / A
West (3 players): K = (10800 * p)/(6 * A) = 1800 * p / A

Then, you figure out K based on assumptions about average kills per player and desired value of p.

Based on years and years of stats, the average number of kills per player (normalized to a 20 minute game, 1200 seconds - if we change the time for pracs, we will need to renormalize) is:
East: 21.13904138
North: 20.16467189
South: 18.44031889
West: 16.77799676

If we use the statistical average number of kills per player for each sector for our value for A, then we get:
East: K = 1500 * p / 21.14 = 70.96p
North: K = 2400 * p / 20.16 = 119.05p
South: K = 1800 * p / 18.44 = 97.61p
West K = (2 players): 1800 * p / 16.78 = 107.27p
West (3 players): K = 1800 * p / 16.78 = 107.27p

Here are some scenarios where we'd want different p values:
Suppose we want kill points to be twice as valuable as flag points. Then we get:
East: K = 70.96 * 2 = 141.92
North: K = 119.05 * 2 = 238.10
South: K = 97.61 * 2 = 195.22
West K = (2 players): 107.27 * 2 = 214.54
West (3 players): K = 107.27 * 2 = 214.54

If we want kill points equal to flag points, we should use:
East: K = 70.96 * 1 = 70.96
North: K = 119.05 * 1 = 119.05
South: K = 97.61 * 1 = 97.61
West K = (2 players): 107.27 * 1 = 107.27
West (3 players): K = 107.27 * 1 = 107.27

Feel free to figure out other values of p.

If we want a kill bonus, things get more complicated. First, you should fix the flag bonus points per flag, and then that will give you the value of K you'd want to get the desired p. Or vice versa. But I don't feel like doing that right now.

jim the chin
Posts: 315
Joined: Sat Dec 24, 2011 1:17 pm

Re: Re-Organizing DSB

Post by jim the chin »

Entr0py wrote:If we want kill points equal to flag points, we should use:
East: K = 70.96 * 1 = 70.96
North: K = 119.05 * 1 = 119.05
South: K = 97.61 * 1 = 97.61
West K = (2 players): 107.27 * 1 = 107.27
West (3 players): K = 107.27 * 1 = 107.27
Without looking at things in too much detail, this looks right to me. I got 120 for north when I did a similar calculation based on my own estimates of these values. I'm happy with these numbers being used, and if we have to use a single value for every sector, I'd suggest an average (~ 100).

I think we need to include the kill bonus which depends on flags held at the time of the kill. That seems to be popular with Falc, "hello" and myself, and Temb doesn't seem to mind. I don't know how that will affect the numbers though. I'd have to look at what you've written in more detail and try to understand. According to Temb, it's partly a flag based quantity, and partly a kill based quantity because it depends on both killing and flagging for those points to accumulate. So would it affect the equilibrium at all? This is something that none of us could seem to agree on.
Please delete this account. I want nothing to do with this place any more.

User avatar
Entr0py
Posts: 135
Joined: Sat Dec 17, 2011 7:54 pm

Re: Re-Organizing DSB

Post by Entr0py »

With kill bonus

F = maximum number of flag points in prac
p = desired percentage of flag points
G = number of flags
N = number of players in prac
A = average kills per player
P = points per kill = K + Bf
K = Fixed points per kill
B = Bonus points per kill per flag held
f = Average flags held = G / 2

Kill Points
= F*p
= N*A*P
= N*A*(K + Bf)
= N*A*(K + B(G/2))
= N*A*K + N*A*B*G/2

Then:
K = [ ( F * p ) - ( N * A * B * G / 2) ] / ( N * A )
K = [(F*p) / (N*A)] - [(B*G)/2]

This is just the same as above, but then reduced by BG/2:
East: K = [(9000 * p)/(6 * A)] - [(B*20)/2] = [1500 * p / A] - (B*10)
North: K = [(19200 * p)/(8 * A)] - [(B*32)/2] = [2400 * p / A] - (B*16)
South: K = [(10800 * p)/(6 * A)] - [(B*24)/2] = [1800 * p / A] - (B*12)
West K = (2 players): [(7200 * p)/(4 * A)] - [(B*24)/2] = [1800 * p / A] - (B*12)
West (3 players): K = [(10800 * p)/(6 * A)] - [(B*24)/2] = [1800 * p / A] - (B*12)

Let's fix B = 5, as it is now.

Again, using the following values for A:
East: 21.13904138
North: 20.16467189
South: 18.44031889
West: 16.77799676

This reduces to:
East: K = [1500 * p / 21.14] - 50 = 70.96p - 50
North: K = [2400 * p / 20.16] - 80 = 119.05p - 80
South: K = [1800 * p / 18.44] - 60 = 97.61p - 60
West K = (2 players): [1800 * p / 16.78] - 60 = 107.27p - 60
West (3 players): K = [1800 * p / 16.78] - 60 = 107.27p - 60

Again, if p = 2:
East: K = (70.96 * 2) - 50 = 91.92
North: K = (119.05 * 2) - 80 = 158.10
South: K = (97.61 * 2) - 60 = 135.22
West K = (2 players): (107.27 * 2) - 60 = 154.54
West (3 players): K = (107.27 * 2) - 60 = 154.54

And for p=1:
East: K = 70.96 - 50 = 20.96
North: K = 119.05 - 80 = 39.05
South: K = 97.61 - 60 = 37.61
West K = (2 players): 107.27 - 60 = 57.27
West (3 players): K = 107.27 - 60 = 57.27

Having a kill bonus has the effect of reducing the fixed kill value to maintain a given ratio of kill points to flag points. The greater the kill bonus, the lower the fixed points per kill. It's pretty complicated, and I'm not sure it really adds much to the game...

If instead we use B = 4:

East: K = 70.96p - 40
North: K = 119.05p - 64
South: K = 97.61p - 48
West K = (2 players): 107.27p - 48
West (3 players): K = 107.27p - 48

Again, if p = 2:
East: K = (70.96 * 2) - 40 = 101.92
North: K = (119.05 * 2) - 64 = 174.1
South: K = (97.61 * 2) - 48 = 147.22
West K = (2 players): (107.27 * 2) - 48 = 166.54
West (3 players): K = (107.27 * 2) - 48 = 166.54

And for p=1:
East: K = 70.96 - 40 = 30.96
North: K = 119.05 - 64 = 55.05
South: K = 97.61 - 48 = 49.61
West K = (2 players): 107.27 - 48 = 59.27
West (3 players): K = 107.27 - 48 = 59.27

jim the chin
Posts: 315
Joined: Sat Dec 24, 2011 1:17 pm

Re: Re-Organizing DSB

Post by jim the chin »

So you're using killbonus= 5*flagcount and estimating the average flagcount as half the total flags. That's fair enough. If we use it, we might go with something like B=3 though. It's clear that would take 30, 48, 36, 36, and 36 from the totals instead, so there's no need to work those out.

My issue is you're defining the kill bonus purely as a form of kill points when you work out how to get p=1 or p=2. I know the kill bonus is only added to your score when you make a kill, but it's flagging that makes the bonus bigger. For example, earlier in this thread I deconstructed the scores from an east prac where a team won kills 64-61, but they actually had a smaller kill bonus than the other team because they didn't hold as many flags when they got those 64 kills. So the kill bonus acted to cancel out the advantage of having more kills. No-one gets a kill bonus without killing, but no-one gets a kill bonus without flagging either; so is it right to lump it in with kills when flagging has such an important effect on how much its worth?

Personally, I would treat it as an independent quantity (half kills, half flags) that sits outside the calculation of p. I don't know if that's right. What do you think?
Please delete this account. I want nothing to do with this place any more.

User avatar
Entr0py
Posts: 135
Joined: Sat Dec 17, 2011 7:54 pm

Re: Re-Organizing DSB

Post by Entr0py »

Well, you are right about one thing - I am lumping bonus points in with kill points, and then forcing that sum to be a ratio of flag points. But it's totally equivalent to lumping bonus points in with flag points, and then forcing kill points to be a ratio of that sum. It's also equivalent to creating a whole new category of "bonus points," and then forcing kill points to be some ratio of flag points and also forcing bonus points to be some other (possibly equivalent) ratio of flag points (which, as I understand it, is what you proposed when you said to treat it as its own category). They are 3 different, but totally equivalent, ways of looking at the same thing. The equivalence is captured in the quantities p and B.

User avatar
falconeer
Posts: 205
Joined: Wed Oct 09, 2013 12:24 pm

Re: Re-Organizing DSB

Post by falconeer »

I'm just going by what tembest said. The final word is of course your own, and I was waiting for it.
Tembest wrote:Yea but that's what I'm afraid we cannot do. According to Ent, we cannot have different kill value in different sectors unless we have 4 arenas.
At any rate the bot isn't open for anyone to recode to ASSS, because I've been asking for the code for a few months now so I can attempt to recode it. But no one wants to give me the code. I agree though a new bot is probably a better idea. I also think you are exaggerating on the hours it would take to convert or recode a bot to an ASSS module. Maybe it would take 48 hours. 6 hours a day you would be done in a week. Not saying you should do that, or implying that you even have that amount of time. I just find it hard to believe it would take you 120 hours, especially considering Python is much easier, and you've been around the ball park more than once. You've already coded this bot so a lot of challenges you had to face the first time are gone. You know what to do. How many pages or lines of code is it?

User avatar
Entr0py
Posts: 135
Joined: Sat Dec 17, 2011 7:54 pm

Re: Re-Organizing DSB

Post by Entr0py »

falconeer wrote:Yeah, you got my reply, it's a dumb plan. As expected from staff in this zone. If you want sectors in pub, and no whole deathstar, you might as well use one of the practice maps, and upload it to pub. I forget which map it is, but a map exists with all 4 sectors separated from each other.

Its basically sector league in pub now if you go through with that.

Dumbest idea i've ever heard, especially when I already combined pub with all the sectors and fit the tiles from both into one map. Likewise you'll be running 1 practice at a time in pub, so i don't get how the rectangles would conflict. You specify which rectangle it will use, and it will only use that rectangle to count kills, regardless if there are 50 others overlapping it. If not we can subtract west from the map, since nobody practices west anyway. We can move west flags into pub, giving the deathstar +20 flags. While people can practice south, north, and east.

All that aside, only i can make the best map for your dumb plan. But the question is do i want to support stupidity?
There are a lot of things behind the scenes that bump up the effort required. Also, python isn't necessarily easier than C++.

Tembest
Posts: 692
Joined: Sun Dec 18, 2011 10:12 am

Re: Re-Organizing DSB

Post by Tembest »

jim the chin wrote:Despite my efforts to alter my position, you don't seem to budge an inch. So, what confuses me is if your silent majority thought somewhere between 2 and 3 was ok, why are you always talking about 2 and 2.5 as the limits? Why is 3 off the cards for you personally? It seems my suggestion is just as valid as yours
I remembered wrongly. My brains fucked it up somehow, simple as that. I had originally proposed anything between 2 and 3 and stick to my original suggestion.
2.5 has gotten most support, hence if I had to pick one value, it would be that.

Tembest
Posts: 692
Joined: Sun Dec 18, 2011 10:12 am

Re: Re-Organizing DSB

Post by Tembest »

jim the chin wrote:
hello wrote:
I'm not sure if "balance of strategies" is even a real thing.
Talk to Tembest about that one. He used the phrase first. I was replying to his use of it. Hopefully the above paragraph sheds some light on my understanding of what he meant.
Btw, a good post 'hello'.

There's so much text now it's unbelievable. I don't have time to read it all through, so I'll just reply to something that caught my eye.

The only reason it is important is because we do not want suiciding for specials after ding to be encouraged. When the kill/bf ratio drops below 2, suiciding for specials
becomes smart. That's the one and only reason.

Post Reply