CreatorsOk
roadtovostok
roadtovostok

patreon


Development Update (11/07/2023)

Hi!

I'm now almost ready with the AI sensor optimization. This optimized sensor is now based on scan cycles (previous was calculated every frame) and it has four main sensor features:

1. Field of View (Angle + Radius)
2. Hearing (Radius)
3. Cover Detection (Radius)
4. Threat Direction (Vector)

In this small work-in-progress clip, you see the AI sensor trying to move either towards the threat or away from threat using covers. If the AI sensor detects available covers during scan cycle it will run to the cover (depending on current state), crouches and stays hidden until the threat is within line of sight, max cover time is reached or it decides to attack towards the threat.

This was just one small example related to this sensor. The main point of this sensor optimization was to limit the sensor to specific scan cycles, so it will not need information every frame. This will allow more AI-agents in the future, since one agent takes now significantly less resources from the CPU.

I will now focus on the AI voice acting preparations.

ps. I will also make a separate cover height detection at some point since the crouching should only happen if the cover is too small related to AI height, otherwise the constant cover crouching would be tactically weird :)

- Antti (Developer)

Comments

I dig how the AI will move to cover and even retreat. It’s sort of cat and mouse, which if I’m not mistaken was something I heard you mention in the past. If so, it looks like that’s become a reality. Either way, nice improvements!

M1XED_BAG

cool! I belive in you, my friend! and hope for night battle video with AI too ;)

Юрий Су

Cool, thanks for the explanation. Looking forward to hear more.

KFHA

Hi! I will demonstrate these topics in the next devlog, they are easier to explain when you have visualization and clips to demonstrate. But in terms of hearing, the hearing is based on "last know location" which updates if the AI hear players footsteps or firing etc. There isn't any fancy occlusion right now, it's just a expanding sound collider that simulates audiowave from the player and the collider size (sound distance) is based how loud the sound is. If the sound collider reaches the AI it will update the sensors last know location.

Road to Vostok

hi there, the AI looks way better. Great work :) in this short clip I see only 2 small things that could be improved a bit or that may make sense but I do not understand yet. 1) Right at the beginning the AI chooses the worst possible cover and is in line of sight with the player for several seconds. In this moment where the line of sight is connected, the AI does not break off the movement. Such a situation can of course always arise, an AI that always makes perfect decisions would also feel wrong but maybe it would be possible for the AI to use something like suppressive fire to get to cover safely. In this clip it completely ignores the player and would probably already be dead in a real game situation without even trying to defend against it. 2) At the very end, the last interaction. For the entire clip, the AI actually follows perfectly what it hears from the player. Only in the last clip it doesn't hear him anymore or doesn't follow the movement (hearing radius?) and when the player suddenly appears behind the container, the AI actually reacts almost too fast for the fact that it was completely focused somewhere else a millisecond ago. Really wanna see what happens when you sneak around and lean peek the AI. Sorry if i'm seeing something wrong. The Progress from the old AI to this new one is amazing. And overall those new AI already look like what you showed us in the .... Introduction Video???? ... i think it was in the Introduction Video.

SavRoyale

The cover system is totally dynamic and the point are calculated per scan cycle, so it doesn't require any pre-placed positions. I will indeed explain this in the devlog, since the solution is quite efficient in my mind.

Road to Vostok

Hi Antti Very cool concept! Impressive methodology considering that you are not relying on any references to implement this. I'm well aware that this is an in-progress thing so just asking out of curiosity. How does the hearing part of the AI sensor work? Is the sound occluded by the containers and then diffracted so a bit of sound will reach the AI (and vice versa), or is sound completely blocked? Because in the clip it seems that the AI does not respond to the footsteps all that much. Also, from the POV of the player, when the AI runs towards the player in the beginning, it seems that the sound of the footsteps of the AI does not reach the player's ear. Final thing: why does the AI run towards the player in the beginning, and then hide there, instead of moving laterally? I mentioned this before a long time ago in the comment section of one your fist dev logs on YouTube, but I'll just leave it here again for good measure, maybe you can find some inspiration. It's the white paper by Jeff Orkin on how they implemented AI in F.E.A.R., which had a brilliant AI system: https://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf Thanks for the updates and kudos on the huge progress you are making.

KFHA

Very interesting! I'm sure you'll go more in depth in the devlog, but is the cover detection "dynamic"? As in, does the AI itself detect if an object can be used as cover or do the red containers have preset cover points (the red and green pointers?)

Andex


More Models and Creators