Cosmic Supremacy Forum » Suggestions » Corruption » Hello Guest [Login|Register]
Last Post | First Unread Post Print Page | Recommend to a Friend | Add Thread to Favorites
Pages (2): [1] 2 next » Post New Thread Post Reply
Go to the bottom of this page Corruption
Author
Post « Previous Thread | Next Thread »
uncountednose Player-Rank: 3 uncountednose is a male
Master Beta-Tester Extraordinaire


images/avatars/avatar-892.gif

Registration Date: 01.02.2007
Posts: 1,991
Location: Bryan, Texas

Corruption Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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!!"

-Erwin [CS]
02.07.2007 15:57 uncountednose is offline Send an Email to uncountednose Search for Posts by uncountednose Add uncountednose to your Buddy List
Deleted Player Player-Rank: 1
Invades without Troop Ships


Registration Date: 17.04.2007
Posts: 257
Location: Somewhere Out There

RE: Corruption Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

Very interesting.
02.07.2007 16:05 Deleted Player is offline Search for Posts by Deleted Player Add Deleted Player to your Buddy List
Pevarnj Player-Rank: 2
Scouts his own Systems


Registration Date: 03.03.2007
Posts: 59

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

Motivation for positive rep=great

__________________
Join Spaceciv IRC!
Click here to join

This post has been edited 1 time(s), it was last edited by Pevarnj: 02.07.2007 16:09.

02.07.2007 16:09 Pevarnj is offline Send an Email to Pevarnj Search for Posts by Pevarnj Add Pevarnj to your Buddy List
Deleted Player Player-Rank: 1
Invades without Troop Ships


Registration Date: 17.04.2007
Posts: 257
Location: Somewhere Out There

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

quote:
Originally posted by Pevarnj
Motivation for positive rep=great


You got that right.
02.07.2007 16:35 Deleted Player is offline Search for Posts by Deleted Player Add Deleted Player to your Buddy List
gingerbill Player-Rank: 3
Builds Destroyers without Bathroom


Registration Date: 01.03.2007
Posts: 196

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

i don't think positive rep need anymore bonus's over negative rep.
02.07.2007 20:26 gingerbill is offline Send an Email to gingerbill Search for Posts by gingerbill Add gingerbill to your Buddy List
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.

06.07.2007 05:58 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

Ok, over the past few days I think I've worked up a formula that would work great for Corruption. It is the following:

Corruption = (arcTan(#planets*0.025)/(0.5*Pi))*(1.5^((Reputation - 25)/25) - 1)

This formula is perfect for several reasons.

1) It gives similar results to what we have now, but with a concrete limit based on your current reputation:

Example 1 Reputation = 0:
Planets = 25; Corruption = -11.84%
Planets = 50; Corruption = -19.01%
Planets = 100; Corruption = -25.25%
Planets = infinity; Corruption = -33.33%

Example 2 Reputation = -50:
Planets = 25; Corruption = -24.97%
Planets = 50; Corruption = -40%
Planets = 100; Corruption = -53.25%
Planets = infinity; Corruption = -70.3%

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)
07.07.2007 08:10 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
Rismagi Player-Rank: 3 Rismagi is a male
Hurries Production on Hotdog Stands


images/avatars/avatar-326.jpg

Registration Date: 08.11.2006
Posts: 653

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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 Big Grin

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

07.07.2007 11:13 Rismagi is offline Send an Email to Rismagi Search for Posts by Rismagi Add Rismagi to your Buddy List
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.

07.07.2007 20:40 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
HeruFeanor Player-Rank: 1
Hurries Production on Hotdog Stands


Registration Date: 05.01.2006
Posts: 658

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.
07.07.2007 23:12 HeruFeanor is offline Send an Email to HeruFeanor Search for Posts by HeruFeanor Add HeruFeanor to your Buddy List
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.

07.07.2007 23:47 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
HeruFeanor Player-Rank: 1
Hurries Production on Hotdog Stands


Registration Date: 05.01.2006
Posts: 658

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.
08.07.2007 00:03 HeruFeanor is offline Send an Email to HeruFeanor Search for Posts by HeruFeanor Add HeruFeanor to your Buddy List
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.
08.07.2007 00:10 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
Rismagi Player-Rank: 3 Rismagi is a male
Hurries Production on Hotdog Stands


images/avatars/avatar-326.jpg

Registration Date: 08.11.2006
Posts: 653

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

quote:
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.
08.07.2007 09:56 Rismagi is offline Send an Email to Rismagi Search for Posts by Rismagi Add Rismagi to your Buddy List
Skinnyloser Player-Rank: 3 Skinnyloser is a male
Uses citizens as Ablative Armor


images/avatars/avatar-125.jpg

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

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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!
08.07.2007 20:04 Skinnyloser is offline Send an Email to Skinnyloser Homepage of Skinnyloser Search for Posts by Skinnyloser Add Skinnyloser to your Buddy List View the MSN Profile for Skinnyloser
Skinnyloser Player-Rank: 3 Skinnyloser is a male
Uses citizens as Ablative Armor


images/avatars/avatar-125.jpg

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

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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!
08.07.2007 20:06 Skinnyloser is offline Send an Email to Skinnyloser Homepage of Skinnyloser Search for Posts by Skinnyloser Add Skinnyloser to your Buddy List View the MSN Profile for Skinnyloser
Skinnyloser Player-Rank: 3 Skinnyloser is a male
Uses citizens as Ablative Armor


images/avatars/avatar-125.jpg

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

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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!
08.07.2007 20:09 Skinnyloser is offline Send an Email to Skinnyloser Homepage of Skinnyloser Search for Posts by Skinnyloser Add Skinnyloser to your Buddy List View the MSN Profile for Skinnyloser
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.

08.07.2007 20:41 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
Erwin [CS] Player-Rank: 2 Erwin [CS] is a male
Admiral Moo


images/avatars/avatar-124.gif

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

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

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.

Now your turn again Wink
08.07.2007 21:59 Erwin [CS] is offline Search for Posts by Erwin [CS] Add Erwin [CS] to your Buddy List
The Phantom Player-Rank: 4 The Phantom is a male
Rules with an Iron Pinky


Registration Date: 04.10.2006
Posts: 1,109
Location: Canada

Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

Well I guess Rismagi's number with the cap would work.

Or something like the following:

(arcTan(#planets*0.05)/(0.5*Pi))*(1.5^((Reputation - 50)/25) - 1) * 0.6

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.
11.07.2007 19:56 The Phantom is offline Send an Email to The Phantom Search for Posts by The Phantom Add The Phantom to your Buddy List View the MSN Profile for The Phantom
Pages (2): [1] 2 next » Tree Structure | Board Structure
Jump to:
Post New Thread Post Reply
Cosmic Supremacy Forum » Suggestions » Corruption

Forum Software: Burning Board 2.3.6, Developed by WoltLab GmbH