Deterministic mode
Moderator: Forum Moderators
Forum rules
Before posting a new idea, you must read the following:
Before posting a new idea, you must read the following:
-
- Posts: 8
- Joined: July 2nd, 2004, 4:42 pm
Deterministic mode
I was struck by this quote in the sticky thread:
Of course, since this is transparent to the user, it's possible that it already works this way. In which case, I say lower X!
I have definitely been frustrated by losing a unit that I "shouldn't" have or not killing a unit that I "should" have, based on the probabilities. And I would like to propose a modification to the engine that has the virtue of being extremely simple (and transparent to the user). Actually, it's kind of complicated to explain, but it's very simple to implement. Anyway, it's called sampling without replacement. This means that the odds of success on a each hit are not completely independent. Let me give a concrete example. Imagine that your unit has 4 attacks, at 60% probability. In my scheme, what the computer would do is multiply the 4 by some constant X, which I will assign to be 5.0 for my example, giving a total of 20.0. Then it multiplies that by the 60% probability, giving 12.0. It then generates a random number between 0.0 and 20.0. If that number is 12.0 or less, you hit. If not, you miss. For the next attack, it subtracts 1.0 from the total, giving 19.0. If you hit on the first attack, it subtracts 1.0 from the 12.0, leaving 11.0 (11.0/19.0 = 57.9%). If you missed on the first attack, it leaves the 12.0 alone (12.0/19.0 = 63.2%). And so on. So if you miss your first three attacks, you will have 12.0/17.0 = 70.6% chance to hit on your last one, thus making it much less likely to have an extreme outcome. The constant X can be fiddled with to provide more or less of an effect. As it approaches infinity, this method becomes identical to sampling with replacement (i.e. 60% every time, no effect of one hit on the next). As it approaches 1, it becomes more deterministic. So the level of randomness can be tuned to the developers' preference.There should be a 'deterministic', 'non random' mode which one can play in
Background: some people, apparently frustrated at losing their units in random battles, feel that there should be a non-random way of playing the game.
Result: the developers feel that randomness is a large part of the game, and that taking the randomness out of the game would be somewhat akin to taking the randomness out of most card games.
Of course, since this is transparent to the user, it's possible that it already works this way. In which case, I say lower X!
Re: Deterministic mode
I'm afraid I don't understand. Based on probability, the only units you 'should' lose are units you have 100% of losing, and the only units you 'shouldn't' lose are ones that you have 0% of losing. For other probabilities, there is always a chance you will or won't lose them.ImLittleJon wrote: I have definitely been frustrated by losing a unit that I "shouldn't" have or not killing a unit that I "should" have, based on the probabilities.
And since you acknowledge that this can go either way (which is much more than people, who seem to think that the RNG is rigged against them, are willing to acknowledge), it is shown that the game really is pseudo-random: sometimes you lose a unit in an unlikely fashion, and sometimes a unit survives in an unlikely fashion. This is the very nature of randomness.
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
-
- Posts: 8
- Joined: July 2nd, 2004, 4:42 pm
Re: Deterministic mode
"Should" being defined by the expectation value. If you toss a coin 10 times, you "should" get 5 heads. That's the peak of the bell curve.Dave wrote: I'm afraid I don't understand. Based on probability, the only units you 'should' lose are units you have 100% of losing, and the only units you 'shouldn't' lose are ones that you have 0% of losing. For other probabilities, there is always a chance you will or won't lose them.
That's the beauty of my scheme. (It's not really mine...I didn't come up with it originally. But it's shorter than saying "Sampling without replacement" all the time...) It keeps the randomness, but just mitigates it slightly. And how much mitigation is tuneable through that constant X. Plus, it'd probably take less than 10 minutes to code.Dave wrote: And since you acknowledge that this can go either way (which is much more than people, who seem to think that the RNG is rigged against them, are willing to acknowledge), it is shown that the game really is pseudo-random: sometimes you lose a unit in an unlikely fashion, and sometimes a unit survives in an unlikely fashion. This is the very nature of randomness.

