Jump to content
The Dark Mod Forums

My first map – questions & work in progress


peter_spy

Recommended Posts

Hi there,

 

One of my NY's resolutions is to make a small but fun mission with nice visuals. Now, I'm really tired of getting around T3Ed's quirks, so I thought that I should at least give DarkMod a try. I took a few days to teach myself DR basics with the Wiki and the comprehensive (but slightly outdated) A-Z course, and now I'm at the point where I find DarkRadiant... not so awful? It still takes minutes to do what I did in seconds with Unreal editors, but that should improve over time, I guess.

 

I used the wiki and forum search to find answers to my questions, but I'm still not sure I get everything right, so here it goes:

 

Questions:

 

1. I'm familiar with concept of additive and subtractive geometry, but to be sure I get this in 100%: TDM uses additive geometry, but needs to be air-tight, as with subtractive levels? Can I have a big box (e.g. with skybox dome) for my whole level, so I can focus on building floors and floorplans for gameplay first and add walls/ceilings later? This is just for clarity and faster work, T3Ed used subtractive levels and only inner sides of subtractive brushes had textures, so they were easier to see and navigate.

 

2. What's the real distinction between entities, prefabs and models and what should go where in terms of content creation? (I hope that does make sense.) T3Ed used mostly entities (actor classes) and meshes. E.g. lights were the invisible light source attached to meshes with some particle FX and scripts. Here I can find lights in entities, prefabs and models, do I get a bit confused.

 

3. I'm a bit worried about the cuboid (Omni) lights. They look OK while touching the ground, but the falloff ends quite abruptly on walls. Any tips about the placement would be appreciated. Or maybe it's better to stick to spotlights and fake the effect? (With T3Ed it was better, performance-wise, to use multiple spotlights touching fewer objects per light than having one big omni light.)

 

That's what I got for now, I also have a couple suggestions that might speed up the work in the future:

 

Suggestions:

 

1. The Entity/Media/etc. browser window should have Minimize and Maximize buttons, like the Generic Browser in UE3. It will be much easier to use, especially on laptops with smaller resolution.

 

2. The rotation widget should have some angle snap by default, and it should be displayed next to grid icon on the lower right side. Using Arbitrary Transformation window for that is tiresome.

 

3. Writing your materials with a notepad is a big no. Well, writing anything in code is frustrating for LD, and that goes double for visual stuff. I know that's a shader language, and I'm not asking for a fully-fledged node-based editor, but some simple GUI material code generator with source textures to choose, checkboxes for common options, and simple preview window would speed up the whole process by years. (Maybe an external tool would be a good idea?) I tried searching for something like that for Doom 3 engine, but didn't find anything.

Edited by Judith
  • Like 3
Link to comment
Share on other sites

Welcome Judith!

 

1. I'm familiar with concept of additive and subtractive geometry, but to be sure I get this in 100%: TDM uses additive geometry,

but needs to be air-tight, as with subtractive levels? Can I have a big box (e.g. with skybox dome) for my whole level, so I can focus on building floors and floorplans

for gameplay first and add walls/ceilings later? This is just for clarity and faster work, T3Ed used subtractive levels and only inner sides of subtractive brushes had textures,

so they were easier to see and navigate.

As I recall, surrounding your map with a caulk box can work but it tends to make it harder for diagnosing leaks.

 

The Performance Essentials wiki is a good place to start and you can branch out to the Leak fixing and visportal wikis:

 

http://wiki.thedarkmod.com/index.php?title=Performance:_Essential_Must-Knows

 

 

2. What's the real distinction between entities, prefabs and models and what should go where in terms of content creation? (I hope that does make sense.)

T3Ed used mostly entities (actor classes) and meshes. E.g. lights were the invisible light source attached to meshes with some particle FX and scripts.

Here I can find lights in entities, prefabs and models, do I get a bit confused.

Entity is a catchall for anything that needs to be managed separate from the "world". Models are specified in "Entity Definitions", so are func_statics, etc.

Prefabs are either func_statics or brush geometry that has been created in editor and exported so that it can easily be imported and applied to maps.

Func_statics are largely identical to models in-engine but models have the advantage of not consuming memory for duplicates.

 

