Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007003 [DCSS] Patches feature N/A 2013-05-03 07:45 2013-05-31 15:11
Reporter infiniplex View Status public  
Assigned To mumra
Priority normal Resolution done  
Status resolved   Product Branch 0.13 ancient branch
Summary 0007003: 3 new layouts with supporting C++ code
Description This patch adds/changes the following:
1. LUA find_in_area function now allows you to specify multiple glyphs and returns true if any are present
2. Added dgn-irregular-box.h/cc. This file contains a command that makes a box on the map with no-straight edges. The edges look like they are made or segements, not just eratic diagonals. This function can be called from LUA as make_irregular_box. dgn-irregular-box.o is added to Makefile.obj.
3. Added layout_overlapping_boxes to layout.des
4. Added layout_jigsaw to layout.des
5. Added layout_irregular_city to layout_city.des

I believe that layout_honeycomb should not generate in Dis. It would be nearly impossible to adapt it to be more squarish, and it is similar to layout_jigsaw. I did not change it because I was not the one who put it in Dis, and mumra's reasons may still be valid.

I do not know which files these layouts should be in. I am hoping that someone else (probably mumra) can work this out.

Suggestions/problems/ideas for improvement are welcome, as always.
Additional Information
Tags No tags attached.
Attached Files ? file icon 0001-Added-dgn-irregular-box-3-layouts.patch [^] (36,795 bytes) 2013-05-03 07:45 [Show Content]
png file icon layout_overlapping_boxes.png [^] (23,793 bytes) 2013-05-03 07:45

png file icon layout_jigsaw.png [^] (32,960 bytes) 2013-05-03 07:45

png file icon layout_irregular_city.png [^] (22,894 bytes) 2013-05-03 07:46

? file icon 0001-Added-dgn-irregular-box-3-layouts2.patch [^] (37,561 bytes) 2013-05-04 22:14 [Show Content]

- Relationships

-  Notes
infiniplex (reporter)
2013-05-03 07:47

layout_irregular_city appears in D, Pan, and Dis. The screenshots are from Dis.
layout_overlapping_boxes and layout_jigsaw only appear in Dis (currently).
mumra (developer)
2013-05-03 17:58
edited on: 2013-05-03 18:01

These look pretty nice! I notice an occasional artefact on layout_irregular_city - you can see this on the first two images where one of the very small boxes has a short line sticking out. On one of them this results in a door being placed on the corner intersection. How difficult is this to fix?

These should perhaps go in layout_city.des -- they are quite similar in theme to layout_stronghold even if it's a completely different generator. But I'm starting to have a hard time working out how to organise the layouts, especially as I have another dozen or so works-in-progress! I might have a reshuffle at some point.

On branches -- these all are certainly great for Dis. layout_jigsaw I feel might be quite Pan-like too. Also I might now remove layout_honeycomb from Dis and perhaps add it to Tar instead. In general I want to start tightening up branch themes; Coc and Geh are now very good in my opinion, and with this set Dis is starting to get a really good consistent theme (I have a couple others planned including something that generates fort-like architecture). The weird ones for me right now are Tar, Pan, Snake, and in fact D. I've added a few layouts in those places (actually tons in D) and the themes are all over the place. We should perhaps be aiming for D to not have any that look too much like branch themes. I should note that layout_cave_town is quite similar in concept to layout_irregular_city except with much more rough-shaped cavelike rooms and border, maybe we should keep that as the D city or even move it to Tar and have irregular_city only appear in Dis. In some ways it's a shame to have good layouts only seen so rarely, on the other hand having some really interesting content that you can't get anywhere else is a good reward and nice content for players reaching the extended endgame (an area which is somewhat lacking in most peoples' regard)... Anyway, let me know your own thoughts about this general topic, I think it will be a big step in improving the theme and consistency of different areas of the game.

Something else I should mention, I don't know if you've seen how Dis:7 is hardcoded to always use chaotic_city; see line 3998. It has a check for the MMT_VAULT mask so it won't place any rooms overlapping the primary vault, this way it integrates nicely with that branch end. If you add a similar check to your code, I'd like to use layout_irregular_city on the branch end instead if it looks good -- and possibly even remove layout_chaotic_city entirely from Dis, since it's a somewhat cliched layout currently used in nearly every branch in the game! I would remove the hardcoded layout and instead set DEPTH: Dis:1-6 on the other Dis layouts, of course if you can make any of the others integrate tightly with the primary vault too it'd be good to have more variety there.

infiniplex (reporter)
2013-05-04 22:13

1. Thank you for noticing the mistake in layout_irregular_city! I had an x/y pair flipped in the code.

