Viewing Issue Simple Details Jump to Notes ] Wiki ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0005709 [DCSS] Upload: Maps and Vaults feature have not tried 2012-05-30 08:47 2012-06-03 10:13
Reporter infiniplex View Status public  
Assigned To evilmike
Priority normal Resolution done  
Status resolved   Product Branch 0.10 ancient branch
Summary 0005709: A new serial vault
Description This is a new serial vault I made. It is based off the idea of having inaccessible rooms beside hallways where you could see monsters in a sort of aquarium. The type of monster varies based on depth and branch (vault can appear in D or Elf).

I am not completely sure these are finished yet. In my mid they are probably good enough, but I am not the Crawl dev team. A few issues I still have:
1. I placed a twister (freestanding Tornado spell) in the Elf branch. It is rare and looks neat, but I suppose there is a danger it could get out and kill everything (normal twisters are "summoned" Air miscasts and time out before they do much harm). Some things I though of:
  a) Leave it in as a tactical thing that works with dig
  b) Change the walls to 'n' (stone glass) instead of 'm' (rock glass)
  c) Take out the twister

2. These vaults theoretically have 3 sizes/shapes they can use. After a lot of trying to make a global LUA variable work, I have it set to always use one of them. If someone knows how I can do any form of communication between vaults, that would be appreciated. The only thing I could think of was to store the information by changing some invisible tile (probably (0, 0) ) to different type, and that seemed like a Very Bad Thing to do. Also, it would look weird if a player saw it.

3. I show off many creature that would otherwise come as a surprise to new players later in the game. I am figuring this is not too bad because it happens in so many vaults.

4. I am not sure about the creature distributions. If someone things they should be different, I am happy to change them.
Additional Information
Tags No tags attached.
Attached Files ? file icon aquarium.des [^] (36,438 bytes) 2012-05-30 08:47 [Show Content]
? file icon aquarium2.des [^] (33,897 bytes) 2012-05-31 08:46 [Show Content]

- Relationships

-  Notes
(0018165)
evilmike (developer)
2012-05-30 13:56

I haven't been able to give a full look at this yet (it's huge!) but I'll comment on the stuff you've written about:

1. Placing a twister is indeed a bit questionable. You might want to place a diamond obelisk instead... there is already a vault which uses one of these (it is a vault defined monster, but should be easy for you to copy). A twister is questionable, but a vault-defined statue is always ok. Plus, there's no risk of a stationary monster escaping and killing everything with it's AOE.

2. I'll have a look at this but in the mean time, you might want to ask in ##crawl-dev. There might be a way to do what you're trying (although I'm not sure how).

3. This is fine. You have a clearly defined theme and are sticking to it. This is the main thing to consider when you're using custom monsters.

4. On first glance these look ok. In fact, the depths might even be a bit lenient. Keep in mind that while simulacrums hit hard, they are also slow!


Aside from that, I have one suggestion for now. In Lua you can use [[ ]] for string literals, instead of ' or ". Using double brackets is handy because you can use multiple lines. For example,

: subvault('q : aquarium_subvault_wall:3 / ' ..
: 'aquarium_subvault_window:2 / ' ..
: 'aquarium_subvault_balcony:1')

becomes

: subvault([[q : aquarium_subvault_wall:3 /
: aquarium_subvault_window:2 /
: aquarium_subvault_balcony:1]])

This is meant for strings that contain code, which is why it's so useful here. I just thought of pointing this out, because I've noticed a lot of vaults don't use this feature.
(0018168)
infiniplex (reporter)
2012-05-30 19:05

1. I will replace the twister with a diamond obelisk. That is a better solution than anything I thought of.

2. What is ##crawl-dev? I could not find it on the site (I found a ##crawl - is that the same?) and Google did not seem to know about it.

5. I will change the vault to use [[...]] instead of '...'. I am assuming that this will be a bit faster because it avoids the string parsing. I am afraid that I don't know LUA that well; I will remember this.

I am afraid that the first part of the file is difficult to read (it combines subvaults and LUA-based substitutions). I would suggest just running it to see what it does. I have tested this pretty heavily, so I can say there are no e.g. holes in the walls sometimes. The later parts are just "normal" vaults, so they should be simpler.
(0018169)
evilmike (developer)
2012-05-31 02:20

##crawl-dev is an IRC channel used for discussion of crawl development. Anyone is welcome to join it as long as they remain on-topic.

The channel is the main place where crawl development stuff is talked about, and it is also the best place to go if you have questions. If you're lucky, someone will be online who knows the exact answer to what you're asking. It's on the same network as ##crawl.
(0018170)
infiniplex (reporter)
2012-05-31 08:53

Here is the aquarium serial vault, version II.

1. The twisters have been replaced by diamond obelisks.

2. I got the vaults to generate different shapes/sizes correctly. It turns out you have to specify global variables with dgn.persist.??? instead of just ???. I found it in the wizlab for Wucad Mu's Monastery. There is a global variable for if Wucad Mu is dead.

4. I realized there were 8 levels of creatures types for D. This seemed un-Crawl-like, so there are now 9, each covering 3 floors.

5. The [[ ]] quotes are in.
(0018198)
evilmike (developer)
2012-06-03 10:13

Very impressive. I've added this, without making any edits. I've kept the low chance of 1%, but it may be worth raising.

- Issue History
Date Modified Username Field Change
2012-05-30 08:47 infiniplex New Issue
2012-05-30 08:47 infiniplex File Added: aquarium.des
2012-05-30 13:37 evilmike Status new => assigned
2012-05-30 13:37 evilmike Assigned To => evilmike
2012-05-30 13:56 evilmike Note Added: 0018165
2012-05-30 19:05 infiniplex Note Added: 0018168
2012-05-31 02:20 evilmike Note Added: 0018169
2012-05-31 08:46 infiniplex File Added: aquarium2.des
2012-05-31 08:53 infiniplex Note Added: 0018170
2012-06-03 10:13 evilmike Note Added: 0018198
2012-06-03 10:13 evilmike Status assigned => resolved
2012-06-03 10:13 evilmike Fixed in Branch => 0.11 development branch
2012-06-03 10:13 evilmike Resolution open => done


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