I've been working on some updates to the Abyss and I would love to get some feedback.
The biggest change I've made is to level generation. Current Abyss level generation works by creating a feature vector and then uniformly sampling from the vector to populate the dungeon. I've retained the vector, but replaced replaced the sampling step with Worley noise -- a coherent noise* function based on a fast Voronoi decomposition of 3D space. Terrain type is determined by the distance from the nearest point in the decomposition, as well as a unique ID assigned to each cell. A wobble is introduced to provide variety within a cell. (*A major advantage of using coherent noise is that we can seamlessly morph the abyss over time. If the player decides to stand still and "wait things out" the abyss could undulate around our hapless hero in a sensibly abyssal way!) The result is that we find small pools of water, and lava. Metal walls appear next to other metal walls, and so forth. Open areas are seeded with wall-tile columns at a low rate The terrain is certainly less "random" than the uniformly distributed abyss, but retains a disordered feel. It is my belief that the result is a better play experience. My second change is to banishment behavior. Currently, the Abyss is the Abyss regardless of where the player was upon banishment. With this patch, the area that the player is banished to resembles a corrupt version of the player's location prior to banishment. The probability that a tile is copied into the abyss is inversely proportional to its distance from the player. The tiles are cleaned up (traps removed, stairs converted to arches, etc.) and pushed into a vector, so they're available for reuse if we want to build exit vaults! I think this still needs some purple smoke effects before it feels right. To reduce the probability of entombing the player, the proto-abyss is thinned a little bit. Before Banishment: http://i.imgur.com/mv0Jb.png After Banishment: http://i.imgur.com/mojJb.png You might recognize part of the Orb Chamber: http://i.imgur.com/ARgwb.png I've posted a patch to Mantis: https://crawl.develz.org/mantis/view.php?id=3939 My branch is available on github: http://github.com/bhickey/crawl A playable version is available at: ssh://crawl:cr...@ch4n.org (sorry, only one player at a time) There are still a number of features I'd love -- screaming dungeon monsters popping into sight in translocational clouds, the abyss getting harder as a function of: 1) absolute depth on banishment, 2) time spent in the abyss, 3) translocation use in the abyss, 4) how much Lugonu (dis)likes you -- but I think this is a start. Cheers, Brendan ------------------------------------------------------------------------------ What Every C/C++ and Fortran developer Should Know! Read this article and learn how Intel has extended the reach of its next-generation tools to help Windows* and Linux* C/C++ and Fortran developers boost performance applications - including clusters. http://p.sf.net/sfu/intel-dev2devmay _______________________________________________ Crawl-ref-discuss mailing list Crawl-ref-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/crawl-ref-discuss