I personally really like the log scale used with the rep penalties. I was thinking we could do something similar when it comes to calculating corruption based on planet count. something that flattens out in the 25-30% range. The intent would be to make it where negative reputation would be required to get the final 10-15% of corruption. This would give a little more motivation to maintain a positive rep which i would think is a good thing.

__________________ "...uncounted! He's a legend!!"

Well since my last formula worked out quite well it seems, perhaps I'll cook up another for Corruption.

So corruption should bring an effect, which is linear to reputation, but logarithmic to the number of planets you have.... that is what I get from the above.

I'll work up some numbers this weekend, and see what I come up with.

This post has been edited 2 time(s), it was last edited by The Phantom: 06.07.2007 05:59.

Example 3 Reputation = 25:
Planets = 0 to infinity; Corruption = 0%

2)This formula balances the positive reputation advantages with the negative side side effects.

The current formula makes the positive and negative reputations give a sort of linear +/- corruption distribution, which would seem good, but isn't fair, let me explain. If you have 0 reputation(-25 under 25) and have -12% Corruption, and another person has 50 reputation(+25 over 25) would have +12% Corruption, this looks even +/-12%, but isn't. You have to think of eveness in this way as an exponential curve not linear.

Think about it if you have -50% corruption then your production is at 1/2 strength, the opposite of that is having +100% corruption, not +50%, 2x the strength is the opposite of 1/2, similiarly, this is how my formula above works, I used an exponential curve on the reputation.

The exponential curve has great properties for reputation, one of them is as as reputation approaches -infinity, the result tends to 0. So I did -1 to the exponential curve so it would approach -1(-100%). Also with the -1 in there, a reputation of 25(because of the offset) gives a result of 0. I used 1.5 as the base instead of 2, because I found that it did a better job at distributing the reputations 0 to -50 in a more spread out and not too severe kind of way. Also as reputation approaches +infinity the result approaches +infinity, which is equivalent to -100% efficiency to your empire.

Now onto the planets part of the formula. I decided to use arcTan instead of log for a couple of reasons.

1)ArcTan has an upper limit as #planets approaches +infinity of Pi/2, and log doesn't
2)ArcTan is almost linear when close to 0, therefore it goes up a lot more evenly then log, which goes up quickly then kind of dies out(without any upper limit)

I used 0.025 as the multiplier in the ArcTan, so that the result wouldn't rise too quickly to give the desired effect.

Since I wanted this part of the formula to be a multiplier I divided it by its limit, so that 0 planets gives 0 and infinite planets gives 1.

Both parts together give this elequent formula. The best part is, that the only way to get -100% is to have -infinity reputation and infinite planets, otherwise you can get close but will never get there.

Also this formula has the nice property of giving each reputation its own upper limit to the number of planets, which get more and more severe as your reputation goes down or up.

I think you could even take out the -40% cap using this formula and be fine... yeah you could potentially get some shitty corruption values, but it would definitely influence you to try for positive reputation, and with the new reputation formula, it is not like one mistake will get you -100 reputation.

If you have -100 reputation(which is horrible with the current formula) and 200 planets, you'd have a corruption of -75.87% with this formula, with infinity planets it would be -86.8%. This giving huge incentive to not do this!!!

Also I brought down the all 0% corruption barrier from a now unlikely attainable +50 reputation down to +25 reputation, this also helped me keep the values between 0 and -50 reputation in a good range with a good distribution of values.

C++ code:
#include <math.h>
...
#define PI 3.14159266 //rounded the last number up so -101% isn't attainable
...
float getCorruption(int numPlanets, float reputation) {
return (atan(numPlanets*0.025)/(0.5*PI))*(pow(1.5,(Reputation - 25)/25) - 1);
}
...
players[playerId]->corruption = getCorruption(players[playerId]->numPlanets, players[playerId]->reputation);

Note: -0.5 is the result of the formula to represent -50%. (Which is the correct way to do percentages)

There is "unrealistic" effect: with reputation >25, the more planets you have the better "positive corruption". Green graphs - our current formula for 25 and 100 planets. Red - Phantom's.

Well, for me, "positive corruption" is ridiculous itself

