Dungeon generation bugs
issueid=759 02-24-2012 08:33 PM
Ancient Member
Number of reported issues by anon123: 110
Dungeon generation bugs
There are some bugs in the dungeon generation code that cause (mostly minor) quirks in levels.

Problem
There are bugs in the dungeon generation code that cause quirky layouts in levels. These are all minor, excepting the unreachable shops.

1. Odd secret doors in passages

Code:
 ##########
 #......./## <- Here
 #.......#.###
 #.......#...#
##.......###@#
./.......# #./....
.######### #####/
's'earching when adjacent to that "door" will make it disappear:

Code:
 ###########
 #......./.#
 #.......#@###
 #.......#...#
##.......###.#
./.......# #./....
.######### #####/
2. Corridors made of doors

Code:
    #####/#
    #..../#
    #..../#
    #..../#
    #..../#
    #..../#
    #....##
    ######
Probable explanation: "First, dungeon rooms are generated, and then an attempt is made to connect there rooms with corridors. However, when (for some reason) the generator creates a room with even numbers of rows/columns (normal rooms have odd numbers), the corridor generator doesn't take that into account and tries to connect to the room to the right-most/bottom-most tile - which would be rock. I assume that the generator generates corridor tiles before entering the room, and then digs throughout the room turning rock to doors until it hits a floor tile. Normally, it would turn only the first tile to a door - but when it hits the right-most/bottom-most row/column, which is actually the left/bottom wall of the room, it turns it all (or almost all) into doors." -- r.g.r.a bug list

3. Walls of secret doors in the banshee's room

Changelog says: "The banshee room could occasionally be placed on odd screen coordinates which in turn occasionally caused a wall to be filled with secret doors." Nonetheless it can still happen as of 1.1.1:

Code:
     #.........#     #.......#####   #################.#####+#   #...........#
     #...[.....#     #.....%./...#   #....../..../..%.[%.....#   #...........#
     #.........###   #####/#####.#####..>.../#####..........%### #############
     #.........%.#########.#####.%.../%..@../#   #............%#
     #.........#........%............/.%....## ###.%.....<...#.#   #########
     #.........###########.##################  #./....%%.....#.#   #......%#
     ###########   #############################%#......%.%..#.#####.......#
4. Double corridors on vault levels.

These look like this:
Code:
                                                            ##########
                                                       ######........######
                 #########                          ####..................####
                 #.......############################.......................(#
                 #.......#.....@............................%%......%........#
                 #...........^.......################........................#
                 #.......###########.#########      ####..................####
                 #.......#         #.........#         ######........######
                 #.......#         #.........#              ####.#####
                 #.......#         #.........#                 #.#
Assumedly, the game sticks the corridor from the vault to the rest of the dungeon above that of another room's. This doesn't always happen.

5. Unconnected shops

There can be unconnected shops, only reachable via digging or teleportation. For example:

Code:
         #######                   #.#######     #.........# #.........#
         #.....#                   #.#           #.........# #.........#
 ####### #.....#####################.#############.........# ###########
 #!!!./# #@..../................................./.........#
 #!!!.## #.....#####################.#############.........#
 #!!!!#  #.....#                   #............./.........#
 #!!!!#  #######                   #########################
 ######
These are rather rare. The savegame for that character is available upon request.

How to reproduce it
Regular gameplay will show at least one of these in action.

Notes
See above.
Issue Details
Issue Number 759
Project ADOM (Ancient Domains Of Mystery)
Category Windows 7
Status Fixed
Priority 9
Affected Version ADOM 1.2.0 pre 1
Fixed Version ADOM 1.2.0 pre 9
Users able to reproduce bug 2
Users unable to reproduce bug 0
Assigned Users (none)
Tags (none)




02-29-2012 06:28 PM
Ancient Member
1. Odd secret doors in passages
The game makes a check before generating those, but it seems to be bugged?

"Bug evaluation: Secret doors will now only appear in straight tunnels. An appropriate check has been added for this." -- RFE 58

12-18-2012 12:21 AM
The Creator
Question: Do these broken maps always seem to appear on vault levels?

12-18-2012 12:55 AM
Ancient Member
Quote Originally Posted by adom-admin
Question: Do these broken maps always seem to appear on vault levels?
Not always. It's pretty rare, but I've seen it a handful of times. Perhaps it only happens with that particular design.

12-18-2012 01:09 AM
Senior Member
I see 1 and 4 pretty commonly.

12-18-2012 01:15 AM
Senior Member
1 and 4 are pretty cool looking, really. If they could be kept while fixing the other ones, that would be neat. Variety is the spice of life and these are chaos-tainted, mysterious, puzzling dungeons, after all.

12-19-2012 04:20 PM
Junior Member
Here's something I found in the ID. Didn't see any dig-able monsters on the level so I assume it's a glitch (although a tiny one :))
http://i47.tinypic.com/5lcin5.jpg
Oh and this was in the latest build (p8)

01-10-2013 06:35 PM
The Creator
Fixed. I finally found the program in the shop size code.

07-10-2013 06:30 AM
Member
#2 still happens in pre14. I found a bookshop with this problem in PC1 (see SE corner):
Code:
                                           #################
                                           #...............#
                             #######   #####.#.....#######.#########
                             #.....#   #.....#.....#     #./.......#
     #######   ###########   #.....#####.###.#########   ###.......# #########
     #.....#   #.........#   #...../.................#     #.......# #[......#
     #.....#####.........#   ###########.###########.##### ###########.....<.#
     #.....#.../.........#             #.#         #.....#       #.*./.......#
     #.....#.###.........###############.#         #####.#   #####.#########/#
     #...../.# #........./...#...........#             #.#   #.....#       #.#
     ######### #############.#.....#######   ######### #.#####.#####   #####/#
                           #./.....#         #.......# #.....#.#       #...@/#
 #############################.....######### #.......# #####.#/####### #..../#
 #          ................./.............# #.......#     #.........# #.@../#
 #         ###############################.###...>...#     ###.._....# #"...##
 #         #                             #.../.......#       #.......# ######
 ###########                             #############       #########

09-28-2013 09:45 PM
Senior Member
In my opinion, the only behavior that was in real need of fixing was #5 - I wouldn't mind if every other case stayed in the game. It adds flavor and unpredictability.

+ Reply