News | Forum | People | FAQ | Links | Search | Register | Log in
The TrenchBroom Level Editor
Today I am releasing TrenchBroom 1.0 for Windows and Mac OS X. TrenchBroom is a modern cross-platform level editor for Quake.

Features
- True 3D editing, no 2D views required
- High performance renderer with support for huge maps
- Vertex editing with edge and face splitting
- Manipulation of multiple vertices at once (great for trisoup editing)
- Smart clip tool
- Move, rotate and flip brushes and entities
- Precise texture lock for all operations
- Smart entity property editors
- Graphical entity browser with drag and drop support
- Comprehensive texture application and manipulation tools
- Search and filter functions
- Unlimited undo and redo
- Point file support
- Automatic backup
- Support for .def and .fdg files, mods and multiple wad files
- Free (as in beer) and open source (GPLv3)
- Cross platform (Windows, Mac OS X and Linux supported)

Check out a video of TrenchBroom in action here.

You can download the editor here.

If you would like to give feedback, please do that in this thread. If you find a bug or have a feature suggestion, please submit them at the issue tracker.

If you are wondering where the Linux binaries are then sorry, but currently there are none. The Linux version has a few problems which I could not fix before this release. I will get working on those right away so that the Linux version should be available in a couple of weeks, too.

Finally, I would like to thank necros for all his work over the past year. Without his tireless efforts, TrenchBroom would simply not exist. Or it would suck.

Alright, enough of this. Have fun with the editor!

Update: 2.1 here:
https://github.com/kduske/TrenchBroom/releases/tag/v2.1.0-RC1
Features "cool shit".
First | Previous | Next | Last
Afterthought 
So, maybe you didn't notice it yet, but the laser beams leave a mark if they hit something. So if a laser beam hits a face, there will be a red dot where the face is hit.

But I think this doesn't work well if the laser beam hits face at an edge or vertex (sometimes the mark is shown, sometimes it isn't).

If I were to improve this so that the hit mark is shown reliably, would that improve matters? I guess it will still be difficult to know where to move the brush if it isn't aligned, though.

necros suggested freely positionable grid planes at some point. That would be a possible solution. The idea is that you can tell the editor to show a grid plane (either XY, XZ, or YZ) at a specific position which you can change with the mouse. Then you could basically just drop a grid wherever you need it and disable it again later. 
2D Mode 
The oversight is the most important factor for me, the ability to edit in 2D can be missed. 
SleepwalkR 
I personally think the editor is very good, but if you were to include a 2d view then I think it'd be fairly sweet if you could use the number keys 1-4 to cycle through the various 2d grids (and 3d viewpoint) kind of how the Opera browser allows you to cycle through open tabs using the 1-4 keys.

That being said I really am doing *very* well without the 2d grid. I'm about 75% complete on the geometry of my first TB map, even managed to make some lovely curved wall templates. :) 
 
Or maybe this editor isn't for everyone

Yes, THIS. :) Software becomes bloated and awful when it tries to be everything to everyone. Focused design is key to awesomeness - even if it leaves some users behind. 
Hmmm 
I know i used to use a function in some modelling app - can't remember what it was - maybe solidworks?

Anyway - let's say you select a brush - brush A, and then ctrl-select a second brush - brush B.

I remember I then had options, something like: "Align A to B in Y-axis", or "Align A to B in Z-axis" etc etc.

It's a bit clunky though. 
Help With Tutorials 
I would like to have some tutorials available for new users. There are several options:

- Included in the documentation as text + images.
- Hosted on a wiki to be set up on my website.
- Youtube videos (Daz, I'm looking at you!)

I'm thinking that there should be a combination of these. The editor should come with simple tutorials such as "My first room" and "How to compile my shit" etc. More advanced stuff should go in a wiki so that we can keep it up to date easily.

Daz, seriously, I dig your videos, so if you are up for it and find the time, I'd love it if you were to make a video tutorial or two. Your narration is also quite good, unlike mine which sounds like a steamrolled duck. 
Kinn 
That indeed sounds a bit clunky because you have to think about which axis is which first. By I hadn't even considered alignment buttons, so I'll think about it - maybe I can find a way to make them work well. 
 
Yes, THIS. :) Software becomes bloated and awful when it tries to be everything to everyone. Focused design is key to awesomeness - even if it leaves some users behind.

That depends on what the design goal is - if the goal is "be the best quake editor that only has a 3d view", then yes, but if the goal is "be the best quake editor", then you have to consider whether 2d views are a worthwhile addition. 
SleepwalkR + Kinn 
I love that idea! Why not it snap to the face of the brush? Like the Alt + Click for textures?

So you select the face of the brush using shift + click, and then hold say M (for move) + click and it will push the faces together. 
Goddamnit! 
i was just about to post a similar suggestion - yes align to face - that would be elegant 
Fifth 
That is not the problem Kinn is trying to solve. He wants to be able to align two brushes with each other, but only in two dimensions. They should keep a certain distance to each other.

