Jump to content
The Dark Mod Forums

Let's Map TDM With Sotha: The Bakery Job


Sotha

Recommended Posts

This is an outstanding idea. Do you by any chance know how many "parts" you will be making? And, any ideas on how long it will take for you to complete this mission?

 

Question: If you aren't going to make an outside area (other than your backyard area), then where will the player start?

 

I'm looking forward to your next tutorial video/video blog.

 

Keep up the good work Sotha.

Link to comment
Share on other sites

Thanks!

 

I do not know how many parts it will be, but I am guessing it will be 5-10 parts.

 

Time completion: I think the video editing, exporting and uploading is the slowest part of the process. I am more familiar with mapping than video stuff. The mapping is currently one third to half way ready, but in the end, it depends how much time I can allocate on this. Maybe, depending how busy I am RL, I'll get it ready before summer.

 

The player starts in the back yard, as indicated by the plan.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Another fine video. I like that you are so thorough.

 

How many years have you been making maps with Dark Radiant? Did you work with other game editors before working with Dark Radiant? I ask these questions because I want to get a general sense of how long it will take to gain a basic level of proficiency.

 

Sorry for the dumb question about the player start.

Link to comment
Share on other sites

Uploading parts 3 and 4 now.

@Jetrell,

thanks for your interest.

 

