Welcome to the first official update for the Half Life 2 mod Triage. This news post is going to cover some of the new gameplay features, to make firefights more intense and tactical.
COOL NEW AI HACKS
The first thing we'll talk about is the tweaked AI. If you've ever watched the NPCs fight each other in HL2, or made an epic spawn battle in GMOD, you've probably noticed all they ever do is stand in place while shooting short bursts.
Most encounters in Triage feature many NPCs fighting, and there are some multi-sided battles (rebels vs zombies vs cops). It'd be pretty lame to have all those NPCs just standing in place firing single shots or short bursts at each other. So we tried to make battles look more interesting by scripting the NPCs to move into cover whenever they took a lot of damage or rushed into the open. It was a lot of work to set up all these things just to make firefights interesting, and it looked really unnatural and unrealistic, so we looked for a new solution.
So now there's a little AI hack which makes it look like the NPCs are in a real firefight, they take cover when under fire, and can get pinned down. All the little hack does is it makes the NPC take cover when it's under enough fire or takes damage.
The more bullets landing near it, or the more bullets it takes, the more likely it is to take cover, and when it's in cover, it will stay in cover if it is still being shot at. This makes them behave kind of like the bad guys in Brothers in Arms or Chronicles of Riddick series. You can use actual firefight tactics on them, and you can suppress a bad guy by shooting at his cover.
To make this feature more obvious, we increased the burst length of the NPCs, so now they'll shoot 3-15 shots at a time, instead of short bursts like before. Now the firefights look epic, with tons of bullets flying everywhere and NPCs properly using cover.
Those who have mapped for HL2 are probably thinking, "wait a minute, can't you just put an ai_goal_standoff in your map, doesn't that do the same thing?". AI in standoffs don't like to move much, and they spend too much time hiding. Of course you can make them aggressive, but they'll just stand out in the open instead of hiding. And they just randomly jump out, shoot and take cover, even if they're not hitting anything and they're not being shot at.
Okay, so now we have realistic looking firefights - but there's just too many places for the NPCs to hide! It's also really easy for the player to just pick up a metal barrel to block all the incoming bullets. So now the AK47, SMG and .357 are capable of shooting through thin pieces of cover, so pick your cover wisely. The AR2 and other combine energy weapons cannot shoot through anything, since the rounds explode upon impact. The 9mm pistol and shotgun can only shoot through thin sheet metal and doors.
And yes, I did think of writing a pun or two about "penetrating" certain "surfaces", but you guys can probably come up with better ones :P
In one scene in Triage, you lead a ton of rebels into an all out assault on a certain building. We wanted this scene to be EPIC. Having 50 rebels fighting alongside you against a fortified building filled with combine soldiers is enough to bring the framerate down to the point of unbearable amounts of lag... And just 50 rebels isn't enough for an epic assault.
Imagine something like the Omaha beach scene in Saving Private Ryan, except with rebels instead of Allied soldiers, and combine instead of Germans. If you haven't seen the movie, just watch this clip to get an idea of what I'm talking about: Youtube.com
(I take no credit for that video, I have no affiliation with the guy who uploaded it)
So in order to create a scene like this, we needed to modify the rebels so we could have a ton of them on screen while keeping the framerate stable. First of all, the rebels will not be fighting back - their only purpose is to either find cover or to get mowed down. You probably wouldn't be too interested in shooting back in that kind of situation anyways.
Getting 100 rebels to each find a piece of cover while avoiding obstacles and each other is enough to kill any mid-end PC's framerate. So instead, we set a goal for the rebels to run to, and along the way if they get close enough to a piece of cover they will get behind it, and crouch or lean behind it, tough luck for the rest of them :P. We also made it so these guys couldn't collide with each other, so they won't bother avoiding each other, and tons of nodes had to be placed at their spawn points to prevent them fighting over nodes (nodes are like tactical positions that the mapper puts onto the map).
These rebels also don't have real weapons on them, they just have an SMG model attached to their hands. They also have blockier physics models, so their ragdolls won't look as realistic. Finally, the models are significantly lower-poly, having only 2500 polies compared to the 5000 poly rebels, and from farther away they turn into much lower-poly models, the lowest being 600 polies with the gun.
All these changes were necessary to allow a huge crowd of rebels to be shown on screen at a time. The perfect amount I found was 80 rebels in plain view. In the actual map, many will be shown at a distance or hidden by geometry, so it may be possible to have more live rebels.
Thank you for reading this massive wall of text, please enjoy a 3 minute video demonstration