H-L 2 AA Fixed, Modding Details

H-L 2 AA Fixed, Modding Details

Half-Life 2 developers have given a great amount of detail on the modding capabilities of their new engine and in the process offered many details about the game as well. Details range from the use of Steam to deliver card-specific resources to AI and physics, and BF 1942-like mods. An interesting piece of information that resulted from the extensive transcripts on the Mod Database web site is that Valve have finally resolved the anti-aliasing problems with all makes of cards, a piece of information which does create the impression that the problems with anti-aliasing may have not been as great as initially suggested.

Although most of the transcript contains technical information, we have selected some excerpts which you may find interesting.


"What about FSAA?" - Anti-aliased has been fixed on all cards

On Modding and AI

The blades cutting zombies in half is physics and AI as well. They've been modelled so they can be cut in half, but other than that they walk into the blades and the physics causes damage and they get split in half.
We'll ship all of the HL2 AI code to mod authors as a reference for creating their own AIs with physics behavior.
Some of HL2's NPCs use physics as their basis of movement and interaction with the world.
The AI has lots of interactions with physics. You can control the AI collisions and collision response, navigation around/with physics objects, and specific behaviors involving physics (exerting forces on objects, etc).
The zombie is aware of objects in the environment. His AI realizes when he can throw an object at you and applies the appropriate physics forces to make it happen. The zombies are not scripted to throw specific barrels; it's all tactical...
AIs are aware when squad members die.

On Half-Life to H-L 2 Mod Conversion

Models, animations, and textures just need to be compiled with the new tools. The maps can be loaded into Hammer and saved in the new format (VMF). The code should be pretty familiar to Half-Life mod authors, but there is some porting of the code as some specific engine features are implemented differently usually - much more generally.
Map editing for the Source engine will be very familiar to those who did mapping for Half-Life. We've always tried to extend rather than reinvent whenever possible. The main challenge will be digesting all the new tools and capabilities to get the most out of them.
The rough structure of the map is still BSP-based, built from brushes, but the details are fleshed out with more props that are built in XSI, Maya, or Max.

Creating a BF 1942 Style Mod

First, BF1942 has pretty large maps, so you'd probably want to scale your units down to allow for a multiple mile x mile playing field.
We have some additions to our outdoor rendering, including a realtime occlusion system for dealing with issues unique to outdoor environments. We still maintain a BSP-tree based system for dealing with more traditional indoor environments. So, you can now do extremely large outdoor environments which seemlessly transition indoors. I'm excited to see the mods go nuts on this stuff.

On Facial Expressions

We have a really neat tool called the "Half-Life Face Poser" which allows you to control all of the facial muscles on our humanoids' (could be faces on Alien legs in a mod though...) faces. In particular, you can store set poses as facial expressions or you can animate the face muscles in timing curves. These primitives can be placed together on a timeline to have your actors act out a scene.

On Card-Specific Resources

"How can we use Steam to deliver card-specific resources?"
We can deliver special versions of content to users with particular hardware based on the hardware that they have in their machines. Using this, you could conceivably make a mod that really pushes the limit of hardware and requires specific hardware to run. With the flexibility that you'll have with rendering, I could see mod makers go nuts with this.

You can find the full trancript by following the download tab above.