[Request]Karma-ish luck system

General feedback and discussion of the game.

Moderator: Forum Moderators

User avatar
Zachron
Posts: 416
Joined: July 24th, 2007, 5:12 pm
Location: North Central Texas
Contact:

[Request]Karma-ish luck system

Post by Zachron »

Okay... The only examples of "karma" systems in terms of luck, has been in looting engines of platformers. They don't really remove luck, so much as create an element of luck that is consistently spiteful...

That being said. Zarel is right about one thing. We would not really mitigate luck with a karma system so much as make it's affects far more cumulative...

But an idea did pop into my head while I was in the shower. There need not be good karma or bad karma, that improves your hit chance whenever you miss, and reduces it whenever you hit. (All that really does is change the damage distribution from a guassian pattern to a guassian pattern around a sine curve) Plus an easy exploit of this system would be to have a Knight use his sword attack on a well defended enemy, then use his Charge attack once the player has "card counted" to the karma limit. So a different idea comes to mind.

*No hit probability addjustments from Karma. Karma will simply result in an automatic hit upon its limit.
*No "Good Karma" or "Bad Karma" Instead have "Hit Karma" and "Dodge Karma."
*"Hit Karma" and "Dodge Karma." will score automatic hits or dodges once the limits are met.

Ruleset for "Hit Karma:"
*Only the attackers accumulate "Hit Karma."
*"Hit Karma" is accumulated when the attacker misses.
*If the attacker hits(only while attacking), "Hit Karma" is reduced back to zero. (this will be calculated per strike so Karma will not necessarily be zero at the end of the attack)
*If the attacker changes weapons(uses an attack other than the most recent) karma is set to zero right before the start of the attack.(Prevents sword/charging lance exploits)
*The "Karma Limit" for "Hit Karma" is 3 by default, but becomes the number of strikes of the weapon used if said strikes are greater than 3. (if "Hit Karma" is 0 it will always be possible to miss every strike) "Karma Limit" gets reset whenever Karma is reset.
*"Hit Karma" is only accumulated if the hit probability of the strike is 40% or higher. If the chance to hit is 30% or lower "Hit Karma" is set to 0 before the start of the attack.
*When "Karma Limit" is reached and the unit automatically hits, both "Hit Karma," and "Dodge Karma" are reset to 0.

Ruleset for "Dodge Karma:"
*Defenders accumulate "Dodge Karma" whenever they are hit.
*Only Defenders accumulate "Dodge Karma"
*"Dodge Karma" resets to 0 whenever the defender dodges while defending.
*"Karma Limit" for "Dodge Karma" is 3.
*The defender only accumulates or uses "Dodge Karma" if the units defense rating for the hex it is on is 50% or higher.
*Any unit that ends its turn on a hex with a 20% or lower defense rating loses all "Dodge Karma"

*If "Hit Karma" and "Dodge Karma" unleash on the same attack, the Attacker's "Hit Karma" superceeds the defenders "Dodge Karma," and the "Dodge Karma" is unleashed on the next strike.

Looking at this, it is rather unkiss... Seems like something cool for a game other than Wesnoth... but it would be more likely to combat localized bad luck...(To the extent which it actually occurs, not to the extent which n00bs think the game is plotting against them) The concept is conceived not so much to prevent strings of consecutive misses, but to prevent long strings of consecutive misses in situations where the hit probs are good, as well as long strings of consecutive hits in situations where the hit probs are bad. By separating these luck factors and mitigating them solely based on situations of bad luck in favorable circumstances, it should hopefully function to realign the game without throwing it off so much...
Project Battlescar: An rpg engine of my own design.
http://battlescar.wikispaces.com/
User avatar
Zarel
Posts: 700
Joined: July 15th, 2009, 8:24 am
Location: Minnesota, USA
Contact:

Re: [Request]Reduce RNG influence

Post by Zarel »

Zachron, your system is still a karma system, and it still has your named effect of making the effects of luck more cumulative. The usual KISS problems apply, though they are alleviated a bit.

The only way a karma system could work is if it were reset after every attack. So it'd basically just be a really complicated hit/miss probability function, instead of having lasting effects caused by luck cumulation. At that point - why? You might as well just get rid of luck entirely, if your karma system is just going to enforce it like that.

A working luck system must not extend beyond a single attack.