And I like more plain variant:
Corruption = (arcTan(#planets*0.02)/(0.5*Pi))*(1.5^((Reputation - 50)/50) - 1)

Yeah I guess we can go with your variant. Either way, it seems like you agree with the arcTan and exponential parts of my equation. Either way the other parts can be fiddled with anyways.

For positive reps, if over +50 reputation you do get positive corruption, just with the new reputation formulas that would be insanely hard to accomplish so I brought it down to +25 reputation instead. So positive corruption could be attained more easily, not like you ever see too many people over +25 reputation anyways. I don't think I've ever seen +50 lately especially with the newer formula, except to maybe little players who successfully took a planet from bigger players with bad reputations three to four or more times.

The only complaint about your equation is if you compare it to what we have now, when you look at the more negative reputations, you are being much too nice(corruption wise) to low rep and high planet players, while my curves seem to intersect or stay close to the current curve for reputations +10 to -50 which are the most frequently used reputations for 100 planets. While yours seems closer for the 25 planets. but for the 100 planets, I think your values make it too lenient on the player.

I like mine better because it punishes bad reputations more severely than the current formula for bad reputations(-50 to -100) for 25 planets, and just as severely for 100 planets, yet about the same for or less punishment for staying around 0 reputation. There is more of a variance than what your values on my formula has or the current one. It would make reputation much more important when hitting someone. Also the idea of positive corruption is actually attainable, and not way out of the way.

Either way the arcTan and exponential curves combined give a much better corruption formula than what we have now, really no matter how you look at it, and I think the variant and multipliers should be up to what Erwin thinks is best for his game, although I think we can all mostly agree that the arcTan and exponential curves are the right way to go.

This post has been edited 11 time(s), it was last edited by The Phantom: 07.07.2007 21:30.

I agree with Rismagi so far as the whole idea of "positive corruption" is ridiculous. If we must allow corruption to go positive, we at least need a new name for it. Call it a Corruption Penalty or a Loyalty Bonus, perhaps? Or maybe a Management Bonus?

Alternately, you could modify the equation to have asymptotes at both 0 and -40, while using the reputation to modify the steepness of the slope between the two asymptotes. Interestingly enough, atan is the ideal function for that as well. While there is an elegance to having an exponential equation for the reputation term, I might suggest that that term also be modified to an atan term.

Yeah arcTan may be better if you want no possibility of getting a "positive bonus" out of good reputation or want an upper and lower bounds to everything. Although as I said, I was basing it off the current equation which does have a positive bonus for good reputation. So I think we should let Erwin decide, whether he wants the positive bonus in there, or he just wants it as you say corruption between 0 and -40, where I could easily just change the reputation part to an arcTan function which satisfies what we want done.

Although not having the possibility of getting a positive bonus for positive reputation for me, sounds a little unfair. You are right though, if this is the case corruption is probably not the best word for it, perhaps "political bonus" or something like that... I dunno. Since if your people are more motivated, they'll be more productive than usual. If they hate you, you'd have corruption.

I could make it arcTan for reputation if that is what is wanted, and intented, if so I'd say put the asymptotes at 0 and -50 or -60(remember this could only be attained for -infinity rep and infinite planets, you want -40% to be attainable)

This post has been edited 3 time(s), it was last edited by The Phantom: 08.07.2007 00:02.

The other possibility is to use reputation to modify the multiplier inside the arctan for number of planets. That is, as your reputation gets worse, the slope gets steeper.

Of course, the problem with that is that, while you may gain corruption faster when it kicks in, it doesn't kick in as soon. You might also have to apply a left shift, based on rep, to keep it kicking it at roughly the same point, as it gets steeper.

Or you could leave it at the same steepness, and ONLY apply a left shift.

Alternately, you could apply a simple multiplier to the whole equation. So while it may be 0 to -40 when you have 0 rep, the range gets smaller as your rep gets positive, or larger as your rep gets negative. This is actually my favorite option.

I was thinking of having one arcTan for the planets * by the arcTan for the reputation, then there is no problem, put a multiplier and offset on the reputations arcTan so you have your asymptotes at 0 and -50 or -60, and inflextion point around -25 or -30(at 0 reputation). Then the multiplier planet arcTan would modify values between the minimum and maximum(defined by reputation arcTan) for your current reputation dependant on current number of planets.

Originally posted by The Phantom
I think your values make it too lenient on the player.

No matter how strict your formula, it is capped at 40%. As a result:
1) Formula become linear for #planets>100;
2) No difference between -20 and -50 reputation (as you say, in the range of most frequently used reputation) for a player with 100 planets (super empire).

