Showing posts with label Vault. Show all posts
Showing posts with label Vault. Show all posts

Monday, 3 August 2009

"Yes, it was just as well I had wizard mode on..."

These sorts of places will only get harder once I give the monsters special behaviour and attacks.

Sunday, 19 July 2009

Early Vaults

Although unlikely, it is possible for large vaults like this to be generated as early as level 2 of the entry dungeons. They are, however, barricaded by closed doors (and monsters cannot yet open doors). Like vaults in Angband, discretion is strongly advised. I do not intend for a level 2 character to be able to clear one of these out (without expending all their resources at least) - hounds, wargs, large snakes for example, are all OOD monsters. However, the rewards are great. This particular vault, when cleared out with the aid of wizard mode (though the character still would have died four times) contained 6 magical items.



(Incidentally, the white box is actually the new cursor which will be used in the new ranged combat interface if and when I ever get that written)

Tuesday, 31 March 2009

Everybody dance now!

Just as well Monster AI was switched off!

Wednesday, 11 March 2009

Feature: Vaults!

I've just put vault handling into the the dungeon generation routines. Here's a sample:


Anyone fancy generating some vaults?

You can use the following terrain features (this scheme follows an Angband-esque convention):
  • Hard, undiggable wall (#)
  • Soft, diggable wall (%)
  • Closed door (+)
  • Clear floor (.)
  • Clear floor with treasure (,)
  • Clear floor with trap (^)
  • Clear floor with treasure or trap (*) (50% chance)
  • Clear floor with monster (0-9) (1-9 specifies the OODness in levels)
Here's the sample vault from the screenshot above, which is 12x4:

############

+,33+*5#3*,#


#,*3#5*+33,+


############



Treasure and Monsters can be specified OOD as you wish. There are twenty levels of monsters and treasure in Kharne in total.

Any vaults you do submit you will get full credit for, of course.

Wednesday, 7 May 2008

Vaults

I'm reasonably happy with my current dungeon creation algorithm - for certain types of dungeon. Its good at mausoleum-type levels, filled with rooms and twisty passages. The typical corridor length, room size, probability of a door being placed at the end of or mid-corridor, and even whether rooms can overlap are all configurable. What the algorithm isn't good at (actually, quite hopeless at), are wilderness and cave-type levels. I will probably rewrite the algorithm to generate those properly at some point in the future.

However, I'd also like to add vaults and other interesting features to the dungeon. The most popular way of generating vaults is to use a predefined map stored in a text file. For example, Dungeon Crawl Stone Soup stores the defintion of its (mini) vaults in /dat/mini.des. The current version of Unangband stores its vaults in lib/edit/vault.txt

Here is a sample Dungeon Crawl vault definition (which also contains a large amount of metadata):

#################################
# Another Ice Statue vault
#
NAME: ice2_lemuel
DEPTH: D:12-27, Lair, Swamp, Coc
TAGS: no_pool_fixup no_monster_gen
SUBST: T = TU
SUBST: W = w:20 W .:5
MONS: ice statue
MONS: ice devil w:5/blue devil w:5/ice dragon/freezing wraith/nothing w:30
MONS: white imp/ice beast w:30/polar bear/nothing w:50
MONS: white imp/ice beast w:30/polar bear/nothing w:50
KFEAT: 2 = >
KFEAT: 4 = >
MAP
T..................T
..WWW..........WWW..
.WWWWW........WWWWW.
WWWWWWwww..wwwWWWWWW
WWW3WwwwwwwwwwwW3WWW
WW343wwwwwwwwww343WW
.WW3WwwwwwwwwwwW3WW.
.WWWWwwwwwwwwwwWWWW.
..WWWwwwwwwWWW..
...WWwww12wwwwW...
..WWWwwwwwwWWW..
.WWWWwwwwwwwwwwWWWW.
.WW3WwwwwwwwwwwW3WW.
WW343wwwwwwwwww343WW
WWW3WwwwwwwwwwwW3WWW
WWWWWWwww..wwwWWWWWW
.WWWWW........WWWWW.
..WWW..........WWW..
T..................T
ENDMAP

Here's one from Unangband:

N:2:Octagon
X:9:5:14:20
D: %%%%%%%%%%%%%%
D: %%.##########.%%
D: %%..#..,,,,..#..%%
D:%%,..#.,####,.#..,%%
D:%....#.,#**#,.#....%
D:%.###+,##&&##,+###.%
D:%.#..,,#*9**#,,..#.%
D:%.#..,,#**9*#,,..#.%
D:%.###+,##&&##,+###.%
D:%....#.,#**#,.#....%
D:%%,..#.,####,.#..,%%
D: %%..#..,,,,..#..%%
D: %%.##########.%%
D: %%%%%%%%%%%%%%

I don 't intend to go into detail on how exactly these files are used. If you want more information, the source code for both roguelikes is suprisingly (for C++) reasonable. What I would like to do is use Vaults in the same way other Roguelikes. But, what I have noticed is that each individual roguelike varies how it stores its vault definition, and how much information is stored in each defintion, obviously as per the demand of the roguelike in question. So shouldn't there be a common storage format for vaults amongst roguelikes? A common Vault API, for want of a better name. After all, a vault (no matter its size, orientation and contents) is just a hardcoded subsection of the dungeon, with/without added metadata (which is particularily visible on the Crawl example above).

Further to this, should Kharne (licenses permitting and assuming the vault authors give permission, of course) be capable of reading in and using vault definitions of other roguelikes? Is this even ethical? If or if not, in any case, what would you like to see in terms of vaults in Kharne anyway? How can I make Kharne's vaults somewhere to be dangerous, alluring and rewarding all at the same time? What are the most common drawbacks of vaults you've encountered and how can I avoid them?

UPDATE: A scheme for common vault definitions was proposed on r.g.r.d back in 2003 but it appears nothing ever came of it.