So in the last community update on 8/3, it was mentioned there were some high profile bugs being worked on for the big fall update. This bug may have been fixed silently (it was never in any release notes that I saw), but if it wasn’t, I wanted to bring it to the community/343’s attention so it can hopefully be fixed.
This bug is hard to reproduce, but this isn’t simply “lag”. This is an error with the game logic on the server. With the right debug tools (like tunable latency), I’m sure the 343 QA team would be able to arrive a solid 10/10 repro. What happens is that sometimes you can shoot a rocket, die right after, but the ammo isn’t depleted from the rockets.
If you are familiar with networked real time games, your first thought is probably to assume that what I saw when this happened wasn’t a true, server verified rocket. Instead it was just a client side approximation, created to give the player instant feedback. Being a professional video game software engineer myself, this was my first thought. But to counteract that I present exhibit A:
This was captured using Halo 5’s theater, which is a server accurate record of the events of the game. As you can see, I fire a rocket, die, but get a kill from the grave. So that rocket was a “real” server verified rocket. But, after I spawn and run straight to pick up my rockets, surprisingly I find the clip full.
I haven’t worked in the Halo engine (though I’d would very much like the opportunity), but I have encountered similar bugs in other networked FPS games I’ve worked on.
So with that being said, if I had to venture a guess as to what was happening here, I bet the message from the person who killed me is reaching the server slightly before the message about me shooting the rocket (or they reach at the same tick, and messages about deaths/kills are prioritized to be processed before shoot events, as they should be). So my death gets processed, but then the shoot event gets processed. The rocket is verified as legit on the server, but when it goes to decrement the ammo count, it is expecting the rockets to be in possession of an alive player. Since I am already dead, that fails and thus the ammo isn’t depleted.
Like I said, I’m just guessing here, but I would love to have the opportunity to come work at 343 and find out for real what the problem is and fix this bug, along with many more.