2 ways to reduce randomness

Brainstorm ideas of possible additions to the game. Read this before posting!

Moderator: Forum Moderators

Forum rules
Before posting a new idea, you must read the following:
Unlucky Wizard
Posts: 16
Joined: February 1st, 2009, 7:59 pm

2 ways to reduce randomness

Post by Unlucky Wizard »

Hi, I'm new to Wesnoth, and I really enjoy it except for the randomness part, out of personal preference.

So I've come up with a very simple deterministic mode that makes a couple modifications to make Wesnoth a lot less random.

- Chance to hit: A global "chance counter" starts at 0. Every time an attack is performed, the percentage to hit is added to the counter. If the counter reaches 100 or above, the attack succeeds and 100 is subtracted from the counter. Otherwise, the attack fails. Predicting what to attack with which unit in order to influence the chance counter could lead to some very interesting strategies. The counter could be viewable at the top of the screen along with gold, etc.

- Traits: When a unit is recruited, the 2 traits are based on time of day. There are 6 possibilities for 2 out of 4 traits to be picked, so this matches the 6 times of day perfectly. Dawn = quick/strong, Morning = quick/resilient, Afternoon = resilient/strong, Dusk = intelligent/quick, Night 1 = intelligent/strong, Night 2 = intelligent/resilient.


I believe in choice, so I really hope the developers allow this mode to be implemented, since it is simple and a lot of people will probably really enjoy it, including me.

If they're really against it, I'm going to try and implement them myself, since I know there could be lot of people out there who would enjoy a deterministic mode.

Also, I would like to hear if anyone has any suggestions to improve these ideas. :) Thanks.
Aaah, I'm seeing hexagons everywhere!
User avatar
thespaceinvader
Retired Art Director
Posts: 8414
Joined: August 25th, 2007, 10:12 am
Location: Oxford, UK
Contact:

Re: 2 ways to reduce randomness

Post by thespaceinvader »

You're welcome to fork the engine and implement such modes yourself. However, the devs like the luck the way it is. It has been worked and reworked, argued and re-argued far, far too many times now. You should be aware that suggestions regarding changing luck in any way shape or form are generally not looked upon well.

Your traits idea is... odd. What if you want a quick/resilient unit some other ToD? This is particularly important in campaigns, where time limits can be tight. And it doesn't take into account additional traits that are unit- or species-specific, such a fearless and dextrous.
http://thespaceinvader.co.uk | http://thespaceinvader.deviantart.com
Back to work. Current projects: Catching up on commits. Picking Meridia back up. Sprite animations, many and varied.
Unlucky Wizard
Posts: 16
Joined: February 1st, 2009, 7:59 pm

Re: 2 ways to reduce randomness

Post by Unlucky Wizard »

thespaceinvader wrote:You're welcome to fork the engine and implement such modes yourself. However, the devs like the luck the way it is. It has been worked and reworked, argued and re-argued far, far too many times now. You should be aware that suggestions regarding changing luck in any way shape or form are generally not looked upon well.
Ok, I'll try to make a fork of every single new release that comes out once I figure out how to compile Wesnoth in windows, starting with the current stable and development versions. :) That's how important this is to me.
Your traits idea is... odd. What if you want a quick/resilient unit some other ToD? This is particularly important in campaigns, where time limits can be tight.
Well, with random numbers, you're likely not to get the unit you want anyways. :) Unless you save-load, and I don't like save-loading. Do you have a better way of doing it?
Aaah, I'm seeing hexagons everywhere!
User avatar
thespaceinvader
Retired Art Director
Posts: 8414
Joined: August 25th, 2007, 10:12 am
Location: Oxford, UK
Contact:

Re: 2 ways to reduce randomness

Post by thespaceinvader »

The latest dev version includes the ability to undo recruit events (in SP, anyway). SO if you really wanted, you could use that to get the trait combos you wanted.
http://thespaceinvader.co.uk | http://thespaceinvader.deviantart.com
Back to work. Current projects: Catching up on commits. Picking Meridia back up. Sprite animations, many and varied.
User avatar
zookeeper
WML Wizard
Posts: 9742
Joined: September 11th, 2004, 10:40 pm
Location: Finland

Re: 2 ways to reduce randomness

Post by zookeeper »

thespaceinvader wrote:The latest dev version includes the ability to undo recruit events (in SP, anyway). SO if you really wanted, you could use that to get the trait combos you wanted.
Uh...what? Certainly not. You can undo recalls, and maybe recruits that don't get random traits.
User avatar
thespaceinvader
Retired Art Director
Posts: 8414
Joined: August 25th, 2007, 10:12 am
Location: Oxford, UK
Contact:

Re: 2 ways to reduce randomness

Post by thespaceinvader »

I could swear a recent version did include that patch...

Either way, there is a patch available which allows that ability... somewhere.

