2020 has been a productive year for Inhuman, with a big focus on new features and further improving the design of the mod. In this update we'll be covering our totally revamped soldier ai, new assets, and some new gameplay features.
New visuals and gameplay changes courtesy of Half-Life Alyx
With the release of Half-Life Alyx came a decent amount of ports of Combine Soldiers and their weapons. This inspired me to start expanding my enemy roster, so we got to work on making our own soldiers based on these models, for instance here's our new standard soldier using the Ordinal as a base.
One design choice I really enjoyed in Half-Life Alyx was making player and enemy inventory more separated, so I decided to lean into that myself, giving the Combine their own exclusive weapons. These weapons are not simply aesthetic changes, they are full fledged new weapons which gives me more control over difficulty scaling through out the game. Combine Grunts wield Pulse SMGS which aren't very accurate and are slower firing compared to the automatic rifles wielded by higher ranking soldiers. As an added detail, rather than simply fading away these guns now dissolve when you touch them!
With model ports of course came access to the new Combine variants such as the Suppressor, which give me room to finally pursue to my own Combine Heavy enemy.
This enemy is designed to be the most dangerous standard Combine enemy in terms of damage, forcing you to take cover to avoid damage. Unlike the Suppressor in HLA I've opted to make his gun fire a small but very damaging burst to make the threat of it very immediate. I'll soon be adding effects to show the small wind up for the attack and probably implementing his original sounds from HLA as well.
Combine Soldiers: Smarter and deadlier than ever!
Combine Soldier ai has been a huge focus of this mod for years and while I was definitely feeling good with my last showing on them, I still wasn't quite satisfied. I realized a key issue with Combine Soldiers is a lack of ways for level designers to control their behavior without scripting them. When a soldier hides, it's to get out of their enemy's vision, when they move to attack they simply find a shoot position on their enemy. While this sounds pretty functional what it results in is a lack of room for smart design decisions on how they actually do these things which is what prompted me to look to F.E.A.R for inspiration.
F.E.A.R's ai is often lauded for its intelligence but their actual end decision making is quite simple. They do not seek to flank you, they don't generally "team up" with other squadmates to do any action, nor do they make any big calculations on where you are or what you've recently done. What truly makes them work is they often do one simple thing that works at almost any moment: Move relative to cover. Replicas do not simply move to shoot the player, they move to a cover position to attack from. When they retreat, they don't simply find a spot out of your vision, they get behind a solid object. This simple repeatable behavior is what allows level designers to control their movement without scripting it. When a level designer places cover in F.E.A.R they know these are where enemies are going to be grouped up and depending on how this cover is placed, they can also figure out what will be a natural safe position for the player.
Although I lack the cool animations to sell some of this behavior, I replicated it by having soldiers lock in safe positions before moving to do anything. When a soldier in Inhuman moves to shoot, he looks for a position in sight of his cover and not too far from it. When he moves to advance, he looks for cover closer to his enemy. Combine this with simple min and max desired range values based on their weapon and you've got soldiers who advance when it makes sense to and hold position when they're at a comfortable range. Without having to code much new behavior this naturally has shotgunners getting closer and closer while soldier equipped with an AR2 will generally hang back.
To further lean into this new cover based behavior, soldiers have a few new actions to keep them busy while unable to attack you. Soldiers with no vision on your last seen positon can move to get a suppressing position and once there, they will lay down suppressing fire for a small while. I've also added an underhand grenade toss option which has the soldiers throwing grenades with a bit less speed, resulting in grenades which are generally more on target and thus more likely to flush you out of cover!
Finding new ways to make combat more satisfying
As the game design for this project has taken shape I've desired more and more ways to reflect these changes in the hud. One big addition that's really helping to sell the way guns feel is the addition of a dynamic crosshair.
I've done my best to try and get the spread of the gun accurately represented by the crosshair, as well as adding a little extra oomph to shooting.
On top of finding more ways to mess with the hud I've also continued to tweak weapon balance. One feature that never really quite sat right with me was the SMG's alt fire. For the longest time I simply had it removed but that never felt super great either, so I decided to give it a more unique twist. The SMG's grenade is back, but with a new angle to look a bit more natural. More importantly though, is its functionality is now totally changed. Rather than simply doing a big chunk of damage, it sets enemies on fire! While being less able to kill soldiers outright, this gives the player a way to get direct control of a fight when they're in a bad position. Plus I think lighting enemies on fire and shooting them is pretty satisying!
You can get a glimpse at all these new features in this video:
The map presented here isn't my own for the record, it's an edit of Year Long Alarm, a superb work I highly recommend you go check out. You can download it here: Store.steampowered.com
That pretty much wraps it up for this update, in the future I'll probably be doing a more technical post on how I've been programming my ai to help others try this stuff out in the future. If you've got any questions or suggestions feel free to sound off in the comments and if you wanna see smaller updates over time on this game be sure to follow me on youtube or twitter.