<< Back to Warzone Classic Forum   Search

Posts 1 - 20 of 34   1  2  Next >>   
Suggestion for the round up system: 5/20/2012 18:43:30


Monkey
Level 27
Report

At the moment, the round up is done on chance. So a 1.4 has 40% chance to round up as 2. This is a factor you can't change in current set up, but is dominant in small army games. I'd think a better system would be to take 2 random numbers between 0 and 100 (including 0 and 100) and divide it by 2. If this number the same as the percentage or higher, you round up. Otherwise you round down. Same way as Fire Emblem solves this.

That way 50% chance would still be 50% chance, but a small chance of rounding up becomes smaller and a high chance of rounding up becomes bigger. That way you won't have problems in for example the seasonal ladder games, where you have a 5% failing a 5v3. That would become more like a 1% fail. This will also help army, when armies lost on an attack matter a lot (for example 0 base income games).

Suggestion for the round up system: 5/21/2012 11:42:16


Monkey
Level 27
Report

Ow, I mean of course the same number as the percentage or lower. Otherwise it would be reverse ^^.

Suggestion for the round up system: 5/21/2012 13:12:43

RvW 
Level 54
Report

If you don't like a 95% chance of success failing, use an additional army...

Remember, no matter how frustrating it is when this happens, it happens to your opponent as well; his counter-attacks would also benefit from your suggestion. In the grand scheme of things (entire turns vs. single orders) I really don't see how this would matter very much.

Suggestion for the round up system: 5/21/2012 13:52:15

The Duke of Ben 
Level 55
Report

RvW, the issue comes up a lot in competitive games, especially 1v1. If you watch a lot of replays, you can often tell who wins (for similarly skilled players) by who gets better luck on their 3v2 attacks.

The guy who finishes his bonus with three 3v2 attacks will win 90% of the time against the guy who failed to do the same. Other than luck, there was no difference in their play skill. Check out games between 2000+ rating players, and it's pretty easy to figure out which attacks are going to work, if you know who won the match. Very often I can tell if an attack is going to work without looking at the orders panel, just knowing if the player won or not.

Similarly, a lot of the upset victories in the ladder involve the lower rated player getting very lucky on expansion, while the high rated player does not. This is especially true when the higher rated players gets the worst luck possible (does not take the territory and has two losses) while the lower rated player gets the best luck (takes the territory with only one loss).

Over a long period of time, luck will even out, as you can see by looking at HHH's record. He's lost a large number of games to poor players (often due to luck), but he's won a huge number of games overall (especially when luck worked in his favor). Most people don't play enough important games in three months for luck to even out, meaning that bad luck in a couple of games can drastically change their rating.

Suggestion for the round up system: 5/21/2012 14:41:53


Kingu 
Level 55
Report

The idea is to make luck a less dominant factor in determining the outcome of games. Especially in cases which Monkey mentions, where you start with 0 base income and just a stack of armies, or the Season III template, the random rounding system plays a huge role.

In the former example, the luck in the rounding can make the difference between making that first or second bonus a turn later than your opponent, causing progressive damage to your income without you having any say in the matter (progressive in the sense that if you lose more stack to neutrals than your opponent due to the rounding factor and don't make a bonus you should have, your opponent has the extra income from this bonus to expand even faster than you *)).

As for the latter (Season III Ladder template), the neutrals are set to three. With a base income of 5, you won't actually have the choice open to you whether to perform an attack with 5 or 6. No, you have to swallow the 94% success rate, since you can only assume your opponent does the same thing and that extra army is vital elsewhere. This 94% is a gamebreaker in the sense that if you are unlucky enough to fail it while your opponent doesn't, chances are it'll cost you the game.

I do believe that this second example is not an issue here and should instead be solved by making the season III ladder have 0% luck instead of the more common 16%. Since with those settings 5 * 0.6 is exactly 3, which means a 100% success rate. This simple tweak would probably do much good for the template and were I a member I would suggest this instead.

The first example, however, does concern the rounding factor. While one may retaliate with "don't play such games if you don't like the settings", this is of course a poor solution; these games I've found to be often highly interesting and a challenge to devise the optimal expansion route and method. It's a shame that they're sometimes decided solely on the whim of the random number generator. Monkey's suggestion would moderate the influence of the RNG and at least give players the idea that they are more in control of a game, instead of praying that the numbers end up being in their favour.

However, it does not eliminate chance. 50/50 results are not affected by this change, so a true coinflip remains a true coinflip. It's up to the players to weigh the risks in that case and decide if a move is worth the coinflip. I'm still "in dubio" about the effect this would have on 3v2 attacks. As it stands, the much-practised turn 1 triple 3v2 move (most of the time to take a 3 bonus first turn) has a very close to 50% chance of succeeding (0.79^3 ~ 49% at 16% luck, iirc). With Monkey's suggestion, this becomes perhaps 70% (I'm guessing this one), and thus instead of a coinflip in which some players hope to get lucky and gain an early lead it could turn out to become even more luck-based as the increased chance means it'll be the only correct play in a competitive game with a 'sucker-failure' much like the 94% 5v3 attack, only worse.

