I created a very similar system in my game and I've never seen how Valve did it before. that felt weird watching it. what I do differently is that each node has a height and a radius. When placed It automatically expands and tests to see how big of a radius and height it can get before it collides with the world. a node that's under a door frame for example cannot get too big. then each npc can only use that node to find a path only if it's smaller or equal to the node's height and radius. so it creates a graphmap for each npc you have in the map. a big enemy would have to find another path around the doorway to navigate. a small enemy could simply walk right to it.
@@tgies It's strange to me to pretend that you have to be part of an esoteric elite to want to understand video games, one of the biggest and most popular forms of entertainment in history. These videos are skilled because they effectively present less complex concepts of development in simplified ways that non-experts can understand.
i think there is an addon that makes vanilla NPCs use navmesh if the map has it (gmod only), idk if navigation is engine-sided but if it's just sdk-sided it's easy to implement navmesh and make NPCs use it (and thus affect all hl2 npcs already on the map) but you also have to add support for Hints, so NPCs can still use hint nodes if it's found within a nav area as hints tell npcs specific actions the level designer assigned, i.e take cover, act busies
Awesome video! I once made my own navigation system for my game when I was using a custom fork of the Q2RTX engine, without looking at any references or other solutions except for the actual pathfinding algorithm (Breadth-First Search), and I'm quite surprised how close parts of my solution was to some of the stuff you explained in this video. Now I just moved to UE5 lol.
Thanks for making these videos. It's really interesting learning how it Source handles navigation. Makes me wonder what changes Source 2 navigation has. Also, if by chance you make more nav videos, I'd love to know how flying NPCs navigate. Especially the man hacks because they seem to use the Z axis really well, swooping up and down.
thanks man this is actually a big help, the valve wiki does not mention alot of important info that you have to learn to properlly node your map, where did you get all this information anyway?
In the new HL2 Commentary, a running problem that is brought up is the combined cost of displacements and navigation creating performance issues. What makes it prohibitive to have both at the same time?
What does it look like if you remove / tweak that last check you talk about in the video? Would the barrel you put on Mossman drop down through her and get pushed away from her hull? What if that fails to free the NPC and she never arrives at the next scripted sequence? I can imagine Valve wanted no chance to softlock
When this video is out of date, it won't be an issue. It'll just stutter at the start for a few seconds while rebuilding.
this deserves to be pinned it got a good laugh out of me, good one
Thing is, I don’t think this video will every be outdated 😂
Video out of Date. Rebuilding...
2:00 "Or are NOT a real npc"
Shots fired at antlion grub.
YES
NODEGRAPHS
I ACTUALLY UNIRONICALLY REQUIRE THIS INFORMATION!
YEEEAAAAAHHHH
Are you meaning to tell me that Node Graph Rebuilding isn't just a stutter generation engine???
i mean it is, but that’s not its sole purpose
Ladies and gentlemen, peak has just dropped. What an excellent christmas gift!
Finally, some real use to all that graph theory and A*!
Thanks for these deep dives. I love these things. Source engine is just full of quirks, showing how battle tested it must have been for the time.
I created a very similar system in my game and I've never seen how Valve did it before.
that felt weird watching it.
what I do differently is that each node has a height and a radius. When placed It automatically expands and tests to see how big of a radius and height it can get before it collides with the world.
a node that's under a door frame for example cannot get too big.
then each npc can only use that node to find a path only if it's smaller or equal to the node's height and radius.
so it creates a graphmap for each npc you have in the map.
a big enemy would have to find another path around the doorway to navigate.
a small enemy could simply walk right to it.
Babe wake up new Pinsplash video just dropped
as a normal person those videos feel like trying to comprehend an eldrich horror
nice try but if you were a normal person you wouldn't be here in the first place
I am not normal and I find these very straightforward to understand
As a game developer many parts of Source will still feel like eldrich horror
Dont worry, thats just how source is
@@tgies It's strange to me to pretend that you have to be part of an esoteric elite to want to understand video games, one of the biggest and most popular forms of entertainment in history. These videos are skilled because they effectively present less complex concepts of development in simplified ways that non-experts can understand.
Node Graph out of Date. Rebuilding...
Node Graph out of Date. Rebuilding...
7:07
Thank you for all of your wonderful explanations : )
7:08 this is possibly one of the biggest half life lore drops I've ever witnessed, the only bigger mystery is who's G-man LOL
Perfect! Another video discussing a really old game engine!
Needed something to watch on our date tonight, thank you Pinsplash
This is vital information to beginner source modders
This video is out of date. Rebuilding.
Do a video on Nav Mesh next
I wonder how much the gameplay in HL2 would change if we used Nexbots
i think there is an addon that makes vanilla NPCs use navmesh if the map has it (gmod only), idk if navigation is engine-sided but if it's just sdk-sided it's easy to implement navmesh and make NPCs use it (and thus affect all hl2 npcs already on the map) but you also have to add support for Hints, so NPCs can still use hint nodes if it's found within a nav area as hints tell npcs specific actions the level designer assigned, i.e take cover, act busies
Awesome video! I once made my own navigation system for my game when I was using a custom fork of the Q2RTX engine, without looking at any references or other solutions except for the actual pathfinding algorithm (Breadth-First Search), and I'm quite surprised how close parts of my solution was to some of the stuff you explained in this video. Now I just moved to UE5 lol.
first video was understandable with some minor confusion, watching this one made my head hurt
YEEAAAAHH
new pinsplash video and it's also epic
i love these videos
Thank you, this is very informative :)
Thanks for making these videos. It's really interesting learning how it Source handles navigation. Makes me wonder what changes Source 2 navigation has.
Also, if by chance you make more nav videos, I'd love to know how flying NPCs navigate. Especially the man hacks because they seem to use the Z axis really well, swooping up and down.
This is a great video
hi, have a nice day dude, and happy holidays, I like your videos
you sound like you node a lot about this
Nice vid
this inspired me to node my map
Shounic's lost brother
16:10 see if you can find it in code that StudioMDL uses when handling `walkframe`
Why is there a sign of a man sitting on a toilet at the combines shoulder at 8:40?
he's in the potty patrol
4:10 you could say theyre... comparing nodes
By subtracting where it is from where it isn't, or where it isn't from where it is (whichever is greater), it obtains a difference, or deviation.
very nice, cheers :)
Many thanks- and Merry Christmas!
We need joe goes home part 5!!
thanks man this is actually a big help, the valve wiki does not mention alot of important info that you have to learn to properlly node your map, where did you get all this information anyway?
i imagine either from reading Source SDK code or from one of the leaks
Now I want to know how different Source 2 is
In the new HL2 Commentary, a running problem that is brought up is the combined cost of displacements and navigation creating performance issues. What makes it prohibitive to have both at the same time?
Nav_edit 1
My favorete command (especially in tf2, rly helpful)
I too like large sized holes
Is there a way to check the compile date that it’s checking to see if the node graph is updated? Or is it just the creation date on the file?
What does it look like if you remove / tweak that last check you talk about in the video? Would the barrel you put on Mossman drop down through her and get pushed away from her hull?
What if that fails to free the NPC and she never arrives at the next scripted sequence? I can imagine Valve wanted no chance to softlock
I had made the 2nd check (in the motor code) just not ever report failure and it seemed to work fine (the npc would simply keep moving)
joke about holes here
Me like
Cool
hello
yo whats up simon
yo
Node Graph out of Date. Rebuilding...
YEEEAAAAAAHHH
Node Graph out of Date. Rebuilding...
Node Graph out of Date. Rebuilding...