3. I'm a bit worried about the cuboid (Omni) lights. They look OK while touching the ground, but the falloff ends quite abruptly on walls.

Any tips about the placement would be appreciated. Or maybe it's better to stick to spotlights and fake the effect?

(With T3Ed it was better, performance-wise, to use multiple spotlights touching fewer objects per light than having one big omni light.)

You can control the falloff behavior with light textures. Most mappers are aware of the main "z-projection" image that lands on the surface

but there is also a "falloff Image" that controls how much light attenuates from the light_center.

 

I created a wiki about this but it needs to be updated with better info. There's still some good detail there though:

 

http://wiki.thedarkmod.com/index.php?title=Light_Textures_and_Falloff_Images

 

In v2.05 (coming soon) we will have support for cubemap based lights (like Unity Cookie Lights). Falloff will be spherical rather than using a falloff image.

 

http://forums.thedarkmod.com/topic/18282-tracker-3881-cubemap-lighting-beta/

  • Like 2

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

2. The rotation widget should have some angle snap by default, and it should be displayed next to grid icon on the lower right side. Using Arbitrary Transformation window for that is tiresome.

 

That sounds like a useful addition, I think I also heard that suggestion from angua a while back. If you want, you can put it on the bugtracker as feature request, maybe I get around to it before the next release.

Link to comment
Share on other sites

I don't have the bugtracker account yet :)

 

As I recall, surrounding your map with a caulk box can work but it tends to make it harder for diagnosing leaks.

 

I saw that in Volta, but with the skyportal. Maybe I'll just create a layer called "Ceilings" and add proper brushes to it. Might be safer.

 

You can control the falloff behavior with light textures. Most mappers are aware of the main "z-projection" image that lands on the surface
but there is also a "falloff Image" that controls how much light attenuates from the light_center.

 

I'm using fallofg textures for lights and I also use in-game objects, like candles, that seem to use them as well. The problem is, and I'm not sure whether it's just me or a problem in general, the falloff looks good, but only on the floor or ceiling, like here:

image.jpg

 

 

When I pick that light up, it also works great. But, when I get close to a wall, this happens:

image.jpg

 

Is that a known problem/limitation, or something wrong on my end?

Link to comment
Share on other sites

Many of our falloff images are set to be constrained for performance reasons.

I believe that's what we are seeing here.

 

There's nothing stopping you from creating an exponential falloff image (I think Tels might've already made some)

but the light that uses it will consume far more performance resources due to it's large radius.

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

It's as if the falloff was applied to the XY plane only, not YZ or XZ.

 

I have no idea about creating exponential falloff images (yet). The available set of falloff textures is more than enough to choose from, is it possible to just enable the XZ / YZ projection via light properties itself?

Link to comment
Share on other sites

Falloff Image is 1D and is typically X (depending on the rotation or axis of the light).

Z-Projection is 2D and typically YZ.

 

Think of it as a stack of pages where each page color is represented by a pixel (falloff) and

the image on the page is represented by the z-projection image.

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

Ok, for now I'll just stick to what's available. I'll try to use more on spotlights too.

 

For a moment I thought the player character height is identical to Thief3/UT3, but 64 x 128 doorways seem bigger than usual. The nice thing is, you can fit under a 48 unit high table, that should allow that tactic from Dishonored.

 

And, I like the agility of player character. Running, jumping over, and mantling the walls of various heights is fluid, almost effortless.

Edited by Judith
  • Like 2
Link to comment
Share on other sites

Oh! I forgot to point you at a few other references:

 

A to Z tutorial:

 

http://wiki.thedarkmod.com/index.php?title=A_-_Z_Beginner_Full_Guide_Start_Here!

 

(starting from scratch)

 

Startpack Mappers Guide:

 

http://wiki.thedarkmod.com/index.php?title=Startpack_Mappers%27_Guide

 

(Use the Startpack and expand it into your own map. Most authors do this. Just don't forget to remove

the unwanted stuff, blue room, etc.)

 

http://www.thedarkmod.com/mission-authors/

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

