do, you could do easily
. Nowadays, you can modify pretty much everything, but this comes at a price - it's no longer all that simple.
Fortunately, people looking to modify Half-Life game elements have a large selection of tools to use. The problem is often finding them, and then deciding which one to use. This document is an on-going effort to track all of the tools you might need.
It is broken down into the obvious sub-sections: mapping, coding, textures, sprites, models, and miscellaneous. New tools will be added as I find them, or they're brought to my attention. (Feel free to post new utilities in the comments to this article.)
The first place to start is the editor. Of course, we recommend Hammer, but you do have a couple other choices here.
Some of the above editors, aside from Hammer, may require a bit of searching and experimentation to get up and running with Half-Life.
Hammer comes with compile tools. They do the job, but they're more like hired day labor. They're there because they have to be. You do
have other options. Merl has been developing a set of compile tools based on Zoner's compile tools, variously referred to as MHLT, or ZHLT Custom Build. Regardless of what you call them, you should be using them, and they can be found here:
Game Data Files
Hammer uses game data files (
files) to store entity information. Half-Life and each of its mods will have a unique
file. There isn't really one repository for all
files, but there are a number of places you can look.
- For particular community mods, look at the mod's website for the most up to date mapping files.
- The FGD Project at DDR has several FGDs for Half-Life and official mods. These will eventually be moved to...
- The Collective section.
If you can't find a certain FGD anywhere, mail someone at the mod. If one is available, they are generally more than happy to send one off or point you in the right direction.
There are several tools that have been created for specific purposes. Depending on your skill level or need for expediency, these tools can be quite useful.
, by David Hyde, is a terrain generator for Quake-based games, including Half-Life of course. This tool makes the creation of rolling terrain, rocky cliffs, etc, much much easier. When combined with Zoner's compile tools (above), GenSurf can even make use of hint brushes in Half-Life.
- Nem's Batch Compiler - This program acts as a front-end to the compiling process, making it unnecessary to have the editor running while you compile maps. It is specifically tailored to Zoner's compile tools. This is definitely worth checking out., by Merl, automates the incremental backup process for maps. Each time you compile a map, you can have the source files backed up, and then in the event of an emergency (or curiosity) you can return to whichever build you want. This tool is highly recommended.
If you plan on writing up a mod, you'll need the game code aka the Half-Life SDK. The Half-Life SDK comes in two versions -- full and source-only. If you do not require any example material, the source-only version is recommended, as it's much smaller than the full install. Full information can be found at the link below.
There are several coding articles and tutorials on this site. Another good place to look is the Handy Vandal's coding section
There are several fine tools for handling texture
files. Arguably one of the most well rounded tools from this set is Wally, so named for it's initial support of the
texture format. It allows creation of both Half-Life texture WAD packages, as well as individual Half-Life textures. Since it is not easily accessible through the officially provided links, I've provided a local download link to the latest version, along with the official homepage.
One of the best features of Wally is that it supports the import of images from other graphics programs, allowing you to create images pretty much however you like. Some popular free/trial-based image programs are:
If you're creating sprites or need a tool to view sprites, the following programs will come in very handy.
is a program by David Flor that lets you view Half-Life sprite files. In addition, you can save out their individual bitmap files. This is useful if you want to modify existing sprites or see how they were made.
- The is a sprite creation tool that walks you through the process of making a sprite.
For looking at or editing/creating models, there is really only one place you need to go: chUmbalUm-sOft. If you only need to view models, the Half-Life Model Viewer will get the job done well. It's an OpenGL accelerated mdl viewer that allows you to view all of a models animations and different model settings (guns, etc). You can also export and import skins, allowing you to give models a custom look.
If creating or editing models is your thing, you'd do best to check out MilkShape3D (which, I should add, has nothing at all to do with shaping milk). This program has all the features necessary to edit or create models for Half-Life and many other games. If you're using 3DS Max 3.1 to create models, you'll also need the newer model exporter plug-in, Smdlexp.dle, linked below.
- Half-Life Model Viewer
- MilkShape3D - model exporter for 3DS Max 3.1 - model exporter for 3DS Max 4.2 - updated by Alex F. - compiles raw model data into an MDL file usable in-game, now supports transparent and additive textures on models. ( read more here ) - Kratisto's MDL decompiler, now supports transparent and additive textures on models - by Chris Cookson. This is a gmax/3DS Max 4.2 or later MAXScript utility for importing Half-Life SMD files, featuring full support for meshes, skeletons and animations.
The PAK File
In Half-Life, a majority of the content was stored in the PAK file. A PAK file is similar to a ZIP file in that it stores a collection of files, maintaining all of it's directory information. Often it is handy to browse or extract things from the PAK file for modification or so other programs can make use of the content -- Hammer, for example.
A number of PAK browsing and editing utilities exist, but the two best ones to have are Wally and PakScape. PakScape is a nice simple PAK browser and editor. Wally is discussed below and, as you'll see, is the preferred tool.
It used to be that a simple %text or hex editor was all you needed to mod your games. There wasn't a whole lot you could do, but what you