Within a single attack, I think that the only way to do it right is to enforce minimum damage. Either by guaranteeing at least one hit, or my personal favorite, making a miss do graze damage.
Proud creator of the :whistle: smiley | I prefer the CC-0 license.
User avatar
Zachron
Posts: 416
Joined: July 24th, 2007, 5:12 pm
Location: North Central Texas
Contact:

Re: [Request]Reduce RNG influence

Post by Zachron »

Zarel wrote:Zachron, your system is still a karma system, and it still has your named effect of making the effects of luck more cumulative. The usual KISS problems apply, though they are alleviated a bit.

The only way a karma system could work is if it were reset after every attack. So it'd basically just be a really complicated hit/miss probability function, instead of having lasting effects caused by luck accumulation. At that point - why? You might as well just get rid of luck entirely, if your karma system is just going to enforce it like that.
I think you might have misread what I had said. I fail to see how my proposed system serves to "enforce." In order for the mechanic to even execute a number of consecutive strikes must hit the defender or be missed by the attacker. Whenever a defender dodges or an attacker hits, the "Karma" is reduced back to 0.

True it's accumulated luck, but said accumulated luck has no effect unless it reaches its maximum. Furthermore, it only accumulates when disfavorable outcomes occur under favorable circumstances, and the luck only benefits the unit under said favorable circumstances...

Take the proposed "Dodge Karma" mechanic. The unit must remain in defensible terrain in order to accumulate it, with 50% being the minimum terrain defense for the accumulation to occur. So assuming the unit is being hit by standard attacks and the maximum "Dodge Karma" is 3, the odds of being hit 3 times in a row is 1 in 2 to the 3rd power or 1/8. When the fourth strike comes, the odds that that strike would not have been dodged anyway is 50%. That being said the ultimate probability of the mechanic having had any real effect is 1 in 2 to the 4th power or 1/16(6.25%). In the case of Magical attacks and Marksman attacks the odds of the mechanic being effectual go up considerably, but it's not an unjust situation since it's the case of one luck mitigating mechanic affecting another. The odds of being hit 3 times consecutively with magic attacks would be 7 in 10 to the 3rd power or 343/1000(which is exactly 34.3%), with an odds of the mechanic actually having been effectual being 7 in 10 to the 4th power or 24.01%. If we adjust the maximum to 4 instead of 3, the odds of the mechanic having any effect go down by another power dependency. If we decide to only have Karma accumulate if the actual dodge probability is 50% or higher, the maximum chance of the mechanic having any real effect becomes 6.25%(admittedly per attempt at accumulation). Or 50% per execution of the mechanic.

Now let's examine Hit Karma at 40% Hit probability. Let's assume the weapon has 3 strikes or less. With the chance of missing being 60% the odds of missing 3 times consecutively are 3 in 5 to the 3rd power or 27/125(approximately 21.6%), with the odds of the mechanic actually having been effectual being 3 in 5 to the 4th power or 81/625(approximately 12.96% per accumulation, or 60% per execution of the mechanic)

In short, the proposed mechanic removes very little luck, and only removes exceptionally bad luck(albeit one units' bad luck is another unit's good luck). It certainly would not "enforce" a lack of luck any more than minimum damage would.

Additionally, the frequency of this mechanic being executed, could be used to test for RNG failures. (bet you could guess the odds of finding any of those...)
A working luck system must not extend beyond a single attack.

Within a single attack, I think that the only way to do it right is to enforce minimum damage. Either by guaranteeing at least one hit, or my personal favorite, making a miss do graze damage.
Enforcing a damage could potentially have a much larger luck offset than the aforementioned system. This does not mean that I would definitely not find a system like this more agreeable... It just means it would take some convincing.

If we took that angle, the way I would try it goes like this:

Apply the mechanic only to attacks with more than one strike... Apply a different mechanic to attacks with just one Strike(Perhaps apply a luck accumulation such as "hit Karma" to attacks with just one strike, but provide a very "shallow reservoir" so to speak)

