New version of Jp_DungeonGen in Off Topic
|
|
I've updated Jp_DungeonGen a bit. The helpfile hasn't really been updated particularly well, so it's sort of out-of-date. Sorry. I'll probably fix that eventually. In the meantime, there are examples in demo.dm that show you how to use the new features.
New features:
- You can now specify that rooms have multiple disjoint sets of borders - think of, for example, a room that's a square with a rift going through the middle. The walls on both sides of the rift are borders, but you can't cross the rift, so you could occasionally get dungeons where stuff wasn't reachable if you just specified that all the walls were borders. You can now say that the walls on one side of the rift are one border, and the walls on the other side are a different border, and it'll get connected correctly.
- You can now turn on a 'doAccurateRoomPlacementCheck' flag, which changes the way that the generator checks to see if it can place a room or not. It uses AABB if you're not using the accurate placement check - so it's fast, but there can be lots of false positives, particularly with some room geometries. With accurate checking on, rooms are checked for collision tile-by-tile - a bit slower, but doesn't have the same false-positive issues. However, rooms need to support accurate room-placement checking by populating their list of stuff at New(), or the generator just defaults to AABB for that room. This is mostly useful in conjunction with the next feature...
- The generator can now incorporate preexisting features into the dungeon generated. If you turn on the 'usePreexistingRegions' flag, the generator will treat any non-dense regions as rooms and will connect them up to the dungeon. The demonstration for this feature in the current version of the generator generates a cavern and then generates a simple dungeon on top of it, for example, to give you a dungeon with some caverny bits with rectangular worked rooms connected to them - maybe the orc lair attached to a natural cave, for example.
- The generator can now have maximum and minimum sizes specified on a per-room basis, and you can also specify whether a given room is required to be placed in the dungeon (Say, a throne room) and how many times it's required to be placed (Say, the two guard barrackses). You can also specify that there's a limit to the number of times a given room can be placed in the dungeon (Say, for a treasure room - you only want one per level at the most). It still supports the old style, but you can use the new stuff if you want.
None of these changes should break backwards compatibility, but you might want to look into adapting anything you've done with the generator to work with it, anyway.
|