Jump to content
The Dark Mod Forums

Ideas for making mapping easier and faster


MirceaKitsune

Recommended Posts

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:

 

 

CsNXKUt.jpg

 

 

- 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!

  • Like 2
Link to comment
Share on other sites

A few things that you can do currently:

 

SEED can do some randomised placement at runtime--

 

http://wiki.thedarkmod.com/index.php?title=SEED_-_Premade_entities

http://wiki.thedarkmod.com/index.php?title=SEED_-_Image_maps

 

'Patch -> Bulge patch' sounds akin to the terrain generator suggestion.

 

If you don't know about it yet, try out the 'Floor selection' button for placing things vertically on top of other things.

 

In the orthoview, middle-click-and-hold rotates the perspective camera, ctrl+middle click moves it. (In the perspective view, middle click and shift+middle click are shortcuts involving texture assignment.)

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Link to comment
Share on other sites

A few things that you can do currently:

 

SEED can do some randomised placement at runtime--

 

http://wiki.thedarkmod.com/index.php?title=SEED_-_Premade_entities

http://wiki.thedarkmod.com/index.php?title=SEED_-_Image_maps

 

'Patch -> Bulge patch' sounds akin to the terrain generator suggestion.

 

If you don't know about it yet, try out the 'Floor selection' button for placing things vertically on top of other things.

 

In the orthoview, middle-click-and-hold rotates the perspective camera, ctrl+middle click moves it. (In the perspective view, middle click and shift+middle click are shortcuts involving texture assignment.)

 

Thank you for the info, very interesting features there! Randomizing vegetation at runtime is an even better idea... since idTech 4 has a lot of awesome features, no surprise if realtime seed-based perlin maps are doable.

Link to comment
Share on other sites

Very good ideas. The room generator for example sounds nice, but I believe, it is a lot of work to find an algorithm for that. There actually was someone, who worked on a "random mission generator" for his master's thesis:

http://forums.thedarkmod.com/topic/17132-darkmod-mission-randomizer/?hl=%2Brandom+%2Bmission&do=findComment&comment=371258

But I don't know, if he made any further progress. His last post was in May 2015. Anyway, this shows, that it is no easy task...

 

I would also enjoy an easier way to find assets I am looking for. The 3D preview not only requires clicking through all possible asset but I also have the problem, that I often can't see anything, because of collision textures or (e.g. in case of larger prefabs) because it is difficult to rotate the object to see, how it actually looks. Of course, you can learn, where which asset is and I believe the more experienced mappers won't have any problems with that, but it makes the start more difficult/time consuming.

 

If you don't know about it yet, try out the 'Floor selection' button for placing things vertically on top of other things.

 

In the orthoview, middle-click-and-hold rotates the perspective camera, ctrl+middle click moves it. (In the perspective view, middle click and shift+middle click are shortcuts involving texture assignment.)

 

These are actually good to know. Maybe a "peek sheet" for shortcuts and functions would help newbies like myself.

Link to comment
Share on other sites

Tels' branch game randomly generates dungeons.

And speaking of Tels, he made the SEED system too. It's not a vanilla id4 system.

He's your go to guy to talk about procedural systems.

 

I'd love to see a pipeline from VoxelFarm terrain to TDM-ready terrain--maybe it's possible--but terrain isn't TDM's biggest need anyway. It's human-made architecture.

 

To move or rotate an entity by keyboard, just hit N to open the entity viewer and type the change in there.

  • Like 1

What do you see when you turn out the light? I can't tell you but I know that it's mine.

Link to comment
Share on other sites

The 3D preview not only requires clicking through all possible asset but I also have the problem, that I often can't see anything, because of collision textures

You can filter those out using the 'Filters' box below the preview window (which gives you a copy of the Filter menu from the menu bar).

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Link to comment
Share on other sites

I asked for a feature in one of the DR's threads.

 

Is it possible at all to work with prefabs in the following manner: a prefab would be made in a separate .map file. It can be piece of a level, some building, etc. When imported into "final" map, it would be selected as one entity (so it would be easier to manage scene). If prefab's .map was updated, that prefab would automatically updated in the "final" scene/map .

This would allow working on individual components and then assemble/compose final release map from such pieces. Also would be easier collaborate as folks can just work on individual pieces without disturbing final map. Also useful for modular mapping.

I know they did it for Prey 2 in Preditor, when Prey 2 was in works using id Tech 4.

I also wouldn't mind having a button "Make a map for me" /s

Link to comment
Share on other sites

Yeah, working with a base file and several external ones that automatically sync in with the first would be interesting indeed. But I found that for me, the main work load wasnt really the world building (which after a while you kinda enjoy the clicking and tweaking, drone-like). It was trying to learn ways of putting the ideas you had in terms of gameplay situations, to work. That took a lot of reading, testing, and calls for help. Theme-focused information and more prefabs/tutorial maps with ready-made gameplay things (like the startermap pack or Shadowhide's conversation and trigger maps) would also probably help a lot of people finishing their maps in a sane time period, and with most of their interesting ideas fleshed out. To me its all about making maps unique.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
    • nbohr1more

      Looks like the "Reverse April Fools" releases were too well hidden. Darkfate still hasn't acknowledge all the new releases. Did you play any of the new April Fools missions?
      · 5 replies
×
×
  • Create New...