so I thought that I should at least give DarkMod a try. I took a few days to teach myself DR basics with the Wiki and the comprehensive (but slightly outdated) A-Z course, and now I'm at the point where I find DarkRadiant... not so awful? It still takes minutes to do what I did in seconds with Unreal editors, but that should improve over time, I guess.

 

Questions:

  1. I'm familiar with concept of additive and subtractive geometry, but to be sure I get this in 100%: TDM uses additive geometry, but needs to be air-tight, as with subtractive levels?
    • Can I have a big box (e.g. with skybox dome) for my whole level, so I can focus on building floors and floorplans for gameplay first and add walls/ceilings later? This is just for clarity and faster work, T3Ed used subtractive levels and only inner sides of subtractive brushes had textures, so they were easier to see and navigate.
  2. What's the real distinction between entities, prefabs and models and what should go where in terms of content creation? (I hope that does make sense.) T3Ed used mostly entities (actor classes) and meshes. E.g. lights were the invisible light source attached to meshes with some particle FX and scripts. Here I can find lights in entities, prefabs and models, do I get a bit confused.
  3. I'm a bit worried about the cuboid (Omni) lights. They look OK while touching the ground, but the falloff ends quite abruptly on walls. Any tips about the placement would be appreciated. Or maybe it's better to stick to spotlights and fake the effect? (With T3Ed it was better, performance-wise, to use multiple spotlights touching fewer objects per light than having one big omni light.)

Suggestions:

  1. The Entity/Media/etc. browser window should have Minimize and Maximize buttons, like the Generic Browser in UE3. It will be much easier to use, especially on laptops with smaller resolution.
  2. The rotation widget should have some angle snap by default, and it should be displayed next to grid icon on the lower right side. Using Arbitrary Transformation window for that is tiresome.
  3. Writing your materials with a notepad is a big no. Well, writing anything in code is frustrating for LD.
  • The nice thing is, you can fit under a 48 unit high table, that should allow that tactic from Dishonored.
  • And, I like the agility of player character. Running, jumping over, and mantling the walls of various heights is fluid, almost effortless.

First of welcome to the forums, when I saw your name in the post I thought oooh I hope thats Judith from T3ed fame!

 

Off the top of my head and this by no means definitive just a snapshot of what came to mind....

 

Questions:

  1. Correct
    • In a nutshell no, its not a good idea because as nbhor has mention it makes leak-testing a nightmare. The way to think of The Darkmod engine, its you build lots of interconnected boxes, and when said bozes are outside you make the tops of them skybrush and sides caulk. Then you you place a sealed skybox prefab anywhere in the map void, said prefab contains a camera which the skyportal texture uses to project an animated/moving skybox inside the game.
  2. What's the real distinction between entities, prefabs and models and what should go where in terms of content creation?
    • Entites = are anything thats not a plain brush or patch (worldspawn) for example, lights, models, func_statics, Ai, path_nodes (the list is long).
    • func_statics = these are brush/patches that have been made into a switchable entity, for example we use these when we want to cut down on draw counts.
    • prefabs = are either a collection of brushes & patch or func_static models that mappers have created. Intering these into your map saves a lot on mapping workflow.
    • models = these are manually created fixed models in blender/lightwave/DR that also save on mapping time. These are typically props, furniture, building facades and such etc.
    • brushes/patches = Ai can path_find around or over these, but cannot around any type of entity (model/func_static)
  3. Its all about the light shader you use in a given situation, 'biground1' for example is perfect for a street light, where as 'falloff_exp1' is perfect for a small lightsource like a candle.
  • We use spotlights normally in conjunction with a spotlight model and on the subject of multiple lights touching that same surface thats a big no-no ads it kills performance.

Suggestions:

  1. You do in regular mode, you can use for example the 'M' key to open/minimize the media editor.
  2. You can, the 'Arbitrary Transformation' inspector does that, I mapped that to my 'R' key, along with 'S' for for Surface inspector and 'Ctrl=L' for layers.
  3. Yeah this is a big pain in the arse, the only way atm is to for eample to use Notepad++ which can have multiple windows, so I have a template material definition that I use 'Ctrl-F' so replace the same keyboard located through-out the txt file. I have asked for someone to try and make a nice little app for this, but doing it in DR would be cool.
  • Oh yes, but be aware just like in Dishonored Ai will look and spot players hiding if they are alerted
  • The mantling in TDM is second to none, I have yet to see any game AAA other otherwise that does it as well as TDM does.

 

