Feedback:Developer updates/20201109

From Guild Wars Wiki
Jump to navigationJump to search

An update on Guild Wars technology and Windows XP[edit]

By Stephen Clarke-Willson, Game Director, Guild Wars

Hello fellow Tyrians! When Guild Wars launched in 2005 it ran on Windows 95, Window 98, Windows 98 SE, Windows ME, Windows 2000, and Windows XP. In 2012 we had to drop support for the 16-bit versions of those operating systems in order to deploy new security features.

In early 2019, we started the process of changing the build system for Guild Wars from Visual C++ 6.0 (which was released in 1997) to use Visual Studio 2017. We released that upgrade in late 2019 while still maintaining compatibility with Windows 2000 and Windows XP, our current min-spec machines. Thanks to that compiler update we have been able to build, test and deploy more updates than we were previously able to do with the VC6 compiler.

The 20-year compiler upgrade was a dramatic change; in those 20 years the way the C++ language treated floating point numbers had changed. We tracked down almost all of the arithmetic errors that related to those changes. For those more technically minded the bugs had to do with the way infinity is handled.

I said we tracked down almost all of the crashes – but there was one significant one that we didn’t detect before we released the build into the wild. The bug was most evident in the Domain of Anguish – which is content we mere programmers would never be able to solo and fully test (even with cheats on the development branch – I tried). I want to thank the players who sent us videos that helped us identify the problem. The bug had to do with projectiles colliding with the terrain at just the right angle. I’m happy to say that with the new compiler we were able to debug and fix that bug in two days with very little disruption to the main game and no downtime.

As you know, Microsoft has officially stopped supporting older versions of Windows; we are however grateful that they have managed to maintain tools and compiler support for those operating systems long past their official expiration date. Visual Studio 2017 is the last compiler from Microsoft that supports Windows XP. The other systems that Guild Wars interacts with (the “login servers”) are now built with Visual Studio 2019. It is only a matter of time before we will be building Guild Wars with Visual Studio 2019 and future compilers. So as of January 1st, 2021, we will no longer provide official support for Windows XP or Windows 2000. While the game may continue to run on those operating systems we will stop internal testing on that date.