I had to learn it the hard way years ago back when I tried to work with decompiled maps. At least now I find the problems easier and faster than before and attempt to fix them.
Love your stuff man, your GoldSrc modding series really helped me out on getting a headstart on modding. I'm now on my 3rd mod project trying to make a Multiplayer based Halo mod for GoldSrc using custom models and anims. Would love to see a video talking about editing Multiplayer aspects such as making/implementing a CTF gamemode like HLOF, loadouts, movement speed edits, etc in the updated sourcecode.
This is very useful, thank you so much for your videos! I want to add a trick for finding leaks in very large and complex maps, because sometimes the pointfile isn't very accurate: I basically create a huge worldbrush than encases maybe 1/3 of the map. I then try compiling the map. If the compile process gets past the world creation without any leak warnings, I stop it, knowing that the leak must be somewhere withing the boundaries of my block. I now reduce this block in half and compile again. If it still compiles, the leak is still inside the now smaller block. If the leak now appears, it has to be in the area where the other half of the block was before. With this technique I narrow the potential leak area down until a very small area is left. This usually helps me find the leak very quickly. Also creating these temporary worldbrushes forces the pointfile to change and sometimes it gets more easy to read. :)
@@cazadorcazado08 Thank you! A while ago I posted a poll and people voted for a new programming video. I started editing that one recently, so I'm hoping to have it released by the end of this month After that I'll make another programming video to finish the weapons chapter, and then I'll continue the mapping series a little more
Just a heads up for anyone on linux, the steam version of J.A.C.K. doesn't include a linux build, and you'll wanna build the SDHLT toolset (should be right below Vluzacn's ZHLT on the wiki page) yourself as the release doesn't come with binaries for linux.
noticed your profile says you're an immersive sim fanatic, i recommend system shock 1 (OG version, not the remake, while the remake is pretty good there are plenty of things you should experience from the original first)
Hey, thx for the tutorial. Do you know if it's possible to automatically run a batch file after the compiling is finished? I've to, but it gives an error "w_loadwadfile couldn't load gfx.wad" which should not even be related to the Run tool command. I guess that it doesn't run the windows cmd.exe normally, so my .bat fails. The .bat runs normally when I execute it via double click from the explorer.
are you eventually going to make a video where you combine a series of maps and make it into a single player mod like afraid of monsters but without the custom textures and models?
There are already pain & death sounds. In player.cpp, in CBasePlayer::Pain, it randomly plays "player/pl_pain5.wav" to "player/pl_pain7.wav". All you need to do is change those sounds, while keeping the same name. Sorry for the late answer!
but the pain sounds only sound when the player is torn to pieces, I mean if there is a possibility of those sounds sounding when being shot or fractured
Hmm. I'm thinking. If you don't wanna write custom code, you can get away with modifying sentences.txt. You'd be replacing the HEV suit line with a simple pain sound in that case. Otherwise, look at the CBasePlayer::TakeDamage function. You will see that it plays sentences "!HEV_DMG0" to "!HEV_DMG6" depending on the type of damage. You can simply add a call to Pain() in there.
I'm trying to do a BSP so I can export it to blender, but for some reason my compilations aren't visualized on Nem's Wally (object viewer), don't know what I'm doing wrong.
TrenchBroom can export OBJ files, all you gotta do is make sure you used the "NULL" texture from zhlt.wad on all unseen/back faces. You can then import straight into Blender, but you'll still have to import the textures, i.e. extract PNGs and stuff from any used WADs.
I make a lot of terrain, so TrenchBroom is the logical choice. I'm also a bit biased towards it because it's open-source and I can extend it with my own features - something I can't do with J.A.C.K. but it's also something most people don't care about. It really depends on you though. If you're a beginner, it's best to mess around and find out which one suits you.
Yes, when I finish the weapons programming chapter. The monster/NPC programming chapter will have around 3 videos, focusing on the Half-Life AI system, creating simple NPCs and then ideas by viewers.
0:40 I don’t know anything about mapping, but is this Quake-style BSP responsible for GoldSRC (and Source) having such a limited map sizes, limited interactive stuff (entities) you can put into said maps, and, consequently, frequent loadings? Because (Gold)Source loadings, and somewhat artificial, strictly square map geometry have been puzzling me since I was a kid. Or is there a different reason why GoldSRC and Source games seem so.. small scale, so to speak? I’ve always felt that games on different engines had just more.. stuff in their corresponding maps. Do I make sense?
Not sure what you mean by "strictly square", there's plenty of examples where it's more organic, e.g. Xen. This question has a super complex answer, it can be both yes and no, depending on your perspective. You can skip to the TL;DR on the bottom of my reply if you don't wanna read all of this. Limited map sizes are partly due to netcode: player coordinates use 17 bits each, of which 12 are for the whole part (going up to 4096), 1 is for the sign, and 4 are for subdecimal precision (i.e. accurate down to 1/(2^4) of a unit). Ultimately, this gives you up to 8192^3 units of playable map space - you can still make stuff outside of it, but you won't be able to go there. This can be overridden in today's mods, but shh. GoldSRC itself can handle about 2048 entities total within a map, which should be pretty reasonable. A hundred NPCs, a few dozen triggers and other logical entities, leaves you with a lot of space for other things. So that is definitely not a reason for small maps. The only problem is that, again, due to netcode, you can only see up to 256 entities simultaneously. This doesn't let you have many entities within close proximity. Since the 25th anniversary, that is now upped to 512 entities, but still. I think the more "frequent loadings" happen simply because they didn't want to waste too much RAM and processing power back then. The original HL maps never really got close to any of the GoldSRC BSP format limitations. Some limitations also stem from the software renderer: it can only render up to 800 map polygons, no more than that. If you go above that, any polygon above the 800th one is simply not gonna get rendered and you'll have missing surfaces. As such, you couldn't have very detailed rooms or outdoor areas. HL1 maps are relatively simple, they are not technologically demanding. I think this is partly because Valve was in a rush to make them all, so there was no time for super duper detailed brushwork, or fitting them with all kinds of props and interactive items. The game itself provides basic tools for us mappers to do interactive things: buttons, doors, trains, levers etc., and you can already do a lot with those. You don't need to specifically make buttons out of buttons, you can use a sliding door entity with the visuals of a button, and the player won't really notice a difference if you do it well enough and consistently. As for Source, I dunno, it's got its own thing. In either case, the engines are pretty capable of non-square geometry, and lots of interaction. It's just that Valve either didn't have the time for it, or they felt like it'd be too much. I can't put the blame on the level editor (Hammer), because games like Unreal, System Shock 2 and Thief weren't made with more advanced tools than that. UnrealEd has some tricks up its sleeve, but fundamentally it's just as "bad" as Hammer, and it has its own quirks. And don't get me started on DromED. But yeah, TL;DR: A combination of networking code in small part (so, Quake-style client-server architecture), lack of time to do lots of polishing and detailing, not wanting to waste a lot of resources (it's easier to digest a dozen small bites than one huge bite), and generally just playing it safe, so that the engine doesn't bite them in the butt. if you had access to GoldSRC, it would absolutely be possible to just raise some of these limitations and make really huge maps, on the scale of Unreal, Gloomwood etc., with lots of interactivity. Sven Co-op has some of these limits raised, as well as Xash3D, and I mean heck, a lot of Quake forks nowadays have it even better. I think it really boils down to how much time you can spend on making one level.
@@Admer456 Thank you for the detailed reply. The loading frequency and map sizes were especially jarring in Portal 2 and Episodes, as “newer” Valve games. It seemed like they retained entire set of limitations of GoldSRC. I think by that time we had dynamic loading and much larger maps as industry standard. Don’t know how are things in Alyx. But it seemed like frequent loadings were some fundamental limitation of Valve’s technology. Square geometry.. Well, it’s like the levels are extremely flat and geometric, like in brutalist architecture, no detail, and there’s stuff just put on top of it. Like props, etc. Gives very artificial feeling, like, I can feel and see geometry, map limitations, particle sources, interactable entities, all the inner works and artificiality of the world, while with time in other games it was hidden better and better. And HL2 and Episodes seemed like they were stuck in the 90s. Compare even CoD4 and Episodes 2, even though CoD wasn’t technologically impressive. The only thing they did to alleviate that feeling was pre-baked destructible environments that saw heavy use in Portal 2, arguably more than in EP2. Or maybe I spent too much time in these Valve games and started to see inner workings clearly.
@@gibsson Nah, Source 2 maps are basically meshes and Source 2's Hammer is basically a model editor with some game-specific functionality. No longer do you need to worry about the exact shape of your map geometry and how well it can "cut". I don't have a lot of experience with Source 2 though, other than a couple months tinkering with s&box a little bit, so I'm not sure what exact limitations it has of its own.
@@Admer456 but that was be realy cool beacose now idk how to do it on TH-cam is no more normal vidio how to create mod on source engine and how to make from 2006 to 2013 base , beacose i dont found the one important file for 2013 and on this moment i don't know how to do it ☹️
Videi su ti top! Davno sam prestao raditi Half Life i CS 1.6 mape, ali ovi videi su mi jako zanimljivi i zabavni.
@TheFrownlandGenie Hvala! Ni ja ih ne pravim u zadnje vrijeme, ali eto zato pravim ova videa
I don't mod nor' play GoldSRC Games, yet I watch every single video of yours.
Never stop, I love it.
Perfect timing lol waiting for a 20 minute compile rn to find out why all my entities are invisible
I had to learn it the hard way years ago back when I tried to work with decompiled maps. At least now I find the problems easier and faster than before and attempt to fix them.
još jedan dobar video od admera! hvala za svu pomoć što dajes goldsrc komunitiju!
Nema na čem, hvala na lijepim riječima !!!
@@Admer456 jste z polska?
@@blabolik Ne, ja sam iz Bosne (preciznije Hercegovine)
your videos (and your sona) make me so happy :)
Love your stuff man, your GoldSrc modding series really helped me out on getting a headstart on modding. I'm now on my 3rd mod project trying to make a Multiplayer based Halo mod for GoldSrc using custom models and anims. Would love to see a video talking about editing Multiplayer aspects such as making/implementing a CTF gamemode like HLOF, loadouts, movement speed edits, etc in the updated sourcecode.
Pretty nice video for beginners! Also, I sure did see my post on your Discord server at 7:07.
THE BROTHER REALLY MAKE LEAK FULL TUTORIAL LIKE WHAT I TOLD HIM
Thank you so much ,now because of you i can fix this problem within 3 minutes
Admer here casually randomly uploading out of nowhere!
P.S: Lovely work as always
Thankfully I added those tool options in TrenchBroom! ^_^
This is very useful, thank you so much for your videos!
I want to add a trick for finding leaks in very large and complex maps, because sometimes the pointfile isn't very accurate:
I basically create a huge worldbrush than encases maybe 1/3 of the map. I then try compiling the map. If the compile process gets past the world creation without any leak warnings, I stop it, knowing that the leak must be somewhere withing the boundaries of my block. I now reduce this block in half and compile again. If it still compiles, the leak is still inside the now smaller block. If the leak now appears, it has to be in the area where the other half of the block was before. With this technique I narrow the potential leak area down until a very small area is left. This usually helps me find the leak very quickly. Also creating these temporary worldbrushes forces the pointfile to change and sometimes it gets more easy to read. :)
9:25 There are also microbrush entities that are in void, which happened to me often. It's rare to occur though.
I love your videos man, you explain everything with a lot of detail and very slowly. I love it. When will the next video come out?
@@cazadorcazado08 Thank you! A while ago I posted a poll and people voted for a new programming video. I started editing that one recently, so I'm hoping to have it released by the end of this month
After that I'll make another programming video to finish the weapons chapter, and then I'll continue the mapping series a little more
yoooo welcome back , i've been waiting for a new video :DDDDDD
YEEeeeessss!!
A video from Admer 😄
I may not map in goldsrc, but just source, but i still find these vids cool to watch
Glad to see you back!
Just a heads up for anyone on linux, the steam version of J.A.C.K. doesn't include a linux build, and you'll wanna build the SDHLT toolset (should be right below Vluzacn's ZHLT on the wiki page) yourself as the release doesn't come with binaries for linux.
aah, i really should try goldsource mapping again just for the fun of it
New Admer video
awsumm! :3
noticed your profile says you're an immersive sim fanatic, i recommend system shock 1 (OG version, not the remake, while the remake is pretty good there are plenty of things you should experience from the original first)
Funnily enough, I beat System Shock 2 a whiiile ago and have been playing thru SS1 lately. It is a terrific game in the goodest of ways
Can't find the leak? Quick fix - Just but a box around your map xP
No
Hey, thx for the tutorial.
Do you know if it's possible to automatically run a batch file after the compiling is finished?
I've to, but it gives an error "w_loadwadfile couldn't load gfx.wad" which should not even be related to the Run tool command.
I guess that it doesn't run the windows cmd.exe normally, so my .bat fails.
The .bat runs normally when I execute it via double click from the explorer.
@@theprogrammer8200 It should be possible, so long as your working directory is correct
Thank you for another video.
are you eventually going to make a video where you combine a series of maps and make it into a single player mod like afraid of monsters but without the custom textures and models?
@@NotGavinV That sounds like a custom campaign/map pack, but we'll see. I'll def. have a video on level transitions, cuz' those are a bit tricky
@@Admer456 do you recommend someone who has the knowledge in this?
@@NotGavinV I dunno if there's any videos about it, but here's a written guide:
twhl.info/wiki/page/Tutorial%3A_Changing_Levels
good evening... one quick question... how do I add pain and death sounds to the player just like deathmatch classic and team fortress classic?
There are already pain & death sounds. In player.cpp, in CBasePlayer::Pain, it randomly plays "player/pl_pain5.wav" to "player/pl_pain7.wav".
All you need to do is change those sounds, while keeping the same name. Sorry for the late answer!
but the pain sounds only sound when the player is torn to pieces, I mean if there is a possibility of those sounds sounding when being shot or fractured
Hmm. I'm thinking. If you don't wanna write custom code, you can get away with modifying sentences.txt. You'd be replacing the HEV suit line with a simple pain sound in that case.
Otherwise, look at the CBasePlayer::TakeDamage function. You will see that it plays sentences "!HEV_DMG0" to "!HEV_DMG6" depending on the type of damage. You can simply add a call to Pain() in there.
@@Admer456 ok thanks...
I'm trying to do a BSP so I can export it to blender, but for some reason my compilations aren't visualized on Nem's Wally (object viewer), don't know what I'm doing wrong.
TrenchBroom can export OBJ files, all you gotta do is make sure you used the "NULL" texture from zhlt.wad on all unseen/back faces. You can then import straight into Blender, but you'll still have to import the textures, i.e. extract PNGs and stuff from any used WADs.
When it comes to mapping for Half-Life, would you recommend going with trenchbroom or jack?
I make a lot of terrain, so TrenchBroom is the logical choice. I'm also a bit biased towards it because it's open-source and I can extend it with my own features - something I can't do with J.A.C.K. but it's also something most people don't care about.
It really depends on you though. If you're a beginner, it's best to mess around and find out which one suits you.
flob♥️♥️♥️♥️
I have question do you know how to make mod on half life 2 , and do you in your plan make it
@@KardiOff Yes, I've worked on Source mods before. No, I don't have plans for that
question what animal specieses is ur profile picture admer456?
@@juicewrld999jarad That would be an Arctic fox
@@Admer456 oh ok
can you make a video for half life sdk how ro create a new monster?????
Yes, when I finish the weapons programming chapter. The monster/NPC programming chapter will have around 3 videos, focusing on the Half-Life AI system, creating simple NPCs and then ideas by viewers.
chad
0:40
I don’t know anything about mapping, but is this Quake-style BSP responsible for GoldSRC (and Source) having such a limited map sizes, limited interactive stuff (entities) you can put into said maps, and, consequently, frequent loadings? Because (Gold)Source loadings, and somewhat artificial, strictly square map geometry have been puzzling me since I was a kid.
Or is there a different reason why GoldSRC and Source games seem so.. small scale, so to speak? I’ve always felt that games on different engines had just more.. stuff in their corresponding maps. Do I make sense?
Not sure what you mean by "strictly square", there's plenty of examples where it's more organic, e.g. Xen.
This question has a super complex answer, it can be both yes and no, depending on your perspective. You can skip to the TL;DR on the bottom of my reply if you don't wanna read all of this.
Limited map sizes are partly due to netcode: player coordinates use 17 bits each, of which 12 are for the whole part (going up to 4096), 1 is for the sign, and 4 are for subdecimal precision (i.e. accurate down to 1/(2^4) of a unit). Ultimately, this gives you up to 8192^3 units of playable map space - you can still make stuff outside of it, but you won't be able to go there. This can be overridden in today's mods, but shh.
GoldSRC itself can handle about 2048 entities total within a map, which should be pretty reasonable. A hundred NPCs, a few dozen triggers and other logical entities, leaves you with a lot of space for other things. So that is definitely not a reason for small maps.
The only problem is that, again, due to netcode, you can only see up to 256 entities simultaneously. This doesn't let you have many entities within close proximity. Since the 25th anniversary, that is now upped to 512 entities, but still.
I think the more "frequent loadings" happen simply because they didn't want to waste too much RAM and processing power back then. The original HL maps never really got close to any of the GoldSRC BSP format limitations.
Some limitations also stem from the software renderer: it can only render up to 800 map polygons, no more than that. If you go above that, any polygon above the 800th one is simply not gonna get rendered and you'll have missing surfaces. As such, you couldn't have very detailed rooms or outdoor areas.
HL1 maps are relatively simple, they are not technologically demanding. I think this is partly because Valve was in a rush to make them all, so there was no time for super duper detailed brushwork, or fitting them with all kinds of props and interactive items.
The game itself provides basic tools for us mappers to do interactive things: buttons, doors, trains, levers etc., and you can already do a lot with those. You don't need to specifically make buttons out of buttons, you can use a sliding door entity with the visuals of a button, and the player won't really notice a difference if you do it well enough and consistently.
As for Source, I dunno, it's got its own thing. In either case, the engines are pretty capable of non-square geometry, and lots of interaction. It's just that Valve either didn't have the time for it, or they felt like it'd be too much.
I can't put the blame on the level editor (Hammer), because games like Unreal, System Shock 2 and Thief weren't made with more advanced tools than that. UnrealEd has some tricks up its sleeve, but fundamentally it's just as "bad" as Hammer, and it has its own quirks. And don't get me started on DromED.
But yeah, TL;DR:
A combination of networking code in small part (so, Quake-style client-server architecture), lack of time to do lots of polishing and detailing, not wanting to waste a lot of resources (it's easier to digest a dozen small bites than one huge bite), and generally just playing it safe, so that the engine doesn't bite them in the butt.
if you had access to GoldSRC, it would absolutely be possible to just raise some of these limitations and make really huge maps, on the scale of Unreal, Gloomwood etc., with lots of interactivity.
Sven Co-op has some of these limits raised, as well as Xash3D, and I mean heck, a lot of Quake forks nowadays have it even better. I think it really boils down to how much time you can spend on making one level.
@@Admer456 Thank you for the detailed reply. The loading frequency and map sizes were especially jarring in Portal 2 and Episodes, as “newer” Valve games. It seemed like they retained entire set of limitations of GoldSRC. I think by that time we had dynamic loading and much larger maps as industry standard. Don’t know how are things in Alyx. But it seemed like frequent loadings were some fundamental limitation of Valve’s technology. Square geometry.. Well, it’s like the levels are extremely flat and geometric, like in brutalist architecture, no detail, and there’s stuff just put on top of it. Like props, etc. Gives very artificial feeling, like, I can feel and see geometry, map limitations, particle sources, interactable entities, all the inner works and artificiality of the world, while with time in other games it was hidden better and better. And HL2 and Episodes seemed like they were stuck in the 90s. Compare even CoD4 and Episodes 2, even though CoD wasn’t technologically impressive. The only thing they did to alleviate that feeling was pre-baked destructible environments that saw heavy use in Portal 2, arguably more than in EP2. Or maybe I spent too much time in these Valve games and started to see inner workings clearly.
@@Admer456 does source 2 have this kind limitations too? i mean they ditched the bsp altogether in favour of octree
@@gibsson Nah, Source 2 maps are basically meshes and Source 2's Hammer is basically a model editor with some game-specific functionality. No longer do you need to worry about the exact shape of your map geometry and how well it can "cut".
I don't have a lot of experience with Source 2 though, other than a couple months tinkering with s&box a little bit, so I'm not sure what exact limitations it has of its own.
Admer exposed daily acitivity in twhl discord channel
When you pass to source? 😢
@@warrior.png495 What?
@@Admer456 *pass to source
@@Admer456when you pass to source
You mean, when will I move on to Source? There's no need, there are already so many Source tutorials out there, it's GoldSRC that needs them.
@@Admer456 lol 😆
valve just pushed the hl25th anniversary code to github!!!!!
Mhm I saw :o
It's super cool of them
FopSRC
the focs
nooo flob is toxic
Flob is an evil little menace
I mean make tutorial if you know
@@KardiOff No plans for Source tutorials at the moment
@@Admer456 but that was be realy cool beacose now idk how to do it on TH-cam is no more normal vidio how to create mod on source engine and how to make from 2006 to 2013 base , beacose i dont found the one important file for 2013 and on this moment i don't know how to do it ☹️