LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Games (https://www.linuxquestions.org/questions/linux-games-33/)
-   -   Porting games to Linux, real obstacles and plain ignorance (https://www.linuxquestions.org/questions/linux-games-33/porting-games-to-linux-real-obstacles-and-plain-ignorance-926016/)

King_DuckZ 01-27-2012 11:32 AM

Porting games to Linux, real obstacles and plain ignorance
 
This is probably a question that has been discussed many times but I couldn't really find anything.
I'm a game developer, and I often insist at my company to make them fund a Linux port of our games. I also like to ask other companies about the same thing, as having our endless threads confined in our own forums won't do any good, in my opinion.

To my surprise, I found people give the most creative excuses to support their point, and the answer is more often than not negative.
Excuses show the ignorance, most people have no idea about what Posix is, why Visual Studio-specific C++ code is a bad practice, and more generally, they have never seen a running Linux, so they live by the image of it they made in their heads. That's what I understood all of a sudden when my boss, sitting next to me at my PC, asked why I wasn't using Visual Studio to develop on Linux.

But let's stick to the topic. I'd like to discuss with you the reasons I get for not porting a game, and decide what's legitimate and what's not and why, so that the next time I'll have a better answer to common excuses.
What I get the most is:

- Linux users only want free [as in free beer] software, so they're not going to buy or just pirate everything.
- This is easily proven to be false, this link is a great help as well as Frictional's blog. But then, how comes there was a Linux port for Unreal Tournament 2004 and then they stopped? Same for Sacred vs Sacred 2, Neverwinter vs Neverwinter 2...

- Linux has no market.
- Again, the previous link is of great help. But then, why is Loki dead? Is that for a completely unreleated reason or they just didn't make enough money?

- QA for every distribution would be overkill.
- On that I have no arguments at all. If I had to publish a game, I'd test it on Fedora, Debian, maybe Gentoo, and that's it. It's not much worse than testing on WinXP, Vista, 7, 8, or than spotting all the TRC requirements. Am I missing something? Isn't elf portable through all of the x86/x86_64 distros? Especially this question is of interest to me as I want to reply to the guys of GOG.com.

Sorry for the long post, I hope to get an interesting discussion!

ButterflyMelissa 01-27-2012 11:53 AM

Thanks for the topic!!!! You lit up my weekend.

I am a game player-been. Well, let's be honest, Linux is way more superior to windows, however, it must be stated that Linux is somewhat more technical for "Joe Average", and mr Average wants to ... pop in a DVD rom, click a few times and...play.

Okay, let's see why. I use Arch Linux, if I'd run an LSHW,the result will be unique. A Linux install is like a personal strand of DNA. Not that there are no standards. Linux comes off the install medium (CD, DVD, Internet) as a standard, but diverges into a personal expression of the (prime) user.

That in itself could be the main obstacle.

Free? Not always. Linux is not for freeloaders, it's for free spirits. Free spirits dont get tied down by some details, they are artists that enjoy sharing their "art"...and, why not. Is'nt that what was one of the kindergarten lessons: share thy toys... :)

Software can be sold. The OSS drivers for the Lynx One (a studio card I use) is free for the download..as expireware, the full deal has to be bought. But, at what price? A perverbial "song"...

I believe the diverseness - due to the open nature of Linux - to be a scare-point for game builders...

Thor

H_TeXMeX_H 01-27-2012 12:33 PM

I've bought many games that run on Linux, I don't pirate games, I never have. I want good games, and I'll pay for them. The only problem is that most games today aren't even worth pirating. I've thrown away some of my PS3 and Xbox 360 games because they were so bad.

It is nice when companies later open-source the engines used in the games, like the famous quake3 engine. Recently the doom 3 engine was open-sourced, I really hope this will spawn more games for Linux. I did not buy doom 3 because I don't like horror games. I did buy ETQW tho.

Recently I bought OilRush and it uses the unigine engine. It works on Linux and seems to be quite good.

Usually commercial games provide a launcher script that handles loading 32-bit vs 64-bit binary. For audio many use openal.

King_DuckZ 01-28-2012 06:45 AM

Quote:

Originally Posted by Thor_2.0 (Post 4586057)
Thanks for the topic!!!! You lit up my weekend.
I use Arch Linux, if I'd run an LSHW,the result will be unique. A Linux install is like a personal strand of DNA. Not that there are no standards. Linux comes off the install medium (CD, DVD, Internet) as a standard, but diverges into a personal expression of the (prime) user.
Thor

True, but would that prevent you from running a user-space pre-compiled binary? I mean, if you maintain your own fork of openGL (and therefore of everything depending on it) then I would understand, but independently from what desktop/editor/console/browser you use, a game should still work.
To my experience, a game would most likely depend on:
  • openGL
  • openAL
  • libUUID
  • X11
  • pthread
  • libPng/libJpeg
and of course on the c/c++ runtime, depending on the language. As far as the user has those libraries (and their interface is conform to the "official" one), testing on Debian, Ubuntu, Kubuntu, Lubuntu, nUbuntu, Christian Edition, Mint... that sounds redundant, no? I mean, even on Windows, if the game has been tested on your version but you don't have DirectX installed because you're running your own setup, how can a company ensure their game will work?
So either I'm missing some legal implication, or I really don't understand where the technical incompatibility might be.

Quote:

Originally Posted by H_TeXMeX_H (Post 4586095)
Recently I bought OilRush and it uses the unigine engine. It works on Linux and seems to be quite good.

I'm playing that me too, it looks as a good game! There's one more game in preparation that will use Unigine, but I don't know much fro now. Or I found a nice list of commercial Linux games, you probably already know it but here it is.

linux4life88 01-28-2012 09:21 AM

Graphic Drivers
 
I think another big obstacle is the drivers for you graphic cards, I'm especially talking to you ATI. I think we are going to see more and more games released for Linux as its popularity keeps rising but I can also see companies getting tired of having to answer to problems that are no fault of their own but are the fault of poorly designed graphic drivers. My answer to this of course would be to tell these companies to pitch in and help develop the open source alternative drivers.

ButterflyMelissa 01-28-2012 11:44 AM

Quote:

My answer to this of course would be to tell these companies to pitch in and help develop the open source alternative drivers.
Novel idea...and even if these drivers require a little contribution, so what? There are two options I encountered. Either the stuff is precompiled, and hence to be payed for, or open source and free.

King_DuckZ 01-28-2012 11:49 AM

That doesn't explain why there are more ports to MacOS then. I mean, seriously, their half-baked implementation of Posix and the incredibly buggy and weird version of openGL, and the obsolete gcc... still, there are more AAA games for mac than for Linux. I think ignorance plays a major role, honestly.

H_TeXMeX_H 01-28-2012 12:03 PM

The Linux nvidia drivers do provide great performance, I would say equivalent or better than Window$. Stability is sometimes a problem, but eventually they fix the errors. Development is slower than an open-source driver would be. Still, it's better than the other graphics drivers for Linux, I don't think the others even come close performance-wise.

dugan 01-28-2012 12:46 PM

Quote:

Originally Posted by King_DuckZ (Post 4586036)
But then, how comes there was a Linux port for Unreal Tournament 2004 and then they stopped?

Because Epic decided that console ports were more important than Linux ports. Writing code that is portable between consoles (particularly the Xbox 360) and Linux usually isn't practical, because the Xbox 360 uses Direct3D and Linux uses OpenGL.

TobiSGD 01-28-2012 01:08 PM

Quote:

Originally Posted by King_DuckZ (Post 4586036)
- Linux users only want free [as in free beer] software, so they're not going to buy or just pirate everything.
- This is easily proven to be false, this link is a great help as well as Frictional's blog. But then, how comes there was a Linux port for Unreal Tournament 2004 and then they stopped? Same for Sacred vs Sacred 2, Neverwinter vs Neverwinter 2...

Just show them the success of the Indie Hunble Bundles and that the Linux users in average paid more that users of other OSes.

Quote:

Originally Posted by linux4life88
I think another big obstacle is the drivers for you graphic cards, I'm especially talking to you ATI. I think we are going to see more and more games released for Linux as its popularity keeps rising but I can also see companies getting tired of having to answer to problems that are no fault of their own but are the fault of poorly designed graphic drivers. My answer to this of course would be to tell these companies to pitch in and help develop the open source alternative drivers.

I have no problems with the AMD drivers (ATI doesn't exist anymore) at all. Despite that, AMD currently has paid developers for the open source radeon drivers.

Quote:

Originally Posted by H_TeXMeX_H
Still, it's better than the other graphics drivers for Linux, I don't think the others even come close performance-wise.

Proof?

Quote:

Originally Posted by dugan
Because Epic decided that console ports were more important than Linux ports. Writing code that is portable between consoles (particularly the Xbox 360) and Linux usually isn't practical, because the Xbox 360 uses Direct3D and Linux uses OpenGL.

From the Wikipedia entry about the Unreal Engine:
Quote:

The latest release is the UE3, designed for Microsoft's DirectX 9 (for Windows and Xbox 360), DirectX 10 and 11 (for Windows Vista and later), OpenGL for Linux, Mac OS X, PlayStation 3, iOS, Android, and Stage 3D for Adobe Flash Player 11.
Which simply means: Epic is giving the developers the possibility to have a Linux version, they just decide to not use it.

H_TeXMeX_H 01-28-2012 01:20 PM

The most recent benchmark I could find:
http://www.anandtech.com/show/1497/5

I don't care for proving anything to anyone. People who ask for proof are ignorant, there is no better way to put it. It's your job to find data, interpret the data, and decide on what it proves. It's not my job to convince you, I cannot do that, and I don't even care for doing that. If you really are interested, look it up, post the benchmarks, prove me wrong.

Imagine how much time I would waste "proving" everything to everyone. They won't even believe me if I try.

Another one:
http://www.phoronix.com/scan.php?pag...m_ionamd&num=1

TobiSGD 01-28-2012 01:36 PM

Quote:

Originally Posted by H_TeXMeX_H (Post 4586906)
I don't care for proving anything to anyone. People who ask for proof are ignorant, there is no better way to put it. It's your job to find data, interpret the data, and decide on what it proves. It's not my job to convince you, I cannot do that, and I don't even care for doing that. If you really are interested, look it up, post the benchmarks, prove me wrong.

Imagine how much time I would waste "proving" everything to everyone. They won't even believe me if I try.

You made the claim, so the burden of proof is on your side, not on mine. I don't care if you like that or not, it is simply how it works.

Quote:

The most recent benchmark I could find:
http://www.anandtech.com/show/1497/5
Most recent? From 2004? You base your opinion about drivers from 2011/2012 on a benchmark made 2004?

OK, lets get that clear. The article says:
Quote:

we ran a few benchmarks comparing the performance of NVIDIA's ION GeForce 9400M graphics processor to the ATI Radeon HD 4330 graphics processor
The compare the performance of two different graphics processors. The same is true for the first link you gave, they compare hardware.
But your claim was not "NVidia's hardware is better", your claim was
Quote:

Still, it's better than the other graphics drivers for Linux, I don't think the others even come close performance-wise.

H_TeXMeX_H 01-28-2012 01:49 PM

I see what you're doing ... you're asking me to prove something that not only can I not prove, but that cannot be proven.

I admit, I can't prove it and it's probably not possible to prove.

The only data I have is from:

1) Personal experience in Window$ and Linux.
2) Scouring the internet and gathering information.
3) Searching posts in LQ for data on driver reliability and performance.

