Tremulous Forum

Media => Mapping Center => Topic started by: Mexel on July 14, 2007, 03:04:02 am

Title: Hint Brushing
Post by: Mexel on July 14, 2007, 03:04:02 am
As listed above, i would like to see a good "Idiots guide to hint brushing".

This new map i'm working on is about 50% complete, but i really don't understand how, or where hint brushes go. This would be the last thing i'd like to know. Just about everything else i figured out on my own.

also i have glanced at tremmapping wikki. But is there a more noob-esque tutorial?

KTHXBYE :eek:
Title: Hint Brushing
Post by: Taiyo.uk on July 14, 2007, 04:21:48 am
A hint surface forces a portal volume cut. They are used to optimise portal volume occlusion - that is to minimise the PVS (potentially visible set) from accessible areas of the map.

Try the hinting guides here:
http://tremmapping.pbwiki.com/Mapping+Guides+and+Tutorials
Title: Hint Brushing
Post by: TRaK on July 14, 2007, 05:36:11 am
The simplest and easiest to understand I've found is this one : http://tremmapping.pbwiki.com/Understanding+Vis+and+Hint+Brushes .
Title: Hint Brushing
Post by: Survivor on July 14, 2007, 08:32:12 am
Quote from: "TRaK"
The simplest and easiest to understand I've found is this one : http://tremmapping.pbwiki.com/Understanding+Vis+and+Hint+Brushes .


Do note that radar is affected by these volumes. You can only get stuff on radar from those volumes you see. This becomes obvious around corners. I'll draw something up as an example.
Title: Hint Brushing
Post by: Survivor on July 14, 2007, 09:03:19 am
If you read up on jex's guide you'll remember you can only see a volume when part of it is in LOS of the volume you are in. But radar comes from the volumes you can see from the one you are in as well.

H=Human D=Dretch Purple=hintface Black=Structural Brushes(block vis)

