Devilution: Map generation bug where some areas are unreachable

Created on 28 Jun 2018  路  11Comments  路  Source: diasurgical/devilution

While I was on level 4, I noticed that there was an unreachable part of the map that contained a Goat Shrine. I don't remember Goat Shrines generating on lvl 4, but Nitekat from the discord has said they do generate on lvl 4 but it's rare. So we could just look at maybe optimizing/improving map generation if the generation problem doesn't exist in Vanilla D1.

Screenshot:
https://imgur.com/AJxaHbv

bug

All 11 comments

Would you please post the random seed? Press r in game. Also, create a save and upload if possible.

Would you please post the random seed? Press r in game. Also, create a save and upload if possible.

I just noticed that pressing r only works in debug builds.

@galaxyhaxz perhaps we should enable r to get the random seed also for the release version? At least until the majority of the bugs have been uncovered and fixed. The rest of the debug stuff can be in the debug specifc release.

galaxyhaxz perhaps we should enable r to get the random seed also for the release version? At least until the majority of the bugs have been uncovered and fixed. The rest of the debug stuff can be in the debug specifc release.

Definitely. Will make an update for that. We definitely need to know the map seed so we can trace through the DRLG code against the original and see what's messing up.

Seed: 699653937
Character: https://xyinn.org/diablo/debug/single_0.sv-2018-06-29-0845

Butcher already complete on this char (Obviously).

And yea, I second enabling debug by default in development builds. Also a new build should be released from HEAD.. 0.3?

I've tried the same map seed using builds from both Mingw and VC++ and the map generates correctly. Are you sure that's the right seed?

@mewmew Also, _DEBUG is now enabled by default, so all builds should contain them. The seed feature will come in handy.

@mewmew Also, _DEBUG is now enabled by default, so all builds should contain them. The seed feature will come in handy.

@galaxyhaxz Perfect! Another thing we may want to add is to output the git rev hash. Then we know for what game seed, and on what revision of Devilution.

Ok so the real issue was that the seed you provided is for level 2. Unlike Diablo 2 each dungeon level has it's own seed. In this case, the broken seed for level 4 is 708591219. We can test this like so:

Devilution.exe -l1 4 -r708591219 -w -d -^

@galaxyhaxz That's interesting, I didn't know every level had it's own seed.

I found another not reachable room in lvl2 with a current dev build (dba5e3dd5385da7e679f4f3a8505406d92962d75):
diablo_20180720_114047

Savegame: single_0.zip

I ran into the same issue on Dlvl 1 with the latest code.

image

Fixed with #165. Tested all 3 broken seeds:
fix

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AJenbo picture AJenbo  路  7Comments

AJenbo picture AJenbo  路  6Comments

maristane picture maristane  路  3Comments

AJenbo picture AJenbo  路  4Comments

sskras picture sskras  路  5Comments