I joined this community around 2007 (wow a decade ago next september! Time truly flies when you're having fun!) and started learning DR. Before that I had fiddled just a little with mapping for Doom 1, Half life 1 and Farcry, but those works were never released. I was just playing around and testing stuff.

 

So yeah, one could say that I have over a decade of hobbyist expertise with game editors. But you do not need years of experience to get basic or advanced level of proficiency. I would argue that if you watch this video series, do the A-Z mapping tutorial here ( http://wiki.thedarkmod.com/index.php?title=A_-_Z_Beginner_Full_Guide_Start_Here! ) and make your own little 1-5 room mission, then you have learned everything it takes to efficiently create missions.

 

Each mapper might have a different mapping technique (or workflow.) The one you see in this video series is the one I have developed for myself over the years: it is fast, efficient and fun. I think, learning the DR editor is quite fast: basically you just repeat simple steps over again (create brush, texture, clone, place). But the mapping technique is the thing that takes longer to develop. Perhaps this video series provides a shortcut for new mappers?

 

Why to map? For me it a creative exhaust. I like to create new stuff. Some people paint or draw, but I'm not very good in those, so I map. One especially fun part in mapping that it has many components: creation of a place out of nothing, telling a story, making fun gameplay, etc.

  • Like 2

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Nice. :)

 

One suggestion, though. You should enable noise suppression in you sound settings so you get rid of that static in the background.

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

All uploads have been completed.

 

Obsttorte, thanks for the tip. Where is the noise suppression setting? It's a youtube thing?

 

I'm definitely not gonna re-encode and upload the videos if the noise suppression requires that.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Thanks for taking the time to answer my questions. I'm already sold on the idea of mapping. I was just curious to know how long it's taken to get to your level of expertise.

 

I have a similar level of experience in terms of years and background as you but my experience is with the Unreal Engine and Unreal Editors.

 

Question: In your second video, you made a support beam with a 45-degree bracket. I noticed that you didn't deintersect the bracket so that the brush wouldn't overlap onto the other brushes. Is this not an important factor? Does DR have an intersect/deintersect option? Are BSP holes not a concern? Do BSP holes even occur in DR?

 

I haven't yet watched your new video installments but will this evening. I will undoubtedly have more questions. Is it okay that I continue to ask so many detailed questions?

Link to comment
Share on other sites

I will undoubtedly have more questions. Is it okay that I continue to ask so many detailed questions?

 

 

Of course it is okay to ask questions. I hope I can provide an answer, though...

 

Question: In your second video, you made a support beam with a 45-degree bracket. I noticed that you didn't deintersect the bracket so that the brush wouldn't overlap onto the other brushes. Is this not an important factor? Does DR have an intersect/deintersect option? Are BSP holes not a concern? Do BSP holes even occur in DR?

 

 

I made the support beam 45-degree piece the way I did because it was a quick way to do it. Since the beam is a func_static, it is sort of a model, so it does not matter if the 45-degree piece penetrates into the horizontal and vertical beams. I could have cut the 45-degree piece with the clipper so that it was flush against the beams, but there is no incentive to do so.

 

When working with worldspawn brushes, then the mapper needs to be more careful. I would make sure all worldspawn brushes are blocky, 90-degree and in grid 8. Slanted sealing worldspawn brushes is like asking for trouble.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

I have a few questions:

 

1. When you were building your walls you used your pre made modules. Would it not have been better to make the walls to size instead of using a series of modules? I would think there would be a performance drag using so many individual modules (especially in larger maps).

 

2. I know you wrote in your previous reply that there was no incentive to avoid overlapping your modules. Is that solely because they are "func_static"?

 

3. Also, you mentioned that if you were using "worldspawn brushes", you would be more careful, is that the reason you are making your structures from "func_static"?

 

Please excuse me if I've used incorrect nomenclature. I'm not familiar with all of your terms.

 

Again, very informative videos.

Link to comment
Share on other sites

1. When you were building your walls you used your pre made modules. Would it not have been better to make the walls to size instead of using a series of modules? I would think there would be a performance drag using so many individual modules (especially in larger maps).

 

 

Ah, good question! I should have talked more about it in the video.

 

Here I had a simple walls without any features and I still used the modules. It is true that I could have gotten exactly the same result by simply making the walls the traditional way by dragging new brushes between the window/door modules. Sure, using the modules will result in little bit more tris than using the traditional way, but the small extra amount of tris is so little, it does not matter.

 

But imagine if I had spent more time in the module building and made some really fancy looking wall modules. Now I would immediately benefit from the modular approach over the traditional way, because making a single high detail module and cloning it around gets me more details very quickly rather than building each detailed wall section the traditional way. Also the modules give be these benefits: 1) I can control each modules piece shadow casting (a performance improvement tool) and 2) it is very quick to re-arrange stuff with the models (if I build the traditional way, I cannot just reshuffle geometry pieces to get the resut I want.) If the modules were of very high detail, I could also make each module to have LOD detail models (but that's a lot of work). Oh, and also, the wall modules had already textures that were perfectly aligned with all the other modules (I used the FIT operation in the surface inspector). If I would build the traditional way, I would be facing the extra work of aligning every single wall piece textures by hand (lots of boring work).

 

2. I know you wrote in your previous reply that there was no incentive to avoid overlapping your modules. Is that solely because they are "func_static"?

 

Yes, the engine treats func_statics differently than worldspawn. Someone more proficient with the engine, may correct me, but I think that dmap does not optimize func_statics in any way. This way they can have any kind of weird arrangement of brushes and the engine will just treat it as a model. Worldspawn gets optimized during dmap. This may result is unexpected results if you have made weird brushwork. Thus, IMHO, worldspawn should be just used for simple geometry of sealing brushes (and floors.) Everything else is good to be func_statics. This makes the work less error-prone.

 

The floors must be worldspawn so that the AI can walk on it. The AI does not see or feel func_statics! The AAS nagivation mesh will be applied on worldspawn.

 

When talking about func_statics, I must remind that the AI does not 0see of feel it. All func_statics must be monsterclipped. This will have it's own part in the mapping blog later.

 

3. Also, you mentioned that if you were using "worldspawn brushes", you would be more careful, is that the reason you are making your structures from "func_static"?

 

 

Yes. The engine treats func_static and worldspawn differently. The main benefit is that the func_statics are grouped (they are quick and easy to clone around), and I can control the shadows of each individual module, and the func_static can be anything and the dmap will not try to optimize/change it. I always try to build so that floors, monsterclip and sealing walls are worldspawn. Everything else if func_static. It makes life so much easier.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

 

When working with worldspawn brushes, then the mapper needs to be more careful. I would make sure all worldspawn brushes are blocky, 90-degree and in grid 8. Slanted sealing worldspawn brushes is like asking for trouble.

Asking for trouble how? :huh:

Come the time of peril, did the ground gape, and did the dead rest unquiet 'gainst us. Our bands of iron and hammers of stone prevailed not, and some did doubt the Builder's plan. But the seals held strong, and the few did triumph, and the doubters were lain into the foundations of the new sanctum. -- Collected letters of the Smith-in-Exile, Civitas Approved

Link to comment
Share on other sites

But imagine if I had spent more time in the module building and made some really fancy looking wall modules. Now I would immediately benefit from the modular approach over the traditional way, because making a single high detail module and cloning it around gets me more details very quickly rather than building each detailed wall section the traditional way. Also the modules give be these benefits: 1) I can control each modules piece shadow casting (a performance improvement tool) and 2) it is very quick to re-arrange stuff with the models (if I build the traditional way, I cannot just reshuffle geometry pieces to get the resut I want.) If the modules were of very high detail, I could also make each module to have LOD detail models (but that's a lot of work). Oh, and also, the wall modules had already textures that were perfectly aligned with all the other modules (I used the FIT operation in the surface inspector). If I would build the traditional way, I would be facing the extra work of aligning every single wall piece textures by hand (lots of boring work).

Expanding on the module topic: Springheel made a lot of new, highly detailed modules as described in this thread. They can be found in models->architecture->modules. This means that for starters you don't have to create said modules yourself, but can use existing ones, which drastically increases the mapping speed for your first map (at least if you want to work with modules).

Link to comment
Share on other sites

Yes, the engine treats func_statics differently than worldspawn. Someone more proficient with the engine, may correct me, but I think that dmap does not optimize func_statics in any way. This way they can have any kind of weird arrangement of brushes and the engine will just treat it as a model. Worldspawn gets optimized during dmap. This may result is unexpected results if you have made weird brushwork. Thus, IMHO, worldspawn should be just used for simple geometry of sealing brushes (and floors.) Everything else is good to be func_statics. This makes the work less error-prone.

 

I want to add to the discussion by saying Dark Radiant's new feature, grouping, allows you to make 'modules' out of worldspawn, a worldspawn/fun_static mix and anything else too. Sotha is definitely correct that any architectural flourishes that the AI isn't meant to walk around should be converted to func_statics, but with grouping you can nest those alongside your sealing brushes so that you can maintain ease of use even with things that need to be worldspawn like floors.

My FMs: The King of Diamonds (2016) | Visit my Mapbook thread sometimes! | Read my tutorial on Image-Based Lighting Workflows for TDM!

 

 

Link to comment
Share on other sites

Asking for trouble how? :huh:

 

If you keep your sealing geometry in grid 8 and 90-degree blocky and as simple and straightforward as possible, the risk of getting leaks is greatly reduced. Maintaining the mission is much easier.

 

Using this blocky-simple-sealing-geometry -approach, I've never had much issues with leaks and weird results. For example, when I made Glenham Tower, I lost a lot of time bugfixing a weird sound leak. The sounds from the outside was leaking inside the tower, even though the tower was properly sealed and visportalled. It turned out that sealing worldspawn must be 8 units thick. I had slanted 8 units thick, so it was thinner than 8 units. This caused the sound to leak. When I widened the slanted sealing walls to slanted 16 units thick, the sound leak went away. Had I used simple, blocky approach then, I would have not lost time to seek out the issue.

 

Also, as veteran mappers know, slanted geometry may start deteriorating due to the floating point rounding issues. At least at some point it did, it might have been fixed already.

 

In short, hours of mapping experience indicates that keeping sealing geometry as simple as possible (8 units thick, 90-degree blocky, non-slanted) is generally predictable and safe. Using slanted sealing geometry may result in strange and hard-to-troubleshoot issues, i.e. "asking for trouble."

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

All uploads have been completed.

 

Obsttorte, thanks for the tip. Where is the noise suppression setting? It's a youtube thing?

 

I'm definitely not gonna re-encode and upload the videos if the noise suppression requires that.

It's located in the sound settings in the system panel under windows. If you are using linux there should be something similar either. But it has to be set before recording so this is just a hint if you are doing future videos. I'm not sure whether it is possible to remove the noise from your videos afterwards.

 

It is not extremely worse, you are good to understand. It is just a bit annoying. :)

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