*If every strike in an attack misses, a bonus strike automatically hits. The damage of the strike is mitigated by the hit probability. (Say if the hit probability was 60%, the strike lands 60% of the damage it would have landed if it were a true hit.)
*Attacks with one strike are quite often either way to powerful to remain balanced this way, or way too weak to be worth the trouble. In that regard a luck accumulator of sorts could be used. If the attack with only one strike misses, a switch is toggled. If the unit subsequently misses on an attack with just one strike, a bonus strike is granted. Any hit(including a bonus strike), from any attack toggles the switch back, so there is not "holding" the bonus strike in reserve by attacking with multi-strike attacks.
*Alternatively, the damage on bonus strikes for attacks with just one strike is cut in half(in addition to the hit prob mitigation, so if the hit prob was 60% the minimum damage would be 30%). The same could be done with charge attacks.(effectively canceling out the charge ability on bonus strikes).

Unlike the "Hit/Dodge Karma" mechanics I suggested, the maximum luck offset is difficult to calculate. The fewer strikes the weapon has, the greater the luck offset is. It is definitely more dynamic though. Say "x" is the chance to hit. Then the chance to miss is 100-x in 100 or 100%-x%. If the strike misses, since the attack has only one strike, half the hit probability serves as the damage multiplier, so the bonus strike's damage is multiplied by x/2/100 or x/200, making the statistical offset equal to x%/2, so the efficacy of the mechanic is (100%-x%)*(x%/2). If the attack has "n" strikes the chance to miss each time becomes (100-x/100)^n, the statistical offset would be x%, and the efficacy of the mechanic would be (100%-x%)^n*(x%). You could probably see, that like the previous proposal, I am defining efficacy as the odds of the mechanic executing multiplied by the statistical deviation at the moment of execution. Based on a primitive understanding of optimization, I could then wager that the greatest efficacy of the mechanic would come at 50% hit probability with a single strike. 50%*25%, which reduces to (1/2)*(1/4) which equals 1/8.(exactly 12.5%) While playing with my calculator to figure this out. I determined that, so long as I use the special function for one strike, 1 strike and 2 strikes have the same efficacy, efficacy always gets lower for a given tested hit probability when the strikes are increased. 50% is not the optimum for all numbers of strikes, but every value of n is a whole order of magnitude of lower efficacy, so it's pretty safe to say that 12.5% is the maximum efficacy of the mechanic as set up.
Project Battlescar: An rpg engine of my own design.
http://battlescar.wikispaces.com/
User avatar
Zarel
Posts: 700
Joined: July 15th, 2009, 8:24 am
Location: Minnesota, USA
Contact:

Re: [Request]Reduce RNG influence

Post by Zarel »

Zachron wrote:True it's accumulated luck, but said accumulated luck has no effect unless it reaches its maximum. Furthermore, it only accumulates when disfavorable outcomes occur under favorable circumstances, and the luck only benefits the unit under said favorable circumstances...
And how does it determine when it reaches its maximum? That's right, it's random! You still have the "luck affecting luck" problem, and also the "card counting" problem.
Zachron wrote:In short, the proposed mechanic removes very little luck, and only removes exceptionally bad luck(albeit one units' bad luck is another unit's good luck). It certainly would not "enforce" a lack of luck any more than minimum damage would.
In other words, it doesn't change the game very much and doesn't solve the luck problem like minimum damage does.

I understand that you have no problem with the current luck system (and to be honest, neither do I), but that's no reason to propose a change that does nothing but make it difficult to determine the probability any given attack will hit.
Zachron wrote:Enforcing a damage could potentially have a much larger luck offset than the aforementioned system.
That's the point. :P
Zachron wrote:If we took that angle, the way I would try it goes like this:

Apply the mechanic only to attacks with more than one strike... Apply a different mechanic to attacks with just one Strike(Perhaps apply a luck accumulation such as "hit Karma" to attacks with just one strike, but provide a very "shallow reservoir" so to speak)
There's the KISS problem there.

The way I have minimum damage proposed (1 or 2 damage when it misses, full damage when it hits), single-strike doesn't need any special cases. It does barely any damage when it misses, and full damage when it hits.
Proud creator of the :whistle: smiley | I prefer the CC-0 license.
User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: [Request]Karma-ish luck system

Post by Gambit »

Split from here.
This idea has matured nicely and is worthy of it's own thread.

Zarel I don't know if you knew this or not, but Yogi implemented a system that allows people to switch between different styles of RNGs. Also the fork is to be for the players; what players will enjoy. So Zachrons system would be optional, and people might enjoy it even if you don't think it's the "right" way to go about things.