Frankly, I rather like this idea. I think that someone should try experimenting with this. One potential application of this would be in making the easier mode a bit easier, perhaps.
But I really gotta say, the whole "Absolutely random" business is a bit overdone, and results in some situations in game that seem silly. "Sanding off" the extreme edges of combat results would go a long way to improving the "feel" of playing wesnoth.
Besides, I had thought that you yourself had at least considered a system in which extreme combat results would be negated (i.e. no "all five attacks miss" business when the unit has a 70% chance to hit). People mentally expect a bell curve when they see percentages, probably from experience in the american school system. They don't expect a "linear" random distribution.
I'm still wishing that each race could have a kind of tank/hoplite type of unit, that can form a front line on open plain and hold the damn thing, at least for a turn against all but a few kinds of opposition. All it would need is a new movetype for level 2, and likewise-but-more-so for level 3 devoted-to-melee units.
I mean, the humans do have one in their heavy infantry, and the undead have one in their skeleton warriors.
The beauty of my suggestion - simply giving melee units a bit of blade, and a smaller amount of impact resistance, is that the line could be broken by exactly the things that should break it - charging knights, arrows, and magic. Right now, essentially a similar thing, though with weakness to pierce is being done to knights, which is ridiculous because right now, I have to form my front lines, if I have no defensible terrain to approach through, with knights, which are the last such units a person would use in the real world. Knights were great for offensive lines, but terrible for defensive ones.
The alternative would be some sort of parry ability, making non-magic blows do half damage some of the time. This would further differentiate the Avenger from the Champion. Perhaps the avenger could have a weak version of this, but the Champion should excel in this. Likewise the Orc melee guys need some skill in this department. They need to be resilient in melee, besides being able to inflict a lot of damage.
But I really gotta say, the whole "Absolutely random" business is a bit overdone, and results in some situations in game that seem silly. "Sanding off" the extreme edges of combat results would go a long way to improving the "feel" of playing wesnoth.
Besides, I had thought that you yourself had at least considered a system in which extreme combat results would be negated (i.e. no "all five attacks miss" business when the unit has a 70% chance to hit). People mentally expect a bell curve when they see percentages, probably from experience in the american school system. They don't expect a "linear" random distribution.
I'm still wishing that each race could have a kind of tank/hoplite type of unit, that can form a front line on open plain and hold the damn thing, at least for a turn against all but a few kinds of opposition. All it would need is a new movetype for level 2, and likewise-but-more-so for level 3 devoted-to-melee units.
I mean, the humans do have one in their heavy infantry, and the undead have one in their skeleton warriors.
The beauty of my suggestion - simply giving melee units a bit of blade, and a smaller amount of impact resistance, is that the line could be broken by exactly the things that should break it - charging knights, arrows, and magic. Right now, essentially a similar thing, though with weakness to pierce is being done to knights, which is ridiculous because right now, I have to form my front lines, if I have no defensible terrain to approach through, with knights, which are the last such units a person would use in the real world. Knights were great for offensive lines, but terrible for defensive ones.
The alternative would be some sort of parry ability, making non-magic blows do half damage some of the time. This would further differentiate the Avenger from the Champion. Perhaps the avenger could have a weak version of this, but the Champion should excel in this. Likewise the Orc melee guys need some skill in this department. They need to be resilient in melee, besides being able to inflict a lot of damage.
- Elvish_Pillager
- Posts: 8137
- Joined: May 28th, 2004, 10:21 am
- Location: Everywhere you think, nowhere you can possibly imagine.
- Contact:
I don't want any random numbers to obey the so-called Law of Averages. No matter how justified they may be. Face it, you CAN get lucky.
It's all fun and games until someone loses a lawsuit. Oh, and by the way, sending me private messages won't work. :/ If you must contact me, there's an e-mail address listed on the website in my profile.
I don't understand what you mean; the current system does provide a bell curve IIRC; if we wanted a closer bell curve we would have to give each unit less damage and more strikes. This causes me to wonder why exactly the developers originally chose for most units to have <6 strikes; was it because of the randomness? just because it makes the combats take shorter?Jetryl wrote:People mentally expect a bell curve when they see percentages, probably from experience in the american school system. They don't expect a "linear" random distribution.
The Knalgans have one in their Dwarvish Fighter, and the Elves have one in their Wose. Trolls can be pretty tough to kill quickly too, especially considering the price.Jetryl wrote: I'm still wishing that each race could have a kind of tank/hoplite type of unit, that can form a front line on open plain and hold the damn thing, at least for a turn against all but a few kinds of opposition. All it would need is a new movetype for level 2, and likewise-but-more-so for level 3 devoted-to-melee units.
I mean, the humans do have one in their heavy infantry, and the undead have one in their skeleton warriors.
Yes, if we wanted to make the game 'less random' we could just increase everyone's attacks and reduce their damage.Dacyn wrote: I don't understand what you mean; the current system does provide a bell curve IIRC; if we wanted a closer bell curve we would have to give each unit less damage and more strikes. This causes me to wonder why exactly the developers originally chose for most units to have <6 strikes; was it because of the randomness? just because it makes the combats take shorter?
However imo the current number of attacks works well.
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
Sorry for disturbing you, why not add configurable (by prefs and in WML, by default it could be the "standard" system) fight engine to the game. So if someone which deterministic mode, ok he/she get it and he/she will be happy
, and if another one want classical game, just set the propoer option and he/she wil be happy too
.
So there could be a
"wargame fight resolution" : full deterministic (ie a grand knight will always kill little unit)
classical : as it is
and so on (another one could used unit experience and other traits or leadership, and give a bonus)...
So, noone will waste his/hers time to talk about fight resolution anymore.


