Game Development Community

Developing for 'alternative OSes' - is it worth it?

by David Janssens · in General Discussion · 11/30/2006 (2:16 pm) · 16 replies

Hello,
I posted my first blog here (www.garagegames.com/blogs/29429/11739) on GarageGames, and due to some mention of Linux and the frustration that very few people seem to consider it as a release platform, a very interesting discussion started. Blogs are not the best places to do that kind of discussions, so I decided to teleport it over to here.

Quote:
The Great Game Experiment is ... , for lack of a better word, Great. I see it in a way as a big group testing people. Not only the needed beta-tests, but also the group to turn to when you have multiple game ideas bouncing around in your head.

Community sites are hot nowadays, due to buzzword-compliant sites (web 2.0 and AJAX anyone?), but I think the games you play tell a great deal about what games you will like, and how to take criticism. I'll play around on it a bit more, just to make sure I have a good idea of its features.

On another note, I was wondering why so few companies make Linux games. My platform of choice happens to be OpenSUSE, and I know lots of people that really feel bound to Windows due to the lack of games they would like to play. I feel it's the world upside-down when you write a game, and then port it to another platform.

Luckily, GarageGames takes care of the dilemma of what platforms to support, and gives a (community-supported) Linux version. I can live with that. At least, there is a Linux version. What I don't get is that many people make games using the nice tools here, and target them ONLY at Windows. That seems to be a bit short-sighted. I know it's support and extra investment one has to take into account. However, I would pay 25% extra to get game X for another platform, after getting it for Windows for instance. When using Torque and taking care of not using too much OS-specific libraries in the process, you get those 25% free, as your Linux build is exactly the same source, you just push it through another compiler.

We seem to be sitting on a chicken-or-the-egg problem. Due to no really big inventory of Linux games, there isn't much testing and optimizing going on for the Linux build. But that testing and optimizing won't happen unless there are more Linux games.

I plan to add a Linux game to the list of availabilities, but it's still in the planning stages.

Some interesting things were mentioned. Let's keep the ideas coming!

#1
11/30/2006 (2:38 pm)
In response to Edward Gardner in my blog:
Quote:It wasn't just our experience with Lore that colours my perception, I know other companies faced similar challenges from the Linux community at large. I'll let them say something if they want to, I am not outing anyone here :)

There's also several ill-fated Linux focused companies I can cite. Granted, folks like Loki made some pretty big business mistakes, but it seemed like it was a bit of an uphill battle for them to begin with. If it were any other market, maybe it wouldn't have been catastrophic. That of course is pure conjecture on my part :)

I followed the Loki case at the time, and I think it's a combination of bad management, maybe a hint of fraud, and the omnipresent 'internet bubble'. I think that, if the optimism hadn't been sky-high at that time, the failure of Loki would have been much less inevitable.
People weren't careful at all during those days, and the idea all around was 'if the money runs out, there's still more where that came from'. That's a bad attitude when you want to keep doing business. OK, at that moment, Linux was said to be on the brink of overturning the 'Evil Redmond Monopoly', so maybe Loki had the far-fetched idea of creating a name in a year or so, to have a bigger part of the market when the market exploded. Which never really happened.

Quote:
Differences in OS flavors was a nightmare for support, different versions of SDL, different paths to OpenAL, home directory permissions, all gave slightly different problems. Granted, we were a bit clueless to start, but, it wasn't easy and I can't say for sure that its any easier two years later, even with excellent dedicated staff. The general problems with developing for and supporting PCs (driver hell, etc) seem amplified on Linux. Stack on that the general predisposition for free versus pay software, and its a tough, tough business to be in.

What you're saying is that it's difficult to support Torque under Linux. What would be interesting to know : aren't those problems that ANY developer using torque will have to fight with? Can't most of those problems be automated to a certain extent by a good conceived installer script?

Quote:
Now, we did very well with Linspire, but those are special, saavy people in my opinion.

I must agree that I liked what they have done until now. Even if I was a bit underwhelmed by the browser-based CNR warehouse. I am a SuSE man, and have been spoiled by the YAST UI for some time, I simply like it better, but that's personal preference. I almost gave in and bought Lore on CNR, but then decided against it, as Freespire wouldn't become my primary OS.

