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.

Комментарии • 426

  • @Bladeclone
    @Bladeclone 9 лет назад +359

    0:37
    The desktop of a madman.

    • @MrAuro
      @MrAuro 8 лет назад +4

      +Bladeclone -- I had to make a Maps file so that wont happen, the lin, bsp, vmf, and more..

    • @Tani_D
      @Tani_D 7 лет назад

      Bladeclon

    • @Architector_4
      @Architector_4 6 лет назад +3

      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).

    • @donsknots6510
      @donsknots6510 6 лет назад

      looks like my mothers desktop

    • @milkywayish9315
      @milkywayish9315 5 лет назад +4

      @@Architector_4 "Jizz in my pants"

  • @MrGermandeutsch
    @MrGermandeutsch 5 лет назад +77

    Even after so many years, I always come back to this.

    • @badhaloninja
      @badhaloninja 4 года назад +3

      Hello there

    • @Antek1234l
      @Antek1234l 4 года назад +2

      Future

    • @Ultra289
      @Ultra289 3 года назад +4

      I always show this to unexperienced mappers
      And sometimes to valve on Twitter...

    • @MrGermandeutsch
      @MrGermandeutsch 3 года назад

      @@badhaloninja oop-

    • @MrGermandeutsch
      @MrGermandeutsch 3 года назад +1

      @@Ultra289 lmaooooo

  • @Headcrabman9999
    @Headcrabman9999 10 лет назад +97

    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.

  • @CoolDudeClem
    @CoolDudeClem 10 лет назад +124

    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.

    • @Antek1234l
      @Antek1234l 4 года назад +1

      I also thinked that works like instructorhint

  • @Sliphantom
    @Sliphantom 8 лет назад +256

    TREES? WHY DOES IT ALWAYS HAVE TO BE TREES!

    • @user-qx7tm5df8j
      @user-qx7tm5df8j 8 лет назад +2

      GFYS AHOLE

    • @Sliphantom
      @Sliphantom 8 лет назад +2

      Drama Stuhl someone didn't get the reference

    • @user-qx7tm5df8j
      @user-qx7tm5df8j 8 лет назад +1

      Sliphantom you actually think im serious

    • @Sliphantom
      @Sliphantom 8 лет назад +1

      Drama Stuhl You wouldn't believe the stupid shit people will say while being totally serious.

    • @thefoolishgmodcube2644
      @thefoolishgmodcube2644 7 лет назад +2

      NOT THE TREES!

  • @0Blueaura
    @0Blueaura 10 лет назад +41

    Going back over and over again to learn such "simple" things, thanks Philip

  • @Kkcomics
    @Kkcomics 15 лет назад +23

    Looks like a func_train

    • @z1pline487
      @z1pline487 3 года назад +5

      this is the oldest comment ive seen

  • @PublicServiceAnnouncement
    @PublicServiceAnnouncement 10 лет назад +21

    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.

    • @Deux-ex-machina
      @Deux-ex-machina 9 лет назад +7

      Gamzee Makara thanks, I had exactly that problem and thanks to you I could fix

  • @luaking84
    @luaking84 7 лет назад +28

    Nice! I liked the func_treetrain at the end there.

  • @user-it6jd1sb6k
    @user-it6jd1sb6k 9 лет назад +14

    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!

  • @unfa00
    @unfa00 Месяц назад +1

    It's awesome to see how far Kliksphillip has come!

  • @endles1322
    @endles1322 11 дней назад +1

    This tutorial is not even pure gold, it's pure, polished platinum

  • @SidewaysEscalator
    @SidewaysEscalator 15 лет назад +5

    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.

  • @stoneybalogne4821
    @stoneybalogne4821 Год назад +1

    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.

  • @ArcadeFL
    @ArcadeFL 14 лет назад +38

    that three was best :D

    • @patrickkloiber741
      @patrickkloiber741 3 года назад +7

      h

    • @Fejszi
      @Fejszi 3 года назад +1

      Arcade? You? Here? wat? i didn't know that you played Counter-Strike

  • @Captain0Terror
    @Captain0Terror 12 лет назад +1

    Best, most concise description for source mapping i've seen :o

  • @Gary-Eng
    @Gary-Eng 5 лет назад +3

    i can just imagine a rebel about to be crushed by that tree screaming
    "no... No.... NOOOOOOOOOOO"

  • @SnabGaming
    @SnabGaming 9 лет назад +29

    You could do an updated version of this :p

  • @pangtundure
    @pangtundure 2 года назад +2

    Loved the tree bit 🎄

  • @OddworldCrash
    @OddworldCrash 10 лет назад +3

    You're really making it easy to understand for mapping-noobs like me. Thanks a lot!

  • @WimpoD
    @WimpoD 15 лет назад

    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.

  • @KennyThaKoala
    @KennyThaKoala 8 лет назад +49

    Will you please update this video philip?

  • @gtafanattic
    @gtafanattic 14 лет назад +1

    Really good and informative, well explained too. I wasn't aware of the possibility of optimization, but this has definitely been worth watching. Thanks.

  • @thefanofspam
    @thefanofspam 9 лет назад +2

    Thanks for the great tutorial! I now finally know how to use hint and skip, and they're actually pretty simple! :D

  • @amirranjbar1995
    @amirranjbar1995 9 лет назад +54

    Ubisoft should learn a thing or two from you :p

    • @TheCatOfWarCSGO
      @TheCatOfWarCSGO 9 лет назад +6

      amir ranjbar Or the guys who made Arkham Knight

    • @amirranjbar1995
      @amirranjbar1995 9 лет назад +6

      TheCatOfWar | CS:GO Stuff lol those guys are hopeless XD nothing will make them better haha

  • @Dosycool1
    @Dosycool1 15 лет назад +1

    "The Killer Tree" Coming this Summer....
    Nice tutorial by the way :D

  • @shadesoftime
    @shadesoftime 2 года назад +4

    Show this tutorial to authors of gmod workshop maps

  • @bschou
    @bschou 14 лет назад

    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

  • @Wokkelp
    @Wokkelp 14 лет назад

    Optimization is not the only thing that is useful, this video is too.
    Rated 5

  • @LmaonadeUK
    @LmaonadeUK 15 лет назад

    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.

  • @tfivegames
    @tfivegames 12 лет назад +2

    @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.

  • @XKDUBSTEP
    @XKDUBSTEP 11 лет назад

    I love your videos, they're entertaining to watch even though I haven't used hammer in over a year.

  • @DavidMcGuireRaceVids
    @DavidMcGuireRaceVids 14 лет назад

    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!

  • @Beardactal
    @Beardactal 14 лет назад

    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.

  • @caseytubes
    @caseytubes 13 лет назад

    @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.

  • @InfamousCast
    @InfamousCast 12 лет назад +1

    @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! :)

  • @nikosyv
    @nikosyv 15 лет назад

    great that you are finally making tutorials again :D
    nice tree by the way.. (;

  • @2Fluttershy
    @2Fluttershy 11 лет назад

    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).

  • @WtFCBermudaCake
    @WtFCBermudaCake 14 лет назад +1

    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?

  • @RedX3010
    @RedX3010 8 лет назад +1

    This was way more useful than it looked like :d

  • @Gabezen101
    @Gabezen101 13 лет назад

    If your maps not nice and tidy 3kliksphilip will map your face in the middle of the night.

  • @caseytubes
    @caseytubes 15 лет назад

    nice ending. didnt expect that

  • @AnimationStationS
    @AnimationStationS 14 лет назад

    Have fun, and watch out for trees!

  • @VisceralSoul
    @VisceralSoul 15 лет назад

    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.

  • @Bozebo
    @Bozebo 15 лет назад

    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

  • @mrfcukmylife
    @mrfcukmylife 11 лет назад

    have fun and watch out for trees!

  • @ComputersAreRealCool
    @ComputersAreRealCool 9 лет назад +4

    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.

    • @031000ron1
      @031000ron1 9 лет назад

      ComputersAreRealCool I'm guessing it did, however, I don't think it slowed his map down that much or at all.

    • @Avenger460
      @Avenger460 9 лет назад

      +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

    • @Niker107
      @Niker107 8 лет назад +2

      +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.

  • @Die-Coughman
    @Die-Coughman 4 года назад

    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)

  • @AndvarYT
    @AndvarYT 14 лет назад

    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.

  • @nanutek
    @nanutek 15 лет назад

    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

  • @adood101
    @adood101 14 лет назад

    Pretty cool. Didn't know that... I'll most likely use this in my map.
    I mapped out my home.

  • @CrashingThunder
    @CrashingThunder 15 лет назад

    Great tutorial and I'll keep an eye out for trees, thanks!

  • @j.37
    @j.37 2 года назад +1

    Somehow the algorithm got me here

  • @doomayam
    @doomayam 15 лет назад

    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.

  • @thebloodminister988
    @thebloodminister988 3 года назад

    yay a very useful video in my suggestions today :)

  • @dos785
    @dos785 7 лет назад

    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

  • @alecom
    @alecom 15 лет назад

    that tree was awesome :D
    nice tut

  • @ZooL_Smith
    @ZooL_Smith 11 лет назад +1

    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)

    • @google61yt
      @google61yt 6 лет назад

      Zool Smith Oh hi! :D
      WhEn CLaSsiC oFfeNsIvE wIlL bE oN sTeAm? :D

  • @2Fluttershy
    @2Fluttershy 11 лет назад

    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

  • @jammerthegreat
    @jammerthegreat 14 лет назад

    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?

  • @dark_nation_7
    @dark_nation_7 14 лет назад

    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.

  • @Bozebo
    @Bozebo 15 лет назад

    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.

  • @Dajan456
    @Dajan456 7 лет назад +3

    if i have a surf map where ther are many blocks but no closed rooms is it good to make everything funk_detail?

  • @DaManWitDaPower
    @DaManWitDaPower 15 лет назад

    Very helpful! Thank god you spent 7 hours on it!

  • @Aaronmiles2
    @Aaronmiles2 14 лет назад

    Your tree made me laugh a LOT.
    You're awesome.

  • @SUPERskrat1996
    @SUPERskrat1996 11 лет назад

    i think the tree should've watched out for u.

  • @DerpScout
    @DerpScout 13 лет назад

    @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.

  • @zolika1351
    @zolika1351 8 лет назад

    What happens if you block the tree? Since you control the world anyway

  • @doug4317
    @doug4317 3 года назад +2

    pretty big typo on the thumbnail

  • @Mekose
    @Mekose 14 лет назад

    I'll never go outside again, trees will forever horrify me.

  • @ValerianAndStuff
    @ValerianAndStuff 2 года назад

    wow
    your voice has changed drastically

  • @PliskinNH
    @PliskinNH 14 лет назад

    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.

  • @cocorinow
    @cocorinow 15 лет назад

    i like this tut cuz i neve knew how to use areaportal
    ...and the ending was great 5 stars

  • @Mariuspersem
    @Mariuspersem 13 лет назад

    @3kliksphilip func_details AROUND the area portal, like a doorframe

  • @Remi749
    @Remi749 15 лет назад

    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?

  • @nofacee94
    @nofacee94 14 лет назад

    @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.

  • @acrilyk4672
    @acrilyk4672 3 года назад

    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?

  • @xpLict134
    @xpLict134 15 лет назад

    Thanks for the tutorial. Great tutorial like always, and I was wondering what those textures do =P

  • @jammerthegreat
    @jammerthegreat 15 лет назад

    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

  • @DrHammerr
    @DrHammerr 15 лет назад

    yes trees tend to be quite deadly

  • @E-102_Gamma
    @E-102_Gamma 15 лет назад

    Watch to the *very* end, right after he says, "Have fun and, watch out for trees..."

  • @marianhak
    @marianhak 14 лет назад

    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?

  • @albert508
    @albert508 13 лет назад

    @GamingSithLord
    over the undo key there is a button, press it and the grid will be back

  • @Eyelanderules
    @Eyelanderules 13 лет назад

    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

  • @SarethZhukov314
    @SarethZhukov314 13 лет назад

    @3kliksphilip yeah i have no problems with other games. Just source SDK. And no, it's installed on c drive

  • @CookieAsArrow
    @CookieAsArrow 9 лет назад

    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.

  • @TriWaZe
    @TriWaZe 9 лет назад

    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?

    • @TriWaZe
      @TriWaZe 9 лет назад

      I unchecked reallocated areaportals and rebuild areaportals in the visgroups and it seems to be working now.

  • @Casadien
    @Casadien 15 лет назад

    Killing Trees, awesome idea for a HL2 mod xD

  • @Ben31337l
    @Ben31337l 15 лет назад

    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.

  • @devilsMasquerade
    @devilsMasquerade 4 года назад +1

    those god damn trees

  • @Noruzenchi86
    @Noruzenchi86 14 лет назад

    @mnbgkjygvbu down there:
    From common game coding, It means that it's an invisible wall that the player will collide with.

  • @NeoXF
    @NeoXF 15 лет назад

    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. :)

  • @ethosaur
    @ethosaur 14 лет назад

    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.

  • @ShakrallStudios
    @ShakrallStudios 13 лет назад

    I used all four charple models, the humans?corpse 01, and the prop was prop, physics.

  • @numanumaro
    @numanumaro 13 лет назад

    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.

  • @Bozebo
    @Bozebo 15 лет назад

    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.

  • @Matray2
    @Matray2 13 лет назад

    Bloody excellent tutorial, thanks!

  • @TheFireNoodle
    @TheFireNoodle 11 лет назад

    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.

  • @leaky2642
    @leaky2642 2 года назад

    Thanks so much I really needed this my map had so many problems, that my level always running at five FPS

  • @sonic2themax
    @sonic2themax 13 лет назад

    Cheers m8, helped a lot. Nice clear instructions, thanks.