What minimum server FPS is required for the AI to function as intended?
TL;DRAI performance is tied to server FPS, working poorly under five, struggling between five and eight, decently above eight or nine and ideally over ten; they are working to make AI cope better and fixing bugs that mimic unresponsiveness.
Maybe I can start there. I think obviously, as we said several times, yes, it is very correlated to the server FPS, server performance, with our AI functions right now, just because basically imagine you are playing a game at that FPS; it's the type of refresh rate of the knowledge of the AI or the decision making that they do, right? So if we play at three frames per second, then obviously for the AI it's kind of a slideshow, right? And in addition to that, what I think sometimes we don't always make clear is that we don't want to bog down. When the server is low in performance, we obviously don't want to do more calculations trying to catch up, because that would make it even more slow, right? So a lot of our systems are spread over a certain amount of frame calculation, for example, the pathfinder. It's a very expensive calculation that usually AI does. And obviously we don't want to do one full path calculation for every single AI every frame. That would just be too much. So usually pathfinding in games is made as time-sliced, what we say. So it goes through a request and goes through multiple frames to return you something. So the less the frames, the longer it also takes to do some of this stuff, right? And just also to be clear, not all the issues that you guys see in live are always related to FPS performance. Some are, some are not. Sometimes we have just bugs as well on our side and we work hard to fix those. So obviously, right now, usually the engine works pretty bad under five frames per second. We have other issues with the mission system and stuff like this when it goes under five frames per second. I think obviously more than 10 would be the ideal, let's say, to have something decent. Over 8, 9 frames per second, usually the AI can function decently. Between 5 and 8, it starts to struggle a bit, because again, all those requests just pile up a bit more. So it's not just about the frame rate, but it's also because this creates this kind of slow response to other systems, for example, raycasts for perception or environmental analysis, again, pathfinding once again. So basically, we are working towards changing a little bit some of these patterns so that we can support better FPS in the new year. Especially, we're going to focus on some of those improvements so that we are going to be less reliant on extremely good server performance. But obviously, there are two parallel initiatives in the engine, or in the company. One is trying to figure out how to make this faster overall, right, because it's not just an issue if the server goes at 5 frames per second. This is going to cause multiple issues across lots of systems, right? You guys see problems with the elevators, problems with spawning that takes much longer, because obviously even spawning takes longer if the frame rate is very low and there is too much work happening in the background. So basically we have these two initiatives, right? One that is making sure the server goes as fast as possible, and the other one is making sure that our systems can cope as best as possible with low frame rate. There are different ideas; it's not necessarily important to share them all right now. But on an additional note, some stuff that me and Andrew especially have been working on in the last weeks was also to fix some of those bugs that are basically giving you this impression of not responding, but it doesn't mean necessarily they're really not responding, right? So myself, I was looking at one bug with Andrew; we fixed two, three situations like this, where maybe the behavior gets into this kind of strange loop. One was, and I think most of you guys that are fighting in FPS have seen those, that you're fighting with some, and then some of them might just look at you and not shoot at you, but they would aim at you in some situations, right? One that I was looking at was this situation where we were not updating correctly our attention targets. So they were searching for somebody, they killed somebody. They thought that their attention target in that moment was dead, but then they were targeting you. So they thought that you were dead and they were starting to investigate. And those are the type of things that we fix all the time, right? And we want to make it better overall. So Andrew...
Yeah, one of the ones I was looking at recently was that we have certain reaction animations that play before they attack you. And we had this in the scripting language. It was receiving a value and waiting for that value to go up. But because of the specific requirements of the multiplayer system, when you're online, there could be a number of frames before it next checks this value, this alertness level value, and it was going up and not then recognizing it had gone up. So it was forever waiting for this value to go up. And that was causing sometimes these characters to just get stuck in a state where they were like, oh, I'm going to respond. No, nothing's changed. So that took a while to track down, because I think we're narrowing down more and more cases, smaller and smaller issues that we don't see regularly, and that's a really good thing, that we're able to focus more in on those little bugs that happen, like, oh, sometimes it was 1 in 10, now it's 1 in 100. Well, it's smaller and smaller, but we're improving the gameplay each time.
And bringing all the improvements we've done for Squadron as well into the PU also allows us to stress test those behaviors a bit in slightly different environments, right, with more targets, more scenarios where you have, I don't know, the mission with friendly characters that you need to save while there are enemies around and so on. So obviously we also find sometimes some of those different scenarios that we can stress test more.