Torque-specific interior editor?
by James \"Corvidae\" Williams · in Artist Corner · 01/07/2003 (9:32 pm) · 37 replies
As some of you may have seen over in the Mac forum, I'm considering working on an editor specifically geared toward Torque interior creation. Before I get started, though, I'm curious as to what users are looking for in an editor. Is there any specific part of Quark/WC you especially like? Anything you don't like? Any feature requests? Current planned enhancements include:
* One-click export to map2dif for compilation
* The ability to use .tga/.jpg textures natively and not have to maintain both a texture list and a .wad
* The ability to work with detail levels in the editor simultaneously (i.e. have a "project" file of sorts that will manage a series of LODed interiors and will export them to a single .dif)
* Both .qrk and .fgd support
* Plugin system so individual mod teams can customize the export/editing process to use their enhancements
Essentially, I'm looking to make sure this won't be _too_ insurmountable once I get into it. :) If you have any ideas, suggestions, offers of help, etc., let me know!
-Corvi
* One-click export to map2dif for compilation
* The ability to use .tga/.jpg textures natively and not have to maintain both a texture list and a .wad
* The ability to work with detail levels in the editor simultaneously (i.e. have a "project" file of sorts that will manage a series of LODed interiors and will export them to a single .dif)
* Both .qrk and .fgd support
* Plugin system so individual mod teams can customize the export/editing process to use their enhancements
Essentially, I'm looking to make sure this won't be _too_ insurmountable once I get into it. :) If you have any ideas, suggestions, offers of help, etc., let me know!
-Corvi
About the author
#2
I'm not sure if these are supported in map2dif. I don't believe they are, but I might be mistaken. I'm hoping to just get the basics implemented before I go adding new features to map2dif.
an infinite work area
Definately on the list. :)
Cross platform compatibility
This is really the whole reason why I'm willing to undertake this potentially massive task. To my knowledge, there are no Mac interior editors available, which is a large liability, IMO.
Complex shapes (Spheres, Arches, etc)
Spheres will be rather difficult to do, I think, but arches might be possible. I'll have to look into it.
Leak detection
As the BSP compilation in map2dif is rather different than in Quake-engine games, I'm not sure if this would be useful or helpful. I'll take a look, though.
Error Locating/Fixing
What sorts of errors are you thinking of, here? Invalid brushes?
Mass texturing replacement
Sort of a texture search and replace function? I think that could be managed relatively easily.
Texture adjusting
Virtually a necessity for a serious editor.
Door and Glass placement
This appears to be done with entities in MB and (at least in my) transparency code. Those will be supported, as it's hard to make a decent map without SOME form of entities. :)
Good suggestions; thanks for the input.
01/07/2003 (10:36 pm)
Decals I'm not sure if these are supported in map2dif. I don't believe they are, but I might be mistaken. I'm hoping to just get the basics implemented before I go adding new features to map2dif.
an infinite work area
Definately on the list. :)
Cross platform compatibility
This is really the whole reason why I'm willing to undertake this potentially massive task. To my knowledge, there are no Mac interior editors available, which is a large liability, IMO.
Complex shapes (Spheres, Arches, etc)
Spheres will be rather difficult to do, I think, but arches might be possible. I'll have to look into it.
Leak detection
As the BSP compilation in map2dif is rather different than in Quake-engine games, I'm not sure if this would be useful or helpful. I'll take a look, though.
Error Locating/Fixing
What sorts of errors are you thinking of, here? Invalid brushes?
Mass texturing replacement
Sort of a texture search and replace function? I think that could be managed relatively easily.
Texture adjusting
Virtually a necessity for a serious editor.
Door and Glass placement
This appears to be done with entities in MB and (at least in my) transparency code. Those will be supported, as it's hard to make a decent map without SOME form of entities. :)
Good suggestions; thanks for the input.
#3
Just some advice on decals if you like.
Decals are exceedingly handy and make the creation of detailed level a snap.
The decal does not have to be a complex map2dif supported issue and can be quite created using just geometry. The user can use the decal and the editor can then create this as a geometric object by either intersecting a square area in a brush side and spliting the brush geometry for a simple decal.This does not allow for transparencys though as multitexturing has to be available to doe this transparently.
Another idea is to add detail objects with the decal texture on it. IE a cube that is infinately thin and has the decal texture on one side and the null texture assigned to others.
These decals are by there nature static and just artist tools to assist the artist in ceating detailed levels.
Just a thought.
BTW LOD would also be verry nice.
01/08/2003 (1:07 am)
I was thinking of doing something similair and i wish you good luck.Just some advice on decals if you like.
Decals are exceedingly handy and make the creation of detailed level a snap.
The decal does not have to be a complex map2dif supported issue and can be quite created using just geometry. The user can use the decal and the editor can then create this as a geometric object by either intersecting a square area in a brush side and spliting the brush geometry for a simple decal.This does not allow for transparencys though as multitexturing has to be available to doe this transparently.
Another idea is to add detail objects with the decal texture on it. IE a cube that is infinately thin and has the decal texture on one side and the null texture assigned to others.
These decals are by there nature static and just artist tools to assist the artist in ceating detailed levels.
Just a thought.
BTW LOD would also be verry nice.
#4
I mean invalide brushes, faces, but especially individual vertices.
A lot of times when you create a complex shape, Hammer will place one or two vertices at invalid locations. When map2dif processes the interior, it moves the invalid vertices around, so you get really funky looking shapes in Torque.
01/08/2003 (8:41 am)
Allow me to go in to more detail about the error locating/fixing. I mean invalide brushes, faces, but especially individual vertices.
A lot of times when you create a complex shape, Hammer will place one or two vertices at invalid locations. When map2dif processes the interior, it moves the invalid vertices around, so you get really funky looking shapes in Torque.
#5
BTW, anyone have any ideas for a name? :)
01/08/2003 (8:52 am)
Nycto: How can you tell it's Hammer placing the vertices in the wrong locations and not map2dif munging the vertex when it's processing the brush?BTW, anyone have any ideas for a name? :)
#6
01/08/2003 (10:09 am)
Like I said, I don't know the inner workings, but if you move the vertices of a messed up brush to the nearest grid intersection, it will start looking better (assuming you don't make the brush invalid).
#7
01/08/2003 (10:38 am)
So in a brush like this, you can zoom in so the grid size is equal to one unit, and the vertex isn't on a grid line?That's pretty easy to duplicate with clipping at non-orthogonal angles, and map2dif should process floating-point vertex locations just fine. Sounds like it could be a bug in map2dif that's causing that problem, but I'll look into it and see what I can find.
#8
01/08/2003 (11:14 am)
I can't do it tonight, but If you want I can replicate what Im talking about and send you the rmf.
#9
James
01/08/2003 (11:18 am)
It would be really good if it was an ingame editor. I'm not sure about the feasibility and it will probably be more work than starting with an existing open source code base. But it sure will be convenient.James
#10
Machine Shop
Machinist
Wrench
Workbench
Grease Monkey
Something to that effect.
*edit*- just to avoid confusion, I meant the 'Corvidae' James. :)
01/08/2003 (11:21 am)
Sounds great, James, can't wait. On a name I'd stick with something Garage related.Machine Shop
Machinist
Wrench
Workbench
Grease Monkey
Something to that effect.
*edit*- just to avoid confusion, I meant the 'Corvidae' James. :)
#11
Hammers best: Go to vertex. Most errors only show up when compiling with BSP, but I have found some when working with torque specifics. Error in vertex 1197345. Well, which friggin one is that?
None: Go to texture. I use a kluncky work around in quark, which allows me to select all brushes with texture con.jpg, but I really want to know each and every brush that uses it. 1 at a time. Maybe I can save some memory by eliminating con1a, and replacing all occurances with con1. I simply need to know beforehand who is using what and why.
3DSMax: Weld vertices, altered for brushes. In Quark I can tag a side of a brush, and then glue the adjoining brush, creating a perfect seam. This must be done one at a time though, and it really sucks. I love how 3ds allows you to select all vertices, and snap/weld all within .5 QU of each other. Bamn, no more 1 qu light seams in my walls.
Major importing would also be nice. Most builders began with some other .map formated game, and thus have lots of partially done work lying around. I'ts quite an involved process to convert some of them to something Quark will recognize, without demanding I switch to Q1 mode.
01/08/2003 (11:28 am)
Quarks _greatest_ feature: Tree view groupings. My life is so much easier when I am able to group each and every building, then further group them into the walls, the ornamentation, etc.Hammers best: Go to vertex. Most errors only show up when compiling with BSP, but I have found some when working with torque specifics. Error in vertex 1197345. Well, which friggin one is that?
None: Go to texture. I use a kluncky work around in quark, which allows me to select all brushes with texture con.jpg, but I really want to know each and every brush that uses it. 1 at a time. Maybe I can save some memory by eliminating con1a, and replacing all occurances with con1. I simply need to know beforehand who is using what and why.
3DSMax: Weld vertices, altered for brushes. In Quark I can tag a side of a brush, and then glue the adjoining brush, creating a perfect seam. This must be done one at a time though, and it really sucks. I love how 3ds allows you to select all vertices, and snap/weld all within .5 QU of each other. Bamn, no more 1 qu light seams in my walls.
Major importing would also be nice. Most builders began with some other .map formated game, and thus have lots of partially done work lying around. I'ts quite an involved process to convert some of them to something Quark will recognize, without demanding I switch to Q1 mode.
#12
James, I think Desmond once wrote that map2dif does not handle floating point coords. You might check with him for more info.
So, how will this improve upon what we have with QuArK? :-) I'm curious.
-Eric
01/08/2003 (11:28 am)
How about "the Rack". lolJames, I think Desmond once wrote that map2dif does not handle floating point coords. You might check with him for more info.
So, how will this improve upon what we have with QuArK? :-) I'm curious.
-Eric
#14
01/08/2003 (11:34 am)
Quark is open source. Not knowing the license offhand, perhaps adjusting this to be native to torque would be the easiest method. Add a few of Hammers greatest features, and a few new ones. It's all in Delphi/Python, which just might possibly allow it to be used with TGEPython, giving us an ingame or external editor, as we need.
#15
Drop me a line, maybe we can integrate the two into a all-in-one editor ;-)
~ Sang
01/08/2003 (11:48 am)
Quark is seriously in need of some updating, it's still using python build 1.5 which is incredibly outdated. I'm already working on TorqueWrench, a Python based scripting IDE, or I'd offer to help out with your project Corv.Drop me a line, maybe we can integrate the two into a all-in-one editor ;-)
~ Sang
#16
On a related note, I've been considering the feasibility of letting you load a terrain block in the 3D view using the Torque Lib and build your interior to fit it. This wouldn't be done right off the bat, but does it sound like something that could be useful?
Tyler: Good idea. I'll work on it. :)
Erik: Grouping is definately planned, along with hiding groups you don't want to deal with. Go to Vertex should be a fairly simple addition, along with go to brush and allowing you to step through all brushes with a specific texture. Welding vertices could be tricky, but I'll see what I can do. The major problem with welding brushes together is that it's possible to create concave brushes with it, which would make map2dif go into conniptions. A "snap together" function for vertices could work, though.
Eric: The idea is to make a cross-platform, extensible interior editor specifically geared toward Torque development. Quark is Windows-only and can be a pain to set up and get working. I'm hoping to get a system together that would require just a texture directory or two, a place to stick the .dif, and the location of map2dif and would let you edit/create interiors with a minimum of hassle.
I'll take a look at map2dif later tonight and see about the floating-point coords. If it doesn't handle them, it certainly _should._ :)
Jeff/Erik: I know no Delphi and only very slightly more Python, so that wouldn't necessarily be my first choice for a language to use. :)
Whew, that was a lot of typing. Good ideas, guys. Anyone else want to help me work on this? ;)
01/08/2003 (11:53 am)
James (the other one): Having it ingame would be nice at times, but the hassle of writing the system, interface, AND integrating it with the engine is not a task I'd like to deal with right now. :)On a related note, I've been considering the feasibility of letting you load a terrain block in the 3D view using the Torque Lib and build your interior to fit it. This wouldn't be done right off the bat, but does it sound like something that could be useful?
Tyler: Good idea. I'll work on it. :)
Erik: Grouping is definately planned, along with hiding groups you don't want to deal with. Go to Vertex should be a fairly simple addition, along with go to brush and allowing you to step through all brushes with a specific texture. Welding vertices could be tricky, but I'll see what I can do. The major problem with welding brushes together is that it's possible to create concave brushes with it, which would make map2dif go into conniptions. A "snap together" function for vertices could work, though.
Eric: The idea is to make a cross-platform, extensible interior editor specifically geared toward Torque development. Quark is Windows-only and can be a pain to set up and get working. I'm hoping to get a system together that would require just a texture directory or two, a place to stick the .dif, and the location of map2dif and would let you edit/create interiors with a minimum of hassle.
I'll take a look at map2dif later tonight and see about the floating-point coords. If it doesn't handle them, it certainly _should._ :)
Jeff/Erik: I know no Delphi and only very slightly more Python, so that wouldn't necessarily be my first choice for a language to use. :)
Whew, that was a lot of typing. Good ideas, guys. Anyone else want to help me work on this? ;)
#17
The level editor thing has me so disgusted right now I've stopped work on maps altogether and concentrated on models for the moment. Quark hates my copy of Blender with Python 2.2x. I'd have to uninstall/reinstall Python everytime I wanted to use Blender or Quark. Add Quark's ridiculous game modes and toolboxes and I've had enough. I've used Quark for several Quake maps and lived with it...but not now.
Hammer makes me manage wads. I often will make a texture for a certain piece of geometry or make a new version to fit a certain spot...and I find keeping my working directories for texture creation, worldcraf...excuse me, Hammer wads, and my torque map dir all update to be a pain too.
GTKRadiant is easily the best editor, probably including any we could make. Problems with it involve legality, wanting some Q3 engine game around for resources, and it apparently enforces a texture naming scheme that I haven't been following, and probably won't. There are rumors about a Quake 1 version of GTKR coming out. This would make things easier (unless it started demanding your Quake1 directory so it could build a texture list or some such) but it still wouldn't be legal.
So...yeah, let's make a new one.
01/08/2003 (12:44 pm)
This is one of the most important things torque needs right now, and I'd love to help. I'm not sure in what capacity, but I'd try.The level editor thing has me so disgusted right now I've stopped work on maps altogether and concentrated on models for the moment. Quark hates my copy of Blender with Python 2.2x. I'd have to uninstall/reinstall Python everytime I wanted to use Blender or Quark. Add Quark's ridiculous game modes and toolboxes and I've had enough. I've used Quark for several Quake maps and lived with it...but not now.
Hammer makes me manage wads. I often will make a texture for a certain piece of geometry or make a new version to fit a certain spot...and I find keeping my working directories for texture creation, worldcraf...excuse me, Hammer wads, and my torque map dir all update to be a pain too.
GTKRadiant is easily the best editor, probably including any we could make. Problems with it involve legality, wanting some Q3 engine game around for resources, and it apparently enforces a texture naming scheme that I haven't been following, and probably won't. There are rumors about a Quake 1 version of GTKR coming out. This would make things easier (unless it started demanding your Quake1 directory so it could build a texture list or some such) but it still wouldn't be legal.
So...yeah, let's make a new one.
#18
I was thinking of taking a GPLed Q1 editor and adding/enhancing features, but I haven't really found one to use as a base. Quest requires a complex init file to even load, and I can't even get a copy of Ice to compile. If anyone knows of any other starting points, I'd welcome a point in the right direction. Failing that, I can always start on my own, but development will be significantly slower that way.
I could use help in pretty much any regard, although the big one will be in testing. I can make maps, but a project like this would need quite a few people actively hammering (no pun intended) on the program to make sure bugs are ironed out, feature requests, and to make sure that it's intuitive enough to use.
01/08/2003 (12:56 pm)
Adam: Exactly my thoughts. That Python reinstall paroblem really sucks, though. :/I was thinking of taking a GPLed Q1 editor and adding/enhancing features, but I haven't really found one to use as a base. Quest requires a complex init file to even load, and I can't even get a copy of Ice to compile. If anyone knows of any other starting points, I'd welcome a point in the right direction. Failing that, I can always start on my own, but development will be significantly slower that way.
I could use help in pretty much any regard, although the big one will be in testing. I can make maps, but a project like this would need quite a few people actively hammering (no pun intended) on the program to make sure bugs are ironed out, feature requests, and to make sure that it's intuitive enough to use.
#19
Those are two things that come to mind instantly.
01/08/2003 (1:00 pm)
A method of texture placement like in Hammer would be nice. Also a quick way to make stairs and arches like in Quark.Those are two things that come to mind instantly.
#20
I'm planning on putting a plugin system in, too, so other people can make plugins to generate "specialty" shapes like those.
01/08/2003 (1:02 pm)
Jason: I'm planning to have texture alignment, yeah. That's a pretty important part, actually. :)I'm planning on putting a plugin system in, too, so other people can make plugins to generate "specialty" shapes like those.
James "Nycto" Frasca
Decals
an infinite work area
Cross platform compatibility
Complex shapes (Spheres, Arches, etc)
Leak detection
Error Locating/Fixing
Mass texturing replacement
Texture adjusting
Door and Glass placement
This was just off the top of my head... if I come up with any more, ill post.