What you need to know
- Developer 343 Industries has released a new blog post that reveals the story behind Halo 2's teleporting projectile bug on PC.
- The issue was related to interpolation code, and was caused by a rogue -1 value in the code.
- The post also contains some cool insight into the process of bringing Halo games to PC, as well as a reminder that Halo 3 flighting is coming soon.
Halo developer 343 Industries has released a new community update blog post that goes into detail about the complicated and nuanced process of porting all of the mainline pre-Xbox One era Halo games to the PC platform. Among the various topics discussed is the infamous teleporting projectiles bug that launched with Halo 2: Anniversary on PC and plagued Halo 2 Classic multiplayer for over a week before finally being patched by a hotfix. This bug would, bizarrely, cause rockets and grenades to teleport from the position they were fired or thrown to into other players across the map, usually resulting in kills and teammate betrayals alike.
As it turns out, the reason this bug occurred was because of an issue with the game's interpolation code (this smoothes out movement of players, vehicles, and projectiles) and a subsequent problem that caused players to have an incorrect user index of -1. This index value ended up wrecking havoc on Halo 2 Classic multiplayer.
Here's the detailed breakdown by the developers:
"The issue was related to interpolation code that was added in fairly late and is only compiled in PC builds, and unintentionally the dedicated server build. Xbox builds do not compile the interpolation code. One change for interpolation was in a function that gets the camera position of a biped. Players control bipeds. At most, there are four local players, or 'users'. This function was tweaked so that it would update and read from the interpolation data for the user controlling that biped. However, it was not handling the case where the user controlling the biped did not exist on that machine. So, the user index for non-local bipeds would be -1, which then caused entirely different memory in the interpolation state to be written to and read from. Well, this is further complicated by the fact that this same code path is used by the function that creates a weapon's projectiles. Because to do that, the game needs to know where the player's camera was aiming. When it comes to the host and remote players, the same code path is still taken but using the predicted weapon fire state of the remote player. Not all weapons are fired in the same predictive manner, which is why some weapons would inflict damage, while other weapons would not.
The fix here was one, not compile the code for the dedicated server, but also two, guard against cases where the user index was -1."
This issue was complex, but I found reading about it to be quite interesting. It gives some valuable insight into the weird and wacky challenges that developing games can pose, which is something that players don't often get. If you're fascinated by this stuff, I recommend checking out the full blog post, as there are numerous other development topics in it that are discussed at length. The post also reminds players that Halo 3 PC flighting is set to start in the first half of June, so make sure you sign up for the Halo Insider Program if you want to participate.
Halo 2: Anniversary is available on Steam and the Windows 10 Store for $10, while the Master Chief Collection in full can be purchased for $40.
The groundbreaking remaster
Earth isn't going to defend itself
Halo 2: Anniversary on PC brings both the original Halo 2 as well as the incredible remaster to the PC platform, allowing players to save Earth, stop the Covenant, and battle each other online until their fingers fall off.
Finish the Fight
Experience the entirety of Halo history
The Master Chief Collection is a collection of every Halo shooter from the pre-Xbox One era, offering incredible value at an incredible price.
We may earn a commission for purchases using our links. Learn more.
Two free apps make Surface Duo easier to share screenshots, browse the web
Surface Duo owners will want to check out these two new (and free) helper apps that help make life easier. One lets you pick which display to share in a screenshot, while the other always forces the web browser to open on the second display. Need more info? Here is what you need to know and where to get these apps.
Windows 10 build 20246 here for Insiders, signals end of Calendar preview
Microsoft shipped a new Insider build out to those enrolled in the Dev channel today, build 20246. This release also marks the first build from the FE_RELEASE branch, otherwise known as "Iron."
Want the latest GPUs from NVIDIA? Here's where to find them.
NVIDIA new Ampere-powered GeForce RTX 30-series GPUs are here, and as expected they're selling fast. Here's where you can find the new hardware.
Try these mods to make your butter hoarding easier in Mount & Blade II
There's already so much to do in Mount & Blade II: Bannerlord, but the modding community has already produced some fine work to expand your experience ten-fold. We rounded up the best mods for the game.