Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
printz

[DarkRadiant] Did anyone make a script to convert curves to solid pipes?

Recommended Posts

(cross-posted from idtechforums) 

 

Pipes and bars are extremely common in Doom 3 techbase levels, especially safety railings. But working with patches to make increasingly elaborate rails is really time consuming and doesn't need to be. I see that DarkRadiant lets you draw volumeless curves (which are probably used for cutscene cameras), and they look like the perfect candidate to "extrude" into pipe (curved cylinder) patches. I haven't found any native menu option that can do it, and nothing on Google either, so I'm asking: has anyone made a Python script that can do this already?

Share this post


Link to post
On 5/22/2020 at 1:38 AM, printz said:

(cross-posted from idtechforums) 

 

Pipes and bars are extremely common in Doom 3 techbase levels, especially safety railings. But working with patches to make increasingly elaborate rails is really time consuming and doesn't need to be. I see that DarkRadiant lets you draw volumeless curves (which are probably used for cutscene cameras), and they look like the perfect candidate to "extrude" into pipe (curved cylinder) patches. I haven't found any native menu option that can do it, and nothing on Google either, so I'm asking: has anyone made a Python script that can do this already?

From a pipeline perspective, you should make the geometry in a external software package. I wouldn't bother making geometry in DarkRadiant or DoomEdit. 

Share this post


Link to post
52 minutes ago, icecoldduke said:

From a pipeline perspective, you should make the geometry in a external software package. I wouldn't bother making geometry in DarkRadiant or DoomEdit

I finally got confident enough to deal with vertices, so I made the rails and even a ladder steadily by hand.

 

For making techbases, most of the detail can be done in the map editor. You can see in id's maps that only the highly detailed props are models; otherwise all pipes and even some of the bigger doodads can be made of cylindrical or capped curve patches. Most of the techbase design is made of exact shapes, easy to do in the bare editor

 

Only when I get in hell it will become hard to map like this, because the caves and mountains need a lot more detail, so you're right there. What intimidates me is that I don't see the surrounding level when I edit the model mesh. I also don't have easy access to game's textures, do I?

Share this post


Link to post
11 minutes ago, printz said:

I finally got confident enough to deal with vertices, so I made the rails and even a ladder steadily by hand.

 

For making techbases, most of the detail can be done in the map editor. You can see in id's maps that only the highly detailed props are models; otherwise all pipes and even some of the bigger doodads can be made of cylindrical or capped curve patches. Most of the techbase design is made of exact shapes, easy to do in the bare editor

 

Only when I get in hell it will become hard to map like this, because the caves and mountains need a lot more detail, so you're right there. What intimidates me is that I don't see the surrounding level when I edit the model mesh. I also don't have easy access to game's textures, do I?

id software did a lot of their pipeline wrong in Doom 3. Now-a-days you wouldn't make any environment bits in a in game editor, you would simply export out the meshes from Maya, Max or Blender and import the bits into the engine. I highly advise not doing pipes the way you want to do it. 

Share this post


Link to post

I'm using the editor because it's the easier learning curve for me. I will most likely be forced to master Blender when I get to caves, so with that I'll also have the opportunity to revisit my old areas and revamp them with high quality meshwork...

 

I believe that in the early stages I should make the map coarse and low in detail, so that I don't have to destroy too much if I need to shift the layout later. Going out of the map editor repeatedly to adjust a mesh in a 3D editor slows down my flow.

Share this post


Link to post
3 minutes ago, printz said:

I'm using the editor because it's the easier learning curve for me. I will most likely be forced to master Blender when I get to caves, so with that I'll also have the opportunity to revisit my old areas and revamp them with high quality meshwork...

 

I believe that in the early stages I should make the map coarse and low in detail, so that I don't have to destroy too much if I need to shift the layout later. Going out of the map editor repeatedly to adjust a mesh in a 3D editor slows down my flow.

Then you shouldn't be working on pipes :) Pipes and such are part of the set dressing which is what you do after the layout is done. 

Share this post


Link to post
4 hours ago, icecoldduke said:

Then you shouldn't be working on pipes :) Pipes and such are part of the set dressing which is what you do after the layout is done.

I agree, adding too much detail early on just makes it harder to make structural changes later on.

 

