reducing save/loading

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

Moderators: Forum Moderators, Developers

Forum rules
Before posting a new idea, you must read the following:
Lastmerlin
Posts: 45
Joined: September 25th, 2007, 5:37 pm

reducing save/loading

Post by Lastmerlin » April 26th, 2008, 4:28 pm

I think that you agree that using save /load too much is a sort of cheating. On the other hand both options are offered as legal actions, so the player himself has to decide how often to use them. Learning to recognize *bad luck* as result of bad moves and learning to accept real bad luck takes a lot of time. So especially new players have problems accepting bad luck (or what they thinks its bad luck) , but loading often feels like cheating, as I said. So the player will feel not confident with his decision no matter how he decides. The solution is imo not to offer him this decision. I think you know the situation: if you have to decide something with both options are bad, then you like it, if someone else does the decision for you.
My first idea was, simply so disable save/loading in most situations - i proposed the idea i another thread (not as a seperate idea). But it seems this idea is disliked by most people.

So my next idea is:
The rng wesnoth uses is actually a pseudo-rng. It has an internal state and it is deterministic, the *random* behavior comes only from the fact, that you dont know the internal state.
My idea is: include the rng state into the savegame. When loading a game the rng state will be restored, too.
The effect is: if you load after doing some stupid actions and _repeat_ the same actions you will get the _same_ results again. So there are no pure rng rerolls anymore. That also works for a complete turn or longer parts of the game. For example a 0.1 is bad (you will always miss) and a 0.9 is good (you will always hit). So if you load after a bad luck turn (you got a lot of numbers <0.3) then you will get a bad luck turn again, even if you change/reorder your attacks. To get this working really good each players needs his own rng with a seperate state. If both players use the same rng you could give the *bad numbers* to you opponent if you know that there will be a lot of small numbers in the next rolls.

advantages:
- much more learning effect for new players: if you load to undo some bad decisions and the next try works _much_ better then you know that you really made some better moves. At the moment it is really hard to distinguish the effect of better moves and rng reroll effects.
- you can load with much less *cheating* feeling
- you can redo moves.

disadvantages:
- when you load a game, you get some extra information about the future actions
- changes the savegame format. I dont know how much work is caused by this...

Velensk
Multiplayer Contributor
Posts: 3984
Joined: January 24th, 2007, 12:56 am

Re: reducing save/loading

Post by Velensk » April 26th, 2008, 4:58 pm

Why don't you just simpily not save-load?
"There are two kinds of old men in the world. The kind who didn't go to war and who say that they should have lived fast died young and left a handsome corpse and the old men who did go to war and who say that there is no such thing as a handsome corpse."

Lastmerlin
Posts: 45
Joined: September 25th, 2007, 5:37 pm

Re: reducing save/loading

Post by Lastmerlin » April 26th, 2008, 5:37 pm

Did I say that _I_ do save-loading a lot ? I play vs ai very seldom- fighting a stupid ai which has triple gold is imo stupid. In multiplayer you cant load. But i have played a lot against ai in the past and i asked some friends who are new to wesnoth.

Besides that: I propose a change to a game element and you say: simply dont use this game element. Thats not a really good answer imo.

User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Re: reducing save/loading

Post by turin » April 26th, 2008, 6:35 pm

Um, no. If anything this would make save-loading easier; if one part of you turn goes "your Horseman misses, enemy Fighter hits, you miss, enemy hits, enemy hits, enemy hits," then when you reload you know that if you attack with a 5-strike unit against a 1-strike unit, you'll hit three times and they'll miss their one attack. So sure, it discourages save-loading any repeating the exact same actions in the exact same order, but it encourages save-loading and mixing it up just a little bit.
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

Lastmerlin
Posts: 45
Joined: September 25th, 2007, 5:37 pm

Re: reducing save/loading

Post by Lastmerlin » April 26th, 2008, 7:20 pm

hmm please read my post properly...

