I started working on my first TDM mission a few months ago, which I estimate is only a bit larger than the average map (excluding quickies in mapping contests). So far I'm slowly getting close to finishing the geometry and object placement... though the more I add to my map, the more I feel still lies ahead of me. Although I knew DarkRadiant doesn't do things magically, mapping is a lot more tedious than I first predicted. It's not the total amount of work that upsets me either... rather that if things were easier, missions could be released sooner, and we could create more content altogether! Now I'm not posting this to complain aimlessly; During my time mapping, I've kept track of the steps that seem to be most time consuming, and thought of how they could be reduced. I wanted to suggest a few ideas that came to mind, which should make mapping faster and less of a repetitive process. Disclaimer 1: I know that even if they're good suggestions, these ideas require someone to code them. I'm not demanding them or expecting that they happen tomorrow. Disclaimer 2: Some of these might already exists, as less obvious features or plugins. I can't know everything, so I discuss them as new ideas. - Model / Entity / Prefab placement: The first thing to stand out as time consuming and more difficult than it needs to be is entity placement: To put something on the map, you first right-click somewhere in a 2D viewport. A menu pops up, from which you browse a large selection of assets and choose the one you want. After inserting it, you first notice it's at an incorrect distance on the axis not addressed by that 2D viewport, so you must reposition it in one of the other two 2D viewports. To properly locate it in 3D space, you must find it in all 3 of the 2D views and drag it around until the object is at the right spot. Once that's done, you frequently want to rotate it too... which currently requires opening the rotation menu, introducing the number of degrees you want to rotate by, then clicking a button. I believe this could all be made easier with the following features: * Ability to click on a surface in the 3D viewport, and add an object with its origin located at the nearest point on the grid. That way there will be no need to find and reposition everything in the 2D viewports, just click directly on where you want them to appear and voila! The object should be facing toward the camera at either 0* / 90* / 180* / 270* of rotation. * I work a lot with Blender 3D. One thing that makes it easier to setup a scene is that you can move / rotate / scale objects via simple shortcut keys, whereas there are also fields in the sidebar where you can easily edit these numbers for the selected object. For example: If you want to move an object by 50 units on the X axis, you simply press "G" (grab) then "X" (the axis) then type in "50" (the amount) and press "Enter". No mouse needed, which makes it easier to move things around compared to dragging them in some circumstances. * A better way to find the assets you need: TDM has a lot of models and textures and sounds that mappers can use, which is a great thing... but unless you learn in which directory structure each is located, you'll waste a lot of time looking for the perfect model or texture to place somewhere. The first and easiest solution would be a "last # used" section, in which the last say 10 entities you placed are listed... making it easier to go back and forth between the last few things you're placing in a given area. A similar idea is a customizable favorites / bookmarks menu, where the user can create their own directory structure and order entries in a way they can easily learn... similarly to bookmarks in web browsers. Beyond that I think making better use of previews would be helpful, such as showing the 3D model of all entries in the selected directory rather than just the selected entry. Here is a great example: - Flexible camera movement in the viewport: Camera movement has always been a pain in all Radiant editors, as you can only take control of the 3D viewport in a 1st person perspective: Right-click to engage, use the arrow keys and mouse to move, right-click again to disengage. This is a bit slower than the movement in other 3D programs, and I believe it could be improved. * Allow a combination of keyboard shortcuts with mouse dragging to move the view. In Blender for example, you middle-click to rotate, shift + middle-click to move, control + middle-click to zoom (or mouse wheel, DarkRadiant has this one). Why not the same system here, with FPS control moved to a different shortcut? * A few other engines (such as Second Life) have an even better approach: You can control + alt + click on any spot of any surface to focus the camera there and change the pivot point. This makes it a lot easier to move around through space, which would be a great feature for DarkRadiant as well. - Random generators for simple map structures: Another inventive way to help mappers get more work done would be to offer the possibility of the software doing part of the work. Of course this isn't possible when it comes to creating complex structures, but it could be used to simplify a few basic tasks. What I'm thinking about precisely includes: * Terrain generator: Just select a patch mesh with enough columns and rows, and its vertices are randomized to create a nice heightmap terrain! * Room generator: The user creates a single brush representing the body of a building. The plugin then asks the user for the following data: The texture(s) to be used by the floors ceilings and walls, the thickness of the floors / ceilings / walls, how many floors there should be, how many rooms there should be. The plugin automatically generates a mix of walls that align against each other, producing the basic interior structure. The artist can next modify the layout as they see fit and start placing the decorations! Taking the idea further, the plugin could automatically place doors and windows, create stairs between floors, and even add various entities correctly to rooms. * Random entity placement: Another plugin that could be useful is randomly scattering a set of models / entities across a surface (similarly to particle systems). The user selects the brushes or faces that should be accounted, a list of entities (with configurable probabilities / counts?), then the entities are randomly spawned and distributed across the surface. This would be especially useful in outdoor areas... where you can then select the terrain, a set of trees and rocks and foliage models, and let DarkRadiant generate a forest for you!