HowToUseTiledToCreateStendhalMaps2: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
imported>Kymara No edit summary |
imported>AntumDeluge →Animations: note about outdated info |
||
| (27 intermediate revisions by 3 users not shown) | |||
| Line 3: | Line 3: | ||
Start by opening template.tmx file. Make sure all Layers are selected to be visible, then resize it to the size you want. Save it with the new map name, in the directory it's suppose to be in (level 0 - level -7 and semos, nalwor. orril etc... depending on which it is closest to). Just save it in one of those folders, and it should be ready to edit. Also please read [[HowToUseTiledToCreateStendhalMaps2#Zone_naming|zone naming]] before naming the zone. <br> |
Start by opening template.tmx file. Make sure all Layers are selected to be visible, then resize it to the size you want. Save it with the new map name, in the directory it's suppose to be in (level 0 - level -7 and semos, nalwor. orril etc... depending on which it is closest to). Just save it in one of those folders, and it should be ready to edit. Also please read [[HowToUseTiledToCreateStendhalMaps2#Zone_naming|zone naming]] before naming the zone. <br> |
||
Best zone size is '''128x128'''. |
Best zone size is '''128x128'''. In general, outside zones (anything other than an interior) must be multiples of ''32''. |
||
We may accept 256x128 on some specials cases ( infrequently visited areas ), but we will force you to split it in smaller zones if it is any bigger ''( it is really easy to split the zone anyway )''. The template.tmx file has all the layers in the correct order. It is best to use this, or open and 'Save As....' an existing map, for making new maps. Some prefer to use a duplicated version of an existing map since it has tilesets pre-loaded. If you do this, try to choose one with as similar tiles as possible and remove from the Palette that you don't use, to optimise memory usage. |
We may accept 256x128 on some specials cases ( infrequently visited areas ), but we will force you to split it in smaller zones if it is any bigger ''( it is really easy to split the zone anyway )''. The template.tmx file has all the layers in the correct order. It is best to use this, or open and 'Save As....' an existing map, for making new maps. Some prefer to use a duplicated version of an existing map since it has tilesets pre-loaded. If you do this, try to choose one with as similar tiles as possible and remove from the Palette that you don't use, to optimise memory usage. |
||
| Line 57: | Line 57: | ||
Anything you place in this layer will be drawn "above" the player, making an effect of walking behind it (commonly used for the tree tops, say.) |
Anything you place in this layer will be drawn "above" the player, making an effect of walking behind it (commonly used for the tree tops, say.) |
||
==4_roof_add== |
|||
Just like the 3_roof layer you walk behind this, however this is also drawn above the 3_roof layer, so you can draws chimneys on roofs say. Or so you can put flames on this layer, on top of a torch or lamp top piece on the 3_roof layer. (E.g. Take a look on how our tower in the nalwor_city map is done).. |
|||
==Objects== |
==Objects== |
||
| Line 63: | Line 64: | ||
==Collision== |
==Collision== |
||
Probably the most important layer of all. This layer tells where you can move or not in the map, just place the red tiles from tiled/tileset/logic/collision.png wherever you don't want players to be able to walk, make sure no other tiles is placed here, because they will work as collision tiles aswell. |
Probably the most important layer of all. This layer tells where you can move or not in the map, just place the red tiles from ''tiled/tileset/logic/collision.png'' wherever you don't want players to be able to walk, make sure no other tiles is placed here, because they will work as collision tiles aswell. |
||
==Protection== |
==Protection== |
||
This layer is used to create protection zones, ie non PvP (Player versus Player) zones, use the green tile in tiled/tileset/logic/protection.png to place these zones. The protection zone is done on a tile per tile basis. |
This layer is used to create protection zones, ie non PvP (Player versus Player) zones, use the green tile in ''tiled/tileset/logic/protection.png'' to place these zones. The protection zone is done on a tile per tile basis. |
||
=Objects revisited= |
=Objects revisited= |
||
Ok, back to the objects layer. This layer is used to place monsters, food growers and portals. Only tiles from |
Ok, back to the objects layer. This layer is used to place monsters, food growers and portals. Only tiles from data/maps/tileset/logic/ can be used here. |
||
In the |
In the ''data/maps/logic/creatures'' folder you have a lot of tiles with small images of the monsters on. They are grouped according to monster type e.g. elf.png. Just place a few monsters from this tileset in the object layer, and they will be there in game later when the server updates. If you place a very big creature like the balrog then make sure it has plenty of space to spawn because even though the tile is only 1x1 the balrog takes up a lot more space! |
||
In the |
In the ''data/maps/tileset/logic/item'' folder are vegetables, resources like wood, and the sheepfood. The sheepfood is for the berries you can place on the bushes (or on any other place actually... but don't confuse the players!... or our poor sheep :P ). |
||
The last thing that is important in this layer is the portals, at |
The last thing that is important in this layer is the portals, at ''data/maps/tileset/logic/portal.png'' |
||
Most of the portals need to be coded using xml to set the source destination. (see) The exceptions are : |
Most of the portals need to be coded using xml to set the source destination. (see) The exceptions are : |
||
* the portal that has a brown door, used to create "standard house" entrances. |
* the portal that has a brown door, used to create "standard house" entrances. |
||
: If you place it on the map a new interior will be created, which is entered where you placed the portal. It has the standard interior from tiled/interiors/abstract/house_000.tmx |
: If you place it on the map a new interior will be created, which is entered where you placed the portal. It has the standard interior from tiled/interiors/abstract/house_000.tmx |
||
* the |
* the portals with stairs on, used to go up or down in the "world layers" (check world.tmx file). ''Do not use on interiors!'' It is easiest to explain by example: |
||
*: You place one pointing 'down' at coordinates 45, 50 on a Level 0 layer with global coordinates x=499872 y=500000. |
*: You place one pointing 'down' at coordinates 45, 50 on a Level 0 layer with global coordinates x=499872 y=500000. |
||
*: Then if you place one pointing 'up' at coordinates 45, 50 on a Level -1 layer with global coordinates x=499872 y=500000, the stairway will be created to go in both directions. |
*: Then if you place one pointing 'up' at coordinates 45, 50 on a Level -1 layer with global coordinates x=499872 y=500000, the stairway will be created to go in both directions. |
||
| Line 91: | Line 92: | ||
=Animations= |
=Animations= |
||
'''''NOTE:''' the web client does not yet support tile animations'' |
|||
Most tiles we use in stendhal now which should be animated, are animated already. For example the white daisy, the flames, etc. We document here how it's done.<br> |
Most tiles we use in stendhal now which should be animated, are animated already. For example the white daisy, the flames, etc. We document here how it's done.<br> |
||
'''''NOTE:''' The following is outdated. Animations are now configured in {{StendhalFile|master|data/maps/tileset/animation.json|data/maps/animation.json}}. See {{StendhalFile|master|data/maps/tileset/README.animation.txt|README.animation.txt}}. |
|||
<br> |
<br> |
||
The animations are configured in a file at tiled/tileset/animation.seq. Lets look at a simple example, the flames. |
The animations are configured in a file at tiled/tileset/animation.seq. Lets look at a simple example, the flames. |
||
<pre> |
<pre> |
||
tileset/item/furniture/light/flames.png 0 0:1 |
tileset/item/furniture/light/flames.png 0 0:1 |
||
tileset/item/furniture/light/flames.png 1 |
tileset/item/furniture/light/flames.png 1 1:0 |
||
</pre> |
</pre> |
||
The flames.png has two tiles, counting from 0 they are numbered 0, 1. There is an entry for each tile which should be animated. 0:1 tells the order they should animate in. |
The flames.png has two tiles, counting from 0 they are numbered 0, 1. There is an entry for each tile which should be animated. 0:1 tells the order they should animate in. |
||
If you write * for the tile to be animated, then all the tiles in the following list are animated. |
|||
So we can animate the flames in a shorter way: |
|||
<pre> |
|||
tileset/item/furniture/light/flames.png * 0:1 |
|||
</pre> |
|||
The use of * is equivalent to writing a line for each of the tiles in the frame list, and cycling through the list at each line. For example, |
|||
<pre> |
|||
tileset/ground/water/whirlpool.png * 0:1:2:3 |
|||
</pre> |
|||
is a shorthand to writing |
|||
<pre> |
|||
tileset/ground/water/whirlpool.png 0 0:1:2:3 |
|||
tileset/ground/water/whirlpool.png 1 1:2:3:0 |
|||
tileset/ground/water/whirlpool.png 2 2:3:0:1 |
|||
tileset/ground/water/whirlpool.png 3 3:0:1:2 |
|||
</pre> |
|||
Lets try a more complicated example, the white daisy. That is a file with both a double daisy and a single daisy in it. We want the double daisies animated in a sequence, and the single in a sequence, and never the twain shall meet. |
Lets try a more complicated example, the white daisy. That is a file with both a double daisy and a single daisy in it. We want the double daisies animated in a sequence, and the single in a sequence, and never the twain shall meet. |
||
| Line 114: | Line 137: | ||
The odd numbers tiles, 1:3:5:7, are the single daisy. As you've probably now guessed, tile 1 is told to animate through 1:3:5:7, all the single daisy frames. |
The odd numbers tiles, 1:3:5:7, are the single daisy. As you've probably now guessed, tile 1 is told to animate through 1:3:5:7, all the single daisy frames. |
||
In the white daisy example, notice the extra @3500 after the sequence order. This tells the (somewhat slow) speed that daisies are animated at. If you don't want to use the default speed, try adding a speed like this and do 'trial and error' till you achieve a realistic effect. |
In the white daisy example, notice the extra @3500 after the sequence order. This tells the (somewhat slow) speed that daisies are animated at. If you don't want to use the default speed, try adding a speed like this and do 'trial and error' till you achieve a realistic effect. You can add the speed after the first tile number (or *), when you want all the frames stay visible for the specified time, or you can specify the speed for an individual frame, like in our example. |
||
If you have any unanswered questions after this, please join our IRC channel irc.freenode.net #arianne, and we will answer them with the best of our abilities. Just ask your question and wait around for someone to answer. Don't ask to ask :) |
If you have any unanswered questions after this, please join our IRC channel irc.freenode.net #arianne, and we will answer them with the best of our abilities. Just ask your question and wait around for someone to answer. Don't ask to ask :) |
||
| Line 120: | Line 143: | ||
---- |
---- |
||
[[HowToUseTiledToCreateStendhalMaps | |
[[HowToUseTiledToCreateStendhalMaps | Beginner map tutorial ]] <br> |
||
[[Stendhal | Back to stendhal main wiki page]] |
[[Stendhal | Back to stendhal main wiki page]] |
||