3 ms·
As someone who has worked extensively in the PC games industry (programming lead on Warcraft, Warcraft II, Diablo, StarCraft, Battle.net, Guild Wars) the reason
by netcoyote 14y ago
As someone who has worked extensively in the PC games industry (programming lead on Warcraft, Warcraft II, Diablo, StarCraft, Battle.net, Guild Wars) the reason is quite straightforward: that's where all the users who buy games are. During my time at Blizzard the Mac versions of our titles sold ~4% of the PC numbers, though I expect those numbers have changed with the rise of Apple and, to a much lesser extent so far, desktop Linux.
Even with the rise of Linux -- and my belief is that it will rise very rapidly with the advent of Steam for Linux -- PC game developers have years and years of development experience advantage on the Windows platform.
When I and my two co-founders (all of us programmers) started ArenaNet to build Guild Wars in 2000 we considered *nix vs. Windows for the server platform and decided that we'd be more productive continuing to build on Windows based on our previous programming background. All of us had extensive experience with low-level coding on Windows (device drivers, async coding with IOCompletion Ports) and knew that it would take time to replicate that expertise on another platform.
Beyond the learning curve we knew it would be more convenient to be able to run the game server and game client on the same computer. During development I ran two copies of the Guild Wars match-making server, and two copies of the game client, on a single desktop box to test the matching algorithm code. Having to manage that process across multiple computers would have been more of a hassle.
On a personal note, I've been spending a lot of time working on building/using Linux in a virtualized environment (https://github.com/webcoyote/linux-vm https://github.com/webcoyote/linux-vm). Linux is an awesome development environment! While I much prefer doing C/C++ development using Visual Studio, Linux is better for other programming languages I use or have tried: Ruby, Python, Go, D, and Erlang. And the ecosystem, with projects like Redis, ZooKeeper, Postgres and a slew of NoSQL servers makes it incredibly powerful because it isn't necessary to write everything from scratch (except SQL), as we did for Guild Wars.
- RobotCaleb 14y agoThanks for your insights, Patrick. I've heard nothing but good things about working at ArenaNet. Nobody has every mentioned whether that's due to your guiding hand or the fact that you left
- RobotCaleb 14y agoUgh. I'm getting downvoted for a tongue-in-cheek joke. :(