Mirage Editor Guide

The server is live! See the details here: https://pwmirage.com/forum/thread/143-the-server-is-live/

The editor is available through the top menu bar on this website. It's available to everyone and you're free to edit the entire Perfect World, although to save your changes and be able to publish them, you'll need to be acquire a Contributor status, simply click here. The status is given instantly and automatically to everyone at the moment.

After you acquire the status, you'll be able to create your first project:

You'll be asked to provide a name and brief description. Quoting the project creation page:


Mirage Editor projects are separate workspaces that can contain any amount of Perfect World changes. They are your own playgrounds. As there are multiple people modifying potentially the same content, we would like you to keep your changes organized. A single project should only contain changes related to a single concept. It should be as small as possible to avoid conflicts with other projects.

When created, a project is only visible to you. At any point in time, it can be published to broader audience with just a single click. Before it's visible to everyone, though, it needs to be reviewed and approved by a Staff member. Upon publishing, there will be a forum thread created for that project and all review comments will be posted there. The smaller the project is, the faster it will be reviewed and the faster it will appear in game.

Please choose a unique name and a few words of description for each project. Those can be edited at any time until the project is published.

Every project has unique URL to edit it. If you access just pwmirage.com/map, you'll be given a list of projects. Clicking one will open it.

Button #1 opens the project. #2 moves it to trash. Clicking the project name will either let you modify the project description, or redirect you to the forum thread if it exists already.

The current project is shown in the top-left corner of the screen. Before making any changes, please make sure you're editing the proper one. If you make changes in a wrong project, you will likely have to redo a lot of work.

All changes made in the editor are stored in browser-local storage. It is persistent across browser restarts or system reboots, but still could be accidentally cleared, and in general it's only browser-specific. To keep your work safe, your currently loaded project gets automatically sent to the server (pwmirage.com) every 5 minutes. You can also force-save it at any time with Project->Save.

As mentioned before, a project is visible only to you by default. To share it with others you need to publish it with Project->Publish. This will create a forum thread with a link to a read-only version of your project. After it's published, a project can be still saved, but the new changes won't be public until you click Project->Publish again. Subsequent publishes are represented simply by replies to the original forum thread.

Mirage Editor

First thing you see when you open the editor is a full-screen Perfect World map. It will be visible at all times, as any additional windows will appear only on top of it. It might take a while for the editor to load for the first time, but after that's done, most of the resources will be cached in your browser and won't have to be redownloaded again. The total size of all resources is about 20MB, but subsequent reloads will only fetch about 25KB from the network.

Map navigation

Simply click your mouse and drag it around to move the map. Use mouse scroll to zoom in and out. After a certain zoom-in level is reached, green markers will appear on the map where NPCs are placed. There's an option under View->Always show markers that will show them regardless of the zoom level. It's turned off by default because it may cause performance issues on slower PCs.

Hovering over a marker will show a label next to it with the corresponding NPC's name. Clicking on the marker will open a new, draggable window for editing that NPC. You could also right click on the map to create a new NPC, or right click on an existing NPC to remove it.

Window controls

All overlay windows in the editor use the same scheme. The gray header at the top can be clicked and dragged to move the window anywhere within the browser area. There's also a few control buttons on that header.

(1) Full-screen on/off

This switches the window into a full-screen mode, where the window header becomes a part of the navigation bar and rest of the window covers the entire map. This button is only available for selected windows - there's just no benefit of viewing most windows in full-screen.

(2) Pin/Un-pin

Most windows are un-pinned by default and will be automatically closed when you click the map. Pinning a window will prevent this.

(3) Close

It just closes the window. Note that all your custom changes are saved (to the local browser storage) as soon as you make them. There is no special "Apply" button anywhere in the editor and closing a window doesn't result in losing any changes - they're always there.

When there are multiple overlapping windows on the screen, the one that was clicked most recently will be shown on top. You can switch focus and move different windows to foreground at any time. Also , windows are usually opened next to the mouse cursor, but the editor will try to open them in a nearby location that's least occupied (by other windows).

Object templates

Most of the editing windows start with a "template" section which needs to be understood before delving into any window in particular.

If we click on any "PW Promotions Agent" NPC, we'll see that we're editing an NPC template referenced by 13 different objects. This means that we can find up to 13 NPCs on the map using the very same NPC scheme. If we edit for instance the NPC's name (PW Promotions Agent) and change it to something else, all 13 NPCs will have their name changed.

If we click the "Template" button (#1), we'll be able to choose a completely different template for this NPC - different name, different greeting, different crafting recipes offered, and all the rest. In general, every different object variation (which is an NPC variation in this case) is a separate template.

It may be sometimes required to have multiple object variations (like different NPCs or items) that have the same name. For that reason, templates have a separate "name" field which can be used to identify them. This name is not visible in game and can be anything - it's only for the editors' convenience to know what they're dealing with. It's the text field next to the template button (#1). The in-game NPC name (#2), as well as all other data, is located below the gray template label.

Any template can be cloned. In a case where we want one PW Promotions Agent to have a different name, we can click the clone button (#3) and the particular NPC that we've clicked on initially will have its own template with the very same data (same name, greeting, crafting recipes, etc). The new template will be named "PW Promotion Agent (Cloned)" (assuming the previous template name was just "PW Promotion Agent"). If you're cloning a template, it's a good idea to give it a proper, descriptive, and fairly unique name. Our NPC can be switched back to the original template by clicking the "Template" button (#1) and selecting "PW Promotion Agent".

Find Template

If we click the "Template:" button, we'll be given a window like this.

At the time of reading this guide you'll be likely just beginning your journey with the Mirage Editor, so your template list will be almost empty. That's because we're on a "Recent" (#1) tab by default. It only shows templates (NPC templates in this case) that were recently used. We clicked the "Template:" button on a PW Promotion Agent, so that's the only thing we're seeing on that tab now (#2). Basically any template we've touched will land in the Recent tab.

You will likely want to switch to the "All" tab and use the search bar to narrow down the results to find the template you're looking for. Note: the search is case-insensitive. You could also create your own tabs with the cog button (#3), but that won't be covered in this guide.

In the example below I've searched for "Blacksmith" and were given a bunch of different smiths.

Double-clicking any of them will switch my original NPC (PW Promotion Agent) to the new template

List changes window

All custom changes in a current project can be browsed under Project->List changes. This window is currently in a very raw state and it's unlikely to change soon, because it still requires a ton of work and there are other priorities. Currently it's mostly used for editor development purposes. However, even in its current version, it offers a very crucial functionality - to revert any of your changes.


In the case above we can see two not-very-well described changes. They mean that one NPC had its template changed (its type), and the other one was simply removed (FYI, it was Gem Merchant Chu). If we right click on any of those entries, we'll be given an option to restore their state.



* each npc has a few unique settings like vertical position or spawn triggers and then there's the NPC type template

* clicking on "Goods" or "Craft" will open a new window

* crafts and goods are separate templates. In original game there for instance different blacksmiths with different names, but same recipes - that's because they're using the same crafting recipes template.

NPC Goods


* goods' name is what's shown in the NPC dialogue menu in game. It's usually just "Goods", but can be anything.

* tabs without a name won't appear in game

* double click on item slot to open an item chooser

* right click on item to open a context menu. You can edit the selected item from there. If you choose to clone the item through the opened window, the goods list will be automatically updated to use the new item.

NPC Recipes


* similar to goods