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

Adventure map, passability test #4495

Open
2 tasks done
LeHerosInconnu opened this issue Oct 25, 2021 · 21 comments
Open
2 tasks done

Adventure map, passability test #4495

LeHerosInconnu opened this issue Oct 25, 2021 · 21 comments
Assignees
Labels
bug Something doesn't work high priority Very critical change needed immediately logic Things related to game logic
Milestone

Comments

@LeHerosInconnu
Copy link

LeHerosInconnu commented Oct 25, 2021

Preliminary checks

Platform

Windows

Describe the bug

Hello @ihhub,

So, I finished my big (and boring) test on passability without any object adjacency.
There are still many differences, here some examples:

Sawmills.
Passability test 015
Passability test 016
Passability test 017
Passability test 018
Passability 02 013
Passability 02 014
Passability 02 015
Passability 02 016
Passability 02 069
Passability 02 070

Water Lake.
Passability 02 045
Passability 02 046
Passability 02 047
Note that I had a problem while switching between the original game and fheroes2, the screen is a bit blurred and thus displayed in a different color, I didn't manage to reproduce this flaw.
Passability 02 048

There is also a difference of operating to activate the event of certain objects (#4508).

In original game:
For Shipwreck and Magellan's Maps, the hero move on the active square of the object to activate the event.
And for Derelict Ship, Mermaid and Sirens, the hero don't move over the active square of the object to activate the event.

In fheroes2:
For Shipwreck, the hero don't move over the active square of the object to activate the event.
And for Derelict Ship, Mermaid, Sirens and Magellan's Maps, the hero move on the active square of the object to activate the event.

Tell me if you want me to open one or more issues for these differences.

There are also differences in passability with the Shipwreck and Derelict Ship.
And in the case of the Shipwreck, there is a difference in passability in the original game depending on the presence or absence of terrain south of the Shipwreck position.
I think that in the case of the Shipwreck and the presence of terrain south of the position it may be a question of a bug in the original game.

In original game:
Passability test 069
Passability test 106

Also, I think that all the squares of the Shipwreck and the Derelict Ship should remain accessible as it is currently the case in fheroes2, it is much more natural and it does not change at all the way to play compared to the original game.

In fheroes2:
Passability test 066
Passability test 070

There are also differences between the predetermined path of the hero, but these are not related to passability.
I will open another issue to optimize the predetermined path of the hero (#4510).

Passability test 001
Passability test 002

There are also differences with the way Whirlpools work (#4509).
Related discussions: #3565, #3563 and #3562.

Passability test 071
Passability test 072

For the Jail, the hero passes through the Jail when he moves.
This bug is also present in the original game.
I think this can be fixed with the passability.
Tell me if you want me to open one separate issue for this.

vlcsnap-2021-10-25-14h57m56s078

2021-10-25.14-56-25.mp4

Some objects don't have passability, but it's the same in the original game (the case of the Jail is mentioned above).
I think they can stay that way (except for the Jail).

Passability 02 053
Passability 02 054
Passability 02 081

For me it's also okay (and preferable) that the Jail can be opened when the hero is located in the square directly north.
In the original game, the hero first moves east to open the Jail, which doesn't make much sense. :D

Passability test 025
Passability test 026

Now I just have to test all the possibilities with adjacency, see you in 10 years. :D
And then the passability with the Dimension Door spell, count another 10 years for that. :D :D
Note that this is a joke, I have no intention of doing this. :)

For passibility with the Dimension Door spell, a simple rule should be applied.
If the hero can move on a square on horseback, then he can also move on this square with the Dimension Door spell except for the interactive square(s) of the object (even for squares where the hero's path on horseback is blocked by another object(s) but which would be accessible if not blocked).

Here are all screenshots for passibility and predefined path differences:
https://drive.google.com/file/d/12eG_uOTrI7wSsnGJBagfvu8AGQ-qxAD0/view?usp=sharing

Save file

Here are the test scenario and the save files:
Passability test scenarios and saves.zip

Additional info

No response

@LeHerosInconnu LeHerosInconnu added the bug Something doesn't work label Oct 25, 2021
@ihhub
Copy link
Owner

ihhub commented Oct 25, 2021

Hi @LeHerosInconnu , please check the latest version as I recently fixed many cases with diagonal moves. I think it was yesterday :)

@ihhub ihhub added high priority Very critical change needed immediately logic Things related to game logic labels Oct 25, 2021
@ihhub ihhub added this to the 0.9.9 milestone Oct 25, 2021
@ihhub
Copy link
Owner

ihhub commented Oct 25, 2021

@LeHerosInconnu , anyway, thanks a lot for your testing and findings! Most of issues are still present. I'll take a look and fix as many as possible.

@ihhub ihhub self-assigned this Oct 25, 2021
@LeHerosInconnu
Copy link
Author

Hello @ihhub,

So there is no need to open other issues for the other cases presented?

@ihhub
Copy link
Owner

ihhub commented Oct 26, 2021

Hi @LeHerosInconnu , give me please some time to analyse your findings. I'll let you know soon.

@ihhub
Copy link
Owner

ihhub commented Oct 26, 2021

@LeHerosInconnu , please create separate issue for Derelict Ship, Mermaids and Shipwreck interaction (moving or not moving onto a cell). This will be manageable to fix in this release. Also create an issue about path creation. I think we need to create path based on a direction if both paths have the same value / length.

Some passability issues are fixed but some aren't as you noticed. I'll fix Reefs behavior, I think these objects are considered as a part of action objects, which is wrong.

Also please create a separate issue for Whirlpools. The logic is incorrect, we shouldn't allow to move like this.

@LeHerosInconnu
Copy link
Author

@ihhub.

@LeHerosInconnu , please create separate issue for Derelict Ship, Mermaids and Shipwreck interaction (moving or not moving onto a cell). This will be manageable to fix in this release. Also create an issue about path creation. I think we need to create path based on a direction if both paths have the same value / length.

Some passability issues are fixed but some aren't as you noticed. I'll fix Reefs behavior, I think these objects are considered as a part of action objects, which is wrong.

Also please create a separate issue for Whirlpools. The logic is incorrect, we shouldn't allow to move like this.

Okay, I'll do this tomorrow.

@LeHerosInconnu
Copy link
Author

Hello @ihhub,

@ihhub.

@LeHerosInconnu , please create separate issue for Derelict Ship, Mermaids and Shipwreck interaction (moving or not moving onto a cell). This will be manageable to fix in this release. Also create an issue about path creation. I think we need to create path based on a direction if both paths have the same value / length.
Some passability issues are fixed but some aren't as you noticed. I'll fix Reefs behavior, I think these objects are considered as a part of action objects, which is wrong.
Also please create a separate issue for Whirlpools. The logic is incorrect, we shouldn't allow to move like this.

Okay, I'll do this tomorrow.

All done.

ihhub added a commit that referenced this issue Oct 28, 2021
relates to #4495
- also deduplicate code
- update readability of code related to map format
ihhub added a commit that referenced this issue Oct 29, 2021
relates to #4495
- also deduplicate code
- update readability of code related to map format
@ihhub
Copy link
Owner

ihhub commented Oct 29, 2021

@LeHerosInconnu , thank you very much for this!

Reefs passabilities are fixed :)

@ihhub ihhub modified the milestones: 0.9.9, 0.9.10 Nov 5, 2021
@ihhub ihhub modified the milestones: 0.9.10, 0.9.11 Dec 5, 2021
@Branikolog
Copy link
Collaborator

OG:
image
fheroes2:
image
Pass.zip

@ihhub ihhub modified the milestones: 0.9.11, 0.9.12 Dec 23, 2021
ihhub added a commit that referenced this issue Jan 19, 2022
@ihhub
Copy link
Owner

ihhub commented Jan 20, 2022

The case described by @Branikolog is fixed. The only passability issue is left with Sawmill.

@Branikolog
Copy link
Collaborator

Sawmill in the OG while enemy hero is visiting it:
sawmill

@LeHerosInconnu
Copy link
Author

Hello @Branikolog,

Sawmill in the OG while enemy hero is visiting it: sawmill

This is a bug in the original game that affects many objects and which should be fixed in fheroes2. :)
Link to some examples: https://heroes2.forumactif.com/t862-heroes-2-bugs-heroes-interaction-through-objects

