7 ms·
Why do game developers prefer Windows?
- csense 14y agoIt's a classic chicken-or-egg problem: Gamers would use Linux if there were lots of Linux games. Developers would write games for Linux if gamers used it. The situation is slowly changing, since the rise of widespread broadband has let indie developers break the hold of big publishers on distribution channels, and a fair number of indie developers are willing to support Linux for ideological reasons.
- shrughes 14y agoAnother problem is that the Linux kernel is and has been mediocre in lots of little ways that Windows is not.
- parbo 14y agoBecause of Visual Studio?
- ComputerGuru 14y agoAlready previously posted and very heavily discussed: https://news.ycombinator.com/item?id=5124476 https://news.ycombinator.com/item?id=5124476
- runn1ng 14y agoThe giant "historical" answer is new, though. And really worth discussing I think.
- markbernard 14y agoEveryone is missing the point. They develop for Windows because they will have the most chance of getting someone to play their game. (95% of installed O/S in PCs).
- malkia 14y agoSpeaking as a professional game developer of 14 years, Windows is preferred because of two things: 1. PC Games 2. Visual Studio Quake was developed using NEXT station (first version of QuakeEd was written in Objective-C and running on it), but since then the tools were transfered to Windows along with the game distribution. Modders could add new levels, change existing assets all on their own machines. Windows is easy to get, easier to administer, or to say properly - not administer at all, and in the pre-internet years it was not a big deal. Also all proper graphics cards, drivers were available first on Windows, and Microsoft somehow nailed it with D3D.
- zalzane 14y agoSpeaking from an independent developer's perspective: Visual Studio + C# + Resharper = .extremely. productive development environment. Video games tend to require lots and lots and lots of code, so productivity is absolutely critical - especially for independent developers who don't have a dozen man-years to blow on a project. Using autocomplete I can produce raw code an order of magnitude faster than I could by typing out each symbol name by hand. That combined with amazing refactoring/cleanup tools makes windows extremely lucrative for gamedevs.
- bad_user 14y agoWhen it comes to IDEs and things like refactoring and autocomplete, I could never get along with Visual Studio. I mean, the fact that you need Resharper in addition to Visual Studio which costs a lot by itself, is kind of a red flag. Java IDEs have been much more productive for quite some time and I especially like IntelliJ IDEA, being from the same people that provide you with Resharper. Also, doing games development in C# doesn't make sense to me, C++ (maybe in combination with a scripting language like Lua) being the defacto standard for games. And if you are an independent that values productivity, C# has approximately the same drawbacks as Java. And there are successful games out there that make use of it, like RuneScape, Puzzle Pirates or Minecraft. I mean, if you value productivity over runtime efficiency and want something that runs on top of a VM, might as well get something out of it, like portability.
- z3phyr 14y agoC/C++ + scripting (Lua, <My own scripting language>) is a killer combination, which won't go anywhere for decades for shear performance reasons.... (Theory : you can always get more performance by using optimised, hand-tuned C/C++ code) Coming back, proprietary technologies used in $$$ video games, support only windows operating system. Visual Studio can be one of the reasons too.
- kayoone 14y agoC# is actually heavily used by Indies because its the language for Microsofts XNA Toolkit. Many successfull XBLA indie titles (Supermeatboy, Braid, Bastion etc) have been created using it. Using MonoGame you can also bring the games to Linux/OSX/iOS/Android and other consoles (http://monogame.codeplex.com/ http://monogame.codeplex.com/). Furthermore the highly popular Unity Game Engine offers C# as its scripting language which is the language of choice for every bigger and serious project because huge projects written in Javascript are alot more pain to maintain. Part of this is Visual Studio excellent features (you dont necessarily need Resharper). So there actually is alot of C# in game development these days, mostly used as the Scripting language while the engine and APIs are written in C++.
- youcefnb 14y agoDirect X.
- tracker1 14y ago+1 I would say D3D and the best available graphics support are probably at the top of the list... an addendum to that would be More users on windows, which makes D3D even more sane to use. Now, there are plenty that prefer Visual Studio as well, over other dev environments. I very, very, very rarely do C/C++ coding (forgotten most of what little I ever knew), so can't comment there.. I will say I prefer VS + C# over most of the Java options I've tried... though I am using WebStorm for NodeJS dev (based on InteliJ)
- IvyMike 14y agoSame reason Willie Sutton robbed banks.
- acrooks 14y agoThis is probably part of the reason: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems http://en.wikipedia.org/wiki/Usage_share_of_operating_system...
- kayoone 14y agoThe rise of the game industry happened when Microsoft was the dominant force, thats where the users were and Microsoft made sure that games work great on their platform with DirectX and great Development Tools like Visual Studio. Its really that simple, wed see alot more Linux games if the market was viable, right now it simply isnt. Even on mobile many games are iOS only because many developers think Android isnt viable yet in terms of monetization while Androids marketshare is bigger than iOS. Looking at that, Linux gaming still has a long road ahead but its getting better, especially when it comes to Indie games.
- mtgx 14y agoVast market share with a far behind #2 competitor? There may be other reasons, but this one is definitely #1 by far. If you really want to ask a question like this, better ask why do they prefer Direct3D over OpenGL, or why aren't they making the games cross-platform. But in most cases, the answer should be the same. Windows is "big enough" and they don't need the other platforms (at least so far - things might change in the next few years).
- camus 14y agoDirect 3D + windows only sdks + windows only 3d engines + proper graphic card drivers + huge userbase + 3d tools running exclusively on windows + easier binary distribution + not have 50 distribs to maintain + etc ... that's quite easy why , until Linux becomes game developper friendly , linux is dead as a gaming plateform...
- Tmmrn 14y ago> not have 50 distribs to maintain I still don't understand that. Simply support ubuntu only, the other distributions will do the rest. E.g. the steam beta worked fine on archlinux and fedora from day one. And if they have problems you can either decide to look into it or ignore it because you officially only support ubuntu.
- kamaal 14y ago>>Simply support ubuntu only Firstly historically speaking Ubuntu has gotten famous only now. Secondly, another distro fan is likely to argue <insert his favorite distro here> should be supported rather than ubuntu because of <insert a pedantic reason here>. Agree on a standard that works for every one and then we shall talk.
- grapjas 14y agoYou generally don't develop for a single distro: you develop for linux. Which then works on every distro. If you're optimistic enough you could even try to make it work for every *nix, but whatever. The only reason steam is made specifically for ubuntu is because it uses apt-get to actually get steam. If valve put more effort into making it like every other linux application nobody on any distro would have trouble running it.
- Tmmrn 14y agoActually I'm an Archlinux fan but I haven't yet encountered any software targeted at ubuntu that wouldn't work on archlinux too (with some work from repackagers, but as a company you don't have to do it because people who want to use it on an "unsupported" system will). It's just another linux and everything can be ported from it if necessary. Even unity would work fine, once ubuntu's patched x.org and libindicator were on Archlinux. As far as I know ubuntu has been the the most popular (for targetting software) distribution for several years now, so why not?
- kamaal 14y agoA lot of industry domains prefer developing on Windows. I find this culture even in places like embedded programming world. Want to develop for a TI processor/controller or a Analog devices one? Or anything for that matter? Its a certain that the Linux/Mac tool support is no where closer to Windows. Yes you can argue that you can bypass all that roll out your tool chain and use it. The argument works for a hobbyist set up. If you are doing serious work, which has some form of revenue or business impact at work then its pointless to be solving meta problems when the actual problem is on standby. Its all about tooling support. If your largest customers are corporate ones. They will inevitably use Windows due to ease of administration and support for tools like Microsoft office. And since most of your customer are using Windows the vendors will always provide a degree of better support for Windows. Windows wins.
- csense 14y ago> Ease of administration Why is Windows "easier to administer than Linux"? With Ubuntu you have one single place to keep all your OS packages up-to-date: apt-get. With Windows, each program installs its own installer, which means boot gets slower...and...slow...er... every time you start it up. Those updaters all have GUI prompts. Good luck getting them to run remotely, or finding documentation on their command-line parameters (if they accept any). For that matter, on Linux, you can run commands remotely with ssh. On Windows...there really is no good way to run commands remotely, is there? Other than installing an SSH server in Cygwin or mingw, that is. And even if you can run administration scripts remotely, Linux distros usually have Bash and Python (at minimum!) installed by default. Although cmd.exe has improved since FOR was introduced, it still leaves much to be desired compared with the flexibility of Linux scripting languages.
- kamaal 14y ago>>Why is Windows "easier to administer than Linux"? Historically speaking desktop Windows has always been easy to administer than Linux. Heck Desktop Linux had no common standard(and still doesn't actually) Want a good standard mail client? Or a spread sheet program? Like it or not Microsoft office has little competition. Its a lot more easier to deal with one true version of Windows, install patches, security updates and other corporate stuff than deal with endless flavors of Linux with each having a different way of doing things. >>With Ubuntu you have one single place to keep all your OS packages up-to-date: apt-get. With Windows, each program installs its own installer, which means boot gets slower...and...slow...er... every time you start it up. ... ... Agreed. But that is happening now. Historically Linux had nothing like a Ubuntu.
- dsirijus 14y agoMost answers offer a triple-A game dev perspective, so here's some indie... Toolsets are much more obtainable on Windows. That includes cracked apps, educational licenses, and plenty more sources. They're also more expansive; almost anything runs on Windows, even if in an intermediary way. There is also a vast majority of apps that run solely on Windows. Huge majority of your end users are on it, so you need to have it anyway. Running a VM just to test stuff out is inconvenience to say the least. Other devs to whom you communicate use it. Documentation and help all over the internet covers Windows side much better than other OS'. Source files already available for inspection are usually made to compile on Windows. Macs are expensive and whole experience of being jailed in OSX doesn't really go well with indie attitude. IOS gold rushes somewhat turned game dev eyes on it, but that's dying recently, as more and more devs try to find opportunities on various existing and upcoming Android stores. Toolsets for iOS sucked anyways. Linux (on which I'm trying really hard to develop a workflow) lacks application ecosystem neccesary to fuel all the game development aspects. Last, but not least - gaming. We game a lot. And a lot of it is nostalgic, some for inspiration. No other OS offers such a huge quality game title offering as Windows does.
- xedarius 14y agoI worked in the games industry for over 10 years. A platform other than Windows was not an option. Microsoft provide a solid platform with an excellent tool set. Not only that but all of the main content authoring tools (3DStudio Max, Photoshop) exist in Windows only (I realise PS exists on other platforms, but MAX did not). Games studios operate on extremely tight budgets, often a hand to mouth existence on publisher deliverables. This is their only revenue stream. It simply makes no sense to move a team of 50 people to another OS when everything they need and know already exists in Windows. I've been out of the industry for 5 years now, I still keep in contact with my friends in the industry, and as far as I know things are still the same.
- likeclockwork 14y agoI think there's a cultural element. Visual Studio, although apparently beloved, is just an IDE. Look at the rise of consoles, look at this thread. See the talk of there not being 'standards' on Linux and consider the biggest way the Linux community gets around that: Open Source codebases that rely on users who are also devs to help fix things up and get them working everywhere. Linux isn't an ideal 'uniform consumption device', so it's not an appealing target. Now it's starting to get some love because people are looking around and asking 'What about freedom?'.