PDA

View Full Version : Why game developers should support Mac OS X and Linux



liquid.silver
31-12-2008, 03:10 AM
http://blog.wolfire.com/2008/12/why-you-should-support-mac-os-x-and-linux/
which is linked by: http://www.tuaw.com/2008/12/30/lugaru-shows-why-game-devs-should-support-os-x-and-linux/
linked from: http://osnews.com/story/20710/Why_You_Should_Support_Mac_OS_X_and_Linux

I think a lot of it can be summed up in this quote:

Obviously supporting Mac OS X and Linux means you tap into another platform and expand your potential market base. That much is clear. But surely adding an extra 5% is negligible, right? Wrong. Not all five percents are created equal.

I use linux everyday, but even for me with game dev, one of the first things i do is get my windows support going as i assume that's where the money lies. I found this article very interesting actually, and although not always valid, as they pointed out, it does debunk some myths I also believed in.

Nandrew
31-12-2008, 01:36 PM
There's some good points there, a nice read.

Counter-arguments also exist, but with instances that a multiplatform game is possible ... well, I think it's great aiming for the "under-addressed" systems. Most Mac users I know, at least, would snap up an indie game offering much more quickly than most PC fellahs.

liquid.silver
31-12-2008, 03:35 PM
I don't know much about game developing, but I assume that if the profits gained from including mac and linux aren't enough to offset the cost of actually making the game linux/mac compatible, then there is no reason, financially, that they should.

I think that the whole point of the article is that, although it may at first appear to not be worth the while, it actually usually is. You can't just look at numbers of users, because the article is trying to say that they've found that a mac user is generally better than a windows user, and more likely to buy the game it seems. Basically, it is very difficult to tell how a mac and linux version will be received, if you don't try.

Now yes it is true that in not all cases this will be the same, however, another point that is made is that it is relatively easy to make game that works on windows, mac and linux, by just not using windows-only libraries like directx and rather using opengl and such. So the cost of including mac and linux actually isn't that much.

So my conclusion is: there's no reason why they shouldn't try release a mac/linux version.

Chuluka
01-01-2009, 12:23 AM
Blizzard developed both Diablo 2 and Warcraft 3 for Mac and Windows.

Coolhand
01-01-2009, 01:13 PM
If you use the correct tools and plan your game properly from the start, cross platform development times and costs should be very negligable.

dislekcia
01-01-2009, 01:23 PM
Now yes it is true that in not all cases this will be the same, however, another point that is made is that it is relatively easy to make game that works on windows, mac and linux, by just not using windows-only libraries like directx and rather using opengl and such. So the cost of including mac and linux actually isn't that much.

So my conclusion is: there's no reason why they shouldn't try release a mac/linux version.

That's simply not true... No matter how much you use "cross platform" libraries, nothing is ever truly cross platform and easily compatible. The various flavors of Linux are a bitch to support, especially install systems - don't think that producing RPMs is going to make things easy, hell no.

Plus you've got all the development costs of testing on each platform you're planning to support. You need a Mac to develop for one, then you need Mac users to test for you, etc. By all means, if you can build a game to run on as many platforms as possible, great, but the first step is just finishing the game for ONE platform...

The only saving graces in this area are the cross platform client systems, things like Unity and shortly GM. Even then, you've got a ton more testing to do. In the end, it's much more helpful to know your market and understand who your game is for than it is to blindly target any platform, even one you find easy to develop for. If you're putting a game out there without understanding your target market, you're setting yourself up for failure.

extremist
01-01-2009, 03:50 PM
There's always the option of dualbooting or running windows in virtualization, ...

Actually virtualisation doesn't currently work for modern games (or applications) that require 3D acceleration. Even the mighty VMWare doesn't support more than DirectX 8.1 yet and even that is 'experimental.'

If it did, that's is probably how I would run my system. Sadly I'm 'forced' to run Vista64 on my gaming rig and poor Ubuntu is relegated to my old puttering notebook.


That's simply not true... No matter how much you use "cross platform" libraries, nothing is ever truly cross platform and easily compatible.

Sure, but cross-platform development (just the development - not the packaging) isn't all that difficult once you get into it. Whether you use Java or standard C/C++ (I want to say ANSI, but I'm not sure that's the correct standard), ensuring portability requires a few extra hours - once you know what you're doing you won't make as many mistakes that'll take hours (or days) to rectify. It can be viewed as a programming and design discipline.