I already considered that if both players use the same sequence of random number you can try to give the ai the *bad* numbers and use the good number for yourself.
That why I have suggested to give each player its own rng state. So each player has its own random number sequence. Your example: you have hit 0/2 the enemy 4/4. If you attack with a 5 hits units against a 1 hit unit you know, that your unit will most likely miss the first two hits and the enemy will hit his one hit. nothing more. Thats what i already posted as disadvantage - you get some extra information about the chance for success of future actions.
On the other hand thats some intended effect: After loading you will get the same amount of good/bad luck again, you had before. That gives much more possibility to see if your moves were better than the first attempt.

User avatar
Aethaeryn
Translator
Posts: 1553
Joined: September 15th, 2007, 10:21 pm
Location: Baltimore, Maryland, USA

Re: reducing save/loading

Post by Aethaeryn » April 26th, 2008, 7:51 pm

If autosaving is such a problem, why not simply turn off autosaves by default so newbies don't have that option unless they at least know somewhat what they're doing (i.e. enable it in preferences)?
Aethaeryn (User Page)
Wiki Moderator (wiki)
Latin Translator [wiki=Latin Translation](wiki)[/wiki]
Maintainer of Thunderstone Era (wiki) and Aethaeryn's Maps [wiki=Aethaeryn's Maps](wiki)[/wiki]

torangan
Retired Developer
Posts: 1365
Joined: March 27th, 2004, 12:25 am
Location: Germany

Re: reducing save/loading

Post by torangan » April 27th, 2008, 12:41 am