I cannot objectively prove it, even tho it is true. Of course then you would ask, how do I know it is true, etc. and we would get off topic etc.

I have the right to make statements that I believe are true even tho I cannot objectively prove them when someone demands it. If the OP demands that I prove myself I am usually more kind in my reply, and I state that from experience, from the forums, from the net, this appears to me to be the case, if you have better info go on that. However, when someone posting in a thread calls me out and say just "Prove it" it really pisses me off. Probably people have noticed this, and I usually leave the thread or if the user is the same in many threads I put them on my ignore list.

It's not that I can't "prove it", it's that what you're really saying, without getting a warning from a mod is "you're full of it". I can sense this, and I don't like it. I never do this to others. I usually try to agree with some things that they say and disagree with others, but all the time keeping in mind what the OP posted. I don't quote someone from the thread and then try to get off topic on that. I consider that trolling, and non-constructive, what does it prove ? State your opinion and I state mine, do you see me comment on your opinion in a destructive manner ?

dugan 01-28-2012 03:31 PM

Random (but relevant) interview quote:

Quote:

“We only wanted to have to make a Windows game, but if we had cross-platform support, it would be easy for us to do Mac and Linux as well, so we tried to have that in mind when we made the first game. Then later, when we released Penumbra, we had a guy that did the ports for Mac and Linux, and then it turned out that it’s basically thanks to making the Mac and Linux versions that we were able to survive as a company. When we started out and released the first game of Penumbra, we got screwed by the publisher of the Windows version, so we never got any money.”
Jens Nilsson Interview: Amnesia & The Future - zConnection

