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

Closed doors logic #68

Merged
merged 26 commits into from
Jul 17, 2024
Merged

Closed doors logic #68

merged 26 commits into from
Jul 17, 2024

Conversation

wossnameGitHub
Copy link
Contributor

New features:

  1. Added algorithm to account for closed doors
    This means that from now on, the following things will never happen again:
    A) Levels being inaccessable due to closed doors
    B) The player running into a dead end and therefore a softlock due to closed doors
    Keep in mind that softlocking due to [missing items] is still completely possible, this closed doors algorithm is a whole different subject.

  2. Added multiple small things to graph creation:
    A) closed doors are marked in red, and point in the direction that is still traversable even if the door is closed
    B) one-way-transitions are marked by using a dashed line
    C) temp disabled exits are marked in black

In order for those to be added:

  • Massive update/overhaul to entrance_rando.py
  • Quite large update/overhaul to graph_creation.py

Copy link
Owner

@Avasam Avasam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went through a full review of graph_creation.

Only a very superficial look at the new rando logic, probably fine (the idea is sound, haven't checked the implementation in details yet).
The amount of global variables and context-specific top-level public methods we're using make me think that it might soon be time to think about making the "randomizer" it's own class.

Dolphin scripts/Entrance Randomizer/lib/constants.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/__main__.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/graph_creation.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py Outdated Show resolved Hide resolved
Dolphin scripts/Entrance Randomizer/lib/entrance_rando.py Outdated Show resolved Hide resolved
@Avasam Avasam force-pushed the closed_doors_logic branch from 034a653 to 91b667d Compare July 16, 2024 20:47
@Avasam Avasam merged commit e1eed81 into Avasam:main Jul 17, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants