Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutorial: Force bad luck to teach about save/load #4010

Open
jostephd opened this issue Apr 3, 2019 · 9 comments

Comments

Projects
None yet
5 participants
@jostephd
Copy link
Member

commented Apr 3, 2019

https://forums.wesnoth.org/viewtopic.php?p=640618#p640618, suggestions by @beetlenaut and me:

Maybe add a scene to the tutorial where we have the player do an attack, force that attack to miss 4/4, and then the narrator explains that that happens sometimes and campaigns generally don't expect you to save/load when it happens

This message is a really good idea. However, I bet it's rare that someone saveloads when a fighter or archer misses 4 out of 4 times. More often it seems to be when an important unit dies. Maybe we should do it the first time a unit dies in the tutorial. We could even force that if it hasn't happened yet and the enemy is down to just a couple units. (The player would be winning handily in that case.)

@jyrkive

This comment has been minimized.

Copy link
Member

commented Apr 3, 2019

BTW, it's trivial to force attacks to miss: just give the target unit the invulnerable status. It's not shown to the player, so it's perfect for that.

@jostephd

This comment has been minimized.

Copy link
Member Author

commented Apr 3, 2019

@jyrkive

This comment has been minimized.

Copy link
Member

commented Apr 3, 2019

Hmm... on second thought invunerability isn't such a good idea after all because attack prediction is aware of it, and thus the attack dialog would show in advance that the attack cannot hit.

@jostephd

This comment has been minimized.

Copy link
Member Author

commented Apr 3, 2019

So we might be able to assign the invulnerable status in an attack event, or just use FORCE_CHANCE_TO_HIT. At any rate, this is solvable.

Let's try to figure out the gameplay we're after. @beetlenaut How can we force a unit to die? A good player can win the tutorial with no losses, I think, so I don't think we can force a unit to die. Maybe we can combine the ideas: show the message in S2 upon the first player unit dying, and force the first attack on the enemy leader to miss entirely if no player unit had died by that point.

@beetlenaut

This comment has been minimized.

Copy link
Member

commented Apr 3, 2019

It's not that unlikely for four hits to miss the leader--he's in a castle after all--and I can't imagine anyone savescumming just for that. Missing 7 out of 8 on the first two attacks would be a lot more aggravating, so maybe we could do that. I would say that only the sixth out of the first 8 strikes hits, so two shamans would miss entirely, and two archers would only get one hit between them. ("Wow, you've had some really bad luck so far this turn!")

However, we could check each turn to see if there was a unit the leader could rush out and kill with some "luck". If he was quick and fearless, that would be most of them. Even a good player is almost certainly going to approach the leader with a unit that has 30 hitpoints or less. So, forcing the loss of a unit would be technically impossible, but making it really likely wouldn't be that hard.

@CelticMinstrel

This comment has been minimized.

Copy link
Member

commented Apr 4, 2019

What exactly are we trying to solve with this? I don't think the existence of save/load really needs to be covered in the tutorial...

@beetlenaut

This comment has been minimized.

Copy link
Member

commented Apr 4, 2019

Apparently, some players seem to think that save/loading is normal and expected, and, by design, it's the only way to make it through the mainline content. Maybe we should just do a tip of the day though.

@Arcanister

This comment has been minimized.

Copy link
Contributor

commented May 16, 2019

I think forcing a player unit to die or to miss is a bad idea, it will be viewed as unfair by the player.
And as far as I understand, it's impossible to detect savescumming from wml/lua code?
Otherwise I would suggest this dialogue after player loads a game from same not-first turn several times in row.

@jostephd

This comment has been minimized.

Copy link
Member Author

commented May 17, 2019

I think forcing a player unit to die or to miss is a bad idea, it will be viewed as unfair by the player.

Okay, how about this: we don't load the dice, but if the player gets many misses by chance, then the advisor elf (side 3) remarks about that?

And as far as I understand, it's impossible to detect savescumming from wml/lua code?
Otherwise I would suggest this dialogue after player loads a game from same not-first turn several times in row.

It might be possible to engineer something with https://wiki.wesnoth.org/PersistenceWML.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.