I think however that the discussion is focusing too much on the idea of 'developing for Linux'. The companies mentioned here (like Loki) were Linux-only shops. I'm no zealot, far from it. I'm even writing this post from a Windows machine, as I am working in Windows at the moment due to a program that isn't available for Linux (There aren't many of those, agreed, but there still are some programs Windows does better than Linux). Cutting of your main source of income is madness, so i would like to make it clear that I'm not against a Windows build at all.
What all started this, was simply the question if the support difficulties would be manageable if a company decided simply to provide, next to the Windows version , a MacOS and Linux version.

Now that question has been answered I feel, and I would like to pose another : would a group effort of Linux users be able to identify those support problems and be able to bring them back to a more manageable proportion? Would a very refined install script, testing cases on loads of different systems and specific documentation be useful in making Linux support for Torque games possible?
#2
11/30/2006 (3:16 pm)
If anyone here was actually involved with Loki a lot "back in the day", I was "Chunky Kibbles" on the newsgroups. I currently work with at least one ex-Loki programmer.

I have a healthy idea of how many of each game loki sold, and it was miserable. To be fair, Loki made a whole series of abysmal business decisions [and yes, several fraudulent ones], but the crux of the matter is that linux users expect stuff for free as in beer, for two reasons:
1) Free as in beer is NOT the same as Free as in speech - and open source/linux are about free as in speech.
Many many /many/ linux idiots do not understand that free as in speech does not directly translate into free as in beer, and in fact aren't even aware of a distinction
2) They got everything else for free as in beer as a nifty side-effect.

Supporting linux isn't hard. I do it every day. Linux versions of Torque and Torque and Torque are the reason I'm here, at all, at this community. Nowadays I'm glad that torque runs on mac too [else I'd have dumped it and moved on after I bought my first mac], but when I first started here, Linux was the only system I own.

Quote:Now that question has been answered I feel, and I would like to pose another : would a group effort of Linux users be able to identify those support problems and be able to bring them back to a more manageable proportion? Would a very refined install script, testing cases on loads of different systems and specific documentation be useful in making Linux support for Torque games possible?

Sure. Check the forums here for fixes to all of the Linux problems currently existing in Torque. There's eight or ten people on these forums who can probably fix any other linux-specific problems you're having.

Your problem is going to be whiny linux expecting-something-for-nothing end users, not supporting the few linux users who do want to pay you.

Gary (-;
#3
11/30/2006 (3:31 pm)
Free as in Beer and Free as In speech.

roger that.

it will be always uphill, to develop games for linux.
what needs to happen, is that people develop for Computers.
and then the OS dictations are simply layers upon your components.

to get a market share you must have a user base.
to have a user base playing your game you have to appeal to them.

how many linux geeks are into games on that level? not enough.

how many gamers are into linux on that level? not enough.

so you can see a disconnect. publishers will run away.

my favourite example is a friend of mine, who will not play a game like MoM, cause all the creature comforts he is use to are not there. (he cannot tell when the mob is selected without a ring around it)
this is the root of the problem.
people for the most part want only the easy way.

what needs to happen is responsible developers develop for computers
not operating systems.
when that happens, we will have a whole lore more games.
#4
12/01/2006 (8:09 am)
Actually, my complaints about supporting Linux stem out of overall angst for supporting any non-standard personal computer :) Too many variables.

Yes, you can mitigate some or all of the issues we had with instal scripts, and we're basically tackling it that way now, if I am to believe Keith and Tim ;)

Its not impossible to support Linux, its not even "hard" if you have dedicated guys and some time and money.

Support in general often gets overlooked by indie devs though, so its a challnege I think everyone needs to remember they need to face, and the earlier they face it, the better off they'll be. Just because the engine supports it doesn't make support automatically a solved problem would be my caution there.

The free as in beer analogy is a good one though, back to my original, somewhat flippant point :)
#5
12/01/2006 (11:37 am)
I love Linux. I want it to succeed. But, I doubt I will ever put my own money on the line to make products for it any time within the next several years. Here is why:

Old timer, hard core, technical developer/hacker types that have been around for a long time can't understand why it is hard. These people have enough knowledge that nothing is really hard for them. As a result, that kind of guy just creams the developer with second guesses like "I can't believe you ship this thing with an Installer", I just whip out my little "XYZ" command line Perlscript thingy that I developed at 3:38AM back in 1998, and the install is done. Anybody that can't do that is a moron. Any developer that touts an installer is a moron.

Then, on the other hand, we have the intelligent, but naive and ignorant (I'm saying that because they don't know what they don't know) script kiddie that knows enough about computers to be dangerous, but knows nothing about Linux. That guy will read on Digg that Ubuntu is the coolest thing around. So, he goes and grabs it, then can't figure out permissions or how to install the latest graphics drivers, or even how to install the executable, and the developer becomes the moron, bad guy that should have protected him from all of this crap. Heaven help the developer that needs to have this same person compile and link source code.

Then one of them posts an absolutlely vehment, scathing post int he forums that instantly becomes a religious war over operating systems. It is no fun what-so-ever to be on the receiving end of this kind of behaviour.

Please don't melt your keyboards in response to my post here. This is a very naked, personal response in our forums to a question that was raised. Going back to the Loki failures will not help further this conversation. I think a bunch of Linux guys should band together now that the OS is further along and try to make a business out of it, i.e. put your money or efforts on the line. There is a certain amount of opportunity to make this happen. Does it really matter that TGE-L is a little behind TGE? I don't think so, it is still very capable of making a game. Maybe GG would be willing to work with a group of developers to license TGE and make TGE-L a separate product that is sold from our site. I am sure that every game put up in the GG store or created with any GG technology could be a candidate for "porting" to Linux by developers willing to do the work and support. The GG store as well as GGE for marketing and customer eyeballs make the ecommerce and marketing of the business easier than ever before. So, instantly, you have a little Linux based GG with technology, tools. games, and distribution.

This seems like a good garage-level opportunity that GG would be willing to look at in earnest.

-Jeff Tunnell, GG
#6
12/01/2006 (11:48 am)
One belief that I have is that the Linux community needs to support and not eat its young. An effort needs to be done to make sites like Slashdot LinuxGames and Happy Pengiung (to name but a few) to get off of their high horses and put a concerted effort into supporting any/all games that work on the OS (and not just the latest greatest AAA offering).

IMHO, If they spent as much time promoting Linux Games as they do promoting a bunch of "who gives a crap" Linux success stories or the "oh look at this FUD, we're being misrepresented in a story", perhaps the publishers and studios would be more eager to give the OS a chance instead of leaving it as a second thought.

Linux games need to grow from the same grass roots attitude that Linux itself grew from if it wants to be honestly considered as a gaming platform. They can write all the dammed editorials in the world that they want about what a big market percentage they are, but until they put some dammed effort in and stop eating the young who want to actually support them, they honestly won't get anywhere.
#7
12/01/2006 (2:05 pm)
I wanted to have a Linux build. But after the LONG hard road it was to install Linux and get the drivers working correctly, trying to figure out how to compile, spent enough time typing that i could have written a book. Finally get my project setup, and it failed to compile. The raw SDK worked. All in all it was literally the most frustrating 2 weeks I have ever had with a computer. I did find out that my project runs just find under WINE, and i think that is as far as my Linux support will go.
#8
12/01/2006 (2:31 pm)
Uh oh we used a installer on our last 2 linux products, hope that is ok :)

Neway first off, much to my colleagues chagrin sometimes I have always been a big linux supported, along with that and the fact that we have staff who can do linux work is probably the only reason we support linux with our games.

The cold hard truth is that there really isn't a big enough game market on linux to make it worth while to concentrate development for the OS. For us since we rely heavily on linux for games servers, so it makes sense to continue to develop our torque based games to run on linux. yes Torque DOES RUN ON LINUX!!! Its not always 100% up to head, but if you know what you are doing, you can keep your linux builds running.

If you want more linux support, help build the market segment, but realize its not a easy road to go down.

BTW: Linspire users do support buying games, and actually out of all the Linux users groups they have been a great commuity to work with.
#9
12/03/2006 (5:46 pm)
Some time ago, a point was raised about using a minimum Linux build released on a CD along with your game, thus eliminating OS dependency and leaving only some hardware dependecies to consider.

The problem with that solution is that users would have to reboot each time they play your game.

I did compile my latest game on SUSE 10.1 and for the most part it went fine. Their were some (6) complaints from GCC regarding weird declares in the standard code and I had linker problems with SDL. The latest SDL no longer exposes the Unicode calls used by TGE, so I had to link to an older version of SDL.

But I second the above observations about Linux sales and the 'free' culture and don't see a point of selling to and supporting the multitude of flavours and library versions or alternatively, making a huge static compiled executable. You would only consider it if you needed a dedicated server build and if your game was 'that' popular that there was a demand for dedicated servers.

Alternatively, make the linux version free, it may help create a user base that would attract players on paying platforms, aka, Windows and Mac.

The latest Intel Mac's, according to TV adverts, can run Windows apps anyway.
#10
12/03/2006 (6:05 pm)
Quote:The latest Intel Mac's, according to TV adverts, can run Windows apps anyway.

That Apple ad is referring to Parallels, which doesn't support accellerated GL. I use parallels a lot, I love it. But while I use remote X11 and apple's X11 server for my current Torque Linux testing and development [ie, in parallels], it sucks really really bad for windows.

Bootcamp is also available [but not in the referred advert], which also requires rebooting to play a game.

Quote: The latest SDL no longer exposes the Unicode calls used by TGE, so I had to link to an older version of SDL.

Ahhhh, X11_KeyToUnicode, the pain you have caused. Open your source, take out the X11_KeyToUnicode calls and un-#if0 the code block below it that does the same thing.

Quote: making a huge static compiled executable

The old loki solution, which worked well in the end, was to have a static binary, with a dynamic version unsupported ["if you can't make it run, 's not our problem"]. Nowadays that's how we support the linux version, at the company where I work, and it works for us.

If you want to statically link against libstdc++ but dynamically against everything else, that's something that's outside the scope of this forum, but I have explicit personal experience with, we can discuss it on the linux specific forums :-)

Gary (-;
#11
12/03/2006 (6:29 pm)
Thanks Gary, I'll try that SDL solution you mention.

Regarding static compiles, perhaps do a TDN entry on the static libstdc++ approach. I know there are some compiler flags (-w I think), which let you static link specific libs but I will have to read up on that, having not done it in years.
#12
12/03/2006 (6:49 pm)
That SDL Solution, credit actually goes to "Pacula", but he only posted it on the TGB private forums, so most TGE users probably didn't see it [I made a minor repost, but credit's due where credit's due :-)]

And a TDN article... that's a good idea. *wanders off*

Gary (-;
#13
12/05/2006 (5:32 pm)
I miss the old days when Linux was just a toy on a 386 and real UNIX box was a computer room full of giant SGI, HP-UX and Sun Solaris boxes...

Now that's UNIX...

I remember one day I was working on a cluster of SGI's running IRIX with an F16 / T38 fighter sim. Some dude came in and handed me a box of 61 floppies labeled "Slakware". I was like uh what's this?

My take on linix is if you can do it and pull off a good app someone will buy it. I don't know if you have the home entertainment market but there are specialities such as military and science applications.

/flashback off
#14
12/06/2006 (8:07 pm)
Speaking of Linux games, we just released one ;)
#15
12/06/2006 (10:09 pm)
Already bought it :-)

[*because* of linux and mac support; wouldn't have bought it otherwise. Thar's twenty bucks that says developing for alternative OSs is worth it :-)]

Gary (-;
#16
12/06/2006 (10:24 pm)
@Caylo Gypsyblood

what distro did you use?

with mandrake 92 and torque 1.3 almost everything came with the dl cds ( except nvidia + mesa ):
########################################
install mandy92

install nasm from mandy 9.2 3 cd set ( as root run rpmdrake - alphabetically list all packages )
install libsdl-devel from mandy 9.2 3 cd set ( as root run rpmdrake - alphabetically list all packages )

install nvidia drivers ( I only use nvidia cards in ALL my systems )

dl mesa 6.3
extract go to it's dir
make linux-x86-static
it will crash after making the library we need...
in the mesa6.3 dir under /lib there are 3 files copy these over to /usr/lib

go to torque dir and...
make -f mk/configure.mk OS=LINUX COMPILER=GCC3 BUILD=DEBUG