And regarding this:
Quote:

Which simply means: Epic is giving the developers the possibility to have a Linux version, they just decide to not use it.
Yes, I should have checked. Thanks.

bassplayer69 01-28-2012 04:37 PM

Quote:

Originally Posted by Thor_2.0 (Post 4586839)
Novel idea...and even if these drivers require a little contribution, so what? There are two options I encountered. Either the stuff is precompiled, and hence to be payed for, or open source and free.

Don't you pay for the drivers already when you buy the graphics card? They should include them right along side with the windows drivers, overclock software, and other software that are basically advertisements for a "Pro" version.

ButterflyMelissa 01-29-2012 03:48 AM

Quote:

Don't you pay for the drivers already when you buy the graphics card? They should include them right along side with the windows drivers, overclock software, and other software that are basically advertisements for a "Pro" version.
Hey, come to think of that...you're right. Where are the Linux goodies when you scan the CD, anyway? There's stuff for Mac, the "thing", and none for Linux.
You've got a point right there. Or, at the very least, a link should be provided to a site to download something decent.
I should know...I use an i915 (dont giggle :) , it is somewhat of a graphics ehrm card) and the trouble I had to swin tru just to get a somewhat decent play in Runescape. I still cannot get into the OpenGL settings...

So, yea', hey you card-maker-people: where are the Linux goodies on the CD?
:)
Thor

adamk75 01-29-2012 01:28 PM

Quote:

Originally Posted by H_TeXMeX_H (Post 4586926)
I see what you're doing ... you're asking me to prove something that not only can I not prove, but that cannot be proven.

I admit, I can't prove it and it's probably not possible to prove.

The only data I have is from:

1) Personal experience in Window$ and Linux.
2) Scouring the internet and gathering information.
3) Searching posts in LQ for data on driver reliability and performance.

In another thread where you made such claims, you admitted to having no recent experience with the drivers for ATI/AMD cards.

(2) and (3)... It doesn't take a lot of research to find large numbers of users with problems with any hardware and any driver. The nvnews linux forum, for example, is full of users with problems with the nvidia drivers.

So, now, since you admit you can't prove it, why don't you stop going around spouting these silly claims? You've been called out on it before, and if you continue to do so, you will be called out on it again.

Adam

H_TeXMeX_H 01-29-2012 01:45 PM

I never said the nvidia drivers don't have problems, they certainly do, and I will switch to nouveau when it's ready.

I'm talking about performance and usability of the drivers. Just check the forums yourself, I won't discuss it anymore. I'm not gonna tell you what to buy, you decide. I don't care about ATI and will not buy their cards.

D1ver 01-29-2012 04:40 PM

I think a big (perceived) problem is game distribution on Linux. How do you get your product to the consumer? How do you support so many different distributions and package management systems? The Humble Bundle's have shown that DRM free links to generic installers are an effective way, but most of the big companies aren't rushing to this sort of business model. I am pretty excited to see Desura kick off in a bigger way. I think it's a promising service and hope it gets a few bigger name titles.

H_TeXMeX_H 01-30-2012 03:46 AM

Either you do what most have done and make a tarball with a static install and maybe a installer script, or you use Desura, now open-source.

ButterflyMelissa 02-11-2012 11:17 AM

Quote:

How do you get your product to the consumer? How do you support so many different distributions and package management systems?
All distro's have package maintainers. The package could be maintained in the repo of the distro. That in itself is not the real problem. The real issue is: the money. How (and what) do you charge for something that is in a repo.

XavierP 02-11-2012 01:21 PM

Moved to Linux-Games

dugan 02-18-2012 06:08 PM

The new Gaslamp Games interview has their views on this:

http://www.gamingonlinux.com/index.p...amp-games.750/

D1ver 02-23-2012 05:56 PM

Quote:

Originally Posted by dugan (Post 4606179)
The new Gaslamp Games interview has their views on this:

http://www.gamingonlinux.com/index.p...amp-games.750/

That was a good read, thanks Dugan.

kuser:) 03-02-2012 02:46 PM

Quote:

Originally Posted by King_DuckZ (Post 4586036)
they have never seen a running Linux, so they live by the image of it they made in their heads.

Linux was focused on security, and proprietary software took advantage of it, by providing usefulness at the cost of security... and it worked.
Quote:

Originally Posted by King_DuckZ (Post 4586036)
But then, how comes there was a Linux port for Unreal Tournament 2004 and then they stopped? Same for Sacred vs Sacred 2, Neverwinter vs Neverwinter 2...

- Linux has no market.
why is Loki dead? Is that for a completely unrelated reason or they just didn't make enough money?

The gaming, and multimedia market for Windows has been developing faster, than on Linux. I hope it's going to change as soon as possible. The Linux community seems to gradually realize how important it is...
Quote:

Originally Posted by King_DuckZ (Post 4586036)
If I had to publish a game, I'd test it on Fedora, Debian, maybe Gentoo, and that's it. It's not much worse than testing on WinXP, Vista, 7, 8, or than spotting all the TRC requirements. Am I missing something? Isn't elf portable through all of the x86/x86_64 distros? Especially this question is of interest to me as I want to reply to the guys of GOG.com.

Linux doesn't come with pre-installed software for multimedia and gaming. It was developed as multiuser-work-centric.
Quote:

Originally Posted by Thor_2.0 (Post 4599796)
How (and what) do you charge for something that is in a repo.

Charge for digital downloads?
After the gamers actually get the game, IMHO the two main groups of gamers are those who want to pay monthly subscription (example: World of Warcraft), and those who don't (example: Guild Wars). I'd say those are the two main models of games' life cycle.
Quote:

Originally Posted by Thor_2.0 (Post 4586057)
Linux is somewhat more technical for "Joe Average", and mr Average wants to ... pop in a DVD rom, click a few times and...play.

Linux comes off the install medium (CD, DVD, Internet) as a standard, but diverges into a personal expression of the (prime) user.

That in itself could be the main obstacle.

I believe the diverseness - due to the open nature of Linux - to be a scare-point for game builders...

The developers made Linux for multi-user productive, business-oriented work. The proprietary software used this against GNU operating systems by taking over the gaming market.
Quote:

Originally Posted by H_TeXMeX_H (Post 4586095)
Usually commercial games provide a launcher script that handles loading 32-bit vs 64-bit binary. For audio many use openal.

OpenAl is full of bugs because, again, Linux wasn't created with gaming, or multimedia in mind.
Quote:

Originally Posted by King_DuckZ (Post 4586660)
As far as the user has those libraries (and their interface is conform to the "official" one), testing on Debian, Ubuntu, Kubuntu, Lubuntu, nUbuntu, Christian Edition, Mint... that sounds redundant, no?