Kinn, if I'm not mistaken you want this so that you can block out your layouts. Wouldn't it be easier to start with the floors though? Once you have a floor in place, it's much easier to keep the brushes aligned. 
Now I'm Confused 
You just want to put brushes right next to each other so that they share a face? 
Nope 
so face A on brush A shares the same plane with face B on brush B

they wouldn't be pushed together, Brush A would be moved just so the faces line up on the plane of face B 
Aha 
But that would only work if the two faces have the same normal.

I'm not so sure about this. It sounds like it's only of limited use. And you'd have to do it twice to have the brushes line up in two dimensions. 
Yeah It's A Bit Messy 
the earlier idea where you can only snap to one of the ortho axes of brush A's bounds is probably better. 
 
Once the faces are next to each other it wouldn't take much more effort to to press alt/click to line the other axis together. I think it'd work. 
No 
You have to select a different face, then click on the face you want to align again. If you want to align several brushes, it gets even more cumbersome.

And it will only work if the faces have the same normal. There must be a better way. 
 
what about showing coordinates of vertices the mouse pointer hovers and allow the user to move a brush by selecting it and typing in the coordinates (autocad style, just 123,53,67)? then one could fairly easily make two brushes/selections placed similarly as needed. the problem here would be determining what base point to use. 
Spirit 
The coordinates are already shown when you hover over a vertex in vertex mode. But moving brushes by entering the deltas? I don't like that very much, I think a "align on XY / XZ / YZ" buttons would be better than that. 
But Then 
you're moving brushes around by typing numbers into boxes and suddenly it's getting a bit ugly and cumbersome. 
2D Views 
I was going to weigh in on this one before, but didn't because I haven't been using the editor recently and so haven't seen the latest versions.

A 2D view should instead be described as a layout view or, better yet, and overview - just because this is the objective you're describing SleepwalkR.

I agree with Willem in that the goal of the editor should remain the same since this focus will produce a and more elegant end result.

An overview could easily be described as a 3D camera thats far away from the level. So in other words, you just zoom out. Or select a secondary camera that you placed wherever was best for seeing the overall layout.

This doesn't work for brushes because they have visible faces on all sides - you can't see what's inside the level unless you set some sort of 'editor skip' texture on the outside that doesn't get drawn.

Just a random idea. Automatically detecting what's inside or outside a level on the fly would be like dynamically vising it. Which probably isn't a good idea. And would probably break anyway with a WIP level that's being blocked out.

Another idea would be selecting groups of brushes and being able to assign them (another WC feature!) visgroups. So the user can just hide colelctions of brushwork as they see fit.

Then snap to various cameras to see the layout.

A 2D view would obligate having various 2D views - imagine looking at The Living End or Skinny Norris in an editor and you'll have completely different things to look at, ones that an orthographic 2D view isn't 100% suited to, I suspect. 
Overview 
I suspect that 2D (or rather orthographic projection) is better suited for an overview mode simply because there's less visual clutter. To see what I mean, go to the View tab and set it not to render the faces, then zoom out of a larger level. You can't make out anything.

In a 2D view with ortho projection, there would be less clutter because points on edges with the same X and Y coordinates get drawn only once. Look at a cube from above with ortho projection and it's a square.

However, even if you do this, if there is a lot of geometry stacked on top of each other, you're still going to have problems to use this as an overview. I have been thinking about this problem and I guess what you need is a way to limit what is drawn in the 2D view by discarding everything that is not in a certain range on the Z axis. Then you can limit the map to a certain "storey" of your level. Add to that the ability to zoom in and zoom out and to place the (3D view's) camera, and this should be a helpful addition.

Think of this 2D view as the inverse of what the 3D view was in early editors, where it was mainly used to get an impression of how things will look in the game, and not a view where you did your editing. Now you do all your editing in the 3D view, but use the 2D view to an idea of the level's structure and to quickly navigate to different locations in the level.

I'm just not sure how to integrate this into the UI yet. There are several options:

- Additional window, possible floating above the main window.
- Integrate it into the editor UI, possibly below the inspector.
- Make it an overlay over the 3D view that you toggle on and off with a keystroke.
- The overlay could either be as large as the entire 3D view or
- The overlay could be smaller and just be in the upper right corner of the 3D view. 
Or Slice The 3D View 
Another option could be to have a shortcut that enables a mode where the camera orbits around the entire level at a great distance. In this mode, the mouse wheel would not let you move the camera forward or backward, but it would control the distance between the camera and a "clipping plane".

This clipping plane will then be used to remove from the view everything that is closer than the plane's distance from the camera. (For OpenGL afficionados: Similar to the near clipping plane). That way you could slice away stuff from your level and look into it. There should also be a way to quickly leave this mode and transport the camera to a point of your choosing.

This would completely avoid the need for a 2D view, at least for the issue of the overview over the entire level.

Thoughts? 
Random Thought 
Perhaps a 2Dish view integrated into the 3D environment where the camera switches to a front/top/side that's fixed with the axes. Like in isometric strategy games that allow you to watch the playfield from straight above. When active, the textures could become 75% transparent and the grid lines more prominently visible. Ideally with an adjustable farclip to make it less messy. 
Negke 
Mac TrenchBroom had this, and it wasn't very useful. I like the slice mode better. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.