Yeah patch meshes are a pain to work with, I often look for an existing one that is close to what I want (even in another map) and copy/paste it and then tweak the shape.

Share this post


Link to post

I'll do the 180 and recommend building these things inside the editor. Practically everything in Phobos is being made with the original DOOMEdit. We sometimes do models, but they're almost always pieces of geometry made inside the editor that are turned into models so we can tweak things or cut down on the number of clip models. All of this certainly feels like a daunting task at first, but I think once you get a hang of it it will be worthwhile. Of course, once you're doing organic things like caves or whatever it's extremely difficult to do with brushes and patches. We also use models for those, built for that exact purpose.

 

I've been craving a spline + extrude method like you suggest many times, but all in all I'm not sure it would save us that much time. It would be faster, no doubt about it, but more often than not you can get to the same result with a few copy/pastes. At this point I wouldn't really say that building stuff is slowing us down. Building good stuff slows us down and the bottleneck here isn't the tools but creativity, vision and persistence.

 

We also don't really make caulked box maps first and then add in detail later. For us it's an iterative process where idea leads to detail/specific implementation which in turn leads to a better idea and so forth. Not that there is a "right way" to do this, but this one has been the most successful for us.

Share this post


Link to post

Just to elaborate on this iterative process. We actually used to use more placeholders and make less detailed versions of the levels with a lot of caulk (texture) brushes and low detail rooms. We did this with the intention of adding in the "awesome" later on. The positive side of this is that you get some instant gratification and you make a lot of progress fast. Another win is that you're able to quickly prototype some of the macro-level parts of your game or levels. The gotcha is that you don't really get a good sense of the style you're building for and you don't get a realistic picture of how much work is required. Another problem is that it quickly turns into an "and then" fest where you keep on adding stuff to your map because it's just so darn fast. I need this AND THEN that AND THEN this AND THEN that. We had some humonguous levels that would never work in reality, but we didn't figure this stuff out before we started trying to make it good in all relevant aspects.

 

For us this was very much equivalent to "fix it in post" or the star wars prequel approach to cinema where you quickly cover the scenes and then figure out how to make it look great later. Internal talks in the team had this stuff labeled as "postponing homework" and staying in the wonderous concept phase for as long as possible. The thing is that when you finally do get into the nitty gritty, the early version you made quickly becomes incompatible with your newfound experiences. We could call this process breadth first as you're kinda trying to represent as much of the level or the game as quick as possible. I think we started opting for a depth first approach somewhere in the middle of the process and that's where we really started to gain traction and speed.

 

From the get go you don't really know what style to build. For me, the easiest way to do this is to find some specific detail, area or whatever and then build it. From start to finish. This helps me figure out the level of detail I should aim for and I can extrapolate the larger scale features from this piece. In Phobos, we struggled with the style for the intro house areas for a long time. When we one day built a complete skybox with houses, bridges, a light house etc. everything started to come together and we built the rest of the scene around this. It just seemed natural. We knew that we wanted to show off some specific things in the skybox, so that lead to creating windows that allowed for this. The room itself was then created around the windows.

 

I'm not saying that the other way to do it does not work. Obviously it does work for many people and amazing games are created like this, but for us trying to get to that vertical slice of a level, a style and a concept as soon as possible made it much easier for us to plan, schedule and actually complete this thing. I'm just trying to provide an alternative approach to it that helped us a lot :)

Share this post


Link to post

Thanks for the description. Yeah, I guess balancing things out works best.

 

Personally what I'd still postpone is all those necessary brushes which normally just stand in the way but are just as important: monster-clip and visportal... This means that monsters will also come in late.

Share this post


Link to post
7 hours ago, Shaviro said:

From the get go you don't really know what style to build. For me, the easiest way to do this is to find some specific detail, area or whatever and then build it. From start to finish.

No offence but I think this is terrible advice :). You need to storyboard out your idea first. You need to come up with your art style next. Then you can create a grey box environment, make sure you play through that, and make sure that feels fun. Then once the fun is found, and the layout is to your liking, then you do the set dressing. It sucks when you've built this crazy level, only to realize the design is terrible. 

Share this post


Link to post