2. I don't care which layouts go where. I am happy for you to be the final authority on that matter.

3. I like the idea of different branches having a more defined character. My version of Crawl history (which may be inaccurate as I have only been here a couple years) goes something like this:

In the beginning, there were a only a few layouts and they were used more-or-less everywhere. A few places such as the Vaults used a subset of them. There were a few special places like Abyss and the labyrinth. Over time, more layouts were made. Some of these layouts were restricted to certain branches, giving the branches a more distinct character. Currently, some branches are distinct, but others are not yet.

My sense (somewhere between reality and idealized) of the character of branches is:
D: ???
Orc: Caves with gold
Elf: ???
Lair: Non-weird D with ruined walls and no doors
Snake: ??? but no doors
Swamp: Swamp layout
Shoals: Shoals layout
Spider: Delve layout, pools of water, everything looks natural
Vaults: Vaults layout
Blade: Fixed map
Crypt: ???
Tomb: Fixed maps
Abyss: Abyss layouts
Vestibule: Fixed map
Cocytus: Irregular, lots of water, natural-looking
Gehenna: Irregular, caves, lava
  -> I would like mixed natural and artificial-looking structures (in each map). This would mean adding buildings to my Gehenna layouts (I can do this easily), you finishing the Gehenna layout you talked about in this style (was that layout_cave_town?), and shifting your existing Gehenna layouts to Cocytus. I am not sure about the other layouts that occasionally appear in Gehenna. The lava river is nice, but they do not really fit the theme.
Dis: Large open areas, rooms connected directly, no hallways, separated by doors
Tartarus: ???
Pan: ???

I think D and Pan need more variety than other branches. D because it is big and players spend so much time there, and Pan because it has infinite maps. There is the possibility of which layouts are used in D change more with depth. Currently, layouts either have a first depth and then continue indefinitely, or they have a range which ends at 22. For example, perhaps at some depth layout_big_octagon should appear and then at some deeper depth it should be stop appearing and layout_forbidden_doughnut should appear instead.

Snake is especially difficult because the ideal from a conceptual point of view (lots of narrow twisty passages) is horrible from a gameplay point of view (hard to move, boring combat).

I think that Tartarus should be focused on narrow passages and rooms. I picture Tartarus having and atmosphere of hopelessness and permanent imprisonment (matching Greek myths). With the dark tiles and (largely-theoretical-at-the-moment) miasma, this would give it the sense of a medieval dungeon where prisoners were locked up and forgotten. Combined with the changes to Gehenna I mentioned above, this would give the 4 Hells each a distinct layout style:
Dis: Large rooms, city
Coc: Twisty caverns
Geh: Big open caverns the demons have built in
Tar: Narrow passages

I think it is OK that not all branches have a character yet. Once they do, there will be less scope for innovation, so we should wait until someone has a good idea. I think that the branch differentiation is good, which would translate into restricting more layouts to fewer branches. I also think that there is nothing wrong with some layouts only appearing in the end game.

4. I am afraid I am not really keeping up with all of your layouts, so I cannot speak on them in detail. In general, if there are similar but distinct layouts, putting one in one branch and the other in another seems good. That is why I think layout_honeycomb should not be in D: It is too similar to layout_jigsaw (the motivation for layout_jigsaw was to make something layout_honeycomb-ish that would work in Dis).

5. I knew there were some levels with hard-coded layouts, but I did not know all of them (including that one) or where it was specified. Thank you. It seems that (currently) layouts can only be placed after a primary vault (or whatever it's called) if they are in written C++ (e.g. layout_delve exists in duplicate) because a) they have to be called as C++ functions and b) there is no way to check for the MMT_VAULT mask from LUA layouts. To me, this seems less than ideal, but that is beyond the scope of this discussion.

6. I do not think that using layout_irregular_city for Dis:7 is a good idea. To me, the irregular boxes look less orderly than even the chaotic city. As the end vaults are very ordered (the boxes are arranged in patterns and have complex shapes designed with a certain style to give specific effects), I think the square boxes are better. This fits with my idea (from C.S. Lewis?) of Hell as a place that is "lesser" than Earth. As you descend into Dis, there is less randomness, less individuality, less freedom. At the bottom, there is Dispater, who enforces his iron will on all around him, producing a realm of strict, almost mindless order. Stephan Donaldson does this very effectively with Lord Foul's lair at the end of the (original) Chronicles of Thomas Covenant, and the effect is memorable chilling. Crawl is its own world, of course, but Hell is already a place where mortals do not belong (e.g. Hell effect messages and Matthew 25:41).

I think it might be better to leave the city layouts in Dis and possibly remove them from other branches to reduce their franchise. Alternatively, Dis could be reduced to only have layouts that look like interconnected rooms. This would make is very distinct, but would involve removing a lot of layouts and not fit with the end vaults. I think that would be a bad idea, at least for the foreseeable future.

7. I probably should have put this on the wiki pages. I will probably copy it there later.
mumra (developer)
2013-05-05 05:29

1. Cool. I'm going to push the updated patch so any further changes please post incremental updates on this.

3. That history sounds about right (I don't know precise details either). I think where new branches have been added they have started off with a distinct layout, it's generally all the older branches that don't have anything unique. Your view of the branches ties up closely with mine, I'll comment on some specific ones:

D: I discussed recently with a couple of people the idea of depth variation (dpeg coined this "convergence" and it's also used in the context of other branches e.g. Lair becomes more ruined the deeper you go, Slime walls get more damaging, etc.) One idea that seemed reasonable is to have more open spacious levels very deep. Narrow corridors are especially good in the early game when survivability is much more precarious. I was thinking it might be good to move to more "settlement" type layouts (e.g. chaotic cities or other stuff that seems more intelligently architected) through the middle levels. Then more big cavey open layouts towards the end. Things should still be very random though, we don't want strict cutoffs at particular levels, and e.g. 9 levels of openness in a row would be both very challenging and also quite boring.

Lair: The original concept of Lair was basically to have standard D levels but with ruination. So it's like an offshoot of the main dungeon that has grown into disrepair. So it can have doors but quite often the walls around them will be ruined anyway, and sometimes the ruination algorithm will remove doors that end of on their own.

Snake: I actually think we can have some doors here, after all the naga are intelligent and can open them. I imagine something of a mix between natural-looking and architected structures. e.g. some twisty passages with small bubble-shaped rooms attached to them (I made something like this already but it doesn't have doors yet). Maybe things could start very natural and get more man-made towards Snake:5.

Elf: I want to do something that feels really meticulously built like interconnected corridors and strongly geometrical rooms. I can imagine elves being very careful and elegant about their architecture. Perhaps lots of fountains/statues/plant type decoration too, and perhaps stained glass window tiles...

Crypt: What I want here is a network of corridors with lots of small rooms coming off them, like some V layouts but a bit more chaotic (which works because it's a branch off V). There is an idea floating around something like putting coffins/sarcophagi in the rooms and have undead appear when you grab the loot (maybe this could just be Lua). It wants to feel like an old abandoned network of tunnels and crypts where ancient stuff is buried...

Gehenna: I like the idea of mixing structures in with the cave-like formations. The reason I left the basic layout in (other than it having the lava river) is that otherwise there are just lots of very open layouts right now. The idea I have is more fortress-like buildings than the cave town layout, I've been working for a while on something that will make nice-looking fortresses with quite detailed internal architecture. In Gehenna I particularly want to have these fortresses to kind of look like they've been built right into the rock (the forts will be used in Dis and D as well, perhaps Pan too, but I think I can make distinct styles of fort for the different branches). I already made a Cocytus layout that's similar to my Geh ones with more of an iceberg theme, so I'm happy to leave those ones as they are in Geh either with lower weight or with added buildings/forts. Once we have more structure, layout_basic can go (I want to get rid of it from most branches where it's used as well as lower its weight everywhere else in general, I just need some more interesting corridor-based layouts first).

Cocytus: The only other thing I want to do here is something with igloo-like caves. Oh and probably an ice fortress ;)

Tar: Establishing the prison theme would be excellent. I actually think layout_honeycomb fits this fairly well although without the corridors. The layouts I've added to Tar so far have been more like sinister Giger-esque caves although they do tend to have some corridors. Perhaps something will emerge here as it's starting to with Dis.

Pan: Yeah, I'm totally not certain here. It just needs to be weird. And lots of variety would be good, although you don't have to spend so long there now the portals have been made a bit more reasonable, and there are also lots of big encompass vaults to mix things up. For some reason I imagine lots of things involving very geometrical shapes all linked up in strange ways. Another idea we floated around was kind of a "mash-up", i.e. combining two random existing layouts together in some fashion, as though different dimensions are colliding and twisting together.

Overall I don't think all branches need to have such narrow themes as e.g. Shoals/Swamp/Slime/etc. -- and in fact some of those branches could get a bit more variation, I have some vague ideas for alternate Shoals/Swamp layouts that are still in keeping with the style but just laid out a bit differently. Although once we have fairly defined themes everywhere, innovation can still happen in D and maybe new branch/portal ideas can come from new generators. My attitude is it's best to experiment with an algorithm until I find something that looks cool and interesting, and then work out which branches I can fit it in...

4. Agreed, although did you mean to say that layout_jigsaw should not be in D rather than layout_honeycomb?

5. Actually you can call dgn.in_vault(x,y) to check for MMT_VAULT from Lua. I also added dgn.set_map_mask and dgn.unset_map_mask in case you want to modify MMT_VAULT from Lua layouts (this is useful if your layout places items or monsters, otherwise subsequent vault placement can overwrite them and cause errors). Also, any writes to mapgrd[x][y] will actually not overwrite the primary vault anyway, and the dungeon builder will automatically connect up the primary vault if you don't ensure it! The only reason other layouts wouldn't *fit* very well in Dis:7 is because e.g. rooms would get intersected by the primary vault and just look a bit odd. layout_chaotic_city avoids placing those rooms. Personally I find layout_chaotic_city just a bit simplistic in the non-primary vault part but I can see your point also.

6. I'll have a think about the city layouts, it would seem strange *not* to have them in the Iron City, but then they're quite good standard simple fare which works well in D. The convergence idea of making things more orderly the deeper you go is interesting too.

7. It's probably good to have some discussion here first then have a more cogent writeup on the wiki, it can get a bit messy with lots of replies to replies ;) But we should definitely have a section covering all the branch themes.
infiniplex (reporter)
2013-05-07 02:40

4. Oops. Where I meant the layouts should be:
layout_honeycomb: Dungeon, Snake Pit (possibly remove if/when Snake gets more distinctive layouts)
layout_jigsaw: Iron City of Dis, possibly Pandemonium and/or Dungeon

Hopefully the long names will prevent mistakes this time.

5. Thank you for telling me how to check vaults from LUA. That will probably be useful.

I wonder if the best thing to do might be to make a few (no-monster, no-item) subvaults for the bottom segment of the map. The other two segments already use subvaults. That would avoid the whole tricky case of having a vault effectively call a layout. If you think it is a good idea, I can make a few based on different ways Dis is laid out elsewhere.

6. I should note that we only call city layouts "city" because we have seen the source code and/or .des files. In-game, I always think they actually look more like rectangles. On the other hand, the layout_dis, etc. also do not actually look like a city to me either, so maybe I just need more imagination. I would say leave the city layouts in myself. They are quite simple, so it is not necessarily bad to have them in more several branches. You could limit the branches for each if needed: counting layout_cave_town there are now 4 to play with.

7. When this discussion dies down, I will write it up for the wiki. There is already pages (which you should know, as you sometimes edit them), so I will just add this stuff. Many things currently on their are kind of silly, so more will be good.

3. Now onto the branches:

Placement Specification: Someone needs to go through and change the depth specifications to explicitly state each branch. The system of absolute depth and forbidden branches (with "!" prefix) used for older layouts is very confusing. Personally, I wish all weights were explicitly specified - even if they are 10 - but I doubt I will get it. I think we might also have "weight creep", with newer layouts getting progressively higher weights. I am not sure about this, however.

Convergence: I fully approve. I have tried to build this into my layouts when practical (e.g. the layout_gehenna_??? layouts have more lava when deeper). I am afraid I forget a lot, however. Also, it is hard when I don't know where layouts are going to go. Using different maps in different places in a very good idea. Maybe someday, we could specify map weights at the top and bottom of a branch and have it interpolate.

Innovation: Yes, you can still come up with new layout algorithms and fit them into existing branches. What you cannot easily come up with is new branch styles. We should make a spot somewhere (probably the devwiki) where ideas for "homeless" layout and/or branch map concepts could be collected. Currently, you need to have a destination in mind to fit anything on.

D: I like it. I will note however that my brother (who is much better at Crawl than me - I have never even gotten a rune) tends to complain that there are already so few passages in the deep places. Also, deep troll earth mages need something to dig, now that they exist an all.

Lair: I think it would be good to remove all the doors (except in vaults, of course). In the time it would take for rock walls to wear away that much (without magic and.or boring beetles), all the wood should have rotted away to nothing. Maybe a few could survive on the shallow levels, but not many.

Snake: Good point on Nagas building doors. Also, the loops layouts are good there (and need to appear in less places). I could adapt them to have more bubble-shaped rooms if I knew what that meant. Circular? Irregular? Small? Convergence from natural to artificial within a single layout type with be difficult (at best), but this would be easy be varying weights with depth.

Elf: Elegant fits my sense of elves, although it might lash with a Dwarf branch if that ever becomes a reality.

I do like the idea of geometric rooms. Octagons, especially, would be good. They are easy to connect and can be recognized while quite small. Diamonds would also work. I would find connecting to hexagons and triangles harder, although it could be done. They also would be interesting in shape.

Stained glass tiles: If they functioned as glass walls, that would be something quite distinct about the branch. I notice that there are currently no elves with the ability to smash walls. That would mean that the player could often see elves before interacting with them, or could start fights using e.g. dig under favorable circumstances. There would be three possibilities:
a) Just live with it. It could be interesting.
b) Give some elves spells with wall-breaking power (although not dig because it gets out of hand). Also, monsters would have to learn they could use those spells to pass glass walls.
c) Make the walls (including the glass ones) stone instead of rock. Elves build well.

I am cautious about decoration. The consensus (which I agree with in hindsight) was that my vault rooms had way too much. There are also a not a lot of statues that would really fit. Given deep elves xenophobic tendencies, I cannot picture them making statues of other races. Fountains, on the other hand, do seem to fit. Fungus would make sense, although I would disagree about actual plants (the deep elves don't worship Fedhas). However, plant creatures need to be marked as MMT_VAULT, which would interfere with vault placement, so they would have to only be in a few places.

Crypt: I have no thoughts here.

Geh: Putting the buildings part way into the walls is a good idea. With layout_basic, be careful not to over-correct. Just because it shows up all over now doesn't mean it should be unusually rare in the future.

Coc: I am quite against the ice fortress idea. I think it is getting too close to Gehenna and Dis, even if the fortress looks different. There is a already a giant encompass vault at the bottom with a fortress.

Tar: I do not see the connection to Giger, but most of your layouts fit with what I had in mind. The exception is layout_cave_shapes, which I think is too open. I think it should have some old-fashioned hallway and room stuff as well. At least some demons should build like everyone else.

Pan: I assume you are getting the geometric shapes idea from the new portal tiles. Also, there are a lot of Pan vaults with a geometric sense to them. A layout like that would fit. If the Elven Halls get a layout like that, it could also appear in Pan, or maybe the Pan one would be more city-ish and the Elf one more passage-y.

I do not think the "mash-up" is a good idea for two reasons:
a) It seems too Abyss-y. I think the current incarnation of the Abyss already does this sometimes. If it doesn't, it should.
b) Pan is composed of several distinct but interconnected planes. I assume that the portals through Pan conceptually lead to different places, but the player can never see this because he can only ever try one. Each plane is, taken by itself, relatively small, so the demons should be able to agree on what to build over that small of an area. We know that different parts of Pan are not being actively recombined because the player never sees it happen.
mumra (developer)
2013-05-07 04:02

There are quite a lot of points here now, if I've missed something it's probably because I agreed and had no further comment ;)

4. I've done some of this now, will consider jigsaw for D/Pan.

5. I did actually quickly experiment with irregular_city in Dis:7 and you are right, it looked out of place. For now I've adjusted all the Dis depths and removed the hardcoding anyway so layout_chaotic_city naturally appears on Dis:7 now. I think it's fine and the simple part nicely offsets the detailed fort, but of course you're welcometo come up with something more interesting.

6. This is very true and of course with all layouts it comes down to the player's imagination as to what the layout actually is. I always saw the city layouts as more like a big building full of square rooms until I started looking at the source. Anyway I've done some tweaking with branches and depths in trunk, leaving city layouts in most intelligently populated branches for now, including Dis (although I lowered their weight there since the other layouts are much more interesting to me at least).

7. There's a layout algorithms page here: [^] -- I was starting to look at deleting a lot of info there since it's horribly out of date for some branches, and writing up the current state and ideas, but I didn't do anything yet. There are some good ideas on that page for some branches, which ties in with much of what we're saying.


Placement Specification: I've been gradually doing this some old layouts, i.e. specifying branches inclusively, but it'll be much easier to see what should go where once most branches have enough custom layouts. One new layouts I've always specified weight even if it's 10. For the most part layouts have 10-20 weight, but some of the Hell layouts are more in the 100 range. The biggest offenders are basic/rooms/misc/loops which have very high weights relative to everything else in their range. I plan to roughly halve their weights soon and boost the weights of some others as well as modifying depth ranges. I have a loose idea for this now.