@Branikolog
Copy link
Collaborator

Hi, @LeHerosInconnu !
Thanks for the info.
I've posted it here, because this can help our devs to fix current passability problems.

@ihhub ihhub removed this from the 0.9.12 milestone Feb 7, 2022
@zenseii
Copy link
Collaborator

zenseii commented Feb 28, 2023

During a stream I noticed this seemingly passability problem where the road between the gazebo and the rock is blocked and you can see that the route is planned around them:
image

https://www.youtube.com/live/uoNoRWF6Ock?feature=share&t=4091

The map is an external one called Former Rivals but I don't have it to test on.

@LeHerosInconnu
Copy link
Author

I don't have this scenario either.

@ihhub ihhub modified the milestones: 1.0.2, 1.0.3 Mar 12, 2023
@ihhub ihhub modified the milestones: 1.0.3, 1.0.4 Apr 11, 2023
@ihhub ihhub modified the milestones: 1.0.4, 1.0.5 May 13, 2023
@ihhub ihhub modified the milestones: 1.0.5, 1.0.6 Jun 14, 2023
@ihhub ihhub modified the milestones: 1.0.6, 1.0.7 Jul 15, 2023
@ihhub ihhub modified the milestones: 1.0.7, 1.0.8 Aug 14, 2023
@ihhub ihhub modified the milestones: 1.0.8, 1.0.9 Sep 11, 2023
@ihhub ihhub modified the milestones: 1.0.9, 1.0.10 Oct 11, 2023
@ihhub ihhub modified the milestones: 1.0.10, 1.0.11 Nov 18, 2023
@ihhub ihhub modified the milestones: 1.0.11, 1.1.0 Dec 23, 2023
ihhub added a commit that referenced this issue Feb 24, 2024
@ihhub ihhub modified the milestones: 1.1.0, 1.1.1 May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something doesn't work high priority Very critical change needed immediately logic Things related to game logic
Projects
None yet
Development

No branches or pull requests

4 participants