Someone whip up a GNA task?
User avatar
Zarel
Posts: 700
Joined: July 15th, 2009, 8:24 am
Location: Minnesota, USA
Contact:

Re: [Request]Karma-ish luck system

Post by Zarel »

My point is that people will not enjoy it.
Proud creator of the :whistle: smiley | I prefer the CC-0 license.
User avatar
StevenAus
Posts: 84
Joined: December 18th, 2009, 12:15 am
Location: Perth, Australia
Contact:

Re: [Request]Karma-ish luck system

Post by StevenAus »

In your opinion. :)

Best regards,
Steven.
My Life Purpose Is To Teach The World To Fish For Life. I AM Steven Russell Lynch Abundance That I AM. Empowerment Is My Name And Fostering Self-Responsibility Is My Game.
User avatar
Zarel
Posts: 700
Joined: July 15th, 2009, 8:24 am
Location: Minnesota, USA
Contact:

Re: [Request]Karma-ish luck system

Post by Zarel »

StevenAus wrote:In your opinion. :)
I have yet to hear any reasoning otherwise.
Proud creator of the :whistle: smiley | I prefer the CC-0 license.
User avatar
StevenAus
Posts: 84
Joined: December 18th, 2009, 12:15 am
Location: Perth, Australia
Contact:

Re: [Request]Karma-ish luck system

Post by StevenAus »

Apparently there are many people who play Wesnoth who do so only for a while, and then leave for other games. Why? What about if the experimental developers could remove the curveballs that finish a very promising level (like ten misses in a row, or 90-100% enemy hits for 10 or more attacks) *and* which are reasonably likely to get players to throw in the towel with Wesnoth? I know that's why I chose to cool my heels for (I thought then) an indefinite time. Not the close ones, but the "how could I possibly miss/get hit this many times in a row and lose when I was playing the percentages all the way through?".

Anyway, this is the experimental branch. It doesn't have to satisfy every Wesnoth developer, and I'm willing to bet that this karma-ish system will be well worth developing for those who want to contribute to it, and would certainly be tried out by Wesnoth players (including me and I would guess many others). Those who don't want to, fine, but don't expect every single rule that applies in the main forums to apply by default here.

Btw: the following web-page is a good one: :)
My Life Purpose Is To Teach The World To Fish For Life. I AM Steven Russell Lynch Abundance That I AM. Empowerment Is My Name And Fostering Self-Responsibility Is My Game.
User avatar
Gambit
Loose Screw
Posts: 3266
Joined: August 13th, 2008, 3:00 pm
Location: Dynamica
Contact:

Re: [Request]Karma-ish luck system

Post by Gambit »

StevenAus wrote:Anyway, this is the experimental branch. It doesn't have to satisfy every Wesnoth developer, and I'm willing to bet that this karma-ish system will be well worth developing for those who want to contribute to it, and would certainly be tried out by Wesnoth players (including me and I would guess many others). Those who don't want to, fine, but don't expect every single rule that applies in the main forums to apply by default here.
This exactly. IF impelemented it would be entirely optional.
User avatar
Zarel
Posts: 700
Joined: July 15th, 2009, 8:24 am
Location: Minnesota, USA
Contact:

Re: [Request]Karma-ish luck system

Post by Zarel »

StevenAus wrote:Apparently there are many people who play Wesnoth who do so only for a while, and then leave for other games. Why? What about if the experimental developers could remove the curveballs that finish a very promising level (like ten misses in a row, or 90-100% enemy hits for 10 or more attacks) *and* which are reasonably likely to get players to throw in the towel with Wesnoth? I know that's why I chose to cool my heels for (I thought then) an indefinite time. Not the close ones, but the "how could I possibly miss/get hit this many times in a row and lose when I was playing the percentages all the way through?".
Funny thing - the karma system proposed in this thread doesn't prevent that. In fact, assuming I understand it correctly, it could make it more likely.

Incidentally, I have a perfectly reasonable minimum damage proposal that does.
StevenAus wrote:Anyway, this is the experimental branch. It doesn't have to satisfy every Wesnoth developer, and I'm willing to bet that this karma-ish system will be well worth developing for those who want to contribute to it, and would certainly be tried out by Wesnoth players (including me and I would guess many others). Those who don't want to, fine, but don't expect every single rule that applies in the main forums to apply by default here.
And I'm willing to bet that this karma system will not be worth developing, and I'm trying to save you a bunch of wasted effort here.

