59 ratings
Level Editor Guide
By bargain
An in-depth guide to help new players to use the Delver level builder that comes with the game. It contains information on how to open the Editor, how to alter currently existing levels as well as how to create new ones.
Currently, the Level Creation tool is a very rough one, with most of the features hidden or malfunctioning. It is still very much possible to create new dungeons and dungeons chunks, but without a guide nearby, you will have a really hard time trying to figure out what each button does.

This guide will teach you all the current hotkeys, how to use the tools and how to create dungeon chunks and add them to your game.

This is a work in progress guide! If you liked it or think there are still things missing, please be so kind to tell me :) Thanks.

Assets folder

If you want to be able to test your games, you must first download these files[]. It is a zip file containing the assets folder, from where the game takes its contents. This folder is not required to play the default game, but is required to play a modded version, as it is where you will save the modified files.

Download the zip file and unzip it inside the Delver folder ("C:\Program Files\Steam\steamapps\common\Delver"). If you did it correctly, your Delver folder should look something like this:

First of all, you will need to find the Level Editor. The tool can be found on your game folder, inside the Steam games folder. The default path would be something like "C:\Program Files\Steam\steamapps\common\Delver". Inside this folder you will find your save files, the game executable and a ".jar" file named "delvedit-08-29-13".

Just double-click the ".jar" file to open the Editor.

This is what you will be seeing most of the time while creating a level, so let's get used to the interface. The left side of the screen is made up of 4 different tabs, where the tools are arranged, while the middle is your work area. It is arranged in grids, with each one being a tile in-game.

Let's look at our tools now.

Your first tab is the Entities. With it you can add loot, monsters, torches and other things to the level. To add something, you simply select a tile by clicking on it, select the entity you want on the drop-down menu and then press "Add". You can also remove entities by selecting the square they are on and pressing "Clear".

The second tab is the Tile Heights. Here you can define by how many units you want to increase or decrease the height of the floor and the ceiling of each tile. The default value is 1 in each. Although there are buttons to increase ("up") or decrease ("down") the height, you can simply use the hotkeys Z, for the floor, and X, for the ceiling, to decrease the height. Use Shift+Z/X to increase it.

The third tab is the Preset Tiles. Using it allows you to add different types of walls and floors to your dungeon. Not only that, you can also add diagonal walls as well as liquids, like water and lava.

The fourth and last tab is the Custom Tile. Similar to the Preset Tiles but more powerful, this allows to use any tile sprite wherever you want. You can have walls made of lava, ceilings made of water and floors made out of bookcases. You only need to know the right id number.
Hotkeys & Tiles

Currently, using hotkeys is the best way to edit your levels, as they allow you to access functions that are impossible otherwise. They are also very useful to edit even the most basic things, like tile heights, creation of tiles etc.

Note: Some of them are clunky — very, very clunky — so it can take some time to get used to.

Tile hotkeys:
Left mouse click: Select a tile. Drag to select an area;
ESC: Cancel selection;
1: Carve the default tile.
2 to 9: Carve different types of preset tile.
Z / Shift + Z: Decreases / Increases floor height;
X / Shift + X: Decreases / Increases ceiling height;
R (with a tile selected): Selects a specific corner or edge of
DEL: Delete selected area doesn't seem to be working;
Backspace: Delete selected tile or area;
T: Spin floor texture.

Entity hotkeys:
Left mouse click: Select a entity (you must select it before using any other command);
ESC: Cancel selection;
Click and drag: Move entity;
Shift + Click and drag: Snap entity to X and Y axis;
X / Y / Z: Snap the entity to the specified axis.
ALT + drag: Duplicate object;
Right click entity: Open the options for the entity.

P: Toggle player mode doesn't seem to be working (WARNING: will bug the editor);
L: Toggle lighting;
B: Toggle visible collision bounding boxes doesn't seem to be working;
W / S / A / D: Moves the camera forward, backwards and sidewards;
Q / E: Moves the camera down and up;
Directional keys: Changes the camera angle.

Credits to Chad (the dev) for this useful list!

Sometimes, you will want to create custom tiles, that you can't create with the hotkeys. The picture on the side is a list of the tile texture used by the game. The original file can be found on the "assets" folder of the game, by the name of "textures.png". When creating custom tiles, it is very important to have the file open on the side for quick reference.
There are two kinds of entities: the static ones, that can't be interacted with inside the editor; and the editable ones, that not only can have its properties altered, but can also be moved freely from the grid as well as given unique id's.