Actually, I think "empire-wide" corruption should be replaced with something more complex. At any case, your formula is better than current one.

Registration Date: 17.01.2006
Posts: 1,955
Location: Chicago

This whole reputation/corruption thing is taking away from the spirit of the game. I'm already getting too caught up into conforming to an equation just to score well. Whatever happened to simply outsmarting your enemies?

__________________ Your allies are lying to you... really!

Registration Date: 17.01.2006
Posts: 1,955
Location: Chicago

On second thought, I'll just disregard it all and do what needs to be done. Weak or strong player, I'm just gonna stop taking score or reputation into account and see what happens.

__________________ Your allies are lying to you... really!

Registration Date: 17.01.2006
Posts: 1,955
Location: Chicago

Although I have to say, the idea of positive corruption is intruiging. How's that work? A guy comes home at night, secretly takes the family jewels to the local pawn shop, haggles furiously for top dollar, then heads over to city hall and donates all the cash to the government? I guess that's about on par with some of the other ideas floating around.

__________________ Your allies are lying to you... really!

Why is everybody talking about positive corruption as if it doesn't already exist, as if it is a new idea. It already exists in the current way things are setup. Anybody with over +50 reputation will receive "positive corruption" the way things are already setup, so not like the whole idea was from my equation, I was just reducing the +50 barrier to +25, I don't have to, easy to change that, but not like anybody should be complaining about my formula because of "positive corruption" because that already exists.

By the way Rismagi, I was thinking of removing the cap, so there would be a difference between -20 and -50 for 100+ planets, yes the negative increments will be smaller and smaller each planet you get, but shouldn't it?

Think about it going from 100 to 101 planets only improves your empire by 1%, while going from 1 to 2 planets improves your empire by 100%. In which case the way I have it curved would work.

Though you are right, if the cap remains intact, there is no point beyond -20 to -50 with 100 planets, but there is already no point! I mean even in your graph my formula is more lenient at 100 planets than the current one, let alone yours.

For mine to work I'd say remove the -40% cap, and let the individual reputation caps work for themselves, if you want the overall cap to be less than -100%, you can just multiply the entire equation by the cap like * 0.7 would put the overall cap at 70%, or do the 2 arcTan part equation idea if you want an overall upper cap and lower cap.

Either way it is better than what we have now. Perhaps you are right that a few adjustments are in order, though I wish Erwin would respond, to get his input in this.

This post has been edited 1 time(s), it was last edited by The Phantom: 08.07.2007 20:44.

Registration Date: 26.12.2004
Posts: 8,573
Location: Vienna, Austria

I certainly like your formula, The Phantom, and want to thank you for all the work you put into this!

We want to achieve a certain effect by introducing corruption, and that is slowing down strong players ("curbing super empires"), to give smaller/weaker players a chance to keep up with them - same reason why we got science wastage in the game.

However I would like to use these tools as moderately as possible, trying to find a common ground between the players that are for it, and the ones that are against such measures. For me this means that there should be a ceiling to corruption, because once I lose more than half of my commodities to corruption, my focus (as a player) is on corruption only - and that would go too far.

Corruption should be a factor in the game, but not the dominating one. That's why we have the 40% cap, and I would like it to remain that way. That means, either leave the cap in the game, or change the formula in such a way, that it reaches its peak near 40% corruption.

Also in my opinion the "positive corruption" should be harder to achieve than in your current formula. I know "positive corruption" is mathematically possible, but by far not as easy to reach... Rismagi's variant seems to achieve that effect already pretty well.

Which would put an absolute cap at -60% corruption... though even at -100 reputation with 100 planets bring you at -45% corruption and it gets harder and harder to go beyond that.

The reason I've been putting these absolute caps higher than -40, is because if you put it at -40, you'll never get there. So this puts it close to -40 for the extreme possible values for the game.