Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0009146 [DCSS] Patches feature N/A 2014-11-06 06:23 2014-11-13 19:35
Reporter infiniplex View Status public  
Assigned To sgrunt
Priority normal Resolution done  
Status resolved   Product Branch 0.16 ancient branch
Summary 0009146: Re-add layout_twisted_cavern and 2 new related layouts
Description layout_twisted_cavern was probably the most controversial layout, in that there were people strongly opposed and strongly in favor of it. I disabled it somewhere around June 2014 because it had at least one unequivocal problem (long travel time). As I have finally got around to fixing this, here are 3 patchs.

1. Move the delve-based layouts out of layouts.des into their own .des file. layouts.des is too large to work with easily and these form a natural group. This could theoretically conflict 0009090, but I was reading the git documentation and it said git can resolve multiple commits to different parts of the same file, so I hope it will work.

2. Add explicit stairs placement to layout_twisted_cavern and re-enable it
  -> appears in the Dungeon starting on floor 4
  -> layout_twisted_cavern does not have the allow_dup tag, so it will be placed at most once.
  -> Either 3 up stairs or 3 down stairs are placed (never a mix)
  -> In a straight cavern, the stairs will be spaced at 1/4, 1/2, and 3/4 of the distance along it
  -> In a branching cavern, they will not place it the two longest branches, but may (and often do) place in side branches.

3. Add 2 new layouts.
  a) layout_twisted_cross
    -> appears in Depths
    -> has four arms of different types, although they often resemble shorter copies of layout_twisted_cavern.
    -> only one of layout_twisted_cavern or this layout will appear
    -> one stairs (up or down) is always placed at the map center to avoid really long travel times
  b) layout_twisted_circle
    -> appears in Zot except Zot:$
    -> a circular mess of circular rooms and 1- and 3-wide and passages
    -> can appear multiple times, regardless of whether the first 2 layouts have placed
Additional Information
Tags No tags attached.
Attached Files ? file icon 0001-Moved-delve-layouts-to-their-own-file.patch [^] (16,388 bytes) 2014-11-06 06:23 [Show Content]
? file icon 0002-Re-add-layout_twisted_cavern-with-better-stair-place.patch [^] (2,392 bytes) 2014-11-06 06:23 [Show Content]
? file icon 0003-Add-2-more-delve-based-layouts.patch [^] (13,974 bytes) 2014-11-06 06:23 [Show Content]
png file icon layout_twisted.png [^] (36,422 bytes) 2014-11-06 06:23


? file icon 0004-Fixed-crash-in-dgn-delve.cc-for-too-small-maps.patch [^] (840 bytes) 2014-11-07 03:00 [Show Content]
? file icon 0005-Updated-layout_twisted_circle-for-larger-maps.patch [^] (3,701 bytes) 2014-11-07 03:01 [Show Content]
png file icon layout_twisted_circle2.png [^] (29,315 bytes) 2014-11-07 03:01

- Relationships

-  Notes
(0027679)
sgrunt (administrator)
2014-11-06 21:31

This version of layout_twisted_cavern is not something I want to see in the game - it is still far too linear and homogeneous, and the size of the generated levels in this iteration is too small.

I like what I see with the other layouts, as long as we can get a guarantee that the generated levels will be of a reasonable size (cf. the last layout_twisted_circle, which strikes me as being on the small side).
(0027682)
infiniplex (reporter)
2014-11-07 03:00

Here are two more patches that go after the first 3.

4. A fix to the delve function in dgn-delve.cc that prevents crashes when the map has a too-small area for the delve function to do its delving. This patch is independent of the ones before and should be pushed regardless of the rest. I suspect it will also solve issue 0008955.

5. A revision to layout_twisted_circle
  -> The layout now makes "fuller" circles. In 25 trials, it produced only 2 medium-sized maps (original 3rd image). 25 trials on the original version produced 6 medium and 1 small (original 4th image). There are other layouts (including layout_basic) that make small maps at least as often as the new version.
  -> The layout can now appear on Zot:$. Without patch 4, this would frequently cause crashes.
  -> layout_twisted_cavern is disabled again, pending further changes

A couple notes:
A: There is already a minimum size for maps that is enforced by validate conditions. The size (really a size for each map type) is set in dat/dlua/layout/minimum_map_area.lua. I don't know what this should be, but other people can change it if they want. If you do, test the new value with a few of the smaller maps, such as layout_basic (size varies widely), layout_rooms, layout_spider_delve, layout_caves (in Orc and Slime), layout_catacombs, and layout_cross.
B: I have received too many conflicting requests/suggestions about layout_twisted_cavern. There will be no new patches to re-enable it for this Mantis issue.
(0027748)
sgrunt (administrator)
2014-11-13 19:35

The new layouts and accompanying patches are in as of 0.16-a0-2159-g95a56e9. I deliberately omitted the patches having anything to do with layout_twisted_cavern, but this work on it can be left in the issue for reference.

- Issue History
Date Modified Username Field Change
2014-11-06 06:23 infiniplex New Issue
2014-11-06 06:23 infiniplex File Added: 0001-Moved-delve-layouts-to-their-own-file.patch
2014-11-06 06:23 infiniplex File Added: 0002-Re-add-layout_twisted_cavern-with-better-stair-place.patch
2014-11-06 06:23 infiniplex File Added: 0003-Add-2-more-delve-based-layouts.patch
2014-11-06 06:23 infiniplex File Added: layout_twisted.png
2014-11-06 21:31 sgrunt Note Added: 0027679
2014-11-07 03:00 infiniplex Note Added: 0027682
2014-11-07 03:00 infiniplex File Added: 0004-Fixed-crash-in-dgn-delve.cc-for-too-small-maps.patch
2014-11-07 03:01 infiniplex File Added: 0005-Updated-layout_twisted_circle-for-larger-maps.patch
2014-11-07 03:01 infiniplex File Added: layout_twisted_circle2.png
2014-11-13 19:35 sgrunt Note Added: 0027748
2014-11-13 19:35 sgrunt Assigned To => sgrunt
2014-11-13 19:35 sgrunt Status new => resolved
2014-11-13 19:35 sgrunt Resolution open => done
2014-11-13 19:35 sgrunt Fixed in Branch => 0.16 development branch


Mantis 1.1.8[^]
Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker