Dev Blog: Jan 2025

Drones

As I so subtly hinted at in last month's blog, drones are here! You’ll have the choice between reconnaissance to search for and observe targets, and explosive drones to attack and disrupt the enemy. As this is a game there will be a few unrealistic restrictions on their usage. Their range is limited to 500m with an altitude limit of 200m. This still leaves you with plenty of room to effectively employ them.

Here you can see the recon drone being deployed from the attic of a blown out building. An enemy patrol is seen coming down the road.

Time to swap to the explosive drone. The drone is detonated with a button press. Then observe the damage after swapping back to the recon drone.

There’s still some polish work to be done along with tying it into the enemy AI so they have a chance to scatter or shoot down your drones.

Bullet Penetration

Bullet penetration has been on the to do list for a long time. I’m happy to say it’s finally in! A few things go into determining how and if projectiles penetrate a surface. First you have the material of the object getting hit. Solid stone and metal offer higher protections vs. wood boards or concrete blocks. Next, the thickness of the surface at the point and the angle of impact. Shooting straight onto a wooden board will be more likely to penetrate vs. hitting it at a 45 degree angle as the path is then longer. Finally you have the bullet itself which adds in velocity at the time of impact, mass of the bullet, and its density. A 9mm impacting a cinder block at 100m probably won’t penetrate. Swap over to a .50 cal and you’ll tear right through it and probably the next block or two as well.

Below you can see the cinder block wall of this building now only provides concealment for this enemy when facing a .50 BMG.



This goes both ways. Taking cover in a small dilapidated building doesn’t provide quite the same level of cover that it did before. The enemy rounds will rip right through the walls.



[h2]AI Rework[/h2]

That brings us to one of the largest changes over the last month, the AI overhaul. I had a few goals when developing the AI; high enemy counts, dynamic cover, a variety of actions, and team work. I was having issues adapting the old AI system as new features got added. It got to the point where a full rework was needed.

I started with a utility AI system. While it was responsive, evaluating a ton of conditions hurt performance. I then moved to a behavior tree. It was easy to build, but could not cover all the cases I wanted too without again becoming unmanageable or worse, unresponsive. Finally I settled on this new system that merges the performance of states with a sort of hierarchy of actions to help with performance. It’s like a state system but with a number of sets of sub-states to reduce indecisiveness.

So far it’s working well. The AI feels more responsive, dynamic, and intense. Some of them will hold back, take cover, and suppress you. Others will fan out to the sides and attempt to attack you from the sides. As you move and shoot, the AI will shift their positions and behaviors to counter you.

I’m not sure how helpful screen shots will be but here you can see a battle in a small town. The player is attacking from the right. The clumps of short green triangles are all positions where an AI character is testing cover as they try to find good positions to hold back and suppress the player. The individual green triangles are the AI testing for bounding cover as they approach the player. Finally the long, dim, green lines are the bounds where AI that have chosen to flank will push out before converging on the player's location.



Here’s the same battle but from a different angle.




There’s a lot of tuning left to do as more features are added and I get feedback from testers. A dedicated AI walkthrough video would probably be better so I may do one of those in the future.

Bugs

Things don’t always work right the first time. I’m not sure what they were shooting at but it looked cool!


Thanks for reading through all of this! I know some of it, especially the AI section was a bit dense but it’s important to show when things go poorly too. Come back next month for some more content! You may be blown away by what you see!

Previous
Previous

Play the Demo Now!

Next
Next

Dev Blog: Dec 2024