Source SDK Tutorial - Optimizing
HTML-код
- Опубликовано: 27 авг 2024
- func_areaportal and hint / skip textures explained in this tutorial. Probably the most difficult tutorial for me to make to date, I've been at it for over 7 hours today.
Download the vmf here: www.mediafire.c...
Check out my channels:
● 3kliksphilip: / 3kliksphilip
● 2kliksphilip: / 2kliksphilip
● kliksphilip: / kliksphilip
Other information you might like:
● Website: 3kliksphilip.com
● Twitter: / 3kliksphilip
● PC Specs: Intel 6300 @ 2.6 Ghz, 8 GB RAM, Radeon 4850 512 MB.
0:37
The desktop of a madman.
+Bladeclone -- I had to make a Maps file so that wont happen, the lin, bsp, vmf, and more..
Bladeclon
I took a screenshot of it:
gyazo.com/8ed8ef2041366abccd47a1cbd305648a
Big part of it are sound files and .sfk files(which, as far as I know, are Sony Vegas files).
looks like my mothers desktop
@@Architector_4 "Jizz in my pants"
Even after so many years, I always come back to this.
Hello there
Future
I always show this to unexperienced mappers
And sometimes to valve on Twitter...
@@badhaloninja oop-
@@Ultra289 lmaooooo
Probably the most helpful tutorial for optimization I've seen. Now I ACTUALLY understand how to use hints and areaportals instead of spamming them dumbly.
So THAT's what those hint things do! I had a look inside some of Valve's Portal 2 maps and couldn't figure out why they were there, I literally thought it was something to give the player a hint on how to play or something like that, no wonder it didn't seem to make any sense.
I also thinked that works like instructorhint
TREES? WHY DOES IT ALWAYS HAVE TO BE TREES!
GFYS AHOLE
Drama Stuhl someone didn't get the reference
Sliphantom you actually think im serious
Drama Stuhl You wouldn't believe the stupid shit people will say while being totally serious.
NOT THE TREES!
Going back over and over again to learn such "simple" things, thanks Philip
Looks like a func_train
this is the oldest comment ive seen
Guys, if your areaportal isn't working, load a pointfile, under Map > Load Pointfile. It will point out exactly where your areaportals are leaking from: where you have to place the areaportal/have to extend the areaportal to fill the gap.
Gamzee Makara thanks, I had exactly that problem and thanks to you I could fix
Nice! I liked the func_treetrain at the end there.
Searched for hint/skip usage a little bit. I didnt understand it from other youtubers (they show examples but not how it works). Nice explaining now I understand!
It's awesome to see how far Kliksphillip has come!
This tutorial is not even pure gold, it's pure, polished platinum
You should have talked about the nodraw texture a lot of people don't understand it (or don't know about it) and it is very useful.
I'm glad you made this, it'll help me make my level run so much smoother.
I know this video is over a decade old but I will never stop appreciating the areaportal tool texture zooming in at 3:50 like it's going to come out of my screen and snatch me like it does all the props around the corners.
that three was best :D
h
Arcade? You? Here? wat? i didn't know that you played Counter-Strike
Best, most concise description for source mapping i've seen :o
i can just imagine a rebel about to be crushed by that tree screaming
"no... No.... NOOOOOOOOOOO"
You could do an updated version of this :p
+Martjin .Ishøj why?
Loved the tree bit 🎄
You're really making it easy to understand for mapping-noobs like me. Thanks a lot!
Haha, great ending. 3kliks, I've followed your videos for a long long time, used your tuts in my final year project back at uni and still using them now.
Another great tut.
Will you please update this video philip?
doesnt it still apply though?
dildodickgollum it does
Really good and informative, well explained too. I wasn't aware of the possibility of optimization, but this has definitely been worth watching. Thanks.
Thanks for the great tutorial! I now finally know how to use hint and skip, and they're actually pretty simple! :D
Ubisoft should learn a thing or two from you :p
amir ranjbar Or the guys who made Arkham Knight
TheCatOfWar | CS:GO Stuff lol those guys are hopeless XD nothing will make them better haha
"The Killer Tree" Coming this Summer....
Nice tutorial by the way :D
Show this tutorial to authors of gmod workshop maps
Thank you. This explained the optimization tools in a very easy to understand tutorial. I never quite understood if from just reading the tutorials but this made it very clear. Appreciate the upload and effort went into making the vid. cheers
Optimization is not the only thing that is useful, this video is too.
Rated 5
Brilliant tutorial, I think this may be why my map was messing up, I had no Optimization at all, so as I'm looking up at the whole tower everything inside it is being rendered. Will be trying this out now.
@3kliksphilip Love your tutorials. Little addition to this comment - If you're mapping for other-than cs:s, you can use func_illusionary to achieve the same effect.
I love your videos, they're entertaining to watch even though I haven't used hammer in over a year.
One thing people need to realize is that they have to have optimization in mind when designing the whole layout of the map. I think people should start out trying to make maps for cs 1.6, because a lot of people playing that will have slower computers, optimization is a lot more important, and the core design of the map needs to be made with an idea of how vis works. I've learned a lot about optimization making a few cs 1.6 maps. I wish goldsrc had area portals! It would be so helpful!
I think the way he made that tree kill him is by parenting that tree to a trigger_hurt entity. Then he creates a func_tanktrain and parents that to both of the other entities.
@3kliksphilip I think he means put the hint block in a wall so that nothing on the other side is rendered, like if you have a wall infront of you, and you want to not render anything on the side.
@hummer4200 On the camera viewport (default top left) if you hover over the top left corner, there should be text appear saying "Camera". Click on that and you should get a list popup. Click on 3D Textured to see the textures, or Shaded Textured Polygons for slight lighting. Hope this helped! :)
great that you are finally making tutorials again :D
nice tree by the way.. (;
1)Prop_static, select tree model, name the prop
2)Put Func_tanktrain brush with nodraw texture inside Prop_static
3)Make two path_track(s) and name them (path1, path2)
4)Make the First stop target in Func_tanktrain named path1, go to flags and flag this things (No User Control, Fixed Operation, Is unblockable by player)
5)Put the path_track named path1 where you want your tree come from :3, and do next thing inside it (operation type No change).
Thanks for this, I always find your videos entertaining and helpful!
Quick question, though: If I optimize by hand, do I need to set VIS to normal, or will fast do?
This was way more useful than it looked like :d
If your maps not nice and tidy 3kliksphilip will map your face in the middle of the night.
nice ending. didnt expect that
Have fun, and watch out for trees!
wow... I'm gob-smacked, you just made the difficult things easier. EXCELLENT Tutorial, you are god of hammer tutorials, seriously, lots of people reccomend you for mapping tutorials.
oi, it's also about the server side performance and hit registration. for ideal reg both the client fps and the server tick need to be at exactly 100 (or 101) fps. with cmd and update rates at 100 (101) on the client and rate 25000 or 30000 (depnding on how much data needs to be sent, its rarely over even 20000 in intense areas but we dont want choking when it would be) again, the server needs to be over 500fps. but the most crucial thing is correct map optomisation
have fun and watch out for trees!
how did you do that tree? Surely when it broke the top part of the door it broke the area portal thingy? Great tutorial by the way, it was really helpful.
ComputersAreRealCool I'm guessing it did, however, I don't think it slowed his map down that much or at all.
+031000ron1 it did break the portal since theres an extra space not portal'd and he made a func_ somewhere when he reached that place the tree moves automatically and kill him , so easy to do it
+ComputersAreRealCool The top of the door is not a part of the world geometry. It's an entity that breaks into pieces when the tree moves into it. Areaportals only care about sealing off world geometry, they "don't see" entities. So, Philip just extended the areaportal to the top of the ceiling, ignoring the top part of the door.
source 2 tutorials please(you don't need to i just find the way you explained the other stuff to be understandable and easy to grasp)
This video has scarred my for life. I have cut down the tress in my yard and will be terrorified of any others I see.
So much thanks :)
You explain very well how the Source engine works, and now i understand how to optimizating my maps.
I'll take care of that tree later :P
Pretty cool. Didn't know that... I'll most likely use this in my map.
I mapped out my home.
Great tutorial and I'll keep an eye out for trees, thanks!
Somehow the algorithm got me here
Oh okay.
I ended up deleting it but I will try to put another one in there.
I was really just wondering why it wouldn't already have been set to that when I just opened the map and never even touched that portal.
Great tutorial, btw.
yay a very useful video in my suggestions today :)
think you have this wrong i think the hint works by giving the computer something to do optimizion from without it needing to find out where to put them itself so it will load in what it thinks your seeing not by where the hint is
that tree was awesome :D
nice tut
how can i do this on a HUGE map, which haven't brushes like your ? (only a skybox and a lot of displacement, 25% are brushes)
Zool Smith Oh hi! :D
WhEn CLaSsiC oFfeNsIvE wIlL bE oN sTeAm? :D
6)Make a trigger_hurt and trigger_once
7)Name the trigger_hurt and parent it to Func_tanktrain(if it possible :3)
8)Go inside trigger_once properties and go to output(s) and do this:
OnStartTouch *your func_tanktrain name* StartForward 0.00
9)Put it inside your map and have fun with tree :P
Hi thar i need your help once again. I'm making a map with 2 different sections. These are both connected througha tunnel problem is 1 section i want foggy and the other section i dont want it to be foggy. Is there anyway of doing this like maybe a huge brush or a special entity?
Do not put area portals in every door and window within a house. Only seal the 'hull' of houses, not the internal rooms. I say this because an area portal can only cull things in the adjacent areas.
to continue...
with ideal client and server conditions, if the map is badly optimised (but still runs at 1000 fps server side and 100 fps client side) the hit reg will still suffer, the reasons behind it are highly confusing. But one suggestion is that every time a player changes visgroups the server and client have to do a lot of recalculations which mean - for a split second - the frame rate drops. The most important factor is the constant frame rate 500 is just as good as 1k if it is solid.
if i have a surf map where ther are many blocks but no closed rooms is it good to make everything funk_detail?
yes
Very helpful! Thank god you spent 7 hours on it!
Your tree made me laugh a LOT.
You're awesome.
i think the tree should've watched out for u.
@3kliksphilip i figured out what did wrong...
I selected all the blocks with the areaportal texture and pressed "ctrl t" and it grouped them all xD
so i had to redo them all individually.
What happens if you block the tree? Since you control the world anyway
pretty big typo on the thumbnail
I'll never go outside again, trees will forever horrify me.
wow
your voice has changed drastically
My brushes are sealed. All my maps are snapped to a 32 unit grid to ensure that, and the places where my hint/skips are, are sealed, and do not intersect anything other than solid brushes.
I added some areaportals to certain places, and now my custom hints are used, but they're only effective when I'm standing within them. I thought all they did was tell the engine where to cut a visleaf. Why is it that I have to be standing in it for it to block the other brushes? It doesn't even make sense.
i like this tut cuz i neve knew how to use areaportal
...and the ending was great 5 stars
@3kliksphilip func_details AROUND the area portal, like a doorframe
Great tutorial once again, and this is something I didn't know! :D
I love the tree part at the end, you used trigger for the breakable debris/brushes and trigger for sound right and moving_pane or what it's called?
Or am I wrong?
@DODSProject Get the occluder texture, make a brush inside the hill like this:
---::-\___/-::--- where :: is the occluder and \___/ is the trench.
Then make the brush a func_occluder
then see what difference it makes with mat_wireframe in game, if it doesnt make much difference then get rid of it as it is like an areaportal; can slow computer down if not used properly.
Do Hintskips have to cover the entire area? Like make the covered space airtight? Or are they somewhat like occluders, as in they don't care?
Thanks for the tutorial. Great tutorial like always, and I was wondering what those textures do =P
Yrh say if you had a 2 buildings what where different heights and parts of them stuck out more what would i do then ? :3
yes trees tend to be quite deadly
Watch to the *very* end, right after he says, "Have fun and, watch out for trees..."
I can't figure out portal leak, I have two close rooms without any leaks, with two portals seperate them... and still have portal error... so how advence architecture can have rooms to be closed by portals without any leaks?
@GamingSithLord
over the undo key there is a button, press it and the grid will be back
The problem i have the most with makeing all the shapes fit and look neat in all the grids is when i make something there will be times where i will have a wall and i need to make another brush around the same area but no matter wut size i make each grid block most of the time the brush i put in will go half way through and no way to have it exactly agenced the other walls. Idk how to fix it
@3kliksphilip yeah i have no problems with other games. Just source SDK. And no, it's installed on c drive
How high do they need to be in a open skybox level? they fell useless when i need to bring them to maximum hight, because you can just see them from everywere.
So my question is when I decompile a map, in this instance Nuke as Im trying to make changes to it that benefit the t side using BSPSRC. When I go in game the spots where there are areaportals, everything behind them disappear and all I can see is sky. I tried to delete all of them and then I got portalnum > numareaportals. How could I fix this?
I unchecked reallocated areaportals and rebuild areaportals in the visgroups and it seems to be working now.
Killing Trees, awesome idea for a HL2 mod xD
yeah. but even if you don't upload them. if you host a server with that map people will still have to download your map.
it would be an idea to optimize your map just in case.
those god damn trees
@mnbgkjygvbu down there:
From common game coding, It means that it's an invisible wall that the player will collide with.
You could have also mentioned about nodraw-ing all of the stuff you won't normally or ever see in your levels, like high roofs or background backwalls...
BUT, 1. this is a fantastic video/tutorial, as always; and 2. optimisation is a big thing, surely you will do a follow up at some point. :)
ok lets say i make a mine made outta displacements with nodraw behind them.. fully sealed by nodraw and you cant see the nodraw and there is 2 openings in each ending of the mine. is it best to have one area portal in each ending? they lead to each side of a big map. i am pretty sure this will make compile time faster and smoother gameplay too.
I used all four charple models, the humans?corpse 01, and the prop was prop, physics.
So when do you use hint and when do you use skip? I asked somewhere else, and they said skip should only be where the back of the player faces, but that doesn't make any sense to me, because couldn't someone just turn around?
I guess what im asking is, does a hint make a two sided optimizing wall? Or is it some kind of newfound, magical, unheard-of, technologic, madness.
to continue.
vvis often seems to divid up where I intend on the visleafs being. say I have a room with 2 doorways in (the geometry round the doors thinner than the walls and the geometry above the door being func_detail) and I have a skip/hint box placed right in the doorway. That room becomes 2 or more visgroups, carved along my hint texture correctly - but sub divided for NO reson inside :(. After checking, I realise that these 2 visleaves can both see the same ones - so it makes no sense.
Bloody excellent tutorial, thanks!
You need to optimize your level. Make sure you know how to use Dynamic and static Props. Remember break your objects up by using vissleafs.
Thanks so much I really needed this my map had so many problems, that my level always running at five FPS
Cheers m8, helped a lot. Nice clear instructions, thanks.