My apologies for my mistake.
http://thespaceinvader.co.uk | http://thespaceinvader.deviantart.com
Back to work. Current projects: Catching up on commits. Picking Meridia back up. Sprite animations, many and varied.
Unlucky Wizard
Posts: 16
Joined: February 1st, 2009, 7:59 pm

Re: 2 ways to reduce randomness

Post by Unlucky Wizard »

thespaceinvader wrote:And it doesn't take into account additional traits that are unit- or species-specific, such a fearless and dextrous.
I have an idea how to take this into account. Since there are 10 possible combinations when a unit has a 5th trait, make every other unit that is recruited have the special 5th trait (the first has it, the second does not, the third has it, and so on). The units that don't have the 5th trait will have their traits determined as usual, while the units that do have it will have their second trait determined as follows: night 1/2 - intellect, day (morning/afternoon) - strength, dawn - quickness, dusk - resilience. Maybe you guys can think of some better and/or simpler way of deterministically determining traits, but this is just a possibility for now. To make this simpler, the user could be notified in the recruiting menu which traits the unit will have if it is recruited.

There aren't any units with 6 possible traits when recruited, are there?
Aaah, I'm seeing hexagons everywhere!
User avatar
thespaceinvader
Retired Art Director
Posts: 8414
Joined: August 25th, 2007, 10:12 am
Location: Oxford, UK
Contact:

Re: 2 ways to reduce randomness

Post by thespaceinvader »

Not in mainline, I don't think. But that doesn't mean there never will be, nor that such things don't exist in UMC.

But honestly, the whole point of traits is that they are a means of adding a little random variety to otherwise identical units. If you don't like the randomness, the solutions is not to assign them systematically, it's just not to assign them at all... Again, you're welcome to do this in your own copies of the game, but don't expect it in mainline.
http://thespaceinvader.co.uk | http://thespaceinvader.deviantart.com
Back to work. Current projects: Catching up on commits. Picking Meridia back up. Sprite animations, many and varied.
User avatar
JW
Posts: 5047
Joined: November 10th, 2005, 7:06 am
Location: Chicago-ish, Illinois

Re: 2 ways to reduce randomness

Post by JW »

Unlucky Wizard wrote:Hi, I'm new to Wesnoth, and I really enjoy it except for the randomness part
...
I believe in choice, so I really hope the developers allow this mode to be implemented
...
I'm going to try and implement them myself
lol @ underlined
gl with bold.

I look forward to hearing when your mod is complete.
palloco
Posts: 136
Joined: April 3rd, 2004, 9:28 pm

Re: 2 ways to reduce randomness

Post by palloco »

Unlucky Wizard wrote:- Chance to hit: A global "chance counter" starts at 0. Every time an attack is performed, the percentage to hit is added to the counter. If the counter reaches 100 or above, the attack succeeds and 100 is subtracted from the counter. Otherwise, the attack fails. Predicting what to attack with which unit in order to influence the chance counter could lead to some very interesting strategies. The counter could be viewable at the top of the screen along with gold, etc.
This would remove randomness, and it would overpower dwarves.
Unlucky Wizard
Posts: 16
Joined: February 1st, 2009, 7:59 pm

Re: 2 ways to reduce randomness

Post by Unlucky Wizard »

palloco wrote:
Unlucky Wizard wrote:- Chance to hit: A global "chance counter" starts at 0. Every time an attack is performed, the percentage to hit is added to the counter. If the counter reaches 100 or above, the attack succeeds and 100 is subtracted from the counter. Otherwise, the attack fails. Predicting what to attack with which unit in order to influence the chance counter could lead to some very interesting strategies. The counter could be viewable at the top of the screen along with gold, etc.
This would remove randomness, and it would overpower dwarves.
Yeah, removing randomness is kind of the point. :) So you would say that giving the player more precise control of when attacks hit would overpower certain factions, such as dwarves? It is because of the thunderer dwarf (and its leveled up forms) that has 1 really strong attack?
Aaah, I'm seeing hexagons everywhere!
User avatar
Turuk
Sithslayer
Posts: 5283
Joined: February 28th, 2007, 8:58 pm
Contact:

Re: 2 ways to reduce randomness

Post by Turuk »

Unlucky Wizard wrote:- Traits: When a unit is recruited, the 2 traits are based on time of day. There are 6 possibilities for 2 out of 4 traits to be picked, so this matches the 6 times of day perfectly. Dawn = quick/strong, Morning = quick/resilient, Afternoon = resilient/strong, Dusk = intelligent/quick, Night 1 = intelligent/strong, Night 2 = intelligent/resilient.
So if you take out everything random and make it systematic, what is the point of traits? Waiting 4 turns for First Watch to get an intelligent/strong unit seems just as wasteful as save/loading to get those traits. Why would you not just accept that something like this may or may not come out as you please and play accordingly, which would mean playing smarter instead of changing the game to do it for you.