*) More elaborately, the theoretical optimum expansion is quadratic in taking territories. Mathematically, if each territory were infinitesimally small, and there were no limits on your income, you could expand as a growing circle, which means the area (and thus territories, since a territory represents an infinitesimally small bit of area) increase by pi*r^2 (r of course being the radius), which is a quadratic relation. So, that means that in a symmetrical expansion game, if you miss out on a bonus in turn 1 which your opponent does make, you are not just that bonus worth of armies behind because of it, but also he is just this Δr ahead of you in terms of area. If we consider the theoretical case, that means he now has pi*(r+Δr)^2 area while you are stuck with pi*r^2. The extra Δr also becomes quadratically larger, leaving you further and further behind with every consecutive turn. Of course, this is taking the limit of territory area to 0, so it's not quite a quadratic relation. Still, it can not be taken linear, which is my point with progressive damage.

And yes, I suppose I over-analyse WarLight games. But then again, the entire game can be broken down to two things: math and the Prisoner's dilemma. I challenge you to find a more concise description of the game.

Suggestion for the round up system: 5/22/2012 11:45:29

RvW 
Level 54
Report

Okay, let's make this a little more concrete. What we are talking about is the chance of rounding up to the next integer, given a fractional value (the part behind the decimal point). Currently, it's a straight line, for illustration: plot on WolframAlpha.

What you want to do is change that to a curve. I propose that any "suitable" curve must have the following properties:

  • At f(0) = 0
    (If you kill exactly a whole number of armies, you can never "magically" kill another one.)
  • At f(1) = 1
    (If you kill exactly a whole number of armies, you can never "magically" kill one fewer.)
  • At f(1/2) = 1/2
    (A 50/50 stays a 50/50.)
  • The integral from x = 0 to x = 1 equals 0.5
    (Needed to keep the average kill rate over a large number of trials accurate.)
  • The graph is rotationally symmetrical around the point ( 0.5; 0.5 )
    (Not strictly necessary, but it's a great way to keep the integral at 0.5 without having to actually calculate the integral. :p Besides, doing it any other way would probably feel "wrong".)
  • The graph is strictly increasing (x < x' --> f(x) < f(x') ).
    If you'd really want to, you could say non-decreasing suffices (x < x' --> f(x) <= f(x') ).
    (A higher fraction gives a better (or: not worse) chance of killing an additional army.)
  • For 0 < x < 1/2, x < f(x) and for 1/2 < x < 1, f(x) < x.
    (This ensures you get what you want. Note that all other properties hold for the current f(x) = x.)

An "easy" solution would be to use a cubic. The "standard cubic" f(x) = x^3 behaves in exactly the way we want on the interval { -1 .. +1 }. A few linear translations remap both its input and output to { 0 .. +1 }: (((2x-1)^3)+1)/2 (or 4x^3 - 6x^2 + 3x to simplify a bit).

Of course, if you don't like curves, you could also do something ugly with a piecewise function (sorry, didn't manage to convince WA to plot the correct interval).

