Source SDK Tutorial - Optimizing

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ก.พ. 2025

ความคิดเห็น • 428

  • @Bladeclone
    @Bladeclone 10 ปีที่แล้ว +365

    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 ปีที่แล้ว +4

      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 ปีที่แล้ว +80

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

    • @badhaloninja
      @badhaloninja 4 ปีที่แล้ว +3

      Hello there

    • @Antek1234l
      @Antek1234l 4 ปีที่แล้ว +2

      Future

    • @Ultra289
      @Ultra289 4 ปีที่แล้ว +4

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

    • @MrGermandeutsch
      @MrGermandeutsch 4 ปีที่แล้ว

      @@badhaloninja oop-

    • @MrGermandeutsch
      @MrGermandeutsch 4 ปีที่แล้ว +1

      @@Ultra289 lmaooooo

  • @Headcrabman9999
    @Headcrabman9999 10 ปีที่แล้ว +99

    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 11 ปีที่แล้ว +125

    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

  • @0Blueaura
    @0Blueaura 10 ปีที่แล้ว +41

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

  • @stoneybalogne4821
    @stoneybalogne4821 ปีที่แล้ว +3

    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.

  • @unfa00
    @unfa00 6 หลายเดือนก่อน +2

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

  • @Sliphantom
    @Sliphantom 9 ปีที่แล้ว +260

    TREES? WHY DOES IT ALWAYS HAVE TO BE TREES!

    • @user-qx7tm5df8j
      @user-qx7tm5df8j 9 ปีที่แล้ว +2

      GFYS AHOLE

    • @Sliphantom
      @Sliphantom 9 ปีที่แล้ว +2

      Drama Stuhl someone didn't get the reference

    • @user-qx7tm5df8j
      @user-qx7tm5df8j 9 ปีที่แล้ว +1

      Sliphantom you actually think im serious

    • @Sliphantom
      @Sliphantom 9 ปีที่แล้ว +1

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

    • @thefoolishgmodcube2644
      @thefoolishgmodcube2644 7 ปีที่แล้ว +2

      NOT THE TREES!

  • @luaking84
    @luaking84 7 ปีที่แล้ว +29

    Nice! I liked the func_treetrain at the end there.

  • @endles1322
    @endles1322 5 หลายเดือนก่อน +2

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

  • @user-it6jd1sb6k
    @user-it6jd1sb6k 10 ปีที่แล้ว +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!

  • @PublicServiceAnnouncement
    @PublicServiceAnnouncement 10 ปีที่แล้ว +23

    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

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

  • @Kkcomics
    @Kkcomics 15 ปีที่แล้ว +23

    Looks like a func_train

    • @z1pline487
      @z1pline487 4 ปีที่แล้ว +5

      this is the oldest comment ive seen

  • @ArcadeFL
    @ArcadeFL 15 ปีที่แล้ว +40

    that three was best :D

    • @patrickkloiber741
      @patrickkloiber741 4 ปีที่แล้ว +7

      h

    • @Fejszi
      @Fejszi 3 ปีที่แล้ว +1

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

  • @OddworldCrash
    @OddworldCrash 10 ปีที่แล้ว +3

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

  • @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"

  • @thefanofspam
    @thefanofspam 10 ปีที่แล้ว +2

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

  • @pangtundure
    @pangtundure 2 ปีที่แล้ว +2

    Loved the tree bit 🎄

  • @amirranjbar1995
    @amirranjbar1995 10 ปีที่แล้ว +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

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

  • @SnabGaming
    @SnabGaming 10 ปีที่แล้ว +29

    You could do an updated version of this :p

    • @doubled6490
      @doubled6490 9 ปีที่แล้ว

      +Martjin .Ishøj why?

  • @gtafanattic
    @gtafanattic 15 ปีที่แล้ว +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.

  • @Dosycool1
    @Dosycool1 15 ปีที่แล้ว +1

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

  • @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!

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

  • @Wokkelp
    @Wokkelp 15 ปีที่แล้ว

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

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

  • @starcachehq
    @starcachehq 13 ปีที่แล้ว +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.

  • @KennyThaKoala
    @KennyThaKoala 8 ปีที่แล้ว +48

    Will you please update this video philip?

  • @XKDUBSTEP
    @XKDUBSTEP 11 ปีที่แล้ว

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

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

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

  • @caseytubes
    @caseytubes 14 ปีที่แล้ว

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

  • @caseytubes
    @caseytubes 15 ปีที่แล้ว

    nice ending. didnt expect that

  • @nikosyv
    @nikosyv 15 ปีที่แล้ว

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

  • @CrashingThunder
    @CrashingThunder 15 ปีที่แล้ว

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

  • @thebloodminister988
    @thebloodminister988 3 ปีที่แล้ว

    yay a very useful video in my suggestions today :)

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

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

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

  • @ParadoxPWR
    @ParadoxPWR 8 ปีที่แล้ว

    This was way more useful than it looked like :d

  • @alecom
    @alecom 15 ปีที่แล้ว

    that tree was awesome :D
    nice tut

  • @InfamousCast
    @InfamousCast 13 ปีที่แล้ว +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! :)

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

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

  • @j.37
    @j.37 3 ปีที่แล้ว +1

    Somehow the algorithm got me here

  • @CeretPenyok
    @CeretPenyok 10 ปีที่แล้ว

    i've watch your videos, its really helpful, and quite funny with the trees. :D

  • @WtFCBermudaCake
    @WtFCBermudaCake 15 ปีที่แล้ว +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?

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

  • @Gabezen101
    @Gabezen101 13 ปีที่แล้ว

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

  • @adood101
    @adood101 15 ปีที่แล้ว

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

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

  • @DaManWitDaPower
    @DaManWitDaPower 15 ปีที่แล้ว

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

  • @cocorinow
    @cocorinow 15 ปีที่แล้ว

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

  • @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)

  • @NoVIcE_Source
    @NoVIcE_Source 10 ปีที่แล้ว

    Thanks, Philip, thank you alot!!

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

  • @ValerianAndStuff
    @ValerianAndStuff 3 ปีที่แล้ว

    wow
    your voice has changed drastically

  • @ComputersAreRealCool
    @ComputersAreRealCool 10 ปีที่แล้ว +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 9 ปีที่แล้ว +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.

  • @xpLict134
    @xpLict134 15 ปีที่แล้ว

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

  • @valyrius9556
    @valyrius9556 4 ปีที่แล้ว

    Thanks,this helped me so much!

  • @dos785
    @dos785 8 ปีที่แล้ว

    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

  • @shadesoftime
    @shadesoftime 2 ปีที่แล้ว +4

    Show this tutorial to authors of gmod workshop maps

  • @albert508
    @albert508 14 ปีที่แล้ว

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

  • @Aaronmiles2
    @Aaronmiles2 15 ปีที่แล้ว

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

  • @leaky2642
    @leaky2642 3 ปีที่แล้ว

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

  • @mrfcukmylife
    @mrfcukmylife 12 ปีที่แล้ว

    have fun and watch out for trees!

  • @AnimationStationS
    @AnimationStationS 14 ปีที่แล้ว

    Have fun, and watch out for trees!

  • @dexjester
    @dexjester 15 ปีที่แล้ว

    I was glad you stressed the cleanness of level's using the grid system. It took me a long frustrating time to figure that out. The only problem I have is clipping or resizing object that becomes off grid, I try to use snap 2 grid but it doesn't always work on angles?? Any suggestions.

  • @sonic2themax
    @sonic2themax 13 ปีที่แล้ว

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

  • @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?

  • @josiahct
    @josiahct 15 ปีที่แล้ว

    LOL at the tree
    really nice tut there phill i think it's the best one yet AND...
    ...i could understand it! :D
    that must have taken you ages too get it all understanderbul?
    anyway good job can't wait 4 da next one :D
    biggist fan...you know who :P

  • @Matray2
    @Matray2 14 ปีที่แล้ว

    Bloody excellent tutorial, thanks!

  • @DerpScout
    @DerpScout 14 ปีที่แล้ว

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

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

  • @Captain0Terror
    @Captain0Terror 12 ปีที่แล้ว

    Great work on this and watch out for trees! =)

  • @revz999
    @revz999 13 ปีที่แล้ว

    This might sound weird but your voice is really interesting..

  • @DusterPanCake
    @DusterPanCake 15 ปีที่แล้ว

    this helpes me! tnx! i always wondering what those blocks of textures do's.

  • @Mariuspersem
    @Mariuspersem 13 ปีที่แล้ว

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

  • @Tomathana
    @Tomathana 15 ปีที่แล้ว

    Your best tutorial. Cheers, gonna pull of my hat for that one!
    /Helix

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

  • @solidiersnake
    @solidiersnake 9 ปีที่แล้ว

    Thank you for explaining this..

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

  • @NariKims
    @NariKims 15 ปีที่แล้ว

    Nice. :)
    Finally, i will use this for my L4D map. :D
    Thanks dude.

  • @Dajan456
    @Dajan456 8 ปีที่แล้ว +3

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

  • @SarethZhukov314
    @SarethZhukov314 14 ปีที่แล้ว

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

  • @Casadien
    @Casadien 15 ปีที่แล้ว

    Killing Trees, awesome idea for a HL2 mod xD

  • @thelilninjakillerxD
    @thelilninjakillerxD 15 ปีที่แล้ว

    nice map in 0:48! if that is a playable map, can u make a sneek peak on the map ?:D and when its done u can put it on fps banana?;)

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

  • @numanumaro
    @numanumaro 14 ปีที่แล้ว

    @3kliksphilip Your a life saver! Thanks!

  • @RadeRaiD
    @RadeRaiD 9 ปีที่แล้ว

    You are king , thanks men !!!

    • @zombieheads119
      @zombieheads119 9 ปีที่แล้ว

      +/Rade / old video, but still useful

    • @RadeRaiD
      @RadeRaiD 9 ปีที่แล้ว

      +Kirby W Yes yes yes ...

    • @HakunaMatata262
      @HakunaMatata262 9 ปีที่แล้ว

      +/Rade / He forgot to say about area portals that sealed area must not be a func_detail.

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

  • @Johnny1nOnly
    @Johnny1nOnly 14 ปีที่แล้ว

    could you do a tutorial on how to make a wall break into pieces like what you showed with the tree?

  • @Knightcrim
    @Knightcrim 15 ปีที่แล้ว

    good tutorial
    lol my computer froze right when you said it would slow down people computers

  • @PliskinNH
    @PliskinNH 15 ปีที่แล้ว

    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.

  • @M4pster
    @M4pster 15 ปีที่แล้ว

    Agreed, Epically awesome!

  • @QQjesus
    @QQjesus 14 ปีที่แล้ว

    @3kliksphilip Dammit, I wish I knew this before I did a 1x1 - 8x8 map :( ... Hmm Would grouping them with func_detail help to clean up my common area? (The area where my map opens up into a huge section) :D tys for your wise knowledge :)

  • @dexjester
    @dexjester 15 ปีที่แล้ว

    I see what your saying. I think my problems are in not using the vertex tool and creating brushes that are not within grid spaces. When creating so many and such large brushes I can't always tell without zooming in intensely weather or not the brush has been drawn on the grid. Any suggestion?