- For having wild Pokémon encounters occur anywhere within a map, see Wild encounters.
This page describes how to use randomly-generated dungeons.
What are dungeons?
Dungeon maps feature heavily in the Mystery Dungeon set of Pokémon games. A dungeon map is a collection of small rooms and connecting corridors, with one entrance and exit. They typically take the form of cave systems.
The layout of a dungeon map is randomly generated every time it is entered. The same dungeon map will never have the same layout in successive visits.
One drawback with dungeons is that they are quite plain, as by default they only use up to three different textures, and the only decorations are events.
Setting up a dungeon map
To create a dungeon map, simply create a blank map and set its "Dungeon" metadata to TRUE. Whenever that map is entered, its layout will be randomly generated. The dungeon will fill the entire map, so change the size of the map to make the dungeon bigger or smaller.
You will also need to make sure the dungeon map uses the proper graphics. Dungeon maps are drawn using the first 3 definable autotiles of the tileset set for that map, in the following order:
- The area surrounding the map, usually blackness. Unpassable.
- Floor. Passable.
- Wall. Unpassable.
You should use a separate tileset just for dungeons, set up with appropriate autotiles.
It should go without saying that dungeon maps should not be directly connected to any other map.
Filling up the dungeon
You can place events anywhere on the map. The game will place them randomly on the dungeon floor when it generates the dungeon.
One vital event you must include is one that moves the player to a new map; this is the only way the player will be able to leave the dungeon.
You can also define "Cave" encounters as you can for any other cave.
- The minimum recommended size for a dungeon is 40x40 tiles. This allows for up to 4x4 separate chambers all connected with corridors.
- Modify the dungeon generator to make the dungeons look better, e.g. to use more graphics from the tileset such as random rock formations, pools of water, etc.
- To keep a dungeon useful as a training area, you can modify the wild Pokémon's levels so that they are based on the levels of the Pokémon in the player's party. The dungeon in the example maps does this with code in the script section PField_EncounterModifiers.
- Dungeons don't need to be just caves. Experiment with other environments, e.g. pyramid interior, deep forest, ocean reef.