Game Development Community

dev|Pro Game Development Curriculum

Linux Expectation Management

by Jeff Tunnell · 11/23/2005 (1:14 pm) · 78 comments

I hope this post does not turn into a huge flame war, but it is time to address some of the issues surrounding Linux, and GarageGames' future support of this operating system. Before causing too much panic, we are not dropping support, but we need to manage expectations.

First off. We love Linux, and hope we have done more, percentage wise, than nearly any other company on the planet to support it (other than those whose business model revolves around it, of course).

Secondly. Most of the heavy lifting for originally getting TGE running on Linux and keeping it up to date fell to John Quigley (later hired by Bravetree, and now an employee of GarageGames), but John no longer wishes to work on TGE Linux.

Third. Linux does not love back. Too many distros. Much incompatibility. Moving target. Not much community support from Linux users coming back to Torque. Little to no revenue (less than 3% of what we do). Little to no love from the Linux community for our efforts.

These are simply facts. I'm sure there will be some questioning of my statements, but they are true from our point of view, and they are causing enough pressure that we need to do something about it.

I would like to start a dialog about solutions to the problems. In the meantime, my suggestions are as follows:

1. Torque is cross platform, but Linux support will lag behind a point release or two. We can manage expectations by saying this upfront in our product pages.

2. In all product pages we should say that using Linux on Torque requires an advanced programmer that understands Linux and the build process in depth, i.e. the build process is unsupported.

3. If members of the community feel that Linux Torque needs to be at the latest point release, and run across a broad spectrum of distros, we would be happy to set up secure SVN, allow them to do the work and roll the changes back into the main code tree.

For the far future, some of the development of our technologies are being developed on Linux boxes. Additionally, the distros get better all the time, so the problem set may get smaller. Cross platform is a religion for us, and we like the idea of supporting Linux, so we hope to bring Linux everything out in a timely manner and up to our quality standards.

What do you think? Please be gentle.

-Jeff Tunnell, GG
#41
11/24/2005 (6:33 pm)
I don't know anything about Mac's or Linux's so all this talk about losing cross-platform consistancy with engines and tools got me thinking that GarageGames might be changing it's publishing requirments. I don't know the state of all of the technology but it looks like it's not possible to make a game out of the box that works on all 3 systems. I don't know. I am not going to ever be published so it doesn't really affect me, I was just curious cause I like to understand what's going on.

I am not asking to challenge GarageGames. I am just asking to know. I reread my post and it seems like it could be read to be a 'well what about this or that' kind of thing to say, but it's not meant to be. I am curious, not concerned. :)
#42
11/24/2005 (8:42 pm)
Oh - well, most of the time porting a Torque game to another platform is a matter of recompiling the binary, which might take a few minutes or a few days depending on how clean your code is, and then... ah... you're probably done. :) It can sometimes take much longer, but usually not, especially if you're already on two platforms - getting onto a third becomes easy.

For the XBox 360, we're actually running the exact same scripts/art on the PC version we use for testing, and the real XBox30 version. There's a different platform layer, so the codebase is slightly different, but all the core gameplay-related code is identical.

Even the PS2 and XBox versions of Torque are almost exactly like the versions that all y'all in the community know and love. The platform layer is a bit different, of course, and there's less memory available, and rendering is a little slower, but that's about it.

Of course, if you're not using Torque it can be tougher to run cross platform.

I was actually just curious in my reply, what you thought had changed or would change. No accusation there, though I guess it could sound pretty defensive. :)
#45
11/24/2005 (10:37 pm)
A quick survey would probably show which distro's/ packages are important to those 3%. If it works with the top 2 or 3 distros (debian and slackware - just for example) , then:

A) It will probably run on others by chance.
B) At least SOME linux will be supported and if it's important to someone - well those are the type of people who will setup a debian box for a single purpose (like TGE).
C) 80/20 rule. Covering (in this case, less than) 20% of the distros will make (probably more than) 80% (of the 3%) happy, right off the top.

This should help solve the moving target problem, as supporting ALL linux is just nuts...

I like option #3 above, but GG would probably need to find someone fresh who's willing to take over TGE-Linux at least part-time to pull it all together.

Options 1 and 2 are good but not excuses for NO DOCUMENTATION!!!

As a linux person, I don't play games on linux because I can't find any, I did infact play 'Return to Castle Wolfenstien' on it. So I don't buy the "no one plays games on linux" argument; if there were games people would play them.

Happy Thanksgiving all

ps. I'm looking forward to the 1.4 for linux just so I can develope my game on linux. This windows thing is killing me. . lol
#47
11/25/2005 (5:00 am)
@RavenSlay3r:

Can't find any? I've got about 20 that I have purchased for Linux.... I can't find the time to play them all!

@Teri/Dean:

You two are a model by which many others should follow. You ROCK!
#48
11/25/2005 (12:22 pm)
Good point RavenSlay3r... after the holiday weekend, I'll but up a survey for linux interested torque programmers. That way we can get a solid grasp on what people use.
#49
11/25/2005 (4:50 pm)
Option #4: Make a clone of John Quigley.