So there could be a
"wargame fight resolution" : full deterministic (ie a grand knight will always kill little unit)
classical : as it is
and so on (another one could used unit experience and other traits or leadership, and give a bonus)...
So, noone will waste his/hers time to talk about fight resolution anymore.
er.. adding more options is not the solution to everything.
I don't think the rules of a game should ever be preference-determined. Preferences are supposed to determine only UI aspects of the game.
Also, adding a 'non-random' option would imply that the Wesnoth development thinks that playing non-randomly is a reasonable way to play Wesnoth.
I don't think the rules of a game should ever be preference-determined. Preferences are supposed to determine only UI aspects of the game.
Also, adding a 'non-random' option would imply that the Wesnoth development thinks that playing non-randomly is a reasonable way to play Wesnoth.
I concur.Dacyn wrote:er.. adding more options is not the solution to everything.
I don't think the rules of a game should ever be preference-determined. Preferences are supposed to determine only UI aspects of the game.
If we start down this murky road, we will end up with a game where every single rule that is the slightest bit controversial is optional.
I think my signature applies to end user options more than almost anything else. End user options show that designers could not decide the best way to do things. The less options there are, the better.
David
“At Gambling, the deadly sin is to mistake bad play for bad luck.” -- Ian Fleming
-
- Posts: 8
- Joined: July 2nd, 2004, 4:42 pm
The current system is exactly a classic bell curve. If you take my example of 4 swings at 60% probability and run it 1000 times, you should get 26 runs with 0 hits, 154 with 1 hit, 345 with 2 hits, 345 with 3 hits, and 130 with 4 hits (assuming my math is correct).Jetryl wrote:People mentally expect a bell curve when they see percentages, probably from experience in the american school system. They don't expect a "linear" random distribution.
Calculating the probabilities under my proposal is a lot hairier (and depends on the value you choose for X) but it basically just makes a steeper, narrower bell curve. So the numbers for 0 and 4 hits would be reduced, while the numbers for 2 and 3 hits would increase (not sure about 1 hit).
Some randomness is good, but it's very frustrating when you come up empty in a situation where you are heavily favored. I think it's very reasonable to weight the bell curve a little more towards the expectation value. It's a perfectly valid statistical technique (I learned it from a PhD in statistics) and it's easy to implement. What's the downside?
- Elvish_Pillager
- Posts: 8137
- Joined: May 28th, 2004, 10:21 am
- Location: Everywhere you think, nowhere you can possibly imagine.
- Contact:
That it's completely ridiculous nonsense. It's especially aggravating when you get cheated out of a lucky swing.ImLittleJon wrote:What's the downside?
It's all fun and games until someone loses a lawsuit. Oh, and by the way, sending me private messages won't work. :/ If you must contact me, there's an e-mail address listed on the website in my profile.
There may be use for an ability which eliminites the randomness, for example set damage to hit chance and let it always hit(10-4 on 60% is 6-4 with 100%)
But i dont think messing the statistics is a good idea. Especially when the charts show one probability, but you actually get another probability.
But i dont think messing the statistics is a good idea. Especially when the charts show one probability, but you actually get another probability.