All the static entities start with a lowercase letter, while the editable ones start with an uppercase one. It is important to remember this as there are some entities with the same name, like the "torch" and the "Torch".

Most of the times you will be using the static entities, as they are the most important to create a functional dungeon. The static entities are as follow:

  • torch: Attaches a torch to a nearby wall, if there is one. Provides some light;
  • monster: Spawns an enemy on the place where it was added;
  • loot: Spawns a random item on the place where it was added;
  • key: Spawns a key to open a locked door;
  • boss: Spawns the game objective and the boss nearby (not tested);
  • decor: Spawns a skull on the place where it was added;
  • decorPile: Spawns a pile of bones on the place where it was added;
  • door: Spawns a simple door (not tested);
  • stairDown: Spawns a stair to the next level where it was added;
  • stairUp: Spawns a stair to the previous level where it was added;
  • playerStart: Defines the starting position of the player on a level;
  • exitLocation: Same function as stairUp (not tested).

A custom map with a few of the static entities in place. The green star on the water is loot, the red skull a decor and the blue @ the playerStart.

Creating a level chunk
This section will be used to teach how to best use the Editor, as there are some tricks one must learn to use it (mostly because it is still not very user-friendly). We will create a simple library hall. On the "Testing your levels" section of this tutorial, you will find a small list describing all the types of level chunks you can create, but let's take a closer look to the hall.

A sample library hall from the game viewed in the Editor.

A hall, in Delver, is a room of any size that has two entryways, each on the opposite sides of the other, aside from that, there is no other requirements. A library hall is simply a hall made the library theme, which consists of wooden walls, floors and ceilings; bookshelves; and red carpet. You can obviously create something completely different, using all kinds of tiles, but the default game usually uses that tile combination. Another thing important to remember is that, as it is supposed to resemble something built by human hands, everything is leveled, there are no curves, angled ceilings, walls or floors.

Now that you now how a library should look like in Delver, and how a hall works, let's create one!

Currently, it is impossible to tell where one side of the level should start, and the other end. If you create a hall from scratch, but insert the entry points on the wrong edge, the game will not be able to connect it properly to the rest of the other chunks, making it impossible to enter. So, the best way to create a hall (or any kind of chunk), is to load up a sample one from the files and editing it.

If you don't know how to load a level chunk on the Editor, go to the "Testing your levels" section of this guide to check out how.

To facilitate our lives, let's use the file "8.dat", the same from the screen above. Just open your Editor, press "Open" on the bottom, go to "generator/Dungeon/Halls" and choose the number 8. With it open, let's now erase it so that we can create our own level. Zoom out using E and then select all tiles, with the exception of the ones in the edges.

With everything selected, press the "Clear" button on the "Preset Tiles" tab. This should leave you with only two tiles facing each other. Now that we have a blank canvas, we can do whatever we want, we only need to remember to: never delete the tiles on the edge; give preference to wooden walls; and adding monsters, loot and some torches.

Some important hotkeys to use when building a library:
4: Creates a solid tile (impassable/wall) made of wood;
5: Creates a solid tile (impassable/wall) made of bookshelves;
6: Creates a tile (passable/floor/ceiling) made of wood;
7: Creates a tile (passable/floor/ceiling} made of red carpet with wooden ceiling.

After all is said and done, an example library hall I created using mostly the hotkeys above.

An example level I created. A hall filled with monsters, some loot and some ambient lighting to make for a love nest.

As you can see, I tried to alter ceiling and floor height to create something different, with multiple possible paths for the player. He can through the middle and grab the loot guarded by the enemies, or by the sides, where it is a closer environment, but has more loot. Also, never forget to press L when adding torches, to see how it will affect the lighting. You don't need to add a torch everywhere, as the player is also a light source.

Try to use the most of the Editor! To see how the ceilings are doing, zoom in using Q and move around your dungeon using the WASD and directional keys. Creating a ful level is not very different from this, except that there is less to rules to follow. You can build from any edge of the map to any edge of the map (not fully tested), but you need to have both a "stairDown" and "stairUp".

If you are happy with your creation, or just want to test, save it inside the same folder we opened "8.dat" ("generator/Dungeon/Halls") and follow the steps of the next section.
Testing your levels
After creating your level, you will need to test it, of course! To do so, you must first have downloaded the files mentioned on the beginning of this guide. If you haven't already, go download[].

After that, unzip the "generator" file inside the "assets" folder.

Now that you have those files, you can start testing. There are two kinds of levels you can create. You can either create a full level, like the last level of the game, which means that the layout will be the same every time. Or you can create a level chunk. A chunk is the part of a randomly generated level, which is made up of several different chunks pieced together.

Testing random chunks

To test your level chunk you created, you must first need to decide which style it fits better, so it can be mixed with other similar chunks. For example, a level using the default tile (the gray bricks), are better suited for the Dungeon, while levels with a lot of water can be used on Sewer levels.

After deciding the theme of your level, save it inside the corresponding folder inside "generator". Currently there are the following themes:
  • Cave;
  • Dungeons; and
  • Sewer
Inside each of these folders, the chunks are further divided into subcategories:
  • Beginnings: one entryway, playerStart required;
  • Corners: two entryways near to each other;
  • Ends: one entryway, stairDown reqired;
  • Halls: two entryways, opposite to each other;
  • Intersections: four entryways;
  • Starts: one entryway, stairUp required;
  • TriIntersections: three entryways.
Before deciding in which one to save your level, try open some of the pre-made ones to see what are the main differences of each category. Some will require stairs to different levels to be playable, others will require a player starting position, while others will requires different amounts of connections.

A custom level chuck that has 2 exits and the Dungeon tileset.

Now that you have decided what your level it, you must save it in the correct folder. Let's suppose it is a corner for the Sewers level. You will then save as "X.dat" inside "Sewer\Corners", where "X" is any given name (it does not need to follow the numbering).

After saving, just zip back the "generators" folder and replace the older one with your modified. Now your level chunk should be randomly added to the dungeon!

Testing pre-generated maps

Testing pre-made levels can be much easier, as all you need to do is save your level on the correct folder, edit a file and everything is ready!

Unlike level chunks, your level will require only two things to be functional: a starting pointing, in the form of a playerStart entity if it is the first level of your dungeon or a stairUp if it is any other level; and an ending point, in the form of a boss entity, if it is your last level, or stairDown if it is any other level.

Now that your level has an entry point and an exit point, lets insert it into the game! Press the "save" button in your editor and choose the following folder inside Delver: "assets\evels". Name your level something simple, like "moontemple.dat", for example.

Example of part of a full fledged level.

Now go to "assets\data" and open "dungeons.dat" with a text editor. This data file controls the generation of new levels inside your game. Each chunk of code represents a different level of the possible 7 ones.

Chunk of code for the first level of the game. It was altered to always generate a "moontemple" level.

Inside this file you can change several values, including the music played inside the level. But we are going to focus on the following code:


The "generated:true" code means that the level is randomly generated, but we don't want that, so we change the value from "true" to "false":


The other code, "levelFileName", is the pre-made level the game will load, so here we will write the name of the level we created. In my case, the "moontemple.dat":


Your code should look like the above now, so save the file. If did everything correct, the next time you start a new game, it will load the level you created, instead of creating a random one.

The Moon Temple seen from inside the game.
Superbusyrobot May 27, 2018 @ 10:11pm 
Nice guide. Might want to update it a little for the new versions of DelvEdit, though.
多包容下菜鸡 Apr 7, 2017 @ 5:25am 
good job
fgsfds Jul 29, 2015 @ 6:55am 
By unzip, do you mean extract?
potatoes Jul 9, 2015 @ 12:12pm 
I cant make the 1-block bigger!
SuperPinger Jun 30, 2015 @ 4:02am 
why i can't open DelvEdit.jar?
rawr_imadragon Mar 2, 2015 @ 7:25pm 
P - Playtest
B - Player Camera Mode
L - Lighting
V - Natural Selection Mode for Tiles
R - Rotate Object Freely, Cycle Tile Edge/Corner
T - Rotate Object or Tile 90 Degrees
Backspace - Delete Object or Tile
C - Collision Boundaries
F - Level Floor Tiles
Shift + F - Level Ceiling Tiles
Enter - Place Selected Tile (Levels Tile/Area)/Paint Selected Area
chess club manager Nov 30, 2014 @ 9:31am 
I start DelvEdit and it stops working after a while :( Usage is only 65mb or so. Buttons don't work and sometimes background is all white. I can't move camera also.
OurShipOfTheImagination Aug 27, 2014 @ 4:37pm 
Can't wait to get started!!
zlos Aug 1, 2014 @ 3:55pm 
the assets files wont work when i try to load delver it loadds with old textures is there an updated version?
SilverSkies Jan 3, 2014 @ 1:24pm 
I cant rotate doors?