I understand that the purpose of your videos is to show beginners a quick and easy way to make a map. I probably should have mentioned this beforehand but I would like to learn about "best practices" techniques in making maps. Not necessarily just building quick and small maps but with an eye on the future so I can eventually, properly make large and highly detailed maps.

 

Sure, using the modules will result in little bit more tris than using the traditional way, but the small extra amount of tris is so little, it does not matter.

 

Would this "tris" therefore become more exaggerated in larger and more complex maps and ultimately have too much of a negative impact on a large map? Is there a tipping stone point?

 

traditional way,

 

Is brushwork the "traditional way" of structure building? Because I've come from the Unreal community I'm having a difficult time understanding some of these new terms.

Link to comment
Share on other sites

Modules do not necessarely mean a higher tris count. It is just that they are often more detailed then what mappers build by worldspawn. However, as we have LOD support using LOD modules will actually decrease tris count and therefore improve performance. If you are planning on creating big maps with open scenes, you are actually requiered to use LOD modules to gain a reasonable performance. This is actually what all modern games do (like Skyrim, Dishonored, etc...)

 

The "traditional way" is a term that is used here in reference to the DarkEngine (the engine for the first two thief games). Beside some basic models used for furniture, decoratives etc.. the level geometry itself is build using worldspawn (so brushes and patches). So models are only used for detailing or interactive objects.

 

The "modern way" of building is to build the level geometry (walls, floors etc...) out of models (or modules, it is basically the same), too. This is mostly due to gain a high level of detail even in large games, which would be much more time consuming if it would be done the traditional way, and to gain better performance. Worldspawn is only used to partition the map (for performance and sound propagation).

  • Like 1

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

It's located in the sound settings in the system panel under windows. If you are using linux there should be something similar either. But it has to be set before recording so this is just a hint if you are doing future videos. I'm not sure whether it is possible to remove the noise from your videos afterwards.

 

It is not extremely worse, you are good to understand. It is just a bit annoying. :)

 

Ok. I googled around and found out how to activate the noise suppression, but for some reason my system does not have the tab which has this microphone option.

 

I don't know how to get that enhancements-tab. Sorry about the inconvenience. I hope it isn't too bad. :(

 

I understand that the purpose of your videos is to show beginners a quick and easy way to make a map. I probably should have mentioned this beforehand but I would like to learn about "best practices" techniques in making maps. Not necessarily just building quick and small maps but with an eye on the future so I can eventually, properly make large and highly detailed maps.

 

 

Would this "tris" therefore become more exaggerated in larger and more complex maps and ultimately have too much of a negative impact on a large map? Is there a tipping stone point?

 

 

Is brushwork the "traditional way" of structure building? Because I've come from the Unreal community I'm having a difficult time understanding some of these new terms.

 

The modular way is the best way. That is what all the modern games use nowadays. The difference here is that I make the modules in DR, because I am not so good with real 3d-modeling software like Blender.

 

 

Modules do not necessarely mean a higher tris count. It is just that they are often more detailed then what mappers build by worldspawn. However, as we have LOD support using LOD modules will actually decrease tris count and therefore improve performance. If you are planning on creating big maps with open scenes, you are actually requiered to use LOD modules to gain a reasonable performance. This is actually what all modern games do (like Skyrim, Dishonored, etc...)

 

The "traditional way" is a term that is used here in reference to the DarkEngine (the engine for the first two thief games). Beside some basic models used for furniture, decoratives etc.. the level geometry itself is build using worldspawn (so brushes and patches). So models are only used for detailing or interactive objects.

 

The "modern way" of building is to build the level geometry (walls, floors etc...) out of models (or modules, it is basically the same), too. This is mostly due to gain a high level of detail even in large games, which would be much more time consuming if it would be done the traditional way, and to gain better performance. Worldspawn is only used to partition the map (for performance and sound propagation).

 

<- This exactly. Thanks Obst!

 

---

 

In other news:

 

Interior designers flee in panic. New part is uploaded and ready for viewing:

Part 5: Interior Details

  • Like 2

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

 

If you keep your sealing geometry in grid 8 and 90-degree blocky and as simple and straightforward as possible, the risk of getting leaks is greatly reduced. Maintaining the mission is much easier.

 

Using this blocky-simple-sealing-geometry -approach, I've never had much issues with leaks and weird results. For example, when I made Glenham Tower, I lost a lot of time bugfixing a weird sound leak. The sounds from the outside was leaking inside the tower, even though the tower was properly sealed and visportalled. It turned out that sealing worldspawn must be 8 units thick. I had slanted 8 units thick, so it was thinner than 8 units. This caused the sound to leak. When I widened the slanted sealing walls to slanted 16 units thick, the sound leak went away. Had I used simple, blocky approach then, I would have not lost time to seek out the issue.

 

Also, as veteran mappers know, slanted geometry may start deteriorating due to the floating point rounding issues. At least at some point it did, it might have been fixed already.

 

In short, hours of mapping experience indicates that keeping sealing geometry as simple as possible (8 units thick, 90-degree blocky, non-slanted) is generally predictable and safe. Using slanted sealing geometry may result in strange and hard-to-troubleshoot issues, i.e. "asking for trouble."

I was asking because I haven't noticed this problem. Perhaps it comes into being when you use very thin walls (which I try to avoid for both aesthetic and realism-related reasons), but using angled and rotated architecture doesn't account for it. Some slight deterioration can take place over time, but that is typically not too severe, nor too hard to fix with a little work. Keeping everything a standard 90 degrees looks like extreme caution to me - and a waste, because you are missing out on a lot of cool shapes.

Come the time of peril, did the ground gape, and did the dead rest unquiet 'gainst us. Our bands of iron and hammers of stone prevailed not, and some did doubt the Builder's plan. But the seals held strong, and the few did triumph, and the doubters were lain into the foundations of the new sanctum. -- Collected letters of the Smith-in-Exile, Civitas Approved

Link to comment
Share on other sites

I had a lot of trouble with angled world-sealing brushes in my maps as well...floating point errors would move the verts slightly, opening cracks that were impossible to see.

 

I don't think Sotha is advocating avoiding angled architecture, just not making it world-sealing. I now always have 90 degree worldspawn behind diagonals sealing things.

  • Like 3
Link to comment
Share on other sites

Keeping everything a standard 90 degrees looks like extreme caution to me - and a waste, because you are missing out on a lot of cool shapes.

 

What Springheel said. You can still do any kind of geometry with the func_statics. Just keep the sealing brushes blocky-90-degrees. You won't be losing any interesting shapes... The only thing you will lose is the bug hunts for weird problems. I am happy if you have not encountered those. Weird sealing problems are easy to fix, but pain in the butt to locate.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Rounding errors due to angled geometry are a bit erratic. Whether they occour or not depends on the specific orientation of the brush and do not necessarely be avoided by having the vertices of the brush on grid. This is due to the fact that the map format does not represent brushes by their vertices, but by the outer normals of the planes restricting them. So if the normal can be represented exactly with floating point numbers you won't run into any problems, but if not ...

 

Axis aligned cubic brushes have face normals that are zero in two and either one or minus one in the remaining coordinate. As these numbers can be represented exactly via floating point numbers you will not run into any issues with those (normally, I head issues with axis-aligned brushes, too, even though this occoured rarely).

 

However, angled brushes can be used, too. It is just recommandable that you place them slightly overlapping, so that even if they get shifted they still seal.

 

The grid size does imho not have any effect on how sensible placed brushes are. As said, the vertex position plays a minor role and all grid scales are powers of two anyways, and can therefore be represented exactly via floating point numbers. What I noted, though when beta-testing fms was that maps that are build on small grid sizes (e.g. have a lot of worldspawn with vertices off grid on higher grid sizes) seem to have a higher performance impact. At least thats my impression, but I'm not sure whether this is really the case or whether said missions suffered from other issues and I don't know of any explanation for this, but due to some of the weird things I have encountered over time and that seem to be connected to performance optimizations in the code it could maybe has something to do with that.

 

Just guessing on the last point, though.

  • Like 1

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  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • 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.
      · 4 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
×
×
  • Create New...