The code checking for "if physics prop is walkable and the trace lands 9 units up" is to make sure NPCs cant use physics props to get into places theyre not supposed to. Say the player drops a pallet at an angle near a small ledge. We need to make sure NPCs cant use that pallet to path up the ledge, so that code makes sure whatever theyre pathing on isnt an inclined physics prop. Essentially we only want NPCs pathing like that if theyre pathing on map geometry, not dynamic or static objects.
ya know the crawling movement type was probably intended for the torso zombies then they just kinda realized “thats stupid just make them use the walk movement”
Swiming is used for the unused shark enemy (found in hl1 water levels, and in one of the teleporter sequences in kliners lab) Fun fact, the crossbow is meant for the shark, happily, it was still used after its discontinument.
Since seeing the source 2 npc navigation I was wondering what source 1's was since it seemed like such a tiny detail. Thank you for this video it has explained so much
hell yes 🔥🔥🔥🔥 source engine guts detail just as i start replaying hl2 to listen to the new dev commentary (i feel the need to declare that i really like the new font)
5:20 - I suspect that "checking if a position qualifies as a step" is about making sure that there is basically room for the character to stand there. Probably to prevent 1-unit long steps to be climbable?
The stand check is most interesting to me for my own hobbyist game dev purposes as I could use it to improve my character controller. Would anyone know if there is a resource for it that goes into greater detail?
Using whst you have looked at, could you design a source map and drop a unit and a goal on opposite ends of an obstacle in a way where you know the solution will take the program a visible stretch of time to figure out. I find it funny to think of an npc walking up to a glass wall with gordon on the other side and just .. thinking .. processing.. then takes one of like 16 exits to get to him.
Great video, I once messed with my own pathfinding, and using source's navmesh was easy but never really thought about pathfinding within each NavArea, I just said whatever and made each area smaller to better account for any obstructions. Also do you know when node graphs versus when navareas are used?
Can you mess with code like this and make HL2 but very weird and cursed, like in a way that it looks okay at first but then NPCs do weird stuff like Grigori jumps for no reason or something
people got really mad at him and i guess people were also upset with the post on why he deleted the video, idk exactly but i feel like people should just move on
Could you do a video like this but for HL Alyx / Source engine 2? I really want to know how valve improves things with a decade of time. Did it get faster? Slower? More accurate?
Idk if thats possible, we have access to hl2's source code, but we dont really have access to Alyx's source code. The closest we have is sbox's implementation, and their api documentation is kinda terrible. I'm sure when it comes to local navigation, its pretty different as the antlions are slow in Alyx, theres no jumping or any special move types like that, but the fundamentals are still there. They probably still use traces, and when it comes to actual navigation, a navmesh.
This seems way overcomplicated and gnarly. I would aim for doing something like generating a Minkowski sum between the relevant section of the world's collision hull (which I guess in the case of the Source engine would be the BSP leaves themselves) plus other entities' collision hulls and the NPC's collision volume, and then just trace a polyline path through the result as it would automatically eliminate anything that would block the NPC's path. Then I'd just re-evaluate the path at a fixed interval, just like with AI units in an RTS game. I'd try to collapse the whole problem down to something more like a 2.5D navigation situation and not have all these special-case checks for different little things and edge-cases in 3D, which is janky and not very robust or extensible (which is why it has so many bugs, like holding the barrel over an NPC's head when it starts pathfinding). Someone was really tweaking on all this code back in the day instead of just coming up with a fast and simple robust solution!
How do you know that so precisely? Did you read the source code? It sounds to me like you're reading from the source code while explaining! :D If that, do that, loop 16 times through, otherwise to this and so on....
Yes, the hl2 source code has been leaked many times, but hes probably just using the soruce-sdk which was released by valve like 10 years ago. It sounds like hes even modifying the code himself as well.
I guarantee all the 'weird' code that doesn't seem to make sense is there for a reason. If you remove it I bet some stuff will break eventually. I've learned that the hard way even going back and screwing with my own stuff that I wrote a long time ago "Why'd I do that? How stupid, DELETE!" then the whole thing breaks.
glad i'm not the only one that doesn't like the new font :( at least it's still there in HL2:DM.... because they're just gonna bury it instead of updating it...... 🫠
Glad you got some great recognition after the documentary for showing off the Ep3 Blob 3 years ago (and being correct in its use).
Honestly this is the part of source i was really wondering about, the AI, awesome that finaly someone covered it good
God the jumping...
mmmm yes i have awoken to pinsplash, today is a fine day
Why did this comment say 2d ago but youtube says 20h ago
@@epicpersuasivechannel members getting the video earlier
The code checking for "if physics prop is walkable and the trace lands 9 units up" is to make sure NPCs cant use physics props to get into places theyre not supposed to. Say the player drops a pallet at an angle near a small ledge. We need to make sure NPCs cant use that pallet to path up the ledge, so that code makes sure whatever theyre pathing on isnt an inclined physics prop. Essentially we only want NPCs pathing like that if theyre pathing on map geometry, not dynamic or static objects.
And now it makes sense why Gmod died when I spawned too many fast zombies as a kid
3:57 Alyx's speech bubbles about Gordon are kinda cute
ya know the crawling movement type was probably intended for the torso zombies then they just kinda realized “thats stupid just make them use the walk movement”
Or for Rebels to follow you through vents or other low areas. Probably was deemed not worth it, which it isn't.
From a math perspective it really hurts to hear regular vectors described as "not your standard C++ vectors"
This is very informative and well put together. I really appreciate the deep dive and I wish there were more videos made like this.
top 10 1upD moments
Top 10 gildun Moments
I love these sorts of videos, instantly went into my watch later
The NPC knows where it is at all times. It knows this because it knows where it isn't.
Honestly this is what I wanted from the HL2 developer commentary mode
Maybe there could be a mod that replaces the voice lines with this
@@SiisKolkytEurooIt just replaces every dev com with this video playing at 240p.
@@chippym8316 Also includes brush + displacement breakdown. Bonus feature: "Your idealism is an epic failure".
Dinner and pin splash is peak
technical pinsplash video is exactly what I wanted to see this morning thank you so much
Ahh I can't wait to rewatch this 40 times
I was filled with Entropy, but it has Zeroed out.
Swiming is used for the unused shark enemy (found in hl1 water levels, and in one of the teleporter sequences in kliners lab)
Fun fact, the crossbow is meant for the shark, happily, it was still used after its discontinument.
I expect this will be useful for making gmod maps, ty for making this video!
Femtanyl pfp??/ Femtanyl mentioned?!?! 🗣🔥🔥🔥
I just realized ur pfp is that one lick thing
This shit was everywere in forums back in 2010s lmao
What
👅
wait what’s the lick thing
it is indeed that one lick thing
Bruh that jumping calculation. Now that's quality coding
1:03 floorpoint to nlo, floorpoint to new little odessa, come in odessa
Since seeing the source 2 npc navigation I was wondering what source 1's was since it seemed like such a tiny detail. Thank you for this video it has explained so much
FUCK YEA I AM SO FUCKING HAPPY NOW THAT I WILL MAKE DINNER AND WATCH THIS VIDEO RIGHT NOW
i just want to say you have a really calm and relaxing voice and i could listen to you talk for hours about literally anything
hell yes 🔥🔥🔥🔥 source engine guts detail just as i start replaying hl2 to listen to the new dev commentary
(i feel the need to declare that i really like the new font)
I love half life 2, I really hope these HLX files are Hl3, my hopes are higher than the moon.
as one of the modders who played with the original 2013 sdk I think we are far into hl3 territory unless they feel nice and release the source 2 sdk.
Man, waking up and see a technical pinplash video (youtube took days to recommend this despite the bell enabled as All :p) what a good start of a day.
I NEED this more often. Thank you so much dude.
5:20 - I suspect that "checking if a position qualifies as a step" is about making sure that there is basically room for the character to stand there. Probably to prevent 1-unit long steps to be climbable?
Damn that's great! Good job going through and explaining all of this I was always curious about how some things actually work in that game.
Bros mic said: "Bass? I'll take all of it."
I love you pinsplash
awesome stuff, thanks
Awesome analysis!
Pinsplash is back!111
Hope you'll never gonna make videos that gonna put an entire community against you.
Anyway, glad you're back.
Pinsplash uploaded? We're sleeping good tonight.
heyy just found out your channel, great video!! keep them coming! i want to know all about nav meshes now lol
The stand check is most interesting to me for my own hobbyist game dev purposes as I could use it to improve my character controller. Would anyone know if there is a resource for it that goes into greater detail?
There is no Entropy Zero 2 video in ba sing se
This is what we desire.
vec3 are always kinda float trios 🧐🤓
Less than 24 hours ago I thought to myself "man, Pinsplash hasn't made a new Half Life 2 analysis video in a long time" and her e we are.
wait weren't you the guy hating on ez2
yes he was lol
what's the problem with having an opinion
@kornsuwinthe problem is people dislike it
Goated video
Using whst you have looked at, could you design a source map and drop a unit and a goal on opposite ends of an obstacle in a way where you know the solution will take the program a visible stretch of time to figure out.
I find it funny to think of an npc walking up to a glass wall with gordon on the other side and just .. thinking .. processing.. then takes one of like 16 exits to get to him.
Very interesting mate 👍
keep it ,youtube lacks this type of source engine videos
so this is how my favorite source game and replacement for hl3, entropy zero 2 works
This gonna make him 3650 times more mad
that ending was slick
Yeah man please keep going. And save joe...
myess I hath been summoned
Part 1? Who would make such thing into a series?
Any plans to put the chaos mod on workshop?
+
Workshop doesn't allow code modification
pinsplash is straight up moving the npcs now ......
took me a couple views but this was a fantastic explanation
I do like the new font
Great video, I once messed with my own pathfinding, and using source's navmesh was easy but never really thought about pathfinding within each NavArea, I just said whatever and made each area smaller to better account for any obstructions.
Also do you know when node graphs versus when navareas are used?
the sun is leaking
7:01 I wish someone would explain this corner case 🤔
The npc’s hole… (spits coffee)
So they can trace a path to an ending position, but does the missile know where it is?
Can you mess with code like this and make HL2 but very weird and cursed, like in a way that it looks okay at first but then NPCs do weird stuff like Grigori jumps for no reason or something
Why u deleted video and post about EZ2 on your channel?
people got really mad at him and i guess people were also upset with the post on why he deleted the video, idk exactly but i feel like people should just move on
Can you make a vid about map changes in anniversary update?
Could you do a video like this but for HL Alyx / Source engine 2? I really want to know how valve improves things with a decade of time. Did it get faster? Slower? More accurate?
Idk if thats possible, we have access to hl2's source code, but we dont really have access to Alyx's source code. The closest we have is sbox's implementation, and their api documentation is kinda terrible.
I'm sure when it comes to local navigation, its pretty different as the antlions are slow in Alyx, theres no jumping or any special move types like that, but the fundamentals are still there. They probably still use traces, and when it comes to actual navigation, a navmesh.
pinsplash ur a fking legend
0.5 percentile of watch time apparently I've watched five times as much as the average viewer of your channel
14:50 views retention probably goes crazy here
Step Check, I'm stuck
have you ever made any finished maps or mods yourself? since you know so much about the source engine
This seems way overcomplicated and gnarly. I would aim for doing something like generating a Minkowski sum between the relevant section of the world's collision hull (which I guess in the case of the Source engine would be the BSP leaves themselves) plus other entities' collision hulls and the NPC's collision volume, and then just trace a polyline path through the result as it would automatically eliminate anything that would block the NPC's path. Then I'd just re-evaluate the path at a fixed interval, just like with AI units in an RTS game. I'd try to collapse the whole problem down to something more like a 2.5D navigation situation and not have all these special-case checks for different little things and edge-cases in 3D, which is janky and not very robust or extensible (which is why it has so many bugs, like holding the barrel over an NPC's head when it starts pathfinding). Someone was really tweaking on all this code back in the day instead of just coming up with a fast and simple robust solution!
yep that's source engine for ya
as someone who doesnt know about coding, this sounds like wizard magic
What are headcrab attacks considered?
Dangerously cute
Wait, so NPC navigation in Source doesn't use A* at all?
It probably does, this is just for local navigation. Hes probably going to talk about NavAreas in the next part.
Actually I love making story maps for hl2 in hammer, but the complicity of its movement is killing me
scripted_sequence my behated
If you an NPC, you are from video games.
Noting this down. I mean sure I've read the sources to NPC navigation but still.
Man I'm not even interested in this aspect of hl you just explain shit good
How do you know that so precisely?
Did you read the source code? It sounds to me like you're reading from the source code while explaining! :D If that, do that, loop 16 times through, otherwise to this and so on....
Yes, the hl2 source code has been leaked many times, but hes probably just using the soruce-sdk which was released by valve like 10 years ago. It sounds like hes even modifying the code himself as well.
I guarantee all the 'weird' code that doesn't seem to make sense is there for a reason. If you remove it I bet some stuff will break eventually. I've learned that the hard way even going back and screwing with my own stuff that I wrote a long time ago "Why'd I do that? How stupid, DELETE!" then the whole thing breaks.
How high did you raise the low ends on your recording?
who up splashing they pin
UA-cam tells me i used to be a member here. What?
Nice
Hull, not hole. That's already the same pronunciation for two common words.
whole
holy peak
yayyyyyyyyyyyyyyyyy hl2 ai
hl2 ai? I love hl2 ai
Bro casually decided to make tutorial about source engine ,this Is getting out of control😢
Noice
alright, back to normal
we are not to speak of the entropy zero incident
10:38 i agree, the new font is gross
glad i'm not the only one that doesn't like the new font :(
at least it's still there in HL2:DM....
because they're just gonna bury it instead of updating it...... 🫠