Chapter 3-2: (Continued)

This page is probably going to be one of the most important pages of this tutorial to read fully. That's because it's going to be explaining one of the most complex concepts of Zelda Classic. If you can master the main concept of this page, you can conceivably puzzle your way through quest creation.

But we're not stopping the tutorial after this page. :-P

Let's get started.

Part 7: Our First Dungeon Screen

Now that we have basic setup out of the way, it's time to make our first dungeon screen.

Return to Map 3→Screen 70 and draw the following screen:

Map 3 Screen 70

However, do not manually draw in the doors from the Combo List! Use Screen→Doors!

Doors for Map 3 Screen 70

Now that we have the basic entrance screen to our dungeon created, it's time to create a DMap for the dungeon. But first, there is something else we need to go over.

Part 8: A Brief Intro to DMap Coordinates

You do not have to draw any of the screens in this part (part 8)!

So far we have been using an Overworld type DMap to contain pretty much the entirety of our overworld. Overworld type DMaps make use of our entire 16×8 screen map much like the original The Legend of Zelda. However, any other type of DMap that is not an overworld is constrained to an 8×8 screen grid.

It may seem like a waste to only be able to use half of the map for a DMap, but it is fully possible to have multiple dungeons (or multiple floors of one dungeon) on a single map by having multiple DMaps point to different sections of the 16×8 map. Using only part of the map is also helpful in making dungeons centered on the display map. To take advantage of these things, we need to make use of a DMap concept known as DMap Coordinates.

DMap Coordinates, also known as Relative Coordinates, are the coordinates that are actually used by DMaps and anything that interacts with DMaps. Tile Warps and Side Warps use DMap Coordinates. The DMap continue screen also uses DMap Coordinates. DMap Coordinates are an offset of the map coordinates you work with when creating screens.

To hopefully better explain this, suppose we have this map:

Example Map from a different quest file.

We have two different dungeons on this map. Despite sharing the same map, they are not the same dungeon and do not use the same DMaps. Let's take a look at the ice dungeon (shaped like a D) on the left:

Example DMap

Note: The grid on the left shows the actual map area that is covered by the DMap and its relative coordinates while the grid on the right shows the visible map screens that have been picked for the map you collect in Zelda Classic. It's okay for the the two grids to not match up. We will go into more detail about this when we create our actual dungeon DMap in the next part.

There is not an offset here. Screen 00 on the actual map corresponds with Screen 00 on the grid shown in the DMap editor. However, let's check the DMap for the dungeon on the right side of the map.

Example DMap

In this situation, an offset has been used to center the screens used for this dungeon. Screen 00 on the DMap is not the same as Screen 00 on the map. Screen 00 of this DMap is actually Screen 04 on the actual map. That is because I have set an offset since I can only use an 8×8 area of the map for my DMap.

As a final note, if you ever get confused on what the DMap Coordinates for a screen are, be sure to check the DMap editor dialog and compare the screen location on the grid it displays.

Part 9: Creating the Dungeon DMap

Now that you are probably endlessly confused due to part 8 over-explaining things, let's create the DMap for our first dungeon in this tutorial.

Go to Quest→DMaps and edit DMap 1 (the next empty slot).

DMap Mechanics

First, at the top of the Edit DMap window, make sure that the DMap has an appropriate Name (like “Level 1”).

Under the Mechanics tab, the DMap Type is set to NES Dungeon, and the Map is set to 3. Slide the slider underneath the map display until it matches the screenshot above.

Make sure the Level is set to 1. This is important because map items, compass items, boss keys, triforce pieces, and level specific keys you collect in the quest are stored by level number. This means that any DMaps with the same level number can share these things. This is especially useful for multiple floor dungeons.

In the grid on the right, click on the appropriate grid spaces to fill in the pattern shown in the above screenshot. If you mess up, simply click the space again to clear it. This is going to be how the map is shown on the subscreen when you obtain the map item or visit rooms in Zelda Classic. We left the center screens empty since they are going to act as secret rooms that are not shown on the map.

Finally, make sure that the Compass screen and Continue screen (which use DMap Coordinates) are set to 45 and 72 respectively. The Compass screen is a flashing marker that generally indicates the location of the quest item, which is usually the triforce. The marker appears when you obtain the compass item for that level. Once you obtain the triforce for that level, the compass marker will stop flashing.

DMap Appearance

Under the Appearance tab, set the Color to 003 - Zelda1 Level-3 and set the DMap Title to whatever you like (something like LEVEL-1 should do). This will be displayed on the subscreen as the map label in Zelda Classic.

DMap Music

Under the Music tab, set the Midi to whatever you want.

DMap Flags

Under the Flags tab, make sure nothing is enabled.

Click OK to accept the DMap changes.

DMap Select

Exit out of the DMap Select dialog once you have confirmed that the new DMap is present.

Part 10: Linking the Dungeon Entrance

Now we are going to link the new dungeon to our overworld.

Return to Map 1→Screen 55 (the overworld). Let's create a tile warp here.

Go to Screen→Tile Warp (or Press F10).

Tile Warp Entrance on Map 1 Screen 55

Set the warp Type to Entrance/Exit, set the DMap to the one we created in the previous part, and set the Screen to 72 as shown above for Tile Warp A. Remember that tile warps use relative coordinates and the DMap we created in the previous part has a relative offset of 2 since we shifted it a bit.

Note: Alternatively, you can left click on the map graphic to the right to set the screen. In this case, you would click the square that contains the green dot since that is the dungeon entrance screen we wish to warp to. You can use this method if you are warping to a non-overworld DMap and forget the proper relative coordinates to put into the warp dialog. ;-)

To make sure that the warp works correctly, press Go and you should find yourself in the entrance room of the dungeon (Map 3→Screen 70).

If you are not already there, head to Map 3→Screen 70 so that we can link up a proper exit to the south door. We are going to be using a Side Warp to accomplish this. This is almost completely identical to setting up a Tile Warp, but there is an extra thing to set.

Go to Screen→Side Warp (or press F11)

Side Warp Exit on Map 3 Screen 70

Set the Type to Entrance/Exit, set the DMap to our overworld DMap, and set the Screen to 55 as shown above for Side Warp A.

Side Warps trigger when you walk to the edge of the screen, so we also need to specify which side of the screen this exit will trigger. Under Triggers, click the South Box until it turns red with A as the label. This means that Side Warp A will trigger when the player walks off the screen to the south and warp us outside of the dungeon.

To make sure that the warp works correctly, press Go and you should find yourself back on Map 1→Screen 55.

Finally, as mentioned in Chapter 1, there is one other point for the screen Arrival Square: the destinations of Entrance/Exit Tile Warps. Since Map 3 Screen 70 is the destination of one such warp, we need to set the green square on that screen.

Arrival Square on Map 3 Screen 70

Let's set that underneath the southern door against the very edge of the screen as shown above. With that out of the way, the dungeon and overworld should now be fully linked up. Feel free to test this out in Zelda Classic.

tutorials/main/ch03-02.txt · Last modified: 2017/07/27 01:24 (external edit)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki