Advertisement

Linux Deployment

Started by January 15, 2011 05:16 AM
17 comments, last by xaviersythe 13 years, 9 months ago
http://www.happypenguin.org/

I also read on 2DBoy's website that they wen't with no DRM at all which makes me think that just having the cross platform keys would work fine.
Does anybody know of any sites or blogs that have promoted linux games in the past?


Yeah World of Goo does not use any drm. The entire Humble Indie Bundle does not use any drm. But yes cross platform keys would generally be a good thing. At home i play games on my Windows comp. But every where else, I play games on my Ubuntu laptop. So if I had paid for a cross platform game, I would like to play it on multiple platforms.

Most some how technical blogs or websites, have written about linux games. Either if it is some unusual game, or if it is a popular windows game, taht is released for linux as well. A quick google search on linux games revealed allot of dedicated linux game sites.
Advertisement

'Servant said:
Is that possible? Aren't executables for each operating system different?


No (for most major distros). However, each distro may have it's libc6 version different, as well as other libs compiled with different settings that are required by your application. That's why when you update <favorite 500kb package here> your manager automatically wants you to download like 130MB to update all it's requirements.

A workaround is to include all your necessary libs in the same folder as your application (linux users are used to get their libs from /lib and /usr/lib. Actually in Windows the idea is the same using C:\Windows\System32 folder, but there are a lot of third parties that don't follow guidelines)

If you find that a particular distro refuses by all means to launch your application, make a specific version for that distro, and use a bash script to launch the correct executable (no need for awful java or similar. And by the way it's not guaranteed the user will have Java installed, while 99.9999% of any decent distro out there comes with bash shell).

Generally out of experience binary versions work just fine. A few major upgrades in Linux (whether for all distros or a particular one) may break your binary, but it is no different and happens more or less in the same frequency as an application that ran correctly in Win 98/XP and refuses in Win 7 64-bit.

Cheers

Dark Sylinc




There is one way to get guaranteed binary compatibility across all major x86/x64 distributions, follow the LSB guidelines (If you target 3.0 or later it should keep working with future distributions aswell (LSB certification isn't necessary for consumer products but compatibility is still a good idea)
The LSB is basically a list of libraries, a strict definition of the interfaces and data structures used by those libraries and a strict definition of the runtime name of those libraries, LSB 4.0 for example requires that libstdc++.so.6 exist on the system (With that exact name and a well defined binary interface) , Later versions of the LSB standard are required to be backwards compatible atleast for a significant amount of time.

Most major distributions are LSB compatible or can be made LSB compatible.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

If you find that a particular distro refuses by all means to launch your application, make a specific version for that distro, and use a bash script to launch the correct executable (no need for awful java or similar. And by the way it's not guaranteed the user will have Java installed, while 99.9999% of any decent distro out there comes with bash shell).


If you are going to do distro-specific binaries, the Right Way to Do It is to build an RPM or deb package. E.g. some of the Humble Bundle games do this.
If you create 4 packages, RPM and DEB for x86 and amd64, and stick to LSB 3 your software should install and run on any modern desktop distro. Just like, say, Firefox already does. Getting onto ARM devices is a little trickier, especially when you start getting into Android.

There are also app stores around. For example, in Ubuntu, I can go to the Software Centre and click on "For Purchase," and lo and behold, I can buy games (eg. World of Goo). I'm not sure of the details of getting carried by such a store, but I know Ubuntu is making a big effort to support game availability, so how hard can it be?

Stephen M. Webb
Professional Free Software Developer

You really should develop for Linux. See: http://www.informationweek.com/news/software/app_optimization/showArticle.jhtml?articleID=229100355
[size="3"][topic='595477'][size="3"]FACADE, the ultimate adventure game!
Volunteers Needed![/topic]
Advertisement
I'll be the devil's advocate, and say "no, you should not support Linux", the reason being that it does not likely make sense from an economic piont of view. And, sadly, that is what counts if you want to survive.

Linux has a desktop market share of around 1.5%, give or take maybe 0.1%, over all distributions. Windows has a desktop market share of around 90%, the rest being for everyone else (MacOS being the biggest competitor with around 7%).
Add to that the fact that many of those Linux systems will be either low end systems or over a decade old, that comes from the fact that a lot of "low cost" PCs and a lot of "donation to the 3rd world" machines are equipped with Linux, which is both free and runs with low minimum requirements. So, if your game is somewhat "demanding", the actual customer share will be yet a lot lower.

But let's stay optimistic. All Linux PCs are perfectly suitable to run your game, and 90% of the people running Linux will actually buy your game. There's hardly ever a pirate among them. Also, your game will run on every distro without any modifications or trouble.

On the other hand, there are somewhat over a billion PCs in existence on the planet, but typical AAA titles sell only around 100 million copies. So, let's assume that these tittles run on pretty much every PC in existence, since they are so awesome. Everybody has them, even on their work PC. In other words, roughly 90% of all Windows owner are scum.

Which means: of 100 copies, 89 will be pirated by the evil Windows scum, 10 will be bought by the insignificant few honest Windows users, and 1 will be bought by a Linux user.
And that's the point. Look where the money comes from.

Now, consider that maintaining 2 platforms is at least 20-30% more development work initially, and it requires twice as much maintenance, testing, and customer support (permanently!). And then, consider that "90% of all Linux users are honest" might be a bit too optimistic, too.

In other words, you're doubling (optimistically) your expenses to get an additional 10%. That just doesn't make sense.
[color=#1C2837][size=2] "low end systems or over a decade old"
[color=#1C2837][size=2]I strongly disagree. My PC is a high-end PC from 2 years ago. Most Linux users are tinkerers, who were originally Windows power-users. Former Windows power-users generally have good hardware.
[color="#1C2837"]As well, Linux market-share ranges from 1.5% to 3% on the desktop. If you're targeting a niche market, the Long Tail effect will enable you to make money.
[size="3"][topic='595477'][size="3"]FACADE, the ultimate adventure game!
Volunteers Needed![/topic]
[color="#1c2837"]"low end systems or over a decade old"
[color="#1c2837"]I strongly disagree. My PC is a high-end PC from 2 years ago.
Maybe so, but honestly who cares. That is your computer and maybe your friends. My Linux computer is a modern one as well, so what.
A lot of Linux systems (and I daresay the major part!) are of the "One Laptop per Child" type (and similar programs), or simply of the "it's cheaper to send my rubbish to the 3rd world than to dispose of it here" kind, which has been a very, very popular strategy for many years. All of those have their disks formatted and Linux (usually Ubuntu) installed.

It's not much different than with getting rid of your old car, except you don't format your car's harddisk first. Hey, no car can possibly be so bad that you couldn't ship it to the 3rd world (where they'll drive it another 10-20 years), and you even get a few bucks or so out of it, as opposed to paying a few hundred for disposal.

[color="#1c2837"]
As well, Linux market-share ranges from 1.5% to 3% on the desktop.[/quote]The sources that I am aware of, including for example Wikipedia's article disagree with your opinion, but even so it would not matter. 1.5% or 3% is no difference. It is still diminuishingly small.

Even if it had a share of 20%, it would still hardly be worthwile. Linux support means (mostly due to the many different distros and versions) an awful lot of maintenance trouble, so if it was to be worthwhile, it had better be the bigger share, not the smaller.

I've been contributing to a (what I consider major, ca. 80k downloads per month) cross-platform FOSS project for half a decade. The Windows support boils down to some Russian or Chinese guy forgetting to set the right character encoding about once per month. Inevitably you occasionally encounter someone being too stupid to download a zip file or being too stupid to read, but that is rare, and every now and then someone wonders why saving stuff inside C:\Program Files fails under Windows 7. Sigh. But... that's about it.
Linux support has "uh... xyz does not work on Blah Linux with foo-bar-0.2.7.1, it used to work with foo-bar-0.2.7.0-a3" on a regular basis, or "using gnome-terminal instead of xterm makes everything explode", and includes things like "why does it use 100% CPU when idle" and "got a 2 second delay when pressing a key" to which honestly nobody has an answer. And then, there is the "does not work with [never head of], trying to [never heard of] and [no idea what they are talking about]" thing which is not entirely uncommon either.

That's ok as long as you do it for fun in your free time, because when you get too bored of it, you can always raise the middle finger and do something more fun like play Age of Empires. After all, people don't pay you anyway, so hey... relax. It's all good.

However, if you are trying to make a living from something (that is, if your job and maybe a few other people's jobs and lives depend on it), things look very, very different. This is a nightmare.
If your living depends on it, you really want to make sure that you put the major part of your time into the things that give you the biggest returns.
On Windows, if you want a decent image editor you either pirate Photoshop or pay out the ear. On Linux you just make do with the GIMP. To me, it would make sense that Linux users are less prone to piracy.
I've always found this an unfair generalization, and usually made by people with little experience in the subject matter.

Photoshop CS is a professional level tool that isn't targeted at the home user. For someone that makes their living using the software, it isn't expensive at all (or is often supplied by the employer). They will also use other software or plugins as needed, because Photoshop isn't the end all be all, and there are lots of specialized tools for different areas. PS has no real concept of real painting for instance. Various painting and illustration apps are used to fill in those holes. Just like in any other profession, you have to pay to use and to maintain the tools of the trade.

Photoshop Elements is the mainstream 'enthusiast' version of the software. It's a great, fast, responsive, un-bloated, little program that has all the functionality that MOST people would require from it. It only cost 99$ stand-alone, but you can legally acquire it for FREE, because it comes bundled with even the cheapest of Wacom tablets (along with other painting software), which is required equipment for anyone who makes a serious attempt to edit photos or draw on a computer.

There is also Paint.Net, ArtRage, Sketchpad, Illustrator and tons of choices at different price ranges. GIMP is a last place choice, and a poor program designed with a programmer art mentality on any platform.

These GIMP vs PS arguments always make it out to be some black and white, all or nothing issue...

Anyways back on topic,

As for Linux deployment, just weigh what you want to get out of it vs the extra effort required to create maintain it. OS Choice has little to do with 'piracy'. This is something that comes down to the individual person. Everyone running Linux will do so for their own reasons. I wouldn't blanket statement Linux users the same way I would Mac or Windows users.

This topic is closed to new replies.

Advertisement