Jump to content
The Dark Mod Forums

Asymmetric Design: Possibilities in DR


Paralytik

Recommended Posts

Hey there folks, been lurking these forums for some time, but I haven't been very active with my posting.

 

Now, however, I am collecting ideas and technical details for a (hopefully) FM of my own. I have casual experience with a few different engines (Source, UnrealEd, CryEngine 2) and I understand the basic concepts of scripting. I've always been interested in making some Thief-like game to try out different gameplay elements I've been thinking of, and I got really happy when I saw that you guys managed to get TDM working standalone. Primarily my plan is to focus on sound and music as the main tools for immersion. I have a few years experience working with Propellerheads Reason for audio design and music composition.

 

 

As the thread title say, I'm interested in the possibilities Dark Radiant provides regarding asymmetry. I've gone through lots of the inspirational material in different threads, and a recurring theme in medieval buildings is their often skewed and crooked looks.

 

So my question is, would that be possible within the DR engine? Most maps I've seen are quite straight-angled and blocky in their design (rooms and corridors and streets all follow the same lines, with the majority of angles being 90 degree ones). Are there any specific technical difficulties with rotating, say, buildings in a street to other angles? I'm imagining severely crooked narrow alleys, with houses at different angles and things slightly leaning one way or another, and the street varying in height to break it up even more. I am aware of the fact that this approach would probably make everything harder to design (placement of visportals, texture seams, leaks/gaps, etc.), but it sure would make things more interesting.

 

If anyone has any specific things to say about these ideas, don't hesitate to share your thoughts! :)

Edited by Paralytik

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

Sealing geometry should be kept as simple as possible. owever, what the player actually gets to see can be as angled as you like it, although it makes sense to keep things on grid. So I would not rotate stuff, but create them in an angled way.

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

Hi there. Yes there's one technical difficulty: sealing geometry that lets the game tell whats inside a room and what's outside. So that the outside doesn't have to be rendered when you're inside and vice versa (= visportalling). You need to keep that pretty square and flush. But you can make the sealing geometry invisible while making your visible walls func_static entities. It's a more advanced technique, but it can be done.

Link to comment
Share on other sites

First of all, Welcome!

 

NS and EW orientation predominates because it's easier to work with. Several missions have created walls and streets that aren't aligned NS & EW, so it's very possible to do.

 

AI don't do well with angled doors. The AAS system they use to get around is oriented on the NSEW grid, so moving through an angled doorway can be problematic. (It can be done, it's just that you'll see more instances of AI bumping into the doorjamb than you will with NSEW-aligned doors.)

 

Dark Radiant also has some subtle problems with angled brush faces, due to the way the data is stored and used. While this problem was reduced considerably with some work done over a year ago, it can still bite you from time to time. There are ways around that, such as turning angled geometry into models that aren't subject to DR's whims.

 

That's all that comes to mind atm. Others will surely comment on this.

Link to comment
Share on other sites

Thanks for the replies, pretty much confirmed what I thought. Too bad to hear the engine doesn't handle odd angles very well though...

The areas I would apply these things to would mostly be outdoor ones, and also to make interesting skyboxes to complement said outdoor areas.

Also for caves and tunnels it would be essential.

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

Here are some examples of what I'm thinking of, if that helps to show what I mean.

 

nanping-9.jpg

12268721-a-bumpy-lane-creeps-along-the-winding-alleys-genoese.jpg

rocca-gassen_03.jpg

DSC_1002.JPG

  • Like 1

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

That kind of stuff is easy to do.

 

Just make a wide corridor and put func_static walls in there. You can twist the walls as much as you can, but the visportal choke-off points M U S T be in grid and 90 degrees.

 

Oh, and you are starting your first map, and nobody mentioned it already... remember the golden advice:

 

Start small. (As in start with a small project. Get it done. Then do as big mission as you like. Just be sure to start small.)

  • Like 1

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

These pictures look like the side streets of Monaco. Similar to some pictures I was using to create what I thought would be my first map. Organic lines and flow.

 

patchClippingWalls.JPG

 

I eventually shelved it after 60+ hours of work and decided to "start small" and make a mission that is a pre-cursor to the one above so that I can get a feel for working with DR and its limitations and my own limitations. My only issue is now my smaller current map is so blocky I don't even want to look at it and I'm considering starting over on it and making things a bit more organic on it as well.

 

There are many things to do to create an FM, from the architecture, story, loot placement, decoration,detail, and decals, lighting, AI pathing and placement, briefing and objectives, etc. and not having a lot of knowledge on these things and how they're implemented and the dependencies between each as far as the overall mission structure goes is a good reason why starting small is the way to go for your first map.

Link to comment
Share on other sites

That kind of stuff is easy to do.

 

Just make a wide corridor and put func_static walls in there. You can twist the walls as much as you can, but the visportal choke-off points M U S T be in grid and 90 degrees.

 

Oh, and you are starting your first map, and nobody mentioned it already... remember the golden advice:

 

Start small. (As in start with a small project. Get it done. Then do as big mission as you like. Just be sure to start small.)

 

