Wolph42's drop-in Dungeon Builder v1.6

These are tools and utilities that make it easier to run games. This includes Lib: macro tokens dropped into MapTool to manage the game, a conversion file for CharacterTool to allow use in MapTool, or just about anything else you can think of -- except graphics with macros and anything specific to a particular campaign framework. Those are already covered by the Tilesets subforum and the Links and External Resources forum.

Moderators: dorpond, trevor, Azhrei, giliath, Gamerdude, jay, Mr.Ice

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Wolph42's drop-in Dungeon Builder v1.6

Post by wolph42 »

Image

Great news Drow has created an export function in his dungeon builder which can be pasted straight into this tool. With this you can create random dungeons in Maptool in a matter of minutes!! Here's the linkto his website.

Download:
Download Section
You can download it in three types:
1. rptok file, this makes it fully 'drop-in' however you'll have to create your own 'base' tiles. Just drag it into your current campaign file and create you own 'base' tiles.
Wolph42 - DungeonBuilder 1.6.rptok
2. rpmap file, save the fact that importing and exporting maps is still in beta fase, this is the best way to get the tool inside your current campaign. Turn map import on in the settings, then menu-->map-->import map and select the rpmap file.
Dungeon Builder v1.6.rpmap
IF YOU USE METHOD ONE OR TWO YOU NEED TO RUN THE ONCAMPAIGNLOAD MACRO ONCE AFTER YOU'VE LOADED THE MAP OR TOKEN. THIS MACRO IS ON THE 'DUNGEON BUILDER' TOKEN.
JUST SELECT THE TOKEN, GOTO THE 'SELECTION' PANEL, LOOK FOR ONCAMPAIGNLOAD AND RUN IT.

3. cmpgn file, especially if you want to try this out and experiment, this is the best option.
Dungeon Builder v1.6.cmpgn
Optionally you can download the attached excel file with some examples:
The attachment Dungeon_Builder_Examples.zip is no longer available
Compatibility: MT b87+

What does it do:
Rough outline
It translates tab separated values (template text) into tokens in MT. The tab separated values can be created in e.g. excel and could look like this:
Image
(click on thumbnail for larger picture)

Which, with the correct settings, will be turned into this by the Dungeon Builder:
Image

With one template text you can create different types of maps with the settings like this:
Image

The Dungeon Builder works with three types of tokens:
1. Atmospheric
2. Wallobjects
3. Objects
All three have unique items with a unique name and a unique starting letter.

How the three Token types work
Note that these tokens are gathered from the web, this forum or home made. They've all seen the inside of (my) photoshop cause they need to be in a certain format. When creating your own, check the current layout of the tokens. The 'Walls' are based on jshocks 'dwarf walls' (which should be available through the resource). The next version will contain art made by Torstan as well.

1. Atmospheric
These tokens will be distributed randomly on empty floor tiles ('F'). The size, position, layer, facing and amount you can set in the settings per token. You can also choose which types (and again the distribution) for that token must be used. I'll explain this part later. Basically these tokens will randomly appear on the floor of your dungeon. You can edit these but you will need to have corresponding tokens on your map.
E.g. a 3x3 square room would look like this

Code: Select all

F	F	F
F	F	F
F	F	F
and depending on the 'Amount' settings one or more cracks, bloodspatters, chains etc will appear on the floor.

2. Wallobjects
These are the only objects that have a set name that can't be changed. These objects are:
"Floor, Door, Wall, Connector and LightWall"
Next to that all these tokens (except for the 'Floor') aren't IN the cell but on the SIDE of the cell. This means you have to set the side of the cell e.g. a door in the top of the cell would be "DT". Putting a light on the right wall "LR". The first letter designates the type of token (e.g.g (D)oor) the second the direction: (T)op, (R)ight, (B)ottom and (L)eft. So putting a door and a light in our earlier example:

Code: Select all

F	DT	F
F	F	WR
F	F	F
3. Floor Objects
If you take the tool as is (so either the cmpgn file or the rpmap file) you will have access to the following base tokens:
Arm, Box, Chain, Illumination, Gold, Mucus, Pillar, Tomb, Skeleton
So putting an "S" somewhere will result in a Skeleton on the floor. For this reason its vital that every object must have a unique first letter.
(Hence "Illumination" in stead of "Light").
So putting a Skeleton and a chain in the room would look like this:

Code: Select all

F	DT	F
F	S	WR
C	F	F
Note that the Skeleton object is set to 'Large' so it must have space to be placed.
Manual:
Creating a map step by step
1. edit the settings:
First off, the titles of every cell have tooltips, hover over them for tips.
I can only say EXPERIMENT to get a feel for how it works.
A short breakdown of the different columns:

Name of Type (Atmospheric, Floor Object, Wall Object)
Type(s): you might have noticed that there are 5 tombs in the BASE (yellow) area: Tomb1, Tomb2,...,Tomb5. When you create a room with Tomb e.g.

Code: Select all

F	F	F
F	T	F
F	F	F
The type of the Tomb will be picked from this setting. So if you put a '5' down there, only Tomb5 will be put in the cell. However if you put down 1,2,3 the tool will make a random selection of these three. Putting down 1,1,1,2 will result in a 75% chance for type '1' and a 25% chance for type '2' to be put down there.

Layer
I hope this is obvious.

Size(s)
There are 9 sizes in MT, 5=Medium, the standard. This works exactly the same as the 'Type' cell: '5' will result in only medium sized tokens, '4,5,6' will result in a randomly picked size.

Rotate
Here you can set the degree of rotation of a token. Completely random means rolling a 360 sided die: 1d360. Limiting it to a 90 degree angle: 1d90, Limiting it to a 10 degree random angle, while facing in a e.g. 70 degree angle: 65+1d10, etc.

Amount
This is the chance that 1 floor tile will contain that type of atmospheric token. '1' means 1 in 1000 tiles. This looks like its very small but note that a 32x32 size room counts over 1000 tiles!. Putting down '20' cracks, will means that that room will have 20 cracks in the floor.

2. Create a 'template map' file in excel:
The easiest way to do this is:
1. entering e.g. "F" in a cell then
2. ctrl+c (copy) that cell and then
3. select the area's that are floor (while selecting cells with your mouse keep the ctrl key pressed) when done hit enter or ctrl+v to paste.

3. Copy the 'template map'
When doing this make sure that you don't select an empty row at the beginning or end and no empty column at the left or right. IF there's only 1 character in that row or column its ok.

4. Paste the 'template map'
- Click on the red 'Paste Map' button.
- Make sure the text box is empty
- paste the 'template map' (ctrl+v)
- click 'save'

5. Render the map
- click 'Build Dungeon'
- click 'ok'
You can seperate the process by deselecting checkboxes, just do make sure that you run 'walls' AFTER 'floor'
Rendering floors goes pretty fast so you could do that first to see how the layout turns out.

The time each step takes (in general) from fastest --> slowest
floors --> atmosphere --> objects --> remove doubles --> walls

6. get some coffee.
Depending on the size of the map. The YAD template takes roughly 2-5 minutes to render (depending on your system).

The last two steps can't be automated unfortunately
7. Arrange 'floor' tiles to the back
- Open the 'Map explorer' frame (menu-->window-->Map explorer)
- Open the 'background' folder
- Select all floor tiles (click on the first, scroll down, shift+click on the last)
- right mouse click on the selection --> arrange --> send to back
This will make sure that the atmospheric tokens are on top of the floor.

8. Remove walls behind doors
This only needs to be done with doors on the edge of the map. The inner doors won't have walls behind them.
- goto the background layer
- click on the door, which is in the object layer so instead you will select a 'connector' token. Delete it
- click again on the door, this time you should select a 'wall' token, delete that too.
- now copy paste a 'connector' token onto the spot where it originally was.

Done!

Other stuff
Rendering on a different map.
With version 1.5 you can do the rendering on any map. Just copy paste the main macro buttons (on the lib:token) into the campaign panel. Set the correct settings, change to or create a new map. Click on the macro buttons to start the rendering.
Tips & Tricks:
Tips and Tricks
1. Deleting current map: when you delete the current map make sure the 'Selection' frame is hidden or closed. This will speed up the deletion process considerably. (In case of large maps this can save you up to 5 minutes
2. Floorpatterns: you can rotate floortiles. You can do this randomly with 1d4*90 (always use a 90 degree turn). If you want to rotate a floortile every row or every column you can make use of the current coordinates that the system uses 'c' for column and 'r' for row. The system uses a strformat function to calculate the eventual properties of the tile. This means you can set e.g. %{c}*90 or %{r}*90 in the rotation field. This will turn the tile one quarter every next column or row.
2. Small rotations: If you fill a room with boxes they will be very neatly situated in a room. By setting a small rotation for an items you can order them while keepping a natural touch. This is done by settings the rotation to -5+1d10. This will rotate object somewhere between -5 to 5 degrees.
4. Different Floor tile colors: in the near future I will add the option to manually set the type you want to use on the map e.g. F=floortile from settings, "F1"="Floor1" token, "F2"="Floor2" token. For now there are two ways to set different floortiles: a. create a new object in the object list with a floortile name e.g. "zFloor" with type 1 and rename the floortile "zFloor1". Now you can put Z1 in squares where you want that floortile. b.) use layered runs, which I will explain next.
5. Layered runs: With this method you can start asking whether its not faster to just create a map in MT straightaway, but who knows. The builder actually only needs 1 tile in the top left corner (0,0 postion) to designate a set area. You can use this to build a map out of different layers. Here an example:
Say you want to create a floor with two types of floortiles say A and B like this:

Code: Select all

DB
A	B	A
B	B	B
A	B	A
Then in excel you create two maps like this (Note that for clarity I mark the empty spots with "-", for this method they should be really empty.).

Code: Select all

DB
A	-	A
-	-	-
A	-	A

Code: Select all

DB
-	B	-
B	B	B
-	B	-
The "DB" makes sure that the 0,0 spot remains the same.
Note that you can use this for anything. If you want to fill a room with objects while there are also wall e.g.

Code: Select all

F	F	WL	F	F
F	F	WL	F	F
F	F	DL	F	F
You can do an extra run with this map

Code: Select all

F	-	B	B	B
-	-	B	B	B
-	-	B	B	B
These two runs will first create two room with a door and in the second run fill the right room with boxes.
6. Atmospheric tokens "L"etters are still useable: The first letter of the atmospheric tokens aren't used so they remain optional for use for objects. Meaning you can have 'Scorch' and 'Skeleton', 'Hole' and 'Hatch'.
Examples:
Some example maps
Click on them for larger picture
Pillars and Tombs:
Image
Swirl:
Image
Dungeon:
Image
W40k storage facility:
Image
change log
Version 1.6
  • Added extra step in the building process to remove double walls, floors and connectors. During the process its inevitable that sometimes the same object is placed twice at the same spot. This step cleans that up.
Version 1.5
  • You can now render the graphics on ANY map. The source tokens and lib:token need to be on the same map though. You can set the name of this map (so where the lib:token resides) in the settings. Through the campaign macros you can run the tool on any map.