That is such an arrogant hand wavey response to a sincere piece af advice coming from experience. You also skip all of the details in my post and assume there is no plan for anything. Things are not always super simple and depending on what you're building, "fun" isn't an easily defined concept. Sometimes you have to let the visual design come in and be part of that iterative process and feedback "loop". Reducing it to be "set dressing" has its own host of problems that will work in some games, not in others. It's an extremely simplistic way to view the creation process.

But I'm glad you've found the one true way for every single person to build every single type of game with 3D environments. That must be awesome! :)

Edited by Shaviro

Share this post


Link to post
On 5/23/2020 at 2:15 PM, icecoldduke said:

id software did a lot of their pipeline wrong in Doom 3. Now-a-days you wouldn't make any environment bits in a in game editor, you would simply export out the meshes from Maya, Max or Blender and import the bits into the engine. 

 

This is true for modern games, but would have been largely pointless for a game developed in the early 2000's like Doom 3, where the environments are generally kept to a *very* modest poly count. In a game like Doom 3, where much of the visual richness is sold via the normal maps and the expertly placed lighting, it would have made little sense to use software capable of producing extemely high levels of detail with great precision, when most of your floors, walls and ceilings are comprised of relatively few surfaces to begin with. Though I think you could argue they should have used models for things like pipes and railings, since they always have those visible seams when you separate them into sections. :)

 

@printz I'll sidestep the issue of whether or not pipes are 'set dressing' or whatnot, and just say that if you're going to opt for doing things like pipes, railings and ladders in Radiant, you should try to use the 'Bend Patch' function whenever possible, rather than operating with the individual vertex control points. (Select a Patch, press B, follow the prompts that pop up.) This will allow you to shape patch meshes at a much greater speed than dragging the vertex control points one by one.

 

On 5/23/2020 at 2:02 PM, printz said:

What intimidates me is that I don't see the surrounding level when I edit the model mesh.

 

Do you know about the export function Radiant has? You can export any geometry you select in the editor as an .obj, including brushes, patches and models. Select whatever you want, go up to 'Selection->Export->To OBJ'. From there, you can easily import your object into a modelling program. Use this function, and you can import all the surrounding geometry of a level into the scene of the modelling package as well, so you can always see what you're working around.

 

Keep in mind, the modelling package will read the space relation to the 0,0,0 coords of whatever you exported from Radiant, and that will affect how it is offset from the center of the scene. So you may want to bring all the things you plan to export close to the 0,0,0 point in Radiant before exporting.

Share this post


Link to post
3 hours ago, Caffeine Freak said:

expertly placed lighting.

The light rigs in the environment were placed very very wrong. I made a youtube serious on proper light placement in idTech 4 along with a "nospec" fix so you could place fill lights in the game. I'll say this again, Doom 3 had the worst light rigs of any game of that time period. You supposed to place primary lights around with fill lights with spec disabled, to fake light bounce, they didn't do that. 

 

But that's a conversation for a different thread :)

Share this post


Link to post
26 minutes ago, icecoldduke said:

I made a youtube serious on proper light placement in idTech 4 along with a "nospec" fix so you could place fill lights in the game.

 

Link?

Share this post


Link to post

I don't play many new games, but one thing I have noticed is that many games seem to over-use those meshes that were modelled beforehand. Which results in cookie-cutter looks and very non-solid feeling environments cobbled together from the same meshes. This didn't happen as often when geometry was mainly build by hand like in the Doom 3 era.

 

Agony (Madmind Studio, 2018) is an example. They have that vaguely Babylonian looking female statues in the Temple of Lust, where they fit in great. I guess they were designed specifically for this setting. But later you find re-scaled versions of that mesh in many other places, and it's the same with various other assets of the game.

 

The worst example I know is Apocryph (Bigzur Games, 2018). I am glad I only payed 1,27 € for that game when it was on sale. 80% of the environemnets there are cobbled together from the same architectural meshes and it looks and feels very cheap.

 

Maybe these are just bad examples were the devolopers didn't put enough effort in the level design. But I have the feeling that this "create meshes in a modelling program, then import them and fill your roughly shaped environemnts with it" way promotes this.

Share this post


Link to post

You can make unique assets in a external modeling program if that's what you want :/. Hell you can even make a python script in blender or Maya that auto generates unique pipes for you.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×