Yeah, was thinking about it more yesterday and the easiest thing would probably be to make wider, blocky corridors/roads and mess it up with rotated walls and building facades inside of those blocks. Then some sneaky snakey L-shapes would probably help with the placement of visportals. That they have to be placed and locked to the grid is only a matter of overall design of the alleys, which I will spend time planning long before I even touch the editor.

 

So far I've made a list of key elements that are important to think about regarding gameplay and immersion. Sneak-past-AI mini challenges confined to smaller areas with multiple ways to tackle them as one example. Sound cues hinting about secret locations as another. Got lots of ideas that I will try to weave into the story to make it reasonable and consistent along the way.

 

And about starting small, yeah, I know about that one. I will probably try to design a small alley as a first lesson to learn about how the engine works and how much of my ideas are possible. I've also started drawing building facades in different styles to make it easier with future work in-engine. As far as story goes I only have rough sketches so far.

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

Lux! Gahh! That looks like Hell in terms of:

*Building efficiency.

*Visportallization

*Leak search.

 

Don't build like that. Just don't. Your mental health will suffer if you do.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

I was thinking more of a layout like this. If the design is well thought through beforehand this shouldn't be too performance heavy, right? Pretty much everything will be func_static, no point in having moveable objects if they don't contribute to anything gameplay-wise.

 

3PVXHvo.png

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

How is it with visportals, there's no problem with them intersecting func_statics, right? Also, the chaulk texture is not drawn in the game, but can be used as sealing the map against the void I guess? I've watched a few small tutorials on Youtube, but I got a bit annoyed by the fact that optimization using no-draw textures wasn't mentioned. Lots of blocky walls with textures on all sides must have quite a serious impact on performance when you increase the number of them.

 

EDIT: Also thanks for the replies so far, nice to get some encouragement from experienced guys. :)

 

+ A question about the use of patches, when texturing I hope it is possible to choose which faces of them have which textures.

Like if I, theoretically, design a whole house facade using patches.

Edited by Paralytik

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

Hello Paralytik i'm not really a TDM mission developer but i have some knowhow about the idtech 4 engine, the one TDM uses, this is what you need to know if you want to go out of the squared and angled look.

 

Blockout your map using Brushes on DarkRadiant like normal, this is necessary for the Visibility, Sound and AI system to work well, you can test basic gameplay at this stage if you want, after that is done them is just a matter of populating the map with models (func_statics) to hide the squared look, you can rotate them how you like and make them the crooked and broken has you want, but remember AI cannot navigate on func_statics if theres no normal brush geometry below it for the AAS system to work. Btw this is how maps are done on all engines using the BSP system including Unreal Engine (Don't know if 4 still supports BSP system) and Source.

Link to comment
Share on other sites

How is it with visportals, there's no problem with them intersecting func_statics, right? Also, the chaulk texture is not drawn in the game, but can be used as sealing the map against the void I guess? I've watched a few small tutorials on Youtube, but I got a bit annoyed by the fact that optimization using no-draw textures wasn't mentioned. Lots of blocky walls with textures on all sides must have quite a serious impact on performance when you increase the number of them.

 

EDIT: Also thanks for the replies so far, nice to get some encouragement from experienced guys. :)

 

+ A question about the use of patches, when texturing I hope it is possible to choose which faces of them have which textures.

Like if I, theoretically, design a whole house facade using patches.

 

Idtech 4 already disregards no visible faces on dmap process automatically no need to use the chaulk texture anymore for that purpose, but it can be used for invisible geometry that needs to seal the void, no_draw can't do that.

 

Patches are one sided so you can only apply textures for a single side of it.

 

You can intersect func_statics with visportals just fine, but remember that if a visportal closes but a portion of the intersecting func_static is still visible to you the full func_static will still be rendered, so don't make entire rooms of a single func_static.

Edited by HMart
Link to comment
Share on other sites

These crooked alleys will most probably be divided up with more simple, flatter (walls and ground) areas for the AI interaction to be less buggy. Maybe just a few non-moving idle AIs standing on balconies or moving in the distance at some places where the player can not go. Nice to hear that the engine disregards textures not seen, but will the use of chaulk would still lower the map size? Then it would still be a nice type of optimization.

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

These crooked alleys will most probably be divided up with more simple, flatter (walls and ground) areas for the AI interaction to be less buggy. Maybe just a few non-moving idle AIs standing on balconies or moving in the distance at some places where the player can not go. Nice to hear that the engine disregards textures not seen, but will the use of chaulk would still lower the map size? Then it would still be a nice type of optimization.

 

Afaik not but the file size for maps seem to be very small even on big maps i wouldn't worry about that.

Link to comment
Share on other sites

WjbgQNa.png

Here is how I would do it. Simple boxy red worldspawn geometry. Very easy to lay out.

then you put decorative func_statics (blue). If you made modules, it would make building even more easy. Choke-off points will be visportalled (green).

 

The downside is that you need to manually monsterclip the blue func_statics, but that's pretty normal and quite fast with the correct workflow.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

