This is a guide on what is an acceptable map and what is unacceptable.
Only acceptable maps will be put in the official Crossfire map distribution

1) Check that all exits lead where they are supposed to.  Unless there is
a specific reason an exit leads only one direction (like a trap door or
perhaps a teleporter), players should be able to exit back from where they
came from right when they enter the map.

One way exits/entrances should only be used on objects in which it is
obvious it is one way.  A house is not an obvious one way entrance.  Remember,
players may not have the three hours of time it takes to find the exit
after being trapped in a map.


2) Try to make sure the maps are multi player accessible.  In towns, this
means the road should be at least a couple squares wide, buildings should not
be trapped in corners in which case one character standing in front blocks
access, etc.

Likewise, try to make corridors in dungeons or mazes a few squares wide -
especially if there is only a single path.  If it is a maze with several
different paths, single width corridors are acceptable.


3) Don't put:

3.1)  extremely valuable treasure right next to the entrance, or
nearby.  Players should need to work to get treasure.  If the treasure is
fairly worthless (food, or non magical items), this would be acceptable.
But a character should not be able to pop in, pick up a potion, spellbook,
or a lot of diamonds, and then pop out again, without ever meeting
a monster.

3.2) Don't put monsters of high experience point near to entrance where they
are trapped. Low level player could boost ther experience high by using some
weapons or spells from distance wihtout danger. For example find out trapped
troll and get wand of fireball.

3.3) monsters on top of other monsters.  A troll should not be sitting on
top of an oriental dragon.  The only exception to this would be if a monster
could be on top of another monster (making sense) and hiding it at the same
time.  A troll on top of an oriental dragon does not make sense (could not
fit), nor can the troll hide the oriental dragon.  Using tricks like these
which are only applicable due to display limitations is something that
should not be done, nor should the player need to click on every monster he
encounters to see if something is below it.

4) Try to keep the treasure in line with the difficulty.  5 potions should
not be given out for defeating orcs or gnolls (even if there are a lot
of them), but if you need to defeat several dragons to get to the
potions, that is fine.  Likewise, if it is likely a lot of spells will be
needed to defeat the monster, and those spells have a chance of destroying
the items, then perhaps a few extra items to take this into consideration
is not a bad idea.


5) Any character class should be able to completely solve the map.  The
map should not require dimension door or other specific spells to get into
hidden treasure areas


6) If a map require multiple players to simultaneous be on it to solve
the map, put a sign or message so players know.  Such maps would be those
that require manipulation of levers or buttons in certain sequences in
order to get through gates.

Don't make ends of maps require multi users.  This ruins that map for
single players (not able to complete it), and makes a map that requires
multiple players for only a small portion.

7) Try not to make the maps too many levels deep.  To get to the goal,
it should not require a 6 hour continous sitting, as the player works
through each map to get to the next.  Multi level maps are fine - just
don't over do it. 


8) Shops:

8.1) Don't put super stores in any towns or villages you create.  With the
growing number of maps, players can already make a trip to all the different
towns to try and find certain items.  A one stop find all shop is not
interesting.  A good maximum size is about the same size of the shops
in the starting village.

Also, making six magic shops of that size and putting them in the same
town is not any better than one large magic shop.  If you want to have
specialized shops, then make each shop smaller.  If you just want one
shop that sells every type of item (magic, armor, weapons, food, etc), then
a large shop is permissable.

8.2) Make sure the entire interior the shop is covered with tiles.  Likewise,
don't put shops that lead to areas without tiles without going over one of
the 'magic doormats'.  A player should never be able to get an unpaid
item out of a shop, whether via exit that does not go over the magic
doormat, or through spells.


9) Don't make maps which require high level characters that low level
characters can wonder into without warning.  Put a warning sign nearby,
or gates or doors so the player can see they are in over their head, instead
of instantly getting toasted the second they enter the map.


