ihhub / fheroes2

fheroes2 is a recreation of Heroes of Might and Magic II game engine.
https://ihhub.github.io/fheroes2/
GNU General Public License v2.0
2.58k stars 359 forks source link

New week, week of the creature, available heroes, generated resources, etc. should be the same if a save file is loaded #4265

Open LeHerosInconnu opened 2 years ago

LeHerosInconnu commented 2 years ago

Preliminary checks

Platform

Windows

Describe the bug

The available heroes, generated resources, etc., etc., etc. should be the same if a save file is loaded. All data needed and used for these events should be generated at the beginning of the scenario. For example, the generation of resources for the various generators on the adventure map should be determined and be the same in all cases. For the available heroes, if an action is repeated in the same way after loading a save file (with no heroes recruited by any of the players), the same result should be obtained.

In fheroes2: New week 003 New week 004 New week 005 New week 001

In fheroes2 (after reloading): New week 006 New week 007 New week 008 New week 002

End the turn. Reload and end the turn.

Save file

Here is the save file: Different heroes in tavern 01.zip

Additional info

Version 0.9.7 4208

vincent-grosbois commented 2 years ago

I think maybe there should be one issue for each because it's a lot of different things and also I'm not sure this ticket covers them all

LeHerosInconnu commented 1 year ago

A more recent save for this (creature generator).

In the original game, the number of generated creatures is always the same for each creature generator if the game is reloaded from a save game. In fheroes2, this is not the case.

In original game: Always the same number of creatures generated after each reload.

Map generator creatures number 001

In fheroes2: The number of generated creatures is different after each reload.

Map generator creatures number 002

Map generator creatures number 003

Map generator creatures number 004

Here are the save files (1.0.4 7171): Creature generator 01.zip

fheroes2bugs commented 8 months ago

I believe this "creature generator" and "hero generator" was done by developers of heroes 2 specially. I mean, they knew about it and they did it for you to save-load to make game more interesting for people, that always want to do thing perfect.

In heroes 3 there is the same "bug", so it is done intentionally. Correct me about heroes3, if I am not right.

LeHerosInconnu commented 8 months ago

Hello @fheroes2bugs,

I believe this "creature generator" and "hero generator" was done by developers of heroes 2 specially. I mean, they knew about it and they did it for you to save-load to make game more interesting for people, that always want to do thing perfect.

In heroes 3 there is the same "bug", so it is done intentionally. Correct me about heroes3, if I am not right.

I've never considered save load to be an interesting way of playing. In that case, why not offer the player the possibility of completely choosing all the starting conditions?

fheroes2bugs commented 8 months ago

Hello @fheroes2bugs,

I believe this "creature generator" and "hero generator" was done by developers of heroes 2 specially. I mean, they knew about it and they did it for you to save-load to make game more interesting for people, that always want to do thing perfect. In heroes 3 there is the same "bug", so it is done intentionally. Correct me about heroes3, if I am not right.

I've never considered save load to be an interesting way of playing. In that case, why not offer the player the possibility of completely choosing all the starting conditions?

Then, next point, you will need to offer the player to choose all the "random" resources and pick what neutral monsters he will pick insted of "random". Random is a part of gameplay and its up to your conscience whether to reload save or not. Just your moral choise are you honest enough with yourself to fight the true random or to save-reload to have best of all randoms.

LeHerosInconnu commented 8 months ago

@fheroes2bugs.

Hello @fheroes2bugs,

I believe this "creature generator" and "hero generator" was done by developers of heroes 2 specially. I mean, they knew about it and they did it for you to save-load to make game more interesting for people, that always want to do thing perfect. In heroes 3 there is the same "bug", so it is done intentionally. Correct me about heroes3, if I am not right.

I've never considered save load to be an interesting way of playing. In that case, why not offer the player the possibility of completely choosing all the starting conditions?

Then, next point, you will need to offer the player to choose all the "random" resources and pick what neutral monsters he will pick insted of "random". Random is a part of gameplay and its up to your conscience whether to reload save or not. Just your moral choise are you honest enough with yourself to fight the true random or to save-reload to have best of all randoms.

Let's take the case of a player who loads a savegame, plays a few turns, just for the pleasure of "just one more turn", and leaves the game without saving. The next day, he reloads the same savegame and expects to have the same conditions again, but he no longer gets the same hero at the tavern, the resource stacks no longer give the same resources, there are a different number of creatures in the creature generators, etc., in short all the plans he had thought of while waiting to play again are no longer possible and his gaming session is ruined, the fun is gone.

With the possibility of "load save" with different results, in the long run, players lose interest in the game because they can get more or less what they want by dint of "load save". This practice also diminishes the strategy side of the game (doing the best you can with what you've got), and increases the luck side (making a few more "load save" to get what you want). In that case, it would be better to integrate cheat codes, to obtain creatures, resources, the hero of your choice, etc. Which would amount to the same thing without the tedious "load save" process. And that's without mentioning all the problems that "load save" can cause in multiplayer mode.

Anything involving randomness should be generated at the start of the scenario. This is appropriate, and desirable for replayability. After that, it's a strategy game, not a game of randomness. And it has the merit of being clear.

fheroes2bugs commented 8 months ago

Speaking of which, for original heroes 2 there is "save editor" where you can choose heros in tavern etc. image

https://forum.heroesworld.ru/showthread.php?t=12551

I have already e-mailed author and asked if he can do it for fheroes2... He said, it should be no problem.

Also, about:

Anything involving randomness should be generated at the start of the scenario. I have already asked in this discussion... Is it so that way in heroes 3? I don't have it now installed, but as far as I remember, there is same logic as in heroes 2, every week - random creatures in dwellings and random heroes in taverns.

In my opinion, only experienced gamers know all that "random in a new week". So, always, experienced people know how to automatize load-safe game or even starting a new game for better resources/artifacts. We, experienced players, often play for the rating, aren't we? So we should be smarter than others.

Here is me, finding in map "Pyramid" start with only goblins and trying to find boots in excavations near skeleton, using "macro recorder":

https://github.com/ihhub/fheroes2/assets/145407420/b75288dc-d324-4e0b-8a92-09d69b2af8bb

LeHerosInconnu commented 8 months ago

@fheroes2bugs.

Speaking of which, for original heroes 2 there is "save editor" where you can choose heros in tavern etc.

image

https://forum.heroesworld.ru/showthread.php?t=12551

I have already e-mailed author and asked if he can do it for fheroes2... He said, it should be no problem.

I've already used this save editor to do some testing in Heroes 2 for some compliance issues in fheroes2. It's good for testing, but not something I'd use to play a game. I find it would take away much of the charm of randomness, even though I prefer contained and memorized randomness. :)

Anything involving randomness should be generated at the start of the scenario.

I have already asked in this discussion... Is it so that way in heroes 3? I don't have it now installed, but as far as I remember, there is same logic as in heroes 2, every week - random creatures in dwellings and random heroes in taverns.

It's been a long time since I played Heroes 3, and the game is no longer installed on my computer. I prefer to play Heroes 2, fheroes2 now, I find the combats more dynamic, and I could only see what is wrong in Heroes 3 for me. I don't even watch "lets play Heroes 3" videos anymore. For me, Heroes 2 (fheroes2) is a much more fun game to play, this after playing tens of thousands of hours of Heroes 3. So I can't answer that question, and I don't remember checking it out when I was playing it.

In my opinion, only experienced gamers know all that "random in a new week". So, always, experienced people know how to automatize load-safe game or even starting a new game for better resources/artifacts. We, experienced players, often play for the rating, aren't we? So we should be smarter than others.

Personally, I play for fun, not for competition. I get high scores, but only playing for fun, I don't do optimization, etc.

Here is me, finding in map "Pyramid" start with only goblins and trying to find boots in excavations near skeleton, using "macro recorder":

https://github.com/ihhub/fheroes2/assets/145407420/b75288dc-d324-4e0b-8a92-09d69b2af8bb

Geez, it's like work. :D Here it's possible to talk about the complete elimination of randomness. So what's the point of wanting randomness on the one hand, and then trying to eliminate it completely on the other?