Windows comes with the necessary packages already installed, Linux doesn't. That's why I like the Idea of PlayOnLinux. At least it looks like it's a move in the right direction.
Quote:

Originally Posted by linux4life88 (Post 4586752)
I think another big obstacle is the drivers for you graphic cards, I'm especially talking to you ATI. I think we are going to see more and more games released for Linux as its popularity keeps rising but I can also see companies getting tired of having to answer to problems that are no fault of their own but are the fault of poorly designed graphic drivers. My answer to this of course would be to tell these companies to pitch in and help develop the open source alternative drivers.

The hardware manufacturers are not the driver of change: they are the result of it. They can only adjust. The problem is that, yet again, Linux wasn't made for multimedia, and gaming, so now it suffers the consequences, and has to fight its way through.
Quote:

Originally Posted by King_DuckZ (Post 4586843)
That doesn't explain why there are more ports to MacOS then. I mean, seriously, their half-baked implementation of Posix and the incredibly buggy and weird version of openGL, and the obsolete gcc... still, there are more AAA games for mac than for Linux. I think ignorance plays a major role, honestly.

I don't know if this statement is true, but I'm guessing Mac OS comes with pre-installed necessary software to run games, while Linux doesn't.
Quote:

Originally Posted by D1ver (Post 4587696)
How do you get your product to the consumer? How do you support so many different distributions and package management systems? The Humble Bundle's have shown that DRM free links to generic installers are an effective way, but most of the big companies aren't rushing to this sort of business model. I am pretty excited to see Desura kick off in a bigger way. I think it's a promising service and hope it gets a few bigger name titles.

Look at what Windows did. They provided people with ready-to-use operating system with built-in software for office, multimedia, and gaming. What were the computers then? Desktops! So people could buy a multi-purpose computer, and a multi-purpose operating system for it, and they found Windows to be providing just that. They didn't care as much about security, so they started to learn the operating system. This allowed Microsoft to gain the lead in the market (near monopoly), and, later, to dictate the prices.
I think Linux should do the same: gain more popularity, by being more ready-to-use for multimedia, and gaming. The problem is, that Linux will have to take back the popularity (market), that Wndows already has. As far as Mac, the hardware is expensive, but I'm sure it will be cheaper if it gains more popularity.

Actually, the funny part about Windows is that even though it provided usability at the cost of security to attract users, this allowed the rise of security applications made for... Windows. Maybe it's a crazy idea, but once they gained popularity, they could be SELLING security software for THEIR OWN operating system. LOL
That's how you make money on people's need for entertainment, and stupidity.

The two biggest strengths of Linux are security and compatibility, so the trick is to keep those, while attacking the multimedia and gaming market. I think ease of use, and pre-installed necessary software are the key.

Unexperienced users will keep on coming to try computers out, and if GNU operating systems won't be ready to welcome them, the proprietary ones will.

Let's not forget people are often jealous if you're better than them in something.
This is not so obvious. Take any two computer users: one experienced and one unexperienced.
The unexperienced one will be jealous because the other one knows how to get the computer to get things done.
This creates hostility, and I think the best way to counter it, is to make linux easy to use for unexperienced users.
Again, pre-installed software would be a move in this direction. Documentation is great, but it's hard to keep it up to date with the frequent changes in computer software and hardware.

sunnydrake 03-24-2012 10:01 AM

in 2009 i was curious is there a way to make stand-alone binary with opengl, sound etc. working across win/linux/osx? systems with one codebase..
So i got known tech's and made this stuff>>
today i just run it:
Win7 x32 works out of box
ubuntu x64 fresh install worked after i apt-get install monodevelop
so try it out :) btw im interested in feedback with no properitary drivers installed and vesafb :) just for fun:), i left this tech as there is more flexible ways.
Here you go
it's 7z sfx (linux users ./LBTD.exe) 806K
this is binary executable no need to run wine just from command line use
Quote:

chmod +x ./Lights\ Builder\ Tech\ Demo.exe;./Lights\ Builder\ Tech\ Demo.exe;


All times are GMT -5. The time now is 11:44 PM.