-
Notifications
You must be signed in to change notification settings - Fork 18
08. AutoMapper
The AutoMapper is a window that displays a graphical representation of MUD rooms. This not only allows you to gain an overview of locations by seeing how rooms connect to one another but also allows you to navigate more easily. You can travel via the AutoMapper by clicking on a room and Genie 4 will automatically navigate your character to that specific room.
The AutoMapper requires map files to work. Many of these have already been recorded by Genie 4 users. Refer to the Syncing Maps section for more info.
Genie 4 cannot use AutoMapper functionality in areas which are not yet mapped. If you find a room or area that is not yet mapped, please reach out.
The AutoMapper can be quickly toggled on/off using the toggle under the File menu.
Genie 4 will automatically detect if your character moves into a room that has been mapped and will load the corresponding map for you. If you have just logged on you will need to move one room so that Genie 4 can identify which room it is currently in.
The AutoMapper window will display itself on top of the Genie 4 window. This is designed for second monitors, so you can have the AutoMapper window open on a second screen with the game itself on the first.
To move to a room simply right click on the appropriate node on the map. Genie 4 will then move your character to that room by the shortest route.
Nodes with Blue borders represent links to adjacent maps and clicking on one of these will load the specified map, which is usually labelled. It is not yet possible to travel across multiple maps using the AutoMapper, but it will be in the future.
The Genie 4 maps use the following key. Red for shops. Green for points of interest. Blue for water and Blue Edged for linking nodes. Your characters current position is indicated by the pink node.
Complex maps, especially those of cities and towns, are often divided into levels. The levels can be accessed by using the up and down arrows at the top right of the AutoMapper window. The text to the left of the arrows indicates which level you are currently on. For example the map of the Crossing has three levels. Level 2 for residential areas. Level 1 for the interiors of shops and guilds and Level 0 for everything else. This keeps the map from becoming cluttered and allows you to make efficient use of the available space, preventing the map from becoming too large and difficult to read. Genie 4 will automatically navigate between levels as you move between them.
You can zoom in and out by using the magnifying glass icons to the far top right of the AutoMapper window. This allows you to view complex areas in more detail or zoom out to take in the whole of an area if you wish.
Each room in a map is assigned a specific room id number. You can discover this number by hovering your mouse over the room on the map. The id number and name of the room will be displayed in the bottom left hand corner.
You can navigate directly to any room without using the AutoMapper screen provided you know the id number for your destination room and the area you are in has been mapped. The syntax for this command is as follows:
#goto <room id number>
So for example if you were in the Crossing, entering #goto 551 would take you to the bank teller. This can be incorporated into scripts and is very useful for travelling within an area.
Genie 4 Maps are community maintained through the Maps repository. To update your maps to the most recent versions, follow the below instructions.
If you are on Genie 4.0.2.5 or later:
- Open one instance of Genie (quit out of DragonRealms and close any others you may have running).
- Go to AutoMapper > Update Maps. This may take a few minutes.
If you are running any Genie version older than 4.0.2.5:
- Please update to the latest version of Genie, and then proceed with the instructions above.
If you want to manually download updates, you can download a zip of all the maps, unzip the file, and copy the unzipped contents to your Genie folder under the Maps directory.
To record a new map, click on the new map icon on the top left of the Automapper window title bar. Press the red record button in the middle of the title bar. Genie 4 will now record your characters movements and assign each new room they enter a unique room id for that map.
To start the map move your character around the area, taking care to travel into and out of every room. Many rooms have different entry and exit commands and as such it is necessary to travel through them in both directions to capture this information.
Once you have entered and exited every room in the area you wish you map, you can save your map by clicking on the save icon in the top left of the AutoMapper window title bar.
It is worth noting that the Genie 4 DragonRealms maps follow Ranik's numbering system, so it is a good idea to use this. Ranik's maps can be found at Elanthipedia here: http://www.elanthipedia.com/wiki/Ranik_Maps and are a very useful reference tool when creating your own for Genie 4.
To move a node on a map, simply click the Move Nodes/Labels Compass Icon on the Automapper window button bar. This is a toggle. When it is selected it is surrounded by a blue border and you can move nodes and labels by simply clicking and dragging them. You can select multiple nodes by clicking and selecting as many as you wish while holding down the left mouse button. In this way you can move a block of nodes to a new position without moving them automatically.
The Snap to Grid button makes moving nodes a much simpler process. It underlays your map with a grid, and each node automatically positions itself on the corner of a grid square. This is useful for quickly getting a uniform look to your map, particularly in cities and towns.
Labels are free floating text that adds information about specific areas to a map. They can be used to indicate the name of the next map, districts in a town or even monsters found in a hunting ground.
To add a label click on the edit button on the AutoMapper window toolbar. The editing window will appear at the bottom of the AutoMapper window. Click the New Map Label button and enter your text in the Text field.
You can specify co-ordinates for the label in the Position field by entering X Y and Z co-ordinates. Alternatively you can leave them as 0,0,0 and move the label as described in the moving nodes and labels section.
You can delete a node from a map by selecting the node you wish to delete. Click on the edit button on the AutoMapper window title bar and the details of your selecting node will appear. Clicking on the Remove eraser icon will delete the selected node from your map.
In addition to adding labels and deleting nodes the editing window is a powerful tool for adding functionality to your maps. With a node selected it allows you to edit any of the information recorded for that node.
The Name and Description fields should be captured as you record a map. They correspond to the name of the room and the descriptive text output by the game when you enter it.
You can edit the node color by clicking on the paintbrush icon in the bottom left hand corner. Use these established color conventions for choosing a node or link color.
The Key/Linked Map field allows you to either enter additional descriptive text to a node or to link another map to it. Examples of descriptive text would be adding the name of shops or guilds to be found in that node. For example 'Rangers Guild'.
To link a map to a node you are editing, simple enter the map's filename in the Key/Linked Map field. For example entering Map456_GMTeaParty.xml will change the specified node to a linking node, and link map 456 to your current map.
Finally you can edit the arcs that connect nodes on your map. For example you may want a specific arc to go West even though the exit it represents is an Easterly exit. To edit an arc, click on the Edit Arcs button in the edit panel.
This will display a list of the arcs (exits) from the node you are editing. Select the arc you wish to edit by clicking on it. Below this list are several fields. To Node ID indicates the room number of the node that the specified arc connects your current node to. Name is the identification for this specific arc. The Direction drop down menu allows you to customize the direction of the arc on the map. Choose the direction you want to arc to appear in and select it, then click apply. You may need to do this for both the entry and exit arcs depending on the map in question.
Genie Maps are saved in XML format, which can be edited directly instead of using the AutoMapper interface. These files are usually saved in your Genie 4 Folder, under Maps.
Anyone can submit updates to the Genie map repository. Once peer reviewed, any approved changes will be made available to all other Genie users.
- Create a GitHub account.
- Create a "fork" of the existing Genie Maps repository using GitHub's instructions. A fork is a copy of the repository where you can make changes without affecting the live repository.
- The repository you want to fork is https://github.com/GenieClient/Maps, not their example "octocat/Spoon-Knife" repository.
- You only need to copy the main branch.
- Go to the Maps repository home, and click the down arrow next to "Fork" at the top right hand corner of the screen, then click your fork in the list. Do not click on the word "Fork" itself. For the future, you can bookmark this page and skip right to it.
- Check the status of your fork as compared to the current branch. On this page will be one of the following messages:
- "This branch is up to date with GenieClient/Maps:main" - continue with step 3.
- "This branch is X commits behind GenieClient:main" - this means your fork is out of date. Click "Sync fork" to the right of the message, then "Update branch". Continue with step 3.
- "This branch is X commits ahead of GenieClient:main" - this means you have made edits to your fork that have either not been submitted to the public repository, or have been submitted and not approved. You should only proceed if you want to add to an existing pull request.
- This syncs your fork with the main branch, but that does not mean that your local Genie Map files are up to date.
- From within Genie, go to AutoMapper > Update Maps. This may take a few minutes.
- Before editing any map file, we recommend that you make a backup of every file you're going to edit. This is so you can roll back your changes if there are unintended edits (which can easily happen when editing via the in-client AutoMapper).
- Make your desired edits to the map either via the in-client AutoMapper (instructions here), the xml file (instructions here), or a combination of both.
- Once your edits are complete, you're ready to submit your changes for peer review. This is called submitting a "pull request".
- Go to the Maps repository home, and click the down arrow next to "Fork" at the top right hand corner of the screen, then click your fork in the list. Do not click on the word "Fork" itself. For the future, you can bookmark this page and skip right to it.
- Check the status of your fork as compared to the current branch. On this page will be one of the following messages:
- "This branch is up to date with GenieClient/Maps:main" - continue with step 4.
- "This branch is X commits behind GenieClient:main" - this means your fork has become out of date while you were making your edits. Click "Sync fork" to the right of the message, then "Update branch". You should review these recent changes to ensure that they have not made your changes obsolete.
- "This branch is X commits ahead of GenieClient:main" - this means you have made edits to your fork that have either not been submitted, or have been submitted but not yet reviewed. You should only proceed if you want to add to an existing pull request.
- Click the "Add file" button, then choose "Upload file".
- Drag/drop your edited file, or click "choose your files" and select the file the file browse window. If you edited more than one file, we recommend that you submit them one at a time (so only choose one map file here).
- Under "Commit changes" add a brief title to your "commit" that explains what you did. You can optionally add a longer description.
- Make sure "Commit directly to the main branch" is checked.
- Click "Commit changes".
- This will return you to the page with your specific fork, which will now say "This branch is X commits ahead of GenieGlient:main".
- Click the linked "X commits" message.
- Click "Create pull request", and then "Create pull request" again. If you already have another pull request pending, you will not have to click these buttons. Your edits will be automatically submitted with your last pull request.
- Your edits will now be waiting for a peer to review. If they have they questions or concerns, they will reach out to you. Otherwise, your edits will be rolled into the community files.