The basics of HL modding?

FER

New Adventurer
MSC Developer
RiP
Joined
Sep 16, 2006
Messages
2,758
Reaction score
0
Age
37
Location
on Belser's army
Been goofing around and I wondered which are the basic programs to make an HL mod?

I know for models you can use MS3D, and Hammer for mapping but what is it needed for coding or wathever is needed to get a basic mod working?
 

PBarnum

New Adventurer
MSS Developer
MSC Developer
RiP
Joined
Jun 14, 2006
Messages
3,031
Reaction score
4
MS Visual Studio 2003/2005. Although I can't remember what worked better.
 

HVR

New Adventurer
Joined
Dec 22, 2009
Messages
34
Reaction score
0
Age
31
Location
Orlando, Florida
I'm also curious. How would you make weapons? It has been in the back of my mind to make a crossbow that shoots as fast as a minigun but I don't know what is used to code weapons.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
FER said:
Been goofing around and I wondered which are the basic programs to make an HL mod?

I know for models you can use MS3D, and Hammer for mapping but what is it needed for coding or wathever is needed to get a basic mod working?

Let's see... You need the HL1SDK, which comes in both VS2003 and VS2005 flavors. VS2003 is a bit less bulky and buggy, but VS2005 offers better forward compatibility. Both developer platforms, however, are utter crap, and exemplify everything that is wrong with the Microsoft design philosophy in and of themselves. But, short of coding in Linux, there's no escaping them.

If you can, you'll likely want the MSDN to go along with the Visual Studio platform of your choosing - good luck with this. Without the MSDN, there's no in-studio reference.

You'll need Hammer, ZHLT, MS3D, Wally, and all appropriate plug-ins as mentioned. You'll need a sprite viewer/editor. You'll need GCF scape to access core HL1 files, or an installed copy of the HLDS (which you'll need for testing in any case). BSP Viewer or Quark will be helpful for dealing with existing maps and/or extracting textures within. Most of the programs above are covered yonder.

You'll need a hex editor with insert capability for certain obscure tasks that crop up. You'll also likely want a syntax aware, code oriented, text editor to deal with the various bits of code VS won't know what to do with. I recommend (/give) EditPlus to our scripters, and include a custom made syntax file for it.

You'll need a program that can search for specific text strings across multiple file types on the hard drive. DOS's find command can do this, but is clumsy. Editplus, linked above, has a fairly sophisticated, regex aware function for this. Related, you'll need a regex aware program that can do the same, and automatedly replace strings in the process. Editplus *kinda* fulfills this role, but has limitations. A more dedicated solution, such as Replace It or Advanced Search and Replace, or those included with Extensions maybe required for certain situations.

You'll, of course, need a sophisticated graphics editor such as Photoshop, that has some ability to edit palettes. For less artistic, more technical tasks, you'll want a wide-range graphics converter program such as Irfanview. You'll also need a sound editor that handles que-points, such as Gold Wave.

If you're going to work with a team, you'll likely want SVN, or some other centralized code sharing system (since the ones included in VS are worthless), and Fraps, to record videos of difficult to describe issues, as well as the appropriate video compression utilities (such as Videora or Super). You'll also need a good web host service, or Apache server and a clean ISP, to host all this, and get some sort of developer forums setup.


You'll need to learn basic programming logic. It helps to know C++, but since nearly all the commands in the HL1SDK are custom, all knowing C++ does is give you understanding of basic syntax and data types - everything else you're going to have to learn from scratch. This is doubly true for MSC, which is why we tend to call it, "MSC++". As such, an in-depth understanding of code logic is more important than knowledge of a particular coding language.

Finally, you'll need a near infinite capacity for pain and frustration.

I'm sure I'm forgetting something, but that's all I can think of off hand.

HVR said:
I'm also curious. How would you make weapons? It has been in the back of my mind to make a crossbow that shoots as fast as a minigun but I don't know what is used to code weapons.
In MSC, that's script side. In the HL1SDK, one would merely change the delays in the crossbow code. In both instances you'd also need a new viewmodel with the appropriate anims.
 

FER

New Adventurer
MSC Developer
RiP
Joined
Sep 16, 2006
Messages
2,758
Reaction score
0
Age
37
Location
on Belser's army
What Hammer version? and Also where can I see how to setup hammer to work with MSC?
 

Stoned

New Adventurer
Joined
Jul 24, 2009
Messages
856
Reaction score
0
Age
28
I could teach you on how to set up hammer FER. It's gonna be somewhat complicate since this will be your first time messing with hammer.
 

FER

New Adventurer
MSC Developer
RiP
Joined
Sep 16, 2006
Messages
2,758
Reaction score
0
Age
37
Location
on Belser's army
I already set up hammer but forgot how to. I remember there was a tutorial somewhere but cant remember.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
viewtopic.php?f=8&t=1100&start=0

Ye want Hammer 3.5, however, under the help system, it still reads Hammer 3.4 Build 2363. It should be linked on the HL programs list linked above.

To configure, Tools->Options. On the Game Configuration panel, add both the FGD's in the MSC/dev folder, in alphabetical order. Point mod directory at your MSC folder. So long as you intend to compile externally (recommended) and start the game manually, none of the other stuff much matters.

Add your wad files in on the texture panel. Remember you can only have so many textures loaded before Hammer will puke (it's quite a few, but massive wads like AllInOne.wad will seriously cut into the limit).

Then restart Hammer.

Personally, I like to set my Default Point Entity class on the Game Configuration panel to info_target, and the default solid to func_monsterclip, as it cuts down on the extra crap I'll have to get rid of should I change class on an entity after placing it (especially if it's a multi_manager I change it to). I also like to set the default background color (3D Views) to pure red, so as to easily spot leaks.

Compiling's a whole other can of worms... Think we might have a tutorial out there for that... Traditionally, I write up batch files, and though I still use them primarily, Nem's Batch Compiler is beginning to grow on me.


There's a lotta collected tool kits out there. Their links don't seem to last long, so I don't have a good one marked at the moment, but generally they have 20-30 tools that can be used to aid in HL1 mod building. Only downside, is sometimes they are a bit dated, and thus don't have the very latest of every program in their inventory.
 

PBarnum

New Adventurer
MSS Developer
MSC Developer
RiP
Joined
Jun 14, 2006
Messages
3,031
Reaction score
4
I made a "how to set up Hammer" tutorial (Over at my site), but I wrote it for Counter-Strike. Its essentially the same thing though.
 
Top