Personally, I vote for option 4. While we are at it, we should make a couple extra clones to work on other misc tasks at GG. The only downside of this plan that I can see is that we will need some way to facilitate the dramatic increase in beer consumption.
#50
11/26/2005 (12:45 am)
Where does this leave TSE, I'd love to get in on the early adopter... but it really seems that there is no linux version in sight and some of the remarks made by GG staff reguarding OpenGL pixel shading has me worried that it may not actually come to pass.
#51
11/27/2005 (11:00 am)
As long as I can compile my dedicated linux server I'm happy. How do you gather the statistics on what is Linux and what is other platform revenue? I think the fact you support Linux helps people to buy even if they'll be mostly running it on windows etc. I'm not too worried about the editors and other tools on the linux side falling behind, just as long as I can use linux servers to host my game :)
#52
11/28/2005 (4:59 pm)
Just adding my .02

Several things spring to mind
First, I'm absolutely delighted with Torque on Linux thusly far - it is, after all, the reason I purchased a license.
Second, I agree and recognise that supporting a tertiary platform is a lot of hard work [and no small amount of heartache] for relatively little return

Most of what you're saying sounds fine to me; For example, unsupported build processes... so long as what comes in the box builds, then anything else being officially unsupported sounds like no problem.
I originally managed to add stuff to the current build process with five minutes and grep. So long as the makefiles don't tumble in light of new changes [and it's hard to imagine them doing so... *cough*], this sounds like a good idea to me.

I'm not sure how much of a mess a repository with community write access [even specifically chosen write access] might become. I've had a vast number of bad experiences with people who think they're supporting Linux stuff with patches, when in fact they're supporting one pathologically broken SuSE distro [for example].

Support lagging by a release or two... Well, it's all relative. I'm not sure what bits might lag, or which bits might not. There's a strong urge [I know this personally] that once you've let something slide, it continues to slide, and continues to slide, and...
Not supporting new fangled vorbis hooks on linux while the other platforms have them wouldn't be a problem. On the other hand, I wouldn't like the idea that a change to the terrain renderer might need changes made in Win32 and OSX, but then skip platformX86UNIX and essentially break TGE on Linux.

Anyways. Not sure if I really have a point. I guess the above, distilled, is:
1) I'm happy right now
2) Nothing catastrophically bad happening in future means I'll still be happy
3) You don't sound like you're doing anything catastrophically bad.

Just my .02

Gary (-;
#53
11/29/2005 (8:21 am)
"In all product pages we should say that using Linux on Torque requires an advanced programmer that understands Linux and the build process in depth, i.e. the build process is unsupported."

anyone care to explain this one to me? why should developing for linux be any more difficult than using windows?
#54
11/29/2005 (11:40 am)
@Sean: It doesn't necessarily require a programmer any more advanced than the ones that maintain windows and OSX... Would you be happy with a highschool-level "windows programmer" who's only ever used VB maintaining the windows port or Torque?

The point is that it's not more difficult [IME, Linux is the easiest of the three platforms to develop on], but you still need someone skilled at it if they're maintaining and supporting your company's public face in any situation.

Gary (-;
#55
12/02/2005 (9:03 am)
This is probably a really stupid question, but if 1.4 will not currently compile on Linux does that not also mean that TBE/GCC cannot be used to compile it on Windows?
#56
12/02/2005 (11:32 am)
from Simon Love
Quote:
There was a discussion on http://www.gamesareart.com/ about some indies (not GG related) actually settling down with a specific Linux distro, making bootable Linux cds with indie demos built specifically for it. Unfortunately I can't find the damn forum topic again.

The way I see it, GG has the power and influence to make this concept work. Turn a specific Linux distro into a indie-game/dev OS. It wouldn't be targeted at Linux users either, since it would technically come on a bootable CD that pretty much any PC can read. It wouldn't be different from booting up games with various boot disks in the old DOS days, and from what I understand, even lower-spec systems could perform admirably well without the heavy Windows OS load.

This is an excellent idea which appears to be over the head of everyone in this thread. I don't think people have understood whats being said there.

This options means you don't have to install the game and be concerned with flavour issues, be it Win 95,98,XP, RedHat etc because you are providing the operating system along with the game which solves many of the issues. The operating system will be the barebones version required to run the game so it realistically wont need to add more than a few meg to the size of a download. Keep in mind that there are versions of linux which fit on a 1.4meg disk. Adding X-server and a few other necessary packages won't fatten it by more than a few meg.

If you selling games on CD's, it seems like a good way to go. Downloadable games might not be practicle because you will require the user to create a CD before playing the game....
#57
12/02/2005 (2:48 pm)
Knoppix and Gentoo Games both have mostly solved the whole bootable-linux-distro-with-game problem.

The problem is that developers still choose not to use them.

Gary (-;
#58
12/02/2005 (7:42 pm)
>>If you selling games on CD's, it seems like a good way to go. Downloadable games might not be practicle because you will require the user to create a CD before playing the game....

I've seen some Linux distros "run OS as an app" under Windows/Mac, thus removing the need to boot from a liveCD. How feasible would this be for games? At the very least it would be an interesting way to fake cross-platform development...
#59
12/02/2005 (9:03 pm)
@Walter, yep, I heard it was possible but have no idea how they pull it off.
#60
12/04/2005 (2:49 pm)
I have made a cursory look at the comments and reasons for what you need to do in the Linux arena.
However, I need you to consider this from my experience of Torque:
If a Linux port of Torque did not exist I probably never would have considered Torque as an engine. I run all my software under Linux because it is so stable. Linux also represents a lower cost to entry for using Torque. I do not even own a MS compiler since I can compile for MS under Linux. I understand most of the so called computing world runs Windows, but that is going to change eventually. I guess there should be at least, but maybe not current, a complete port of Torque for Linux to capture the developers that would not consider it otherwise.