Convergence: Good that it's in Gehenna, I need to do something similar with mine. These tweaks can always be added later. Having weights that scale over depth is something else I've thought about, the hard part really is figuring out the syntax! Maybe just like WEIGHT: 10-100 (Dis:1-6) would do. Also think about layouts getting either smaller or larger towards the branch end, this is an old idea for D, and I'm also going to try it for Zot (layouts getting smaller that is).

D: Good point about the corridors and deep trolls, although it's still relevant if they can dig through walls and surprise you in a layout like e.g. honeycomb. "More open" can just mean mostly corridors of 2 or 3 tiles rather than 1-tile corridors everywhere, and still some 1-tile corridor layouts mixed in, just less of them. Open spaces do actually favour some playstyles, think about tornado, cleaving, summons; of course it's always useful to have corridors to duck into, but it's interesting to have layouts where this option isn't available and the player is forced to think of other tactics. (I'm not a great player either: I have won the game a couple of times, but I still struggle to even get a rune most times.)

There was a discussion in ##crawl-dev about starting with simpler layouts early in D, progressing to more complex ones later. This makes a nice reward for the player as they progress deeper and see new interesting layouts. The simple/complex distinction isn't very clear (but it's not the same as open/closed). To this end, what I'm looking at now is keeping a lot of the standard layouts in early D (basic/rooms/loops etc. but also e.g. donut/cross/etc.), and moving to more cave-like and intricate mazelike stuff in later D.

Lair: This was brought up elsewhere recently, we could perhaps improve the ruination algorithm to remove doors that aren't properly dividing two spaces, or even run a pass like this for all layouts, since sometimes detached doors can be caused by bad vault placement. I don't know about removing *all* doors from Lair, they can actually be quite useful there on the occasions they're attached properly.

Snake: By bubble-shaped I kind of mean imperfect circles, like smoothed caves. Using depths for the convergence is good, also layouts that support doors can be more likely to include the doors at lower depths. Don't worry about this for now, we'll see how it looks once there are more fitting layouts overall.

Elf: This all sounds good. Of course, a race doen't *have* to worship Fedhas to like plants. I was more thinking occasional garden/arboretum type rooms rather than plants all over the place. I think layout_dis works nicely with the very occasional decorative rooms but it certainly doesn't want overdoing. The stained glass idea was for transparent walls, yeah; could be fun to have an elf spell that can smash glass but gameplay-wise it's no different than digging really. Also I don't know if you've seen Elf in console, it actually already these multi-coloured walls there so I think having stained glass in tiles would match that.

Tar: There is a batch of the new layouts in layout_halls that produce these really weird cavernous shapes that sometimes look like twisted faces, and someone in ##crawl commented it looked Gigeresque. It's only a small subset of the layouts anyway. I actually did a bunch of work in Tar last night, the standard layouts are no longer there and I moved some others in; it now has a unique layout set (some of them appear in other branches but have unique parameters in Tar). I put layout_honeycomb there for now to experiment with the prison theme. Room/hallway stuff fits with both ideas of "prison" and "decaying city" to me which is what I'm going for a mixture between right now. It feels quite distinct to me already but can be improved. I can tweak a couple other of my layouts to fit better there I think.

Pan: The mash-up idea certainly shouldn't be everywhere but it could be amusing if occasionally the player got the sense that it's a place where dimensions are twisted together and folding in on each other. We don't have to see it happen to get that impression, and after all you're only on a given level for a relatively short time. Anyway it's quite a complex idea so I won't be actively toying with it anytime soon.

I don't want to have too many city/fort-like generators since the encompass/primary/rune vaults already fulfill this, so I'm thinking mostly base layouts that create weird abstract shapes and then those bits of structure will be recognisable within them. However a few city layouts certainly can't hurt (I added a new one there yesterday as well).
infiniplex (reporter)
2013-05-07 06:11

A brief thought about Cocytus: The layouts may have to be redone anyway if slippery ice ( [^] ever gets added. I don't know if this was rejected entirely, or if it is just far down the list of things to add, but it is possible.

More thoughts later.
mumra (developer)
2013-05-07 12:44

I think the currently layouts can be fairly easily adapted for that. I also like some of the other ideas on [^] about differentiating hell mechanics but I don't know if many people feel anything needs to be done. Improving the monster lists is probably a bigger priority now.
infiniplex (reporter)
2013-05-08 00:21

Convergence: I like your syntax. It might also be nice to be able to say

WEIGHT: 10-100 (Dis)

and have it use the top and bottom of the branch automatically. This would avoid redoing these if/when branch depths change. This could only be in addition to your idea, however.

At some point, we will probably want a function that returns the player's depth in the branch as a fraction in the range [0, 1]. This turned out to be what I always needed when doing convergence in layouts. I keep meaning to add this and then forget, so maybe posting it here will help me remember.

D: Good thought on wide corridors. I am still cautious about all the open space everywhere deep. It seems like we will reward only playstyles like tornado, cleaving, summons. What about other players?

I like simple->complex better than closed->open.

A point about D (layouts and vaults) that bugs me. Over time, we have got an increasing amount of lava at shallower depths. This is primarily a vaults probalem, but I think it is being reinforced by lava at low depths in layouts like layout_cross.

Lair: I guess sensible doors would be OK. If we have to.

I was under the impression that Crawl plants only grew underground because of Fedhas's actions. The Elves having their own god and not letting his followers in might offend him enough to withhold his special blessing.

The difference between smashing glass walls and digging that I was thinking of is that digging destroys a whole line of walls. This is bad here because it might make a hole in the other side of the room. I just meant that the elves should have something like IOOD which only destroys a single cell. I guess if there was a special spell, it could smash the whole window (or up to X cells away for a big one).

Pan: There would be mash-ups only if the dimensions we changing their twistedness over time. I guess we will have to agree to disagree about this one.
mumra (developer)
2013-05-08 07:42
edited on: 2013-05-08 07:43

I was assuming "WEIGHT: 10-100 (Dis)" would be valid anyway. I was also thinking about a way to give the weight a normal distribution across the depth range, i.e. weight 10 at the top and bottom and 100 at the peak, something like that - don't know how useful this is or how noticable it'll actually be in-game though.

Depth fraction sounds useful.

We should definitely still have narrow corridors of course. But a playstyle that completely relies on that is actually quite limited and we don't need to encourage it absolutely everywhere. Open spaces do make the game harder but there's no problem with late-game depths being a bit harder in terms of layout. So I'm just suggesting there would be somewhat less narrow corridors later on; not none at all!

You might be right about lava, where layouts have this option (e.g. layout_cross and I know there are others) it could depend on depth more. It's still quite rare in those layouts but I know I've seen it a few times in real games.

Where did you get this idea about Fedhas, I'm wondering if there's a specific source for this? As far as I knew, plants grew underground for a variety of reasons. Largely due to the weird magical energy of the dungeon I think. The only times when Fedhas is definitely responsible are specifically around Fedhas altars. In Elf I don't think there's a thematic problem in saying that the elves have cultivated plants using irrigation from fountains and magical lamps that emulate sunlight. Fedhas does a lot more that simply growing plants, e.g. he can make them grow instantly and turn them into plant monsters. (A similar example: just because Trog lets you berserk doesn't mean he is responsible for all sources of berserk...) And then there's Lair, surely Fedhas didn't grow every single plant there?

Anyway it's still not something to go overboard on, I just think elves decorating their home with plants sounds like something elves would do...

Glass: Could be reasonable, gameplay-wise it's not all that different to just not having the wall there though...

Pan: Ehh, I don't think it's worth getting too caught up in the laws of physics in a place of madness inhabited by demons. So a dimensional collision happened at some point but isn't happening right now, what's the problem with that? The important thing is if a) the layout makes good gameplay and b) has an interesting visual aspect. Explaining it afterwards is the easy part.

infiniplex (reporter)
2013-05-09 21:04

Normal distributions sounds overkill to me. The only branch I think would be big enough to warrant it would be D, and D is already going to have (and currently has) specially-set changes over depth anyway. For the other branches, I imagine them changing from one state at the top to another at the bottom at most. I don't think they are long enough for two changes to be visible.

Also note that a normal distribution needs two values (mean and standard deviation) to specify it instead of just one. A simple triangle frequency (linearly 0 to max to 0) would be simpler and probably indistinguishable in terms of gameplay. I think even that would be more than needed, however.

I don't like the idea of having lots of narrow corridors at the beginning and few at the end. It seems a) somehow spoilery, and b) limiting of play styles. Some openness (even increase quite a bit with depth) is fine, but narrow-passage play styles need to stay viable it the late game. As currently hypothesized, the late branches come out something like this (I think):
Deep D: mixed
Hell: open
Dis: open
Geh: open
Coc: wide passages
Tar: mixed
Pan: mixed
Abyss: wide passages (sort of)
Slime: wide passages
Crypt: narrow passage
Tomb: open, a few wide passage
Narrow passage players are limited to 2 rune branches. Admittedly, one is Pan, with many runes, but they still miss out on a lot. This seems especially mean given that narrow passages are so common at the beginning, meaning players will be fooled into following the wrong strategies.

Plants underground:
The quotation that led me to my belief was the description of a tree:
"While the dungeon is filled with dim magic light, in most places it is not
bright enough to sustain any larger plants. It is uneven, though, and there are
spots where, with the grace of Fedhas, trees as big as those on the surface can
grow underground."
I had taken this to mean that large plants (those large enough to require a tile and impede movement) had supernatural help to grow.

The description for plant is:
"Few plants can grow in the unpleasant dungeon environment, but some have
managed to adapt and even thrive underground in the absence of the sun."
The plants in Crawl (excluding withered, demonic, etc.) are green in colour, which means they perform photosynthesis, which requires quote a bit of light. As the dungeon is quite dark, I would guess they also had help.

I assumed that Lair, Swamp, Shoals, some portal vaults, etc. were somehow outside, despite being down stairs from underground places. This also applies to a few encompass vaults, I guess.

Elves making artificial light to grow their plants would work (I had not thought of that). It does raise the question of where the light has gone when the player shows up (TSO's light is very noticeable). I suppose that we could pester someone into drawing a tile with a statue of e.g. an elf holding up a crystal ball, place it in the middle of the room, and assume the elves turn them off when their halls are invaded. As you said, explaining these things afterwards is not too hard.

I am not sure the plants fit thematically. They are certainly fit for high elves, but these are deep elves. I have assumed they more-or-less corresponded to D&D drow elves and Norse dark elves (both of which are an evil underground elf subspecies). I cannot picture either of those cultivating plants.

On the subject of gods (this has gotten quite tangential), I think I pictured the Crawl gods as responsible for more of the world than you did. I had assumed that all the silver stuff was ultimately the work of Zin, all the healing stuff was ultimately made by Elyvilon and her disciples, all distortion weapons were the work of Lugonu, etc. We do know that Jiyva is (at least indirectly) responsible for a lot of the Slime Pits (they existed before, but I assume they were very different e.g. no acid walls).

I seem to have gone overboard on elves. Sorry.

Glass: I have no particularly strong opinions on this. If we did want to how it worked, we could just use that door-adding function to add some glass "doors" to an existing layout and see what people thought.

Pan: You are right.
mumra (developer)
2013-05-10 04:20

> Some openness (even increase quite a bit with depth) is fine

This is exactly what I was suggesting.

Although I don't think it's unreasonable to expect players taking on the late game to be able to adapt to a wider variety of strategies/tactics.

Yes, I probably have seen that quote about plants. I take that to be more of an abstract thing than saying that Fedhas has personally decided where and when each plant will grow. Sure, plant growth is always linked to Fedhas somehow but you don't have to believe in him to grow plants. Anyway, total tangent ;) I'm not really fussed but there are only so many ways to differentiate layouts so it's one I'll consider anyway (in moderation).
mumra (developer)
2013-05-31 15:11

I'll close this ticket now since the layouts are in. The wiki page could do with further updating based on some of the results of this discussion but there's a link from there to here so no need to keep this open. Further discussion and ideas can go on the wiki.

- Issue History
Date Modified Username Field Change
2013-05-03 07:45 infiniplex New Issue
2013-05-03 07:45 infiniplex File Added: 0001-Added-dgn-irregular-box-3-layouts.patch
2013-05-03 07:45 infiniplex File Added: layout_overlapping_boxes.png
2013-05-03 07:45 infiniplex File Added: layout_jigsaw.png
2013-05-03 07:46 infiniplex File Added: layout_irregular_city.png
2013-05-03 07:47 infiniplex Note Added: 0022528
2013-05-03 17:58 mumra Note Added: 0022534
2013-05-03 18:01 mumra Note Edited: 0022534
2013-05-04 22:13 infiniplex Note Added: 0022549
2013-05-04 22:14 infiniplex File Added: 0001-Added-dgn-irregular-box-3-layouts2.patch
2013-05-05 05:29 mumra Note Added: 0022553
2013-05-07 02:40 infiniplex Note Added: 0022562
2013-05-07 04:02 mumra Note Added: 0022563
2013-05-07 06:11 infiniplex Note Added: 0022564
2013-05-07 12:44 mumra Note Added: 0022566
2013-05-08 00:21 infiniplex Note Added: 0022573
2013-05-08 07:42 mumra Note Added: 0022575
2013-05-08 07:43 mumra Note Edited: 0022575
2013-05-09 21:04 infiniplex Note Added: 0022614
2013-05-10 04:20 mumra Note Added: 0022620
2013-05-31 15:11 mumra Note Added: 0022964
2013-05-31 15:11 mumra Status new => resolved
2013-05-31 15:11 mumra Fixed in Branch => 0.13 development branch
2013-05-31 15:11 mumra Resolution open => done
2013-05-31 15:11 mumra Assigned To => mumra

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