|
|
@@ -0,0 +1,31 @@ |
|
|
|
**How to build a map** |
|
|
|
|
|
|
|
**What you'll need** |
|
|
|
* The [Tiled](http://www.mapeditor.org/download.html) map editor |
|
|
|
* A text editor like [Sublime Text](https://www.sublimetext.com/), [Atom](https://atom.io/) or [VS Code](https://code.visualstudio.com/). Notepad could work too but let's not make it harder for ourselves? |
|
|
|
|
|
|
|
**Prep** |
|
|
|
* Create a new folder in `server/config/maps`. The folder should't contain spaces and should ideally be your map name. For instance: `plainsOfRuin`. |
|
|
|
* Download the map blueprint from [here](). |
|
|
|
* Extract the zipped archive into your new map folder. You should now have `server/config/maps/{yourMap}/map.json`. |
|
|
|
|
|
|
|
**The Map File** |
|
|
|
|
|
|
|
Open the `map.json` file in Tiled. |
|
|
|
|
|
|
|
In the map file, there are two different layer types: Object layers and Tile layers. Object layers are for placing objects like: mobs, doors and room boundaries. Tile layers' purpose should be fairly obvious. |
|
|
|
|
|
|
|
Let's have a quick rundown of what the different layers are for. First the object layers: |
|
|
|
* notices: Room names (these will pop up when you enter them) |
|
|
|
* clientObjects: Objects that aren't tracked by the server but still have code behind them. For example: Candles (Have a light source component). |
|
|
|
* objects: Objects that are tracked by the server but aren't mobs. For example: Portals (That move players between zones). |
|
|
|
* mobs: NPCs or enemies |
|
|
|
* hiddenRooms: Allows you to mark areas to be hidden until you enter them. |
|
|
|
* rooms: Misnamed at the moment. These are actually 'mapping' tiles. More on this later. |
|
|
|
|
|
|
|
Now, the tile layers: |
|
|
|
|
|
|
|
* hiddenWalls: These wall tiles will be rendered over the relevant hiddenRoom. If these weren't here, the hidden area would just be black, possibly giving players a very good indication that a hidden area is located there. |
|
|
|
* hiddenTiles: Exactly like hiddenWalls, except for tiles. |
|
|
|
* walls: A wall tile is any tile that causes the player to collide. It doesn't have to be a wall or even a tree. It could be a regular ground tile too. Just remember that placing a tile in this layer would cause the player to not be able to walk there. |
|
|
|
* |