Nice one Sotha, a bit more clean than my sketch. By the way, is there any difference in performance between func_statics and worldspawn pieces? I guess it would be possible to make everything out of BSP brushes by moving vertices around (but keep it flush and clean around the outer edges to avoid leaks), which is kinda what I would do anyways, but with patches.

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

Always have detail pieces to be func_static.

 

Worldspawn is for sealing geometry only.

 

Do not let detail brushes be worldspawn. Worldspawn brush touching another worldspawn brush causes excess tris. Func_static does not cause this effect.

 

Also you can turn func_static brushwork to "noshadows 1" which removes the shadows they cast. This is a good performance optimization, especially for wall detail pieces. They really do not need to cast shadows, as light hits them, and behind them is just the sealing worldspawn brush, and the player cannot see through the detail pieces. Worldspawn will always cast shadows. Shadows are a performance drain: geometry piece of 1000 tris is 1000 tris. If one light hits it, there 1000 tris + 1000 shadow tris. If two lights 1000 tris + 2000 shadow tris. And so forth.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

How many tris in average would a detailed outdoor wall piece have (door, windows, ledges, beams, etc)? Guess it varies a lot due to design choices, but could you come with an estimate? Also, how does visportals work for outdoor areas, where you can see the skybox? How does the top of streets get sealed? Just one big block?

"My milkshake bringeth all ye gentlefolk to the yard. Verily 'tis better than thine, I would teach thee, but I must levy a fee."

"When Kleiner showed me the sky-line of New York I told him that man is like the coral insect—designed to build vast, beautiful, mineral things for the moon to delight in after he is dead."

https://soundcloud.com/paralytik

 

Link to comment
Share on other sites

Lux! Gahh! That looks like Hell in terms of:

*Building efficiency.

*Visportallization

*Leak search.

 

Don't build like that. Just don't. Your mental health will suffer if you do.

 

A bit of an over reaction don't you think? :P

 

... what I thought would be my first map....

 

Clearly this isn't happening.

 

I know Sotha, I know.

Link to comment
Share on other sites

I try to design my maps in a fairly organic way, although this kind of thing needs more effort than working at 90 degree angles.

  • You can generally rotate worldspawn brushes and func_statics fairly well and accomplish much that way.
  • You can also use a trick where you build the most complex architecture at manageable angles (90 or 45 degrees), and the less demanding parts at odd angles.
  • You can create very nice organic architecture by taking relatively single shapes and making them intersect, or by layering them on top of each other.
  • Wedges are very useful, as is the clipper tool.
  • Patches are really great to create uneven walls, too (although sometimes a good texture can also suggest unevenness).

Watch performance, but don't become a slave to it. The same goes for starting small. It is a suggestion, not holy writ. Test your boundaries as well as your visportals, and things will be fine.

  • Like 1

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

How many tris in average would a detailed outdoor wall piece have (door, windows, ledges, beams, etc)? Guess it varies a lot due to design choices, but could you come with an estimate?

 

If you played my Ulysses:Genesis mission, the wall modules were less than 200 polies.

 

But do not start counting tris. Just use the minimum amount of tris to get the the maximum aesthetics. Look at this screenshot from Urban Terror shooter:

screenshot-urban-terror-1.jpg

 

90b957d238e6a8b840b51375fbd2e3c7.jpg

See? The world geometry is surprisingly low poly. Regardless of the low polygon count, it still looks good enough.

 

Keep tris low and use the textures to your advantage. The less tris you will use, the easier the area is to construct and the larger area you will get away with. If you are building indoors, you can use more detail. If you are doing an exterior area, then you need to make more rough corners.

 

In the end, after a basic aesthetic level is reached, the aesthetics are secondary. Gameplay is king. If the mission looks good, it will not help if it is not fun to play or performance is poor. If the mission looks reasonably okay, but gives excellent playability, you have done well.

 

Also, how does visportals work for outdoor areas, where you can see the skybox? How does the top of streets get sealed? Just one big block?

 

As you can see from my schematic eariler, the world consists of rooms that are separated by visportals. You can use skybox texture on the ceiling or the walls of the sealing geometry.

 

A bit of an over reaction don't you think? :P

 

Clearly this isn't happening.

 

I know Sotha, I know.

 

But it looked so painful to build and I am an empathic person... ;)

Clipper

-The mapper's best friend.

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

    • 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
    • Ansome

      Well then, it's been about a week since I released my first FM and I must say that I was very pleasantly surprised by its reception. I had expected half as much interest in my short little FM as I received and even less when it came to positive feedback, but I am glad that the aspects of my mission that I put the most heart into were often the most appreciated. It was also delightful to read plenty of honest criticism and helpful feedback, as I've already been given plenty of useful pointers on improving my brushwork, level design, and gameplay difficulty.
      I've gotten back into the groove of chipping away at my reading and game list, as well as the endless FM catalogue here, but I may very well try my hand at the 15th anniversary contest should it materialize. That is assuming my eyes are ready for a few more months of Dark Radiant's bright interface while burning the midnight oil, of course!
      · 4 replies
×
×
  • Create New...