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
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
About the author
#62
So I hope we can do something about it.
12/08/2005 (11:17 am)
YEah Linux and MAc support was a BIG deciding factor in purchasing Torque in the first place.So I hope we can do something about it.
#63
>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.... Anybody heard
>of/thought about this? Just a thought anyways, thought it was relevant.
I have heard/thought about it. As a matter of fact, creating a Linux distro
from scratch is one of the projects on the back burner for me at the moment.
(I'm busy getting acclimated to 1.4 at the moment)
As you pointed out, this is not a new idea. Take a look at "Linux Live Game
Project" for instance:
http://tuxgamers.altervista.org/Llgp.php
As I see it, the problem isn't the technical feasability of the project but the lack
of compelling software and marketing once such a distro is created. Retro
gaming might be back but you can't build a gaming platform on rehashes of 8-bit
arcade games alone.
phong
12/09/2005 (9:56 am)
Simon Love wrote:>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.... Anybody heard
>of/thought about this? Just a thought anyways, thought it was relevant.
I have heard/thought about it. As a matter of fact, creating a Linux distro
from scratch is one of the projects on the back burner for me at the moment.
(I'm busy getting acclimated to 1.4 at the moment)
As you pointed out, this is not a new idea. Take a look at "Linux Live Game
Project" for instance:
http://tuxgamers.altervista.org/Llgp.php
As I see it, the problem isn't the technical feasability of the project but the lack
of compelling software and marketing once such a distro is created. Retro
gaming might be back but you can't build a gaming platform on rehashes of 8-bit
arcade games alone.
phong
#64
12/15/2005 (7:33 am)
For thos wishing to stay current on the latest Linux happenings or to pitch in and help support the linux platform head over to this form thread
#65
12/15/2005 (5:30 pm)
I would like to congratulate Ron and the others involved in getting 1.4 almost ready to go on Linux, a good example on how the community can help GG continue supporting the OS without lagging behind too much. I feel that is perfectly acceptable to have the Linux builds available 1 month after the Win/Mac installers, or even not to have the official installers and instead direct people to checkout CVS and build the SDK. You have to remember that OSX also uses GCC, and with the new Mac Intels there is more incentive to keep the tree as platform-agnostic as possible.
#66
-Ajari-
12/17/2005 (9:39 am)
Less than 3% of total revenue? What's the point? Little to no support? Seems like more trouble than it's worth. It probably costs more to convert a game/app to Linux than what you get back from it. Unless you have someone outside of the company willing to work for free for the "love" of Linux, it's not too smart of a business move to keep supporting and "wasting" resources on it. But I'm glad to hear some people are still dedicated enough to make things happen with it. I just wouldn't lose sleep over it if I were GG or any other simmilar company.-Ajari-
#67
I'm not a professional games developer, so I'm sure there are a lot of things I don't know about Torque and game engines in general that I'm sure make the creation of a cross-platform engine a realy complex task. But I have developed quite complex applications in a cross-platform way and I know that it is possible and not as difficult as most people say it is.
In my opinion, the first thing you should do is switch to a better/easier to use build system, like Scons or something not from the stone age as Makefiles are - no offense meant to Makefiles users; Makefiles are very powerful but personally, I find them very (too?) complicated and I think newer systems can replace them perfectly and perhaps with some advantages (at least the advantage of being simpler and easier to use). This move alone would simplify the process of starting to use Torque a lot, because one single (and stable) build system for every platform would mean you would only have to write one tutorial or documentation page about how to compile it and new users wouldn't have such a hard time to get it to compile. Someone told me on IRC that you're making your own build system. This may be good news but I still ask if it's good to reinvent the wheel when there's already some excelent build systems available.
And then comes a task that is probably more difficult (depending on how you've built Torque from the start), which is to create a cross-platform base to build upon. I don't know if this is what has been done but if it was, perhaps it could have been done better, because if such a design is well planned, fixing cross-platform bugs is very easy. The big rule you have to stick to is not to use compiler-specific stuff and things shouldn't be hard to keep portable.
Of course I'm just saying this and I'd probably would never be able to do better than GG's folks have but I can't help but feel that I just spent $180 for almost nothing. I want to make games, not waste my time applying patches and figuring out why things stop working. For that, I would have stayed with open source stuff, like SDL, Ogre3D... :(
Lastly, sorry for not having a more insightful comment to leave here. I'm probably venting more than commenting but I just feel really really frustrated with this :(
04/17/2006 (9:36 am)
Jeff and the rest of the GG folks, don't take this personally or as an offense but I feel kind of tricked for buying TGE and T2D... The conclusion I came to is that if I want to develop with Torque, I have to use Windows (and by "develop" I also mean not wasting time hunting for those little stupid platform-incompatibility bugs), even though you say your products work on Linux... Yes, I know T2D says that Linux support will be provided by the community but come on, I expected to at least be able to use it! :( I don't have much of a problem in asking questions about *how* to use T2D in a community forum or IRC channel but I would expect the product to be minimally functional. Instead, I got something I can't even compile.I'm not a professional games developer, so I'm sure there are a lot of things I don't know about Torque and game engines in general that I'm sure make the creation of a cross-platform engine a realy complex task. But I have developed quite complex applications in a cross-platform way and I know that it is possible and not as difficult as most people say it is.
In my opinion, the first thing you should do is switch to a better/easier to use build system, like Scons or something not from the stone age as Makefiles are - no offense meant to Makefiles users; Makefiles are very powerful but personally, I find them very (too?) complicated and I think newer systems can replace them perfectly and perhaps with some advantages (at least the advantage of being simpler and easier to use). This move alone would simplify the process of starting to use Torque a lot, because one single (and stable) build system for every platform would mean you would only have to write one tutorial or documentation page about how to compile it and new users wouldn't have such a hard time to get it to compile. Someone told me on IRC that you're making your own build system. This may be good news but I still ask if it's good to reinvent the wheel when there's already some excelent build systems available.
And then comes a task that is probably more difficult (depending on how you've built Torque from the start), which is to create a cross-platform base to build upon. I don't know if this is what has been done but if it was, perhaps it could have been done better, because if such a design is well planned, fixing cross-platform bugs is very easy. The big rule you have to stick to is not to use compiler-specific stuff and things shouldn't be hard to keep portable.
Of course I'm just saying this and I'd probably would never be able to do better than GG's folks have but I can't help but feel that I just spent $180 for almost nothing. I want to make games, not waste my time applying patches and figuring out why things stop working. For that, I would have stayed with open source stuff, like SDL, Ogre3D... :(
Lastly, sorry for not having a more insightful comment to leave here. I'm probably venting more than commenting but I just feel really really frustrated with this :(
#68
Have you looked at the Torque code? It's got a modular platform layer system; all Linux-specific code is segregated into the engine/platformX86UNIX directory, just as we segregate all Mac/Windows code. (Because of this, you can bring Torque up on a completely new platform in as little as a few weeks of part time work.) We regularly compile on VC7, VC8, and GCC 3 and 4, just for our Mac and Windows support.
If you're interested, we're looking for people to contract to assist with Linux support. We're more than happy to put resources behind Torque on Linux, we just can't spare the time in-house to make it happen.
04/17/2006 (11:01 am)
We have an automated build system set up internally (which is probably what you heard about on IRC), and it works great - it's based on PMEase's QuickBuild. We're also doing research into good cross platform automated makefile generators, but there are very few good choices. I'm not the one doing that research, or I'd give you a little report on which ones we found were potential candidates. :)Have you looked at the Torque code? It's got a modular platform layer system; all Linux-specific code is segregated into the engine/platformX86UNIX directory, just as we segregate all Mac/Windows code. (Because of this, you can bring Torque up on a completely new platform in as little as a few weeks of part time work.) We regularly compile on VC7, VC8, and GCC 3 and 4, just for our Mac and Windows support.
If you're interested, we're looking for people to contract to assist with Linux support. We're more than happy to put resources behind Torque on Linux, we just can't spare the time in-house to make it happen.
#69
No, I haven't looked at Torque's code yet. I tried to put TGB to work but since I couldn't, I gave up and went on to play with TGE. I kind of gave in to the fact that I would have to wait until a new version of TGB would come out for me to be able to work with it.
I imagined a modular platform/OS layer was the method adopted. I'd say it's the only sane way to build something like Torque ;) And I'm probably mistaken on this but I can't help but have the feeling that something simple is being overly complicated, because of the problems with the Linux version. From my experience (not on game development, note that), if things are done right, after adding the base code for Linux (which shouldn't change that much), the rest is almost trivial. But as I said, my experience is not on game development, so I can be (probably am) mistaken.
As for assisting with the Linux version, I'd be happy to. I don't know how much of a help I could be, though, first of all because I don't have a lot of spare time and second, because I purchased TGE and TGB just today, so my knowledge of the engines' internals is absolute 0 ;)
But I wouldn't mind to mess around with it on Linux and join a community support team or something like that. Who should I talk to in order to figure out how I could help?
04/17/2006 (1:21 pm)
Hi Ben.No, I haven't looked at Torque's code yet. I tried to put TGB to work but since I couldn't, I gave up and went on to play with TGE. I kind of gave in to the fact that I would have to wait until a new version of TGB would come out for me to be able to work with it.
I imagined a modular platform/OS layer was the method adopted. I'd say it's the only sane way to build something like Torque ;) And I'm probably mistaken on this but I can't help but have the feeling that something simple is being overly complicated, because of the problems with the Linux version. From my experience (not on game development, note that), if things are done right, after adding the base code for Linux (which shouldn't change that much), the rest is almost trivial. But as I said, my experience is not on game development, so I can be (probably am) mistaken.
As for assisting with the Linux version, I'd be happy to. I don't know how much of a help I could be, though, first of all because I don't have a lot of spare time and second, because I purchased TGE and TGB just today, so my knowledge of the engines' internals is absolute 0 ;)
But I wouldn't mind to mess around with it on Linux and join a community support team or something like that. Who should I talk to in order to figure out how I could help?
#70
The best bet is contacting Ron Yacketta and asking how you can get involved. He's been our point man for community linux work.
Thanks for offering to help! :)
Ben
04/17/2006 (4:48 pm)
Hey Paul,The best bet is contacting Ron Yacketta and asking how you can get involved. He's been our point man for community linux work.
Thanks for offering to help! :)
Ben
#71
Look at Apache Ant. MSbuild actually copied this as ant came first.
04/17/2006 (5:09 pm)
"We're also doing research into good cross platform automated makefile generators, but there are very few good choices. I'm not the one doing that research"Look at Apache Ant. MSbuild actually copied this as ant came first.
#72
So we're looking at automatic makefile generator tools, ie cmake mpc and others.
04/17/2006 (5:27 pm)
Don't get me wrong - there are plenty of good crossplatform make tools. But we want to be able to use our IDEs. :)So we're looking at automatic makefile generator tools, ie cmake mpc and others.
#73
Seriously, automatic makefile generator tools are fine by me, as long as they work and let people compile the code without problems :)
By the way, Ben, can you tell me who is in charge of TGB on Linux, please? I've talked to Ron but it seems he's into TGE only. Is it David "NfoCipher" Bunt?
04/17/2006 (5:49 pm)
I think Scons has plugins available for Visual Studio, Code::Blocks, KDevelop, Eclipse... Can you tell I really like Scons? :PSeriously, automatic makefile generator tools are fine by me, as long as they work and let people compile the code without problems :)
By the way, Ben, can you tell me who is in charge of TGB on Linux, please? I've talked to Ron but it seems he's into TGE only. Is it David "NfoCipher" Bunt?
#74
04/17/2006 (5:51 pm)
E-mail Justin duJardin.
#75
as an FYI, it is not my decision with respects to working on TGB. I do not have the access to make official changes to TGB. I did ask in a forum thread and Stephen Z said that GG did not want to overload me. I am willing to work on anything for GG ;) just need the go ahead etc..
-Ron
04/17/2006 (6:08 pm)
Raul,as an FYI, it is not my decision with respects to working on TGB. I do not have the access to make official changes to TGB. I did ask in a forum thread and Stephen Z said that GG did not want to overload me. I am willing to work on anything for GG ;) just need the go ahead etc..
-Ron
#76
I wasn't saying you wouldn't work on TGB because you didn't want to (sorry if my previous message has a dubious meaning), I just asked because I thought Ben would know and since you said you weren't sure about who it was... blagh... never mind, I'm too sleepy to be writing here, I end up writing nonsense stuff :)
04/17/2006 (6:23 pm)
Ron, yes, I understood that :)I wasn't saying you wouldn't work on TGB because you didn't want to (sorry if my previous message has a dubious meaning), I just asked because I thought Ben would know and since you said you weren't sure about who it was... blagh... never mind, I'm too sleepy to be writing here, I end up writing nonsense stuff :)
#77
I see that you haven't quite gotten around to these marketing changes yet.
It'd be swell if that meant that CVS HEAD would actually at least BUILD on Linux out of the box...
10/08/2006 (5:49 pm)
Quote: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.
I see that you haven't quite gotten around to these marketing changes yet.
Quote:Automated build
It'd be swell if that meant that CVS HEAD would actually at least BUILD on Linux out of the box...
#78
I would love to work on the other 1.4.2 fixes as well as 1.5, but right now do not have a linux box. I lost my 120GB HDD that was used for dual booting and now stuck on a 20GB POS slow dog. Money is tight so I am not sure when I will be getting an upgrade for the HDD
-Ron
10/08/2006 (5:54 pm)
In Defense of GG, TGE-L 1.42 DID COMPILE OUT OF THE BOX on Ubuntu. I am 1000% positive of this why? I did the work for GG on that release and had several community members helping me ensure it was working etc OUT OF THE BOX (from a cvs checkout).I would love to work on the other 1.4.2 fixes as well as 1.5, but right now do not have a linux box. I lost my 120GB HDD that was used for dual booting and now stuck on a 20GB POS slow dog. Money is tight so I am not sure when I will be getting an upgrade for the HDD
-Ron

Torque Owner Gary "ChunkyKs" Briggs
For the determined: User Mode Linux is one example of how to do it on linux. Co-operative linux is the easiest windows equivalent
If you want to run linux apps on windows, line is possible [although I've never tried this one, personally]. cygwin is the normal standby [although you must recompile].
If you're trying to fake cross-platform development, there's always putting together a build environment for windows on linux and using wine, Codeweavers, or the politicial trainwreck that is Cedega.
Or dual boot or buy a separate machine.These are obviously the "best" way to do it, but some people just can't.
I'm the same as Frank. Linux support is the single biggest reason I use torque.
Gary (-;
PS Sorry for the little bit of bias over one link - I'm pretty damn unimpressed with them, but I felt it wouldn't be fair not to at least link them.