So as Jex describes it you can't see the dretch on radar in this example as human and you can't see the human on radar as the dretch.
(http://i2.photobucket.com/albums/y50/Drietand/humancantseedretch.jpg)

If you were to apply hints in the following manner
(http://i2.photobucket.com/albums/y50/Drietand/humancanseedretch.jpg)
It would be possible to see each other on radar with minimum loss of efficiency when both are near the corner. Do notice I used the end points of the top method to determine the perpendicular hintportal locations.

This is a lesser known secret I'll impart you mappers with. Most original maps use the original (top) hintmethod. In certain turns of these map this means that the best place to hide is not at the corner but exactly one hitbox size of the class you are using beyond it. Since the hint lines are usually placed at 45 degrees to a straight corner you can become invisible on radar in some.

The fact that tremulous uses this is a bother in some cases, but it can also create shining examples of tactics and strategy.
The purple line is the hintface. Black is again structural.
(http://i2.photobucket.com/albums/y50/Drietand/radartactic1.jpg)
This means it gets divided up into 3 volumes, which are numbered. Now as long as a human with helmet is in volume 1 he cannot see anything on radar from volume 3. He has to enter volume 2 to do so.

This little setup can be used for several things.
Title: Hint Brushing
Post by: AKAnotu on July 14, 2007, 07:27:15 pm
thanks for these guys, i had given up on trying to understand "leaf nodes"
Title: Hint Brushing
Post by: Mexel on July 15, 2007, 01:00:09 am
Survivor, i am greatly pleased you're willing to help another noob mapper that has prolly asked this question a gagillion times before. But understanding VIS, and Leafnodes is kinda complicated. I have read jex's tut, along with a few others. but i need to read it again, and again, and AGIAN, untill i get how the whole hinting process works.

After i read said tuts, i attempted to "Hint" my "Platform_021" map and noticed that when i loaded the .prt file in 3D, it was a MESS with a capitol M. i did managed to knock off a few visportals however. But i'm starting with a clean map. In addition to this new map, i'm also looking at some other maps i decompiled, like ATCS, Arachnid2, Niveus, just to name a few. All this might seem confusing but this is how I myself learn things. I learn by noticing what other mappers have already created. Sorta like when i tore down my verry first engine block. It was confusing at first, but when i memorized where the parts go, i was able to RE-BUILD the engine with no flaws.

--yes am skilled mechanix (in my own mind [one would call me a "shadetree-mechanic"])

--My ultimate goal for RIGHT now, is just to eliminate FPS, then when i understand things better i'll try doing other things with hints.
Title: Hint Brushing
Post by: Survivor on July 15, 2007, 01:10:47 am
If you detail your map right only the biggest rooms with the most particle scripts, shaders and light sources would really take a toll.

Try compiling with -hint in the vis stage. Iirc this means that only hintfaces will determine the volumes. (I use volumes as a term since that is what you'd get, it isn't the term used in explaining the entire tree etc.)
It's quite a lot of extra work but it should give you ultimate control over the efficiency and location of rendering.

Also most original maps if they have hinting it is sparce, in the wrong method for the trem radar, and situation dependant mostly. I'll try writing up a tutorial (again) about it when I have the time.
Title: Hint Brushing
Post by: LinuxManMikeC on July 15, 2007, 04:17:37 am
Quote from: "AKAnotu"
thanks for these guys, i had given up on trying to understand "leaf nodes"


You don't really even need to understand the concept of "leaf nodes" just to get some basic hinting done and make a map.  Its just a technical term thats part of the programming behind all this, but it is good to have a basic understanding when you can.
Simple explanation of a leaf node (Tree data structure) (http://en.wikipedia.org/wiki/Tree_%28data_structure%29)
How the game engine uses a tree data structure (some heavy reading) (http://en.wikipedia.org/wiki/Binary_space_partitioning)

As shown in the tutorials you have your map built.  Think of the map as a completely sealed space.  Now when you compile the map, it slices this space into several smaller sections.  The vis process just goes through each section and asks what other sections can be "seen" from here.  However, the algorithm isn't perfect, so hint brushes allow you to manually optimize it, suggesting to the compiler that it makes a slice at a certain spot.  Just skim through the tutorials and diagrams to get an idea of where the best places are to put a slice.  Keep at it though, because the more you know, the better you will be able to optimize your map.

And as Survivor said, make sure you are using detail brushes right.  Basically each room should be as close to a perfect box as possible.  Everything else should be set as a detail brush.  If you do this, you might not even need any hint brushes, or very few.

Here are a couple screen shots of one of my maps (one with details showing, one with details hidden):
http://www.filenanny.com/files/461b1f0cbd347234/volcano-all.png
http://www.filenanny.com/files/461b1f0cbd347234/volcano-nodetail.png
I plan on adding much more detail later, but it will still have the same basic structure.  The compiler only makes a few slices here.  If all those brushes were structural (the opposite of detail) it would be a mess.

Edit: Oh, and when you decompile a map, all brushes are made structural.
Title: Hint Brushing
Post by: Mexel on July 15, 2007, 07:16:44 am
Thanks Linuxmanmike. that helped a bit. But this new map "MTCS" is gonna be similar to ATCS with different textures, and diffeent brush patterns. But the sorta-same layout as ATCS wit a few twists. Currently i have EVERYTHIG caulked.

I build my brushes in caulk, and texture whats seen ingame. idk if thats the right thing to do, but since Platform_021 it's what i do now.

here's shot of one of the bases (unfinished by far) to give you an idea of what it's gonna look like.

(http://i59.photobucket.com/albums/g299/malagar_photos/MTCS.png)
Title: Hint Brushing
Post by: Kaleo on July 15, 2007, 08:28:31 am
Texturing while building is importana for lining up textures
Title: Hint Brushing
Post by: Survivor on July 15, 2007, 09:37:47 am
Everyone has his own method.
Title: Hint Brushing
Post by: Mexel on July 15, 2007, 03:23:35 pm
Quote from: "Kaleo"
Texturing while building is importana for lining up textures


See i did that with my last map Platform_021, and i didn't caulk anything heh i just textured everything i saw o.o. But now i'm doing everything in cauld in hopes to;
1. reduce visprotals (me thinks o.O)
2. make it look a lil' bit more like an actual mapper made it. (i don't consider myself a legitimate mapper [yet])
3. And lining up textures is easy for me, is just getting the brush right so that i can vert. or horiz. shift so that they line up.
Title: Hint Brushing
Post by: LinuxManMikeC on July 15, 2007, 09:13:36 pm
Quote from: "Mexel"
1. reduce visprotals (me thinks o.O)


Texturing and caulk has nothing to do with where vis portals are made.  Its all about structural and detail brushes.  Look on the Brush menu in Radiant, there are Make detail and Make structural options that change the selected brushes.  In the View menu there are Filter->Detail and Filter->Structural options that will hide brushes of those two types.  By default, all brushes are structural.  The basic rough structure of your map should be structural brushes, and this is what should be kept as simple as possible (box-like).  Pretty much everything else should be detail brushes.

Using my map as an example again, here are my portals:
http://www.filenanny.com/files/461b1f0cbd347234/volcano-portalgood.png

Now here is what the portals look like when I change all those detail brushes to structural:
http://www.filenanny.com/files/461b1f0cbd347234/volcano-portalbad.png

Notice how the stairs make an ugly stack of portals.  This is really bad.  Numerous unneeded sections, long vis compile times, and depending on the complexity, lower framerates in certain places.  Mexel, in your screenshot I can see numerous brushes that should be set as detail (pipes, supports, the layered cieling, etc...).  Do this first and you may find you don't need hinting as much as you thought.
Title: Hint Brushing
Post by: Mexel on July 25, 2007, 06:40:43 am
Mr. Mike thanks alot. that helped. See what i'm doing now is making a basic box, then making (detailed) brushes Inside that box that cover all of the said "box". I figured out that making ALL things "detail" makes for a complicated map. however with a GIANT box arround a map (structural) and everything inside it i managed to sqeeze out about 164 visportals.

And stupid me overlookd MANY things in my recent map "MTCS" so i scrapped it. Dumb decision... In any case, i have a new map AGAIN.. thats less complicated, and HOPEFULLY it's going to have some good FPS. Haven't got a name for it yet though. And all the things i've learned about hinting, i may be able to tackle it. Thanks everyone.
Title: Hint Brushing
Post by: Odin on July 25, 2007, 08:21:58 am
I don't know why people make all the brushwork, THEN texture it. In my opinion that seems like a ton of work after you're done doing the brushwork.

Plus, doesn't that hurt your eyes looking at all that pink so much?

I just make everything in caulk, like you, but texture it right then.
Title: Hint Brushing
Post by: Lava Croft on July 25, 2007, 02:35:16 pm
Quote from: "Kaleo"
Texturing while building is importana for lining up textures

If you build neatly along the grid, in sizes of 4, 8 ,16, 32, 64, 128 units etc, most textures are created so that they fit nicely. This way you can keep on building without having to worry if the textures wil fit on your brush work.
Title: Hint Brushing
Post by: DASPRiD on July 25, 2007, 03:26:41 pm
But textures still have to fit the brushwork in style, not only in size. So it's surely important to texture while you are brushing, when you are making details.
Title: Hint Brushing
Post by: Ingar on July 25, 2007, 06:09:15 pm
imho texturing along the way works faster and makes it easier to compile along the way. It's difficult to get an idea of the end result in a big HoM map :D
Title: Hint Brushing
Post by: DASPRiD on July 25, 2007, 06:45:10 pm
It's always good to use placeholder textures in some places for a short amount of time, but that one should be visible ingame ;)
Title: Hint Brushing
Post by: Paradox on July 26, 2007, 04:31:41 am
Not only is radar affected, but sounds (taunt, jetpack) and alien evolve limits are set by hints too.

If you learn the hints of a map, they can be quite useful, ie running from hummie as dretch, pass hint, evolve, eat human.
Title: thamks guys...
Post by: player1 on July 26, 2007, 04:59:25 am
my brain just exploded
Title: Hint Brushing
Post by: Paradox on July 26, 2007, 06:07:40 am
Sobok gave me a copy of pulse, and permission to fix a few bugs, so i am going to see what i can do.

He used lots of hints, so that is a good map to practice hint evolves on.
Title: Hint Brushing
Post by: ThePyro on July 26, 2007, 05:05:21 pm
Quote
I don't know why people make all the brushwork, THEN texture it. In my opinion that seems like a ton of work after you're done doing the brushwork.


You'll end up with a higher-quality map if you do texture work first and then do the brushwork :)  Seriously, your map will look better if you pick suitable textures as the first step, and THEN make brushes which fit the textures.

Too many Tremulous maps suffer visually from the application of those generic concrete textures.  Lazy mappers create arbitrarily sized walls and then paint them with the concrete texture because it tiles in both directions.  It's less work of course, but it doesn't look good.

Size your brushes according to the textures you want to use.  If you need a wall of a certain size then combine brushes with textures that go well together.  Nothing says "noob mapper" like a level which is 90% concrete.
Title: Hint Brushing
Post by: Lava Croft on July 26, 2007, 09:12:20 pm
Hey this sounds like what I've been saying for over a year now...

Ban the Concrete!
Title: Hint Brushing
Post by: DASPRiD on July 26, 2007, 09:40:23 pm
Ya rly! :)
Title: Hint Brushing
Post by: Survivor on July 26, 2007, 10:07:12 pm
Dasp, code 1.2 so any non original-trem map with more than 40% greytones gets errors!
Title: Hint Brushing
Post by: DASPRiD on July 26, 2007, 10:35:15 pm
Overflow is our new main coder, ask him ^^
Title: Hint Brushing
Post by: Thorn on July 26, 2007, 11:37:46 pm
Indeed, Timbo died in a haggis accident. :(
Title: Hint Brushing
Post by: Lava Croft on July 27, 2007, 12:35:09 am
Quote from: "Thorn"
Indeed, Timbo died in a haggis accident. :(

So now he has a sabbitical, spending his time clubbing seals in northern Canada.