There is however one huge "but"... While I understand (and can duplicate) how to determine whether an attack is successful or not, I don't fully understand the calculation for failed attacks (more specifically, how luck and no-luck are combined to determine how many armies are lost). Depending on how that's done, the above may be very simple to implement, or very difficult (and that's assuming you can convince Fizzer he even wants to make this change).

Suggestion for the round up system: 5/22/2012 15:00:50


Kingu 
Level 55
Report

If it's just about drawing a random number and checking it against the 'threshold' value for rounding up (probably the easiest way of programming random rounding), then Monkey's idea is easy to implement. Simply draw TWO random numbers and compare the average of the two to this 'threshold' value. There won't be any need for fancy curves that way.

Suggestion for the round up system: 5/22/2012 16:55:52


Monkey
Level 27
Report

@RvW
First of all, your axioma of the integral isn't right. You want avarage to be 1/2. With current distribution, the distribution function is just 1. You take the integral from x times the distribution function, which is 1/2 like we wanted.

Of course you could just do such function, but you want the opposite with the function. Your method it would become more luck based, than it is already. The suggestion I made succeeds your axioma's and is very simple to program. It is just getting 2 random numbers between 0 and 100 and check if the avarage is lower than x.

My function would be the integral from 0 to 2x from the distribution function, which is z when z is between 0 and 1 and 2-z when z is between 1 and 2 (this is a triangle, see link. For example, when your x is 3/4. Then the integral would be 1/2 + 3 - 9/8 - 2 + 1 = 7/8. If x = 1/2, then it is just 1/2. When x = 1/4, then it would be 1/8, like we want it to be. Now in our example of a 2v3. You get 3x(3/5) is a 9/5 kill ratio. So what is the chance a round up to 2 succeeds. Here x = 4/5. Integral would become 1/2 + 16/5 - 32/25 - 2 + 1/2 = 23/25 = 0.92. So 92%, which just shows how big of a difference this gives.

If you get more random numbers involved you can see what happens with the distribution function here.

Btw, avarage on my function would be 1/2. The sum of the integral of z^2 from 0 to 1 and the integral of 2z - z^2 from 1 to 2. That is equal to 1, but this is the avarage for 2x, so divided by 1 makes it 1/2, like we wanted.

Suggestion for the round up system: 5/22/2012 16:59:35


Monkey
Level 27
Report

To add on the axiom (sorry for the mispelling in my original post) I corrected. The reason why this is equal to the integral of your chance function, is because the chance function is the ingral of the distribution function, which is just x here. That is the same as the integral you take for the avarage function.

Suggestion for the round up system: 5/22/2012 18:39:05

RvW 
Level 54
Report

I wasn't drawing a PDF or CDF or anything, my function returns the chance with which to round up for a given fraction. So the current f(x) = x simply means that if we have, let's say, the kill rate and luck modifier saying we kill x.25 armies (for some integer x), then we have 0.25 (25%) chance of killing x+1 armies and the remainder (75%) chance of killing x armies.

With current distribution, the distribution function is just 1. You take the integral from x times the distribution function, which is 1/2 like we wanted.

Well, if you take x times 1, it becomes x; I suspect we may be talking about the same thing, just representing it differently.


What you want to achieve is getting a (much) lower value when the fraction is small, then rapidly increase (through the 50/50 point) and be (much) higher when it gets big. So approximately an S-curve (logistic growth), except that it actually does reach 0 and 1 (instead of the S-curve which never quite does). And you're indeed right, I messed up the function; mine skews everything towards 50/50 instead of away from it. I should've used x^(1/3) instead of x^3, my bad. :s

I don't fully understand your "triangle" (statistics is hardly my strong suit), so I'm not completely sure, but you're formulas say you're using a quadratic and my gut instinct says that can't possibly work.

Suggestion for the round up system: 5/22/2012 21:19:46


Monkey
Level 27
Report

I plotted the function, think this will clear up a lot. Remember this is the exact same as what I mentioned. It is indeed a quadratic function. Left half is this and the right half is this. You can calculate it yourself if you'd like, with the information I gave you.

Suggestion for the round up system: 5/22/2012 21:24:25


Monkey
Level 27
Report

Btw, this is the S-curve you wanted. If you add more random numbers, you can make it more extreme.

Suggestion for the round up system: 5/23/2012 00:07:17


Huruey • apex 
Level 9
Report

I'd personally like to see a system in which taking territories and the associates losses were entirely deterministic. It would also have a very simply solution: just round to the nearest integer.

Maybe there could be a setting for this so you could chose the linear, parabolic or deterministic function?

Suggestion for the round up system: 5/23/2012 00:24:04


Monkey
Level 27
Report

Yeah, that is what I mean by this. You can chose how many random numbers you wanna use. Every increase, would mean it would be more extreme. If you would do a limit over these numbers, that would get you when it is 1/2 the chance is 50/50 and the rest is rounding up when above and down when below 1/2. Chosing that 1/2 would be rounding up, is of course an option.

Suggestion for the round up system: 5/23/2012 09:02:19

RvW 
Level 54
Report

For convenience, here it is in one plot. Now I also understand how you can get away with a quadratic (which' second derivative is never zero, necessary for the inflection point (is that the English word??) at ( 0.5; 0.5 ) ), you simply use two of them.

@apex:
There's a very good reason why it's not a simple round. See this wiki page for the full explanation.

@Monkey:
Do I understand correctly that using "1 random number" would simplify to the case we currently have? That would enormously increase the chances of this ever being implemented, since it would be easy to "turn off" for people who don't like it.

Suggestion for the round up system: 5/23/2012 10:22:38


Monkey
Level 27
Report

That is correct. That is just the chance that a random number is lower or equal than the original. Btw, I think you should pick a number excluding 0, cause otherwise the chance would be higher.

Suggestion for the round up system: 5/23/2012 10:26:45


Monkey
Level 27
Report

You really need to exclude 0 from the random numbers, otherwise you have a chance to round down, when chance is 0 xD. It is more for explaining and programming reason, that I chose to use random numbers like that. I studied uniform numbers between 0 and 1, which are below the current. In that case the chance is the same.

Suggestion for the round up system: 5/23/2012 10:57:15


Kingu 
Level 55
Report

What the Wiki states is blatantly wrong. One army IS very significant in a lot of cases, especially with low luck settings. Even stronger: at 16% luck the random rounding is the dominant factor with small army attacks, not the luck factor itself!

Plus, I don't see how this would become an exploitable. In competitive matches every army matters, and bad luck you can have with 4v2 attacks (guaranteed victories) having a 40% chance to incur 2 losses instead of 1, a string of bad luck here early on can be game deciding. Now THAT is what takes the fun out of the game, NOT the extra micromanagement, since careful micromanagement is what you really need anyway in these low-luck competitive games. Sure, without random rounding, 3v2 becomes the standard. But is that so wrong? If anything, it makes games faster and more dynamic.

Suggestion for the round up system: 5/23/2012 12:58:01

The Duke of Ben 
Level 55
Report

Perhaps we are making this more complex than it needs to be. My only problem with the current settings is that there is no way to adjust them. So, that 2 army spread (one for attacker, one for defender) always exists in a place where we can't do anything about it. What if, instead of changing the formula for how those odds are calculated, we add the ability to change the luck factor of the rounding instead?

With 0% luck on the rounding factor and 0% luck as normal, 3v2 would always work. Alternately, with a 50% luck on rounding, 3v2 could still fail (albeit less often), but something like 5v3 could not, even on 16% luck in the conventional sense. Luck calculations already exist in Warlight, so I would think that porting the code over to a new area shouldn't be too hard, compared to re-writing the code for rounding. This would also allow for the single player boards to remain unchanged.

Suggestion for the round up system: 5/23/2012 13:26:41


Huruey • apex 
Level 9
Report

@RvW:
First off, my (user)name is Huruey, not apex. Apex is the name of my team/clan/group.

Regarding the reasons the wiki gives for not having a deterministic setting, I am in agreement with Kingu. I think the wiki is mistaken in multiple ways.

First off, the 1 army from the luck is very significant. This 1 army can reduce the fun of the game. Furthermore, it is mistaken in saying that an attack of 4 would never be useful. Firstly, it would be useful in order to have your troops finish in positions which will be useful on the next turn. Furthermore, by deploying 4, you have a chance of doing greater damage and surviving to make a small in small defensive situations in which microattacks may be important. However, I am also in agreement with Kingu on his point that there is nothing wrong with 3v2s becoming a standard. Adding an extra deterministic micromanagement factor to the game would often be preferable to luck.

I think a key issue with the current solution as described in the wiki is that it seems to assume that only a single global rounding function must be used exclusively. I would absolutely agree that the deterministic setting would not work were it the sole rounding function used throughout the game. The luck setting has its place, for sure. However, is see no reason why players shouldn't be allowed to have the option to create a game with a deterministic rounding function.

Posts 1 - 20 of 34   1  2  Next >>