Version 1.4
Lost most of my log and also track of what i was doing but this is what I remember:
  • lots of extra material added
  • split up the floor and atmoshphere build, this means it will take longer but the arrangement problem (floor to the back) is solved with this.
  • extended the settings for wallitems with layer (didn't work), size and rotation (be prudent in their use though!!)
  • menu settings of build dungeon are saved
Version 1.1
  • added Torstans barred wall, normal wall, door and rubble.
  • added Portculis wall
  • added pallisade wall
  • added stone wall
  • changed all the big tokens to medium size as this is set in the settings anyway, gives more space for other stuff.
Attachments
Dungeon_Builder_Examples.zip
(32.85 KiB) Downloaded 828 times
Last edited by wolph42 on Fri Apr 22, 2011 5:25 am, edited 35 times in total.




Darloth
Cave Troll
Posts: 28
Joined: Mon Nov 02, 2009 11:24 am

Re: Wolph42's drop-in Dungeon Builder

Post by Darloth »

This looks amazingly cool, and useful!

I am, in fact, about to use it to build a big and fairly complicated dungeon I have scrawled onto many pages of a small notebook. I will report back and tell you whether it worked, and how well.

Even before then though, I have a suggestion for a possible expansion feature:
Adding shadows along the edges of walls by hand is somewhat slow going. Would it be possible to have it add them, automatically rotated into place like the walls? (They're typically transparent tiles the same size as a floor tile, and using presumably the same algorithm as the one that decides where to put walls, they'd need to be placed on the same space as the floortile, facing at the correct edge).

Expanding further from that, to prevent the high amount of slowdown apparently caused by layering multiple shadow tiles on top of one another, ideally they should be stretched along each wall... But this is quite a bit more complicated as it requires detecting contiguous stretches of wall.

Anyway, none of that is an "I want!", or even an "You should do", but on the tiny offchance that you haven't got a list of features as long as your arm to add already, I thought I'd include them as an "I thought this might be handy".

Edit: First thing to state, doesn't work in b70, as .cmpgn or .rptok... let's try b76...
Edit: Much better. Now, to mapping...

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Wolph42's drop-in Dungeon Builder

Post by wolph42 »

thnx!

I have actually already experimented with shadows along the edges and...well... stuff like: 'can' and 'worms' comes to mind. So maybe (way) later. Currently Im adding walls and stuff.

and yes: build 76+ (updated OP)

Darloth
Cave Troll
Posts: 28
Joined: Mon Nov 02, 2009 11:24 am

Re: Wolph42's drop-in Dungeon Builder

Post by Darloth »

Is programmatically drawing things (as in, using the drawing tools) an implausible idea?

Not that it matters too much, as I could just use it to render the walls and draw on the floor if necessary... Anyway, I'm still drawing my map in Excel, I'll post again when it's actually done and I'm tweaking it.

The settings window currently spawns off the top of my screen, but it can be moved after I resize it a bit and Windows notices the titlebar has fallen off the top edge.

User avatar
aliasmask
RPTools Team
Posts: 9023
Joined: Tue Nov 10, 2009 6:11 pm
Location: Bay Area

Re: Wolph42's drop-in Dungeon Builder

Post by aliasmask »

Are your atmospheric objects randomly rotated? As a feature, it could be nice to be able to specify an objects rotation (or random). Wiki: setTokenFacing(). Use values 1-8 (*45) for the angle. Just an idea.

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Wolph42's drop-in Dungeon Builder

Post by wolph42 »

aliasmask wrote:Are your atmospheric objects randomly rotated? As a feature, it could be nice to be able to specify an objects rotation (or random). Wiki: setTokenFacing(). Use values 1-8 (*45) for the angle. Just an idea.
They are and yes you can :D

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Wolph42's drop-in Dungeon Builder

Post by wolph42 »

Darloth wrote:Is programmatically drawing things (as in, using the drawing tools) an implausible idea?

Not that it matters too much, as I could just use it to render the walls and draw on the floor if necessary... Anyway, I'm still drawing my map in Excel, I'll post again when it's actually done and I'm tweaking it.

The settings window currently spawns off the top of my screen, but it can be moved after I resize it a bit and Windows notices the titlebar has fallen off the top edge.

Erm no. It's copy pasting tokens in the yellow area to the designated spot. Sizing, rotating etc. the token depending on the settings. I've just added torstans walls, doors and bars, together with pallisades, thick stone walls and other stuff. Will upload it tomorrow. It looks nice!! Very happy with the new material.

Upload the excel file when you're done. I'll like to see what's been done. thnx!

Going to sleep now!

Darloth
Cave Troll
Posts: 28
Joined: Mon Nov 02, 2009 11:24 am

Re: Wolph42's drop-in Dungeon Builder

Post by Darloth »

Being able to specify floor styles would be amazingly handy, and shouldn't be too much extra I would think?

Basically, using A, B or C (Z for stairs down)for example, I could have

Code: Select all

          C
AAAA      C   BBB
AZZABBBBBBBBBBBBB
AZZA      C   BBB
AAAA      C
and so on and so forth. Also useful for stairs and other things you want to be specifically placed floor types.

If it ignores everything it doesn't recognize that would be good, then symbols could be replaced to do much of that, but definable floors would be a big plus.

Also, I wonder about the size of the map, mine is growing above 200mb already... But it looks great, and has sped up my construction process by a long way, even if I do have to strip out all the pretty floor tiles and replace them with a few background drawings, it will still be an improvement, so thanks a lot for that!

I'll send you the excel files later tomorrow, probably, and now -I- sleep... far, far later than I should.

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Wolph42's drop-in Dungeon Builder

Post by wolph42 »

ok this has been quite a day from hell. Im quite busted. Anyway to answer your request:
that's already possible. Lets say you want one extra floortile available: D
1. Rename the other floortile 'Darloth1'
2. Goto settings and add 'Darloth' to the object list below in the settings and press Save
3. Got the settings again (click a few times ok when the popups are there) here you will see 'Darloth' among the object list.
4. Set type to 1 and click save again.
Now you can use

FFFFDDDDFFFF
DDDDFFFFDDDD
etc.
in you construction.

Alternatively you can create in excel 2 markers (e.g. "F") one in the top left corner and one in the top right corner.
Now you can create your structure, save the file, delete the "D" tiles and then render the map in MT (you now have half the map rendered). Reload the map in excel and this time delete the "F" cells (except the markers) and render the map again with the floor settings set to another floor type (you now have the other half of the map with other floortypes). Note that with the rendering you ONLY need to render the floor, not the objects and walls, this you must do with a full map (from excel). The markers will make sure the map is rendered in the right place.

I have plans to create the ability to set the type of every object so e.g.:
F1 F1 F1 F2 F2 F2 F1 F1 F1

User avatar
wolph42
Winter Wolph
Posts: 9999
Joined: Fri Mar 20, 2009 5:40 am
Location: Netherlands
Contact:

Re: Wolph42's drop-in Dungeon Builder

Post by wolph42 »

Build 1.1 (17-11-10) MT 76+
- added Torstans barred wall, normal wall, door and rubble.
- added Portculis wall
- added pallisade wall
- added stone wall
- changed all the big tokens to medium size as this is set in the settings anyway, gives more space for other stuff.

No code changes so rptok remains the same.


User avatar
drow
Kobold
Posts: 5
Joined: Fri Dec 10, 2010 12:30 pm
Contact:

Re: Wolph42's drop-in Dungeon Builder

Post by drow »

wolph42 caught up with me at the CC forums and convinced me to add an option to
the donjon random dungeon generator.

after generating a random dungeon, click on the 'Map TSV' button (below the map itself)
to download a TSV description of the dungeon which is compatible with wolph42's dungeon builder.

i hope this is useful to someone, and look forward to seeing anything which comes of it.
cheers!
>>< drow ><<

Post Reply

Return to “Drop-In Macro Resources”