   What makes a good map editor?
  I am currently working on a map editor for a 2D game, and I also have to give a presentation on map editors in general. So I was just wondering what features people think make a good map editor, for any kind of game, 2D or 3D.   
  A good map editor should be good at creating maps and should be simple and intuitive to use.  It should give a good indication of how the map will look during actual gameplay.  It should abstract away or hide details that I don't need/want to know when creating a map.It should be designed in such a way as to make all the tools readily accesible; I should never have to search to find a specific tool.Actual features depend entirely on the type of game and specifics of the game in question, features useful in the editor for one game may be unnecesary in another.One feature that you could consider universally useful is undo/redo functionality.   ;  Have a look at the command pattern to implement the redo undo functionality.Realtime preview would be nice, at least ingame rendering qualitiy would be great, so you can tune the lighting without restarting the engine all the timeI chose to use the same render as the engine uses in my engine   ;  A good editor should provide tools that speed up the creation process and are intuitive/easy to use. Copying objects easily, perhaps a system that allows you to create instances of a single item, where when you change that item all of it's instances are changed accordingly is usefull too.Easy sprite/tile/other resource navigation is a good thing, for example. And just in case there's an entity system to work with, various little additions like some sort of auto-completion for filling in entity properties and built-in error checking (like checking whether an entity you're triggering by name actually exist and displaying a non-existing name red, for example) are good additions as well. Error-checking in general is a good thing, usually a compiler will report them anyway but I always like to eliminate as much problems as possible before compiling.Oh, and shortcuts are great for speeding up the process more.   ;  Personally I think that too many games focus on making a map editor that is actually a level editor, in a sense that it can also customize whats presented in the map (units, soldiers for example).  These are some of the things that I wish I've implimented when I made my first few newbish map editors:I honestly think that a good map editor should have tools that are bundled appropriately in child windows with show/hide ability for the windows (so you can move them, hide them if you want to see the whole map, et cetera).  Each object present in the map, for example, trees, crates, buildings, et cetera should have their own id name so you can view them in a debugger (preferably one that you made :), much like the error-checking that Captain P stated).  Whether its a 2D or 3D map editor, if you're using tiles that are applied to the map you should have a small window with tiles showing that can be categorized and viewed either graphically or simply by their name.  If you're going for something more advanced regarding 2D, then you could also have an HSB (hue saturation brightness) window so that you can customize lighting of individual tiles.  I think almost every good map editor came with order of drawing (layers) of tiles, though, anything beyond that is game's logic in determining what should be drawn first and last.The overall best way I think to find out what makes a good map editor is for you to use them yourself.  Try map editors from games like Unreal Tournament, Warcraft 3 (isn't exactly a _map_ editor), that CellFactor demo that just came out that can't even bloody run the map editor properly, and some older games like Age of Empires 2.  In terms of how powerful you want it to be, I believe there's a trade-off between power vs ease of use.  Though, I personally think that good documentation of all the editor's capabilities can solve any complexities)And finally yes, a mini-map would be splendid.   ;  Ah, documentation, of course. A lack of documentation can get pretty annoying. But besides technical documentation, there can be a need for efficiency documentation too: some recommendations on work methods, to avoid inefficient use of the games engine, can give a level-designer a good start, rather than letting him find out the quirks of the engine on his own.Personally, I like in-game, or in this case, in-editor tutorials too. Google SketchUp implements this, for example: an interactive mode that teaches you the basics of the program. Might not be a very important aspect for an in-house editor, but modders might benefit from it, which in turn can benefit you.   