There are certain things one should adhere to when creating maps. By following the suggestions on this page, you'll save yourself from hours of frustration later.
Be wary of where you place entities, as they should not be outside of the map at all.
If any are outside the map, a warning will show on map load, which will list the type, index and coordinates. Use variations of the following command to find them:
entselect [(= (entindex) <insert index here>)]
Mapmodels are objects in your game. You should use them in moderation; don't overdo it, because their rendering process is more expensive than that of terrain. This results in higher polygon-per-scene counts. If you must add a high number of mapmodels, keep the number under 300 or they will severely hinder performance.
It's important to avoid the creation of persisting particle emitters from within a small area. If you use particle emitters, space them out rather than placing them close together.
Avoid the overlap of more than 5 sound sources/entities within the same area. This can hinder performance and also sound quite unpleasant.
Try to limit light usage; use as few lights as possible, because this will increase your calclight times. Often it's possible to achieve the same effect as many lights with only a few.
Also, avoid placing groups of lights in the same area. If you have multiple lights grouped together it significantly increases lighting render time, and they can be annoying to rearrange in edit mode.
Often, changing sloped cubes with a smaller grid size than before results in a glitch which reduces the cube into a bunch of sharp pieces. This can be annoying to repair because remipping or pushing the edges back won't work.
One workaround is to just stick to one grid size. If you press Shift+7 to turn on outline mode, you can check to make sure your grid size matches up with existing cubes.
Bugged terrain cubes
If you push in faces circularly, the result is the creation of faces which are invisible and can be walked through.
Avoid making areas which are unreachable without using edit mode, such as empty underground caves with no entrance. This tends to be a waste of memory.
Some editors may choose to leave their "signature" on maps they make using shaped cubes or textures. This is not ideal; you should instead use
/maptitle "Your credits here". Alternatively, if you're publishing your game, you could store the credits in your readme file.
If materials in a map are kept on more than one level, it requires a lot more computing power. To avoid this, try to keep every material on the map to only one or two levels. If every instance of a material is placed at the same height, no additional computing cost is incurred.
Hiding things behind geometry mapped with the skybox texture is generally a bad idea. It can cause issues with several shaders such as water reflections, and reflect what's behind the skybox; at other times, the reflection or geometry can flicker.