This is with regards to development hours and not testing hours. Testing hours can and will get completely out of hand on larger games.


The various flavors of Linux are a bitch to support, especially install systems - don't think that producing RPMs is going to make things easy, hell no.

Agreed.


By all means, if you can build a game to run on as many platforms as possible, great, but the first step is just finishing the game for ONE platform...

Totally agree with one caveat... If you think you want to go cross-platform then keep it in mind while developing... but focus on getting the game released for your main platform. This is what Blizzard did until it got big enough for simultaneous releases on Windows and Mac, and this is what Wolfire did with Lugaru.


In the end, it's much more helpful to know your market and understand who your game is for than it is to blindly target any platform, even one you find easy to develop for. If you're putting a game out there without understanding your target market, you're setting yourself up for failure.

I think this is the point the OP (and the good folks at Wolfire) was (were) raising. Currently there is a blind acceptance by most developers, indie or not, that because an overwhelming majority of computers run Windows that it has to be your target platform by default.

What is not measured by the OS, browser (i.e. platform) usage statistics is what percentage of user per platform is interested in buying games. And then we're not even talking about the type of games said user is willing to buy.

Wolfire's point is that 50% of Lugaru's sales were for Mac and 45% for Windows. Which suggests that they should at least support those OSes with their next release, Overgrowth. Support for Linux, he says, shouldn't just be thrown out the window because of low sales since it's thanks to their Linux support that they got Slashdotted, which translated into sales for all OSes. This is something that's important to an indie who has little to no marketing budget, but for the AAA guys getting Slashdotted isn't really a concern I would think.

Of course, Wolfire's findings is just one data point. It will be interesting to see what happens with Overgrowth's sales.

liquid.silver
01-01-2009, 11:36 PM
I do fully agree with dislekcia and extremist: first develop for one platform (and i would advocate developing for windows first) but also that you need to take cross platform compatibility into account from the get-go.

Well, with linux, there is a difficulty to support all the hundreds of distros. This is partly because some of them do not follow certain 'standards' and in essence they all almost different systems. But having said that, by supporting a number of the more well known distros (ubuntu, fedora, suse...) you do cover a large portion of the linux market, and the difficulty largely lies with installation, which after a user has managed to get it working and adapted it for another system, becomes very easy with a simple howto for future users of that distro. Now for commercial games this is obviously a problem, but what can happen (and i have even heard of happening) is these improvements travelling upstream and eventually being incorporated into the off-the-shelf product.

However, mac is another story, afaik, mac is like windows in that what works on one system usually works on another system. I don't have that much experience with mac, but that's the impression i get. So for me i would have to say it would be a very good idea to develop for mac, and shouldn't take too much effort to do.

With my personal experience in cross-platform development, it has all gone rather well. I have only been doing 2D game dev tho, but it was very easy to port my linux games to windows with just a quick recompile. I literally have the exact same code and i just recompile it. I also haven't needed to do any more testing for windows as the code behaved in exactly the same manner (i did have one exception to this, but as a rule it was true). So although in a larger, commercial game you can't just presume that it'll work, most of the functionality probably will.

The advice i would give out/personally follow is rather simple: first support windows only but keep cross-platform in mind, then port to mac, then later, if there is a demand, port to linux. This is basically what 2dboy have done with world of goo. they first released a windows version, and then later they released a mac version, with the help of some of the community, and in the future they plan on releasing a linux version. In today's world, that's is the perfect way to go about things, not only with games, but general software development as well.

Korax
05-01-2009, 07:33 AM
Don't spread yourself thinly.. the bigger your game gets, the more complex things get, the more buggy things could get. Its better to release a completely stable game on a single platform, then an unstable game on multiple platforms. Obviously, if you've completed a few Windows games successfully, I don't see why it would be an issue then. ;)

A good "first base" cross-patform game would be one targetting Windows, Xbox and Zune.

-> Conquer Windows first. Fully.

edg3
05-01-2009, 07:55 AM
A good "first base" cross-patform game would be one targetting Windows, Xbox and Zune.

-> Conquer Windows first. Fully.
I agree even though there is a cos involved for deploying to the 360 ;)

Korax
05-01-2009, 09:30 AM
You're right, although, if the game is good, the cost shouldn't be an issue.. ROI-wize.