Even if you work out different random sequences for each side (which isn't trivial) then the player can still simply do another action involving random numbers first and get a different result. Bottom line to me is: far too much work for very little gain. Beginners have to go through a learning phase.
WesCamp-i18n - Translations for User Campaigns:
http://www.wesnoth.org/wiki/WesCamp

Translators for all languages required: contact me. No geek skills required!

User avatar
irrevenant
Moderator Emeritus
Posts: 3692
Joined: August 15th, 2005, 7:57 am
Location: I'm all around you.

Re: reducing save/loading

Post by irrevenant » April 27th, 2008, 2:05 am

This has been suggested before. If you want to cheat, you can cheat - it's still just a matter of going "Hmm, that didn't work - how about this?".

It would be nice to have some way to guide people into relying less on save-loading though.

Perhaps we could put an (optional) limit on the number of save-loads per scenario?

User avatar
turin
Lord of the East
Posts: 11662
Joined: January 11th, 2004, 7:17 pm
Location: Texas
Contact:

Re: reducing save/loading

Post by turin » April 27th, 2008, 2:07 am

irrevenant wrote:It would be nice to have some way to guide people into relying less on save-loading though.
Guide? Sure. Force? No. The mechanics of when you're allowed to save and when you're allowed to load should not be artificially limited.
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

User avatar
irrevenant
Moderator Emeritus
Posts: 3692
Joined: August 15th, 2005, 7:57 am
Location: I'm all around you.

Re: reducing save/loading

Post by irrevenant » April 27th, 2008, 2:12 am

turin wrote:
irrevenant wrote:It would be nice to have some way to guide people into relying less on save-loading though.
Guide? Sure. Force? No. The mechanics of when you're allowed to save and when you're allowed to load should not be artificially limited.
That's why you should be allowed to turn it on and off - it's not forcing if it's voluntary. Consider it a temporary crutch or training wheels, that you gradually use less and less.

User avatar
thespaceinvader
Retired Art Director
Posts: 8414
Joined: August 25th, 2007, 10:12 am
Location: Oxford, UK
Contact:

Re: reducing save/loading

Post by thespaceinvader » April 27th, 2008, 7:36 am

What i don't understand - what i have never understood - is WHY saveloading is a problem at all. It's a matter between an individual and his conscience. If you want to saveload, fine. You lose a certain amount of bragging rights. If you don't, also fine. But until there is some form of universal public score keeping for campaigns, what difference does it make if someone wants to saveload?

To put it simply, why care if someone else saveloads? It has absolutely no effect on you...
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.

Ratha Shadar
Posts: 50
Joined: January 24th, 2008, 5:32 pm
Location: Canada

Re: reducing save/loading

Post by Ratha Shadar » April 27th, 2008, 8:25 am

*ahem*

I save/load. I save/load a lot.

When do I save load?

1. In campaigns when all I really care about is the storyline, not the game itself.

When don't I save load?

2. In multiplayer and single player scenarios.

That said, if I cared about things like 'tactics' and 'strategy' I wouldn't play the campaigns. I'd just play the maps and on multiplayer. Please, keep your nose out of my save loading. Sometimes I WANT unrealistic results as I go for disecting a scenario through all its events.
Stealing other peoples signatures since 1904 CE.

Lastmerlin
Posts: 45
Joined: September 25th, 2007, 5:37 pm

Re: reducing save/loading

Post by Lastmerlin » April 27th, 2008, 9:28 am

A main point of the suggestion is, that you cant test different strategies from a certain game state without having lots of rng rerolls. Lets say you have a situation and want to test strategy A and B. B is about 20% better than A. This amount of 20% is enough to win a game, most games i have watched had ~20% difference in damage dealt/taken between winner and loser. But in one single turn rng can make a difference of -+50% or even more. So you will be most likely not able to see which moves are really better. To see that you would have to repeat strategy A 20 times and strategy B 20 times and then you will see, that B is better. Nobody wants to do that.
Actually i am not talking about cheating, but about trying different strategies without cheating. This is impossible atm. Of course the classic cheating is avoided too by this change.
It seems a main problem is, that this thread is read by strong players who cant imagine that someone cant see the 20% better EV of a better strategy hidden behind the +-50% rng term.

some more comments:
@ torangan: implementing several independant random number sequences is easy. Wesnoth uses already the boost libs, they offer dozens of generators and you can make as much instances as you want. I only dont know how much work some changes in savegame format does.
learning phase: give a game with a right and a wrong answer: if you punish the wrong answer with 100% probability and the correct one with 0% you will have _much_ more learning effect, than you would have with 60%/40% (this is what wesnoth does).

@ spaceinvader: i have explained why giving this choice to the player is not a good idea imo. you just have to read it in my initial posting. And i think that the *i only care for things that affect my personal game play fun* is not good. Proposing ideas that (imo) improve some elements in general should be allowed. What you show is something is have seen a lot in other games - *it no improvement for me - so i dont like it* *its not improvement for you - so why do you propose it*.

User avatar
ADmiral-N
Posts: 62
Joined: March 24th, 2008, 1:14 am
Contact:

Re: reducing save/loading

Post by ADmiral-N » April 27th, 2008, 11:10 am

As far as I understand it, the save-load feature was introduced to give the player an option to pause the game at one point and resume it later so they don't lose their progress, which is a must-have given the length of some scenarios.

The save-loading every turn strategy was thus seen as a "necessary evil" that comes with this feature and is unavoidable, and "you don't have to cheat" is just an argument saying that the advantages of having a proper save game system outweigh the disadvantages (allowing cheating). It seems inappropriate to turn this tradeoff-of-advantages argument around and use it as a justification to deny changes to the save game system.

With the proposed change, the save game feature fulfills it's purpose while at the same time it prevents the bad side things about it. Isn't that just what we were looking for?!

To prevent giving the player concrete pieces of information about the next RNG rolls, it should be trivial matter to "obfuscate" the RNG results, just a little bit. I.e. when a unit from hex (x/y) attacks an enemy on (x+1/y), let those 4 coordinates have an influence on the RNG. Though the odds would remain the same, the hit/miss-pattern would change.

Now I can't use the RNG to cheat my way through the scenario by save-loading because it's state is saved and it always generates the same numbers for the same moves. But I also can't use it to know in advance what the next hits and misses will be like because they're obfuscated depending on where the attacker and defender are standing! All I will ever know is that if I attack the same enemy with the same unit from precisely the very same position as from the last reload, I will get the same result.

To find the best moves and cheat the RNG, a cheater would now have to try *every single possible move in this turn*. I think it's safe to say that noone would go through that. And saving the game still works as intended.
Subspace! Subspace is freeware and is the longest-running massively multiplayer internet space combat game in the world.

taemyr
Posts: 65
Joined: September 1st, 2007, 12:33 pm

Re: reducing save/loading

Post by taemyr » April 27th, 2008, 11:27 am

Essentially you are suggesting using a hash of the replay as a seed for the RNG.

Post Reply