If you are going to make the player wait until certain turns to get the exact trait combination they want, why not just let the player pick the traits at recruitment?
Unlucky Wizard wrote:Yeah, removing randomness is kind of the point.
I will never understand why new people start playing this game, and, instead of learning to play, decide that they will just fundamentally change the entire game. However, good luck with getting your mod together, maybe you will make more progress than those in the past.
Mainline Maintainer: AOI, DM, NR, TB and THoT.
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Re: 2 ways to reduce randomness

Post by turin »

Unlucky Wizard wrote:- Chance to hit: A global "chance counter" starts at 0. Every time an attack is performed, the percentage to hit is added to the counter. If the counter reaches 100 or above, the attack succeeds and 100 is subtracted from the counter. Otherwise, the attack fails. Predicting what to attack with which unit in order to influence the chance counter could lead to some very interesting strategies. The counter could be viewable at the top of the screen along with gold, etc.
Unit with 5-4 attack and 50% CTH attacks unit with 5-4 attack and 50% CTH, with global counter starting at 50%.

Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Result of battle: defender takes 20 damage, attacker takes 0, every single time.

Sounds broken if you ask me. Unless you call the above "strategy".
For I am Turin Turambar - Master of Doom, by doom mastered. On permanent Wesbreak. Will not respond to private messages. Sorry!
And I hate stupid people.
The World of Orbivm
Unlucky Wizard
Posts: 16
Joined: February 1st, 2009, 7:59 pm

Re: 2 ways to reduce randomness

Post by Unlucky Wizard »

turin wrote:
Unlucky Wizard wrote:- Chance to hit: A global "chance counter" starts at 0. Every time an attack is performed, the percentage to hit is added to the counter. If the counter reaches 100 or above, the attack succeeds and 100 is subtracted from the counter. Otherwise, the attack fails. Predicting what to attack with which unit in order to influence the chance counter could lead to some very interesting strategies. The counter could be viewable at the top of the screen along with gold, etc.
Unit with 5-4 attack and 50% CTH attacks unit with 5-4 attack and 50% CTH, with global counter starting at 50%.

Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Attacker: 50% +50%=100%, he hits, counter goes to 0%
Defender: 0%+50=50%, he misses
Result of battle: defender takes 20 damage, attacker takes 0, every single time.

Sounds broken if you ask me. Unless you call the above "strategy".
Ahh, good point, thank you very much. :) Maybe there needs to be a separate counter for every player, then. I'm not sure whether the counter should be for every attacker, or every defender though. (As in, when someone gets attacked, does the defender's counter get incremented, or the attacker's?)


Turuk wrote:
Unlucky Wizard wrote:- Traits: When a unit is recruited, the 2 traits are based on time of day. There are 6 possibilities for 2 out of 4 traits to be picked, so this matches the 6 times of day perfectly. Dawn = quick/strong, Morning = quick/resilient, Afternoon = resilient/strong, Dusk = intelligent/quick, Night 1 = intelligent/strong, Night 2 = intelligent/resilient.
So if you take out everything random and make it systematic, what is the point of traits? Waiting 4 turns for First Watch to get an intelligent/strong unit seems just as wasteful as save/loading to get those traits. Why would you not just accept that something like this may or may not come out as you please and play accordingly, which would mean playing smarter instead of changing the game to do it for you.

If you are going to make the player wait until certain turns to get the exact trait combination they want, why not just let the player pick the traits at recruitment?
Well, having the player pick them would be too easy on the player, although it's a possibility. Making the player wait introduces a little bit of extra strategy and planning. Though I might end up going with letting the player pick.

Turuk wrote:
Unlucky Wizard wrote:Yeah, removing randomness is kind of the point.
I will never understand why new people start playing this game, and, instead of learning to play, decide that they will just fundamentally change the entire game. However, good luck with getting your mod together, maybe you will make more progress than those in the past.
Haha, I'm doing both at the same time. :) Currently enjoying myself in campaigns. Thanks.
Aaah, I'm seeing hexagons everywhere!
User avatar
Turuk
Sithslayer
Posts: 5283
Joined: February 28th, 2007, 8:58 pm
Contact:

Re: 2 ways to reduce randomness

Post by Turuk »

Unlucky Wizard wrote:Well, having the player pick them would be too easy on the player, although it's a possibility. Making the player wait introduces a little bit of extra strategy and planning. Though I might end up going with letting the player pick.
Possibly, but the argument that making them wait involves a bit more strategy could be continued to say that having the player adapt to whatever traits they are given adds extra strategy.

Making the player wait when they know exactly what traits will come when just seems a bit unnecessary. I know I proposed a solution that makes it ridiculously easy, but that's partially the point. I do not know if you are making this for multiplayer or campaigns, but for campaigns, making the player wait is pointless. The player will just sit on their keep and wait until the right TOD to recruit.
Mainline Maintainer: AOI, DM, NR, TB and THoT.
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
Post Reply