That sounds like a useful addition, I think I also heard that suggestion from angua a while back. If you want, you can put it on the bugtracker as feature request, maybe I get around to it before the next release.

I can help you with filling this.

Link to comment
Share on other sites

Wow, Biker, that was very informative, thank you very much! :o That's exactly what I needed.

 

Now I have a different problem. I only have 2 rooms and everything is made of brushes, but once I add an AI and set up a few corners, I get "AAS32 out of date message" and the AI is stuck. Once I alert it, the game crashes. The thing is, when I dmap my level, it doesn't even write *.aas32 file. I've searched wiki but still have no idea how to investigate that problem and where to start troubleshooting.

 

Edit:

 

nbohr1more, that actually helps, thank you!

Edited by Judith
Link to comment
Share on other sites

https://www.dropbox.com/s/mnxdogv0wm8kxdx/tut.map?dl=1

 

Maybe there's something wrong with my configuration? I installed DR and TDM in separate folders (D:\TDM, D:\TDarkRadiant), then chose D:\TDM as the engine path, and everything seemed fine. Well, until now.

Link to comment
Share on other sites

I think I know what seems to be the problem. Dmap command in the DR console doesn't create all the necessary files, while dmap used after launching the game does? Is it just a dumb mistake of mine and big duuh to everyone else, or something is wrong here? :)

Link to comment
Share on other sites

No need to put yourself down.

 

Greebo intended to move dmap into DR but that project was cancelled. (probably need to remove the interface for it unless someone else decides

to work on it) http://bugs.thedarkmod.com/view.php?id=2985

 

Please use TheDarkMod.exe to dmap from this point forward. :)

  • Like 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Link to comment
Share on other sites

Maybe this might help...

 

attachicon.giffalloff_images.jpg

I'm not quite sure that this is really correct. By default, the projection image should be the image you actually see the light casting on a surface (in all six directions), and the falloff is either an image (which normally only need one row of pixels) or a function. I think most lights are using the latter and a linear function for the falloff.

 

I've never seen a candle casting a light like the one in the image posted by Judith.

 

Regarding the differences between entities, models et. al. I might add the following:

 

Everything inside your map is part of the entity hierarchy, there are only a few differentiations.

  1. Func_statics are entities that are meant to be static. So they just sit there and do nothing. Their visual model can either be something constructed in DR (and thus be stored in the map file) or something loaded from an external file (like a lightwave or an ase object). The latter are normally created within a modeling program. This counts for all visible entities btw.
  2. Worldspawn is also an entity. All brushes and patches that are not bundled together to func_statics or other entities form the world entity, and this is the only entity that get's taken into consideration by the engine in regards to creating the bsp tree, sound propagation or ai pathfinding.

Due to this func_statics, models and worldspawn are often threated in different ways, but as said, they belong to the same entity hierarchy.

 

Regarding the workflow: Creating a big box to map inside seems to be the most obvious way to start with, but it is definetely a no-no when mapping. You don't do this in a substractive editor either, so there is no need to do it in an additive one. Note, that when you dmap your mission, you can use the argument noflood to avoid the flooding (the search for leaks). In this case pathfinding won't work, but if you are still constructing the basic geometry this isn't a big deal. Use the argument after dmap and before the name of the map, like:

dmap noflood mapname

On another note:

 

This is highly subjective and others may disagree with me on that point but I would not recommend to use the startpack. If you want to speed up your workflow you should get a feeling where you can find what, and if half of the stuff is already placed you can't train that. In additions, lots of spawnargs are already set on those entities which you need to know so, with the same argument, it's better if you do this yourself. It may take you more time during your first attempts but it will work out on the long term.

FM's: Builder Roads, Old Habits, Old Habits Rebuild

Mapping and Scripting: Apples and Peaches

Sculptris Models and Tutorials: Obsttortes Models

My wiki articles: Obstipedia

Texture Blending in DR: DR ASE Blend Exporter

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

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 3 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...