Okay, here's my last try at illustrating the problem.

A Thunderer attacking a Mage in a forest will do:

Minimum damage enforcement:
50% - 1 damage
50% - 18 damage

Karma system:
50-(nCr(min(Nh,MKP)-L[-1]-L[-2]-L[-3]-..., MKO)+L[-1]+L[-2]+L[-3]+...)/MKP!/2 - 0 damage
50+(nCr(min(Nh,MKP)-L[-1]-L[-2]-L[-3]-..., MKO)+L[-1]+L[-2]+L[-3]+...)/MKP!/2 - 18 damage

(formula's been simplified a bit)

If you really want less luck, you should stop advocating a system that requires more luck! At least with the old system, I knew exactly what probabilities I could expect when I attacked. I could look at a situation, and say "Oh, I'm outnumbered by this much, but I have this much terrain advantage, so it's safe." Now I have to say "I think it's safe, but what's my karma offset? Oh, this dwarf has low karma, which could throw off the odds."

And the advantage? Karma will enforce sliding towards the average. Which is one of those things with a bunch of unintended consequences.

One unintended consequence that can be caused by "luck affecting luck" is "swinging" (you hit lots of times, so the karma system makes you miss a lot of times, which will make the karma system make you hit a lot of times, which will make the karma system make you miss a lot of times) and can happen if done incorrectly. Being able to anticipate these consequences and determine if they're desirable requires both players and developers to know a lot of higher math to be able to do it correctly, and really, if I wanted to do that much higher math just to figure out whether or not attacking is a good idea, I'd be taking a math class, not playing Wesnoth.


Edit: It occurs to me that some of my posts seem unsubstantiated. For the reasoning behind them, refer to: http://forums.wesnoth.org/viewtopic.php ... 66#p423666
Proud creator of the :whistle: smiley | I prefer the CC-0 license.
User avatar
StevenAus
Posts: 84
Joined: December 18th, 2009, 12:15 am
Location: Perth, Australia
Contact:

Re: [Request]Karma-ish luck system

Post by StevenAus »

I think we'll just agree to disagree - you have reasons for your opinion and I have reasons for mine - for me I will be supporting the best experimental option to smooth the outlying results a bit, both favourable and unfavourable. That's fine if you don't like it, but constructed the right way and with support (which I think it will be getting as time goes on, starting with this forum) I think the people who are willing to be involved can come up with a good solution. :wink: After all, sometimes you need to try something before you know whether it will work or not, and maybe as a result of the smoothing the factions can be balanced better. :) I for one will not dismiss smoothing out of hand.

Yogibear, what do you think?

Best regards,
Steven.
My Life Purpose Is To Teach The World To Fish For Life. I AM Steven Russell Lynch Abundance That I AM. Empowerment Is My Name And Fostering Self-Responsibility Is My Game.
Yogibear
Retired Developer
Posts: 1086
Joined: September 16th, 2005, 5:44 am
Location: Hamburg, Germany

Re: [Request]Karma-ish luck system

Post by Yogibear »

StevenAus wrote:After all, sometimes you need to try something before you know whether it will work or not, and maybe as a result of the smoothing the factions can be balanced better. :) I for one will not dismiss smoothing out of hand.

Yogibear, what do you think?
I think we have to either stop the discussion here and give it a try or (which i prefer) should become more concrete. By that i mean to set up a real scenario (which btw automatically might turn into a test-case later :wink: ). Zarel already started that with his thunderer example.

The first question to be asked here is: What do we really want?

You might say: "I want to get rid of extreme luck." But that's not concrete enough. Is 0/4 on a 70% defense elusive foot extreme or not? When exactly would i want Karma to kick in? Let's make such an example first and use that as a base for discussion.

Edit: Elaborated on the following paragraph

Then, based on that concrete scenario, we can discover flaws and maybe find ways to work around them.
We might find that Zarel has a point and swings of luck are a problem. Or we might find that the algorithm effectively prevents that. We might also find that the result of a Karma solution is (exactly or nearly) the same as what Zarel proposes and therefore his approach is preferable as it is simpler to implement. But to be able to tell about that, we need some concrete figures.

If we done that and still think it's worth trying, we give it a try :) .


About the balancing stuff: I think i said that in the other thread already. In my opinion, balance is best to be determined without any luck involved, as luck is always a factor that moves away from balance. So we can't really balance a luck controlling algorithm, as it throws off balance by its very nature. We can just make sure that it doesn't act for or against you too much (which is what many players perceive happens with the current mainline algorithm).
Smart persons learn out of their mistakes, wise persons learn out of others mistakes!
User avatar
Zarel
Posts: 700
Joined: July 15th, 2009, 8:24 am
Location: Minnesota, USA
Contact:

Re: [Request]Karma-ish luck system

Post by Zarel »

StevenAus wrote:I think we'll just agree to disagree
"Agreeing to disagree" is something only done with matters of opinion. This is a matter of fact - the simple solution is to agree to test the karma systems experimentally and determine which is superior.
StevenAus wrote:you have reasons for your opinion and I have reasons for mine - for me I will be supporting the best experimental option to smooth the outlying results a bit, both favourable and unfavourable. That's fine if you don't like it, but constructed the right way and with support (which I think it will be getting as time goes on, starting with this forum) I think the people who are willing to be involved can come up with a good solution. :wink: After all, sometimes you need to try something before you know whether it will work or not, and maybe as a result of the smoothing the factions can be balanced better. :) I for one will not dismiss smoothing out of hand.
hand, noun.
78. d.
without consideration or deliberation: "to reject a proposal out of hand."

Now, I have provided significant reasoning for why such a karma system would be disastrous, and I have backed it up with statistics and logical arguments. To dismiss my reasoning as if it were done "out of hand" is disingenuous at best, and outright trolling at worst.

One reason I am reluctant to allow this issue to go into experimentation is because luck is difficult to experiment with. Its effects are subtle, and extremely susceptible to the placebo effect. For a proposal that does nothing but adjust probabilities, it is difficult to tell whether or not you've improved the game, and if you want your proposal to be successful, it will "feel" like the probabilities are better, regardless of whether or not they actually are.

While there are flaws that are visible through experimentation, such as any "swing" effect, much of the flaws can be found simply by logical reasoning. Again:
1. You are making hit probabilities difficult or impossible to figure out. This is unacceptable in a strategy game such as Wesnoth, in which good strategy depends on knowing what you have to work with.
2. If you have a weak karma system, you will not solve the problem of "several misses in a row", since they will still occur with similar or even greater likelihood, since, for instance, if you start with low karma, you will be more likely to miss than before.
3. If you have a strong karma system, you will have a situation where whether or not the next attack will hit can be predicted with high accuracy, defeating the purpose of a luck system in the first place.
4.Your hit probabilities are affected by your previous hits. In other words, your luck is affected by luck. This is, in essence, introducing more luck into the system instead of taking it away. The reason luck can be present in strategy games is because it can be managed, predicted, and used to your advantage. When your luck is controlled by luck rather than strategy, what you have is no longer a strategy game.
Proud creator of the :whistle: smiley | I prefer the CC-0 license.
Yogibear
Retired Developer
Posts: 1086
Joined: September 16th, 2005, 5:44 am
Location: Hamburg, Germany

Re: [Request]Karma-ish luck system

Post by Yogibear »

Zarel wrote:4.Your hit probabilities are affected by your previous hits. In other words, your luck is affected by luck. This is, in essence, introducing more luck into the system instead of taking it away. The reason luck can be present in strategy games is because it can be managed, predicted, and used to your advantage. When your luck is controlled by luck rather than strategy, what you have is no longer a strategy game.
I dare to contest this. What is the measure of luck? To me it is the deviation of the damage in game in relation to the Expected Value (EV), like it is displayed in the statistics. If we take action (by whatever means) to keep this deviation smaller, it means we are taking luck away, not introducing more of it.

Generally, i would like to keep a constructive attitude upon things. If you think you have detected a flaw it is of course ok to tell about that. But instead of telling that ideas are bad because of said flaws, i would want to think of ways to improve them instead. And if people like having luck controlled by luck and if that leads to less strategy (i am not convinced of that but lets assume it for the moment) - so be it. For me that is not a reason to discard the whole idea.
Smart persons learn out of their mistakes, wise persons learn out of others mistakes!
Post Reply