Serious Sam 3: BFE
Ryason55 Nov 21, 2014 @ 5:17am
The Silent Riddler: Solved the mystery of the disappearing enemies
So, I think I've figured out the bug in The Silent Riddler where enemies would go missing during the ending fight, making it unwinnable by normal means. Was getting really tired of this level screwing over my speedruns, so when it happened again, I took a good look around with cheats. I actually did manage to find the enemy I was missing... it was at the ticket booth near the start of the level. Uh, yeah.

I did some experimenting with this, and it turns out that if an enemy loses sight of the player in a specific way, it'll try to path to that ticket booth. Occasionally, this will fail, and it'll just end up ramming its face against the wall opposite to the pyramid. However, the enemies that spawn on the right side of the yard (relative to the front of the pyramid) have a clear shot into the desert. Once they're out there, they have no problem navigating to the ticket booth, as the entire out-of-bounds desert there has navigation set up. Also, I've seen one enemy just fall through the ground while trying to do this, so that's another thing that can happen.

If you need a visualization, here:
http://i126.photobucket.com/albums/p120/Ryason55/PathToTicketBooth.jpg

Of course, once any number of enemies are out there, you have no way to actually reach them. This means you have to rely on the 10-minute fallback timer to expire and end the level for you. This is unacceptable for speedruns, since a good speedrun can beat the battle in about three and a half minutes, and no single level is longer than 6 minutes.


Not sure of any good solutions beyond "rework the level's navigation maybe" or "fix the AI pathing somehow". Maybe spawn a killer field out in that expanse of desert? Kinda primitive, but nothing else should be going through that area.
< >
Showing 1-12 of 12 comments
NOCTURNE Nov 21, 2014 @ 9:21am 
As far as I see, at the ending fight, the heli will only arrive after some time. So it doesn't matter if you kill all monsters or not. The heli will come if you reached that time limit.(for example 15 minutes, I don't know exacly) You can still complete that battle if you kill only a few monsters. But if you kill all the monsters before you reach that time limit, you will need to wait until that.
Last edited by NOCTURNE; Nov 21, 2014 @ 9:26am
Ryason55 Nov 21, 2014 @ 4:26pm 
Read the fourth paragraph. That fallback timer should not be the way the level has to end. The only reason the timer exists is because of bugs like this, which seem to have no apparent cause. I've made the cause of this particular bug apparent, however, so that something can be done about it.

Edit: To clarify, the level will only end if one of these two conditions are met:
1. All spawned enemies in the area are killed (excluding a couple specific spawns)
2. 10 minutes have passed since the start of the battle (in case something goes wrong)
Last edited by Ryason55; Nov 21, 2014 @ 7:40pm
Tome[CT]  [developer] Nov 21, 2014 @ 11:39pm 
thanks Ryason55 for such clear description of what is going on there, will look into this and hopefully fix the problem
Last edited by Tome[CT]; Nov 21, 2014 @ 11:43pm
Serious Sam Nov 22, 2014 @ 4:41am 
Nice work, dude.
Ryason55 Nov 23, 2014 @ 3:32am 
I did some more testing, and I can confirm that the AI does indeed do this when it gives up on finding the player. It seems that when the "Give up" timer on a character expires, under most circumstances, it's incorrectly given a goal point near the center of the level's navigation.

Here's a video showing how you can reproduce the bug:
https://www.youtube.com/watch?v=LV4BXAJLFiA
(The Red Biomech shown in the video has a "Give up" time of 30 seconds)

From what I can gather, the problem is that the AI tries to update its current goal point based off of its current foe... right after it just gave up that foe.


... Of course, for this to actually happen in the first place, the player has to break line-of-sight with an enemy for (in this area) a full 30 seconds. If the player is out in the open fighting them, this shouldn't be a problem... except for the part where this level is also somewhat infamous for having enemies get stuck on the structures in the area, and looking at the navigation for them really shows why:
http://i126.photobucket.com/albums/p120/Ryason55/SilentRiddlerNavigation.jpg

The navigation doesn't fit this side of the model. The nook on the left isn't noted at all, and on the right side, it tells the AI it can go straight through a solid block. The scaled up versions of the model have the nook problem on the right as well.

In fact, if you want a likely scenario of how enemies keep wandering off due to the navigation bug:
http://i126.photobucket.com/albums/p120/Ryason55/ALikelyScenario.jpg
Last edited by Ryason55; Nov 23, 2014 @ 3:55am
AlenL  [developer] Nov 24, 2014 @ 7:43am 
We are planning to fix this by fixing the code error that (as it seems) makes this happen.
Ryason55 Nov 24, 2014 @ 8:17pm 
Ah, alright. It's just that if only the AI bug gets fixed, you'll still have enemies getting stuck on those far structures. I mean, the level wouldn't be incompletable (by normal means), but it's still kind of a pain to hunt down the stuck enemies. ^^;

Though, I do have an idea: What if, instead of fixing the level's navigation (which would require re-saving the level and breaking save files), the model and its collision are changed to better reflect the navigation? From what I've tested, you do not need to re-save the level in order for the new collision to stick, and it doesn't seem to screw up save files either. In fact, I've gone and made the model more AI-friendly myself. If I were to send it to you, do you think you could implement it?
noam 2000 Nov 26, 2014 @ 2:09am 
Hey thats a pretty damn good find. good job!
Synyster May 26, 2016 @ 6:46am 
Sorry to necro such an old thread.....
Appears this issue is still not fixed as I ran into this during a speedrun?

Any tips? It's making it impossible to complete the "Serious Run" achievement, as the timer ends the level just after the halfway mark :/
RainingMetal Jun 4, 2017 @ 10:58am 
Glad to know I wasn't the only one having this problem.
^1Ma ^0Long Mar 17, 2018 @ 8:56am 
Originally posted by Synyster:
Sorry to necro such an old thread.....
Appears this issue is still not fixed as I ran into this during a speedrun?

Any tips? It's making it impossible to complete the "Serious Run" achievement, as the timer ends the level just after the halfway mark :/
+1
Ryason55 Mar 17, 2018 @ 9:38am 
This is fixed in the Serious Sam Fusion version of SS3.

If you're wanting to do the level in original SS3, try to keep the space to the right of the wall across from the pyramid within sight at all times. Enemies in this instance have 360 degrees FOV, so if an enemy starts wandering off into the desert, if it has clear line-of-sight to you, it'll stop running off and return to fighting you.
< >
Showing 1-12 of 12 comments
Per page: 15 30 50