10) The structure of the map should make sense.  That is to say,
if you enter a house, the house should then not have a tower inside.  Or
a door to a shop.  In other words, if a map has an exit to another map,
that exit should make sense (ie, another level, tunnels, dungeons
all make sense.  However, another building the size of the original
does not make sense.


11) Try to keep the difficulty throughout the map(s) about the same.
The first monster in the map should not be the most difficult monster,
nor should the last monster be orders of magnitude more difficult
than anything before it.

It is very frustating to play a map, killing most every monster without
much difficulty, only to find that last monster unkillable.

It is reasonable to have the monster increase in difficulty.  Also, if the
map has no quest or end goal, then having a very difficult monster around is
not unreasonable, as long as it does prevent the player from progressing to
the next map.


The following are various suggestions for making good or interesting
maps.  A map that does not need to follow all these hints to be accepted,
but following these hints will make for more interesting or playable maps.


1) Try to create only small maps.  If you have a large map in mind, try
to see if you can possible split it up in several separate sections, and
place those sections in different maps.  Many small maps use much less
memory than one large map, since crossfire doesn't yet support swapping
of portions of maps.  Also, with small maps, the time to load it from
and store it to disc becomes so short that it's impossible to notice.
In this context, small means about 32x32, though it's actually the
number of objects in the map which count.

Also, remember that if you make very large maps, all generators will be
cranking out monsters whenever anyone is on it.  This could mean that a lot
of monsters have been generated before a player even gets to the area where
they are being created.


2) Make a plot!  A map withot a plot becomes just another mindless
"Kill'em all".  For instance, create a story which explains why there
are npc's here and monsters there, fragment the story up and put
bits and hints of it in various writables (books) and npc-conversations.

If you are going to make a mindless kill them all map, at least put some
reward in the map that can only be accessed after all the monsters have been
killed.  The only thing worse than a kill them all map is a kill them all map
which you get nothing out of.

Avoid maps where all the monsters are lined up, and only one can attack
you at a time.  This just makes an easy (and relatively safe) way for
a character to gain experience and treasure, and is not especially
interesting or challenging.

3) Make puzzles!  Use all those different object types: buttons, handles,
doors, altars, pedestals, triggers, timed gates, etc...  Hide special "keys"
needed to get further in special places, and use text-puzzles to describe
where they are hidden and how they must be used.  The possibilities are
endless!  Remember, you can also hide buttons under floors, making it more
difficult for the character to find the trigger points.


4) But don't make too much big labyrinths. Making of labyrinths is (too)
easy with crossedit, just select auto-joining and make zig-zag with mouse.
But the results of these are quite tiring.  If you make ones, try make
some idea into it.


5) Give the npc's information!  An npc's knowledge about hidden treasure surely
makes it interesting to have a conversation with it.


6) Feel free to add some traps, but be careful to not make them too
  deadly without adequate warning.


7) Don't mix the monsters too badly.  Let there be at least some logic
behind why they are grouped in a single room.  Undeads together with
undeads, for instance, but not together with kobolds...
Big dragons usually don't live together with mice...  Fire immune creatures
generally dislike ice immune creatures.

Also, limit use of monsters that multiply rapidly (mice, slimes).   A map
that is easily overwhelmed with these creatures quickly becomes useless.

8) Give your maps a meaningfull name (like John's tower, level 1).
This way, these can be used instead of the map paths in the highscore
file.


A few reminders:

1) If you are creating a new archetype, it only needs to go into the general
archetype distribution if it has an image associated with it, or it has
general use (a new monster).  Something that uses already existing images
can be set up in the map file itself (through setting various variables).

2) With XPM seeming to gain popularity, changing the color variables for
objects on maps might not have any affect.  This might mean something that
might be obvious with the changed color is non obvious because with X
Pixmaps, the color does not change (also, remember those people with
monochrome systems are not likely to see the color change even if they don't
use X Pixmaps.)
