Previous Blog Next Blog
Prev/Next Blog
by date

Linux Expectation Management

Linux Expectation Management
Name:Jeff Tunnell
Date Posted:Nov 23, 2005
Rating:2.3 out of 5
Public:YES
Comments:YES
RSS Feed:GarageGames Blog feedor Subscribe with .
Profile Page:View profile page for Jeff Tunnell

Blog post
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

Recent Blog Posts
List:10/17/08 - Don't Fear the Economy
06/13/08 - The "Better Assholes" Clause
06/09/08 - Working For Big Publishers
06/02/08 - First Day Of The Rest Of My Life
05/29/08 - Make It Big In Games Call For Help
05/15/08 - An Itch That Can't Be Scratched
12/20/07 - Blog O Fix
10/09/07 - Acquisition Fun!

Submit ResourceSubmit your own resources!

Craig Fortune   (Nov 23, 2005 at 21:31 GMT)
Personally I feel with ideas #1 and 2 you'll have people simply following the linux "fanboi" stuff and bitching all over the forums. However #3 really does get my vote, as it gives most up to date point releases being supported whilst not bogging down GG with work for what accounts to only 3% of sales.

At the end of the day, Linux just isn't for gamers, especially the casual market imo. (Feel free to flame :D)

Benoit Touchette   (Nov 23, 2005 at 21:48 GMT)
Unfortunately thems are the facts. Here's waht i think :

1. Makes me kinda a sad, and 2. is so true.

3. That sounds like a great idea GG doesn't have the resources considering the $$ they get back from the platform but a community approach would make sense. I know that i would like the releases to be more evenly matched as problably mainy other linux developers. Note the thing with Linux is you have to identify a baseline that you can say you will support. Here at work (video hardware manufacturer) we boiled it down to rpm based distros supportting glibc 2.3.2 and above and gcc 3.2.x, gcc 3.3.x, and gcc 3.4.x (though technically we build using glibc 2.2.5, and wille eventually add gcc4xx). This covers 80% of whats currently available. There are a number of people on the forums that would probably help out if GG provided that kind of support for a community based initiative. I know i would chip in.

Craig: The linux market is indeed very small, though somewhat vocal at times :) but as a developper i do all of my work under linux and make sure that most of what i code is portable (as much as is possible). Whether or not i actually sell for that market doesn't mean much but i want very much to be able to work with the platform. Seeing that the toolchain used there can be use for mac and windows and that its costs are near zero makes it a no brainer for my needs.

Jonathan Rose   (Nov 23, 2005 at 22:05 GMT)
Don't worry Jeff... this isn't /. :P

Michael Cozzolino   (Nov 23, 2005 at 22:08 GMT)
I agree with the #3 Route. Isn't that the methodology that Linux was built on. I'm no fan of Linux but I know many are and I hope that the Linux guys here go with option 3. I hope they also understand the position that GG is in.

Craig Fortune   (Nov 23, 2005 at 22:09 GMT)
Benoit, I feel you may be forgetting that most of the 'rest of' the tool chain (ie artist tools etc) are primarily windows and/or mac based. So at nearly all points during development you need to really have a windows build going. Obviously that entails having windows anywho... Admitedly theres the sheer factor of just wanting to develop under Linux :D Which as you so rightly put is a "no brainer" in some circumstances.

David Montgomery-Blake   (Nov 23, 2005 at 22:10 GMT)
Considering the metrics that you're working with, it makes sense. I can see this plan generating a lot of "OMG GG STOPS SUPPORTING LINUX!" rumors, though. Look at how prevalent the $500,000 commercial license rumor still is on other gaming sites when a cursory glance at the product page dispells it completely (and has for a long time now).

1. As long as GG tags the linux release as significantly different, I don't see it being a major issue. Linux developers can download the latest and greatest (SVN as in number 3 or the official download), and diff according to the latest and greatest Win/OSX download. Bandwidth consumption doubles on both ends as the user has to download multiple versions and then locate the differences, but if the linux market is a key area, this could be a strong place to gain associates.

2. I think that is an excellent idea. I would also recommend bolding a similar notice in the engine programming segments for TSE and TGE as we still see a number of "3D Gamestudio maked this easier" or "Unity makes that nicer" comments from non-programmers. Of course, I don't know how to make people read something before purchasing it, either.

3. Again, I think this could help integrate some new associates into the GG fold. Having associates with linux expertise and hooks in other linux communities could definitely help as well.

Benoit Touchette   (Nov 23, 2005 at 22:16 GMT)
Craig: Not true i build and test windows builds right in Linux. I even maintain cross-compilation scripts for that purpose. And when Macs move to intel based system it should be possible to easily support it all from one environment. As for graphics for serious use there is Maya and Houdini and XSI available for the platfrom (though not many have recompiled the plugins for that environement). For the lower end there is blender.

Xavier "eXoDuS" Amado   (Nov 23, 2005 at 22:19 GMT)
@Jeff: Me and Ron worked hard on getting 1.4 to compile on Linux, as a matter of fact, I had a patch that made 1.4rc1 compile but that never got applied to HEAD, it was only applied after me and Ron coordinated on getting 1.4rc2 working and he used my patch as a start point, then added unicode support and probably some other things that I can't recall and got it working. I'm not sure all this stuff is in HEAD either yet, although I do have an SDK installer that works out of the box.

The main issue here is coordinating work from the long time linux users of TGE (I've been using it since it first compiled on Linux, used v12 on windows before that) and GG. I'm sure Ben and others are swamped with patches from here and there and coordinating this job isn't very easy. So there's got to be something to do to make the burden a bit less tedious.

Personally I think some parts of the platform code need to be cleared up, there's many things in common with the MacOSX platform and the *NIX platform that could make it a lot simpler to mantain different platforms. Torque is big enough to start worrying about reusing code rather than duplicating effort. Many things that were done for the Mac 1.4rc2 release (I can't remember the name of who did it now) where similar to what we had to do for UNIX, and (I'm not sure here) but they might be similar on windows.

I would be really sad to see Torque dropping Linux support and I would love to do whatever it takes to keep it the way it is.

As for distros, it's not really that hard to make it work in several distibutions, but it's also not straightforward. I could write an article on things to keep in mind and how to do it so that libc++ or sdl or openal don't become problems. John Q. did a great job a while back adding support for a local lib directory that made it easy to run the game on several distros, and we've been succesfull at doing so with Flash Bios this far. Other commercial Linux games do similar things (Like doom3) and run on any distro, at least I haven't had problems running it in a couple of boxes with the same binary installer.

There's definetly work to do, just kinda messy to start on it. But there are tools to do this painless, there's BitRock (which you guys are already using), there's a nice lib dir and there's a nice loki made startup script that favours libs in the lib dir. It's definetly better than it was a couple of years ago, the only issue I keep getting annoyed about is supporting new gcc versions, the compiler changes a couple of lil things but that are used extensively in TGE and you have a big problem on-hands.

Anyway, I won't bother you any more.
Regards,
Xavier.

Benoit Touchette   (Nov 23, 2005 at 22:28 GMT)
Xavier: Indeed, nicely put.

Thijs Sloesen   (Nov 23, 2005 at 22:38 GMT)
Hi Jeff,

First off, thanks for bringing this under the attention of the community in this clear and open way. I really appreciate the fact that you want input from the community about this.

I totally understand that bringing in money to support the development effort is an important factor in deciding whether or not to support (and the degree in which to support) a product and/or platform. After all, nobody wins if wasted effort leads to loss of quality or products on a broader scale.

However, Linux (independent of a specific distro) is becoming more and more of a desktop platform in addition to it's server platform uses. That is one of the reasons I find Linux so attractive, even still in days such as these where Microsoft wants to blow the world away with their multimedia centered Vista (this is not a flame towards Microsoft). And I think it's awesome that an engine with the proportions and quality of Torque is able to run on this system (that would be Linux :p).

That said, one must admit that Linux still is a secondary desktop operating system for a lot of users out there, if they use it at all. And therefore most effort of most developers will still go to the other more popular (among your casual user) operating systems. I have no problems if Torque for Linux would lag behind a few releases if this means that Torque for Linux will still be supported. I just hope that "lagged" will not mean "eventually cancelled".

If GarageGames would decide to make Torque for Linux a "lagging" release, your proposed points #1 and #2 are fine in my point of view since they are most clear towards current and new/potential users. #3 Would be an excellent opportunity to shift some of the work required to get Torque for Linux ready for release, from GarageGames (who understandibly needs attention for more popular platforms) to the developers that actually need Torque for Linux. After all, if they really need it, they will probably make those changes anyway. So why not make it easy for them to roll those changes back to the official release so that with a next update, their changes will still be there?

There is one point of concern about this, though. A lot of multiplayer games have seperate dedicated server versions of their game released. And to be honest, I'd rather run such a server on a Linux or BSD box than on Windows. Not just for security issues, but also for the obvious cost issues (just have a look at the price list of a random ISP). So maybe it would be an idea to split the Torque for Linux product into two seperate branches: a lagged, complete torque build. And a full, (almost) up to date dedicated server build. I don't know the Torque architecture well enough to know if this is feasible, but it sure should be something to consider.

I also think the idea Benoit mentioned is something worth thinking about: making the linux build supported on linux installations with specific package installations (such as specific versions of gcc, suppport libraries etc.) only. That would limit the scope of linux build modifications.

Btw, does this mean that Constructor for Linux will also be lagged?

Lastly,

Many thanks to all the hard work John Quigley (and the other contributors) put into the linux build. It is much appreciated!

Anyway,

my two cents.

Regards,

Thijs
Edited on Nov 23, 2005 22:48 GMT

David Montgomery-Blake   (Nov 23, 2005 at 22:52 GMT)
@Thijs
The Master Server source code is included in TNL. You could utilize that on linux. I'm not sure how many of 1.4's updates have been in the netcode area or how it will fold into TNL, but that's always an option.

Jeff Tunnell   (Nov 23, 2005 at 23:02 GMT)
Thanks so much for the thoughtful posts. Let me make it perfectly clear. GarageGames is not dropping support for Linux. We are simply trying to manage expectations. Ideally, Option #3 where we help the community make support easier would be the best option.

Also, I am sorry that I did not include thanks to Ron and Xavier for the current Linux support they have been giving us. If they are up to the task, they would be ideal to lead the community Linux team:)

Keep the comments coming. After a couple of days (don't forget this is a holiday weekend in the USA), we will attempt to summarize the comments and have some action items to move forward on this issue.

-Jeff Tunnell, GG

Matt Fairfax   (Nov 23, 2005 at 23:13 GMT)
Quote:

Btw, does this mean that Constructor for Linux will also be lagged?


We are working closely with Ron to make sure that we will have a version of Constructor running on Linux. Whether or not it will be available right at launch remains to be seen (it would be silly to delay the launch significantly just to wait for the linux version) but we very much understand the lack of good brush editors on Linux (and Mac).

Simon Love   (Nov 23, 2005 at 23:26 GMT)   Resource Rating: 5
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.

Anybody heard of/thought about this? Just a thought anyways, thought it was relevant.

Mike Kuklinski   (Nov 23, 2005 at 23:32 GMT)
I have had Linux users pester me for Linux builds of one of my projects in particular, which is built onto TSE. Failing them for having Cedega, I was forced to make a TGE Legacy build of it, just so they could use WINE -- this is a pain in the neck... if there were an adequate, free interpreter for Windows->Linux... that supported DX...

Xavier "eXoDuS" Amado   (Nov 23, 2005 at 23:56 GMT)
@Jeff: Thanks, and I would love to keep helping in whatever I can.

Xavier "eXoDuS" Amado   (Nov 23, 2005 at 23:58 GMT)
@Mike: If you were a Linux user you wouldn't want a Windows emulator running just to use an app, native applications are much better. I don't see you running a Linux or Mac emulator on Windows to run apps from those OS's. Not that there is any emulator for windows as polished as WINE or Cedega on Linux.

David .NfoCipher. Bunt   (Nov 24, 2005 at 00:09 GMT)
Jeff, I'd like to help out keeping T2D Linux happy. As there are plenty others that keep TGE running under Linux, there seems to be little to no love on the T2D side of things. As my current interests (and projects) revolve around T2D, it's beneficial to keep it up to date. I not only see T2D as a really good game engine, I also see it as Linux's solution to Macromedia Director -hence my commerical license purchase.

Josh Williams   (Nov 24, 2005 at 00:56 GMT)
David, we'd like to have you help out with Linux too, if you're up for it. Sorry I hadn't got a chance to reply to your email yet. Melv and I will be in touch soon!

Jeff Tunnell   (Nov 24, 2005 at 00:58 GMT)
David- Cool you should mention that. We see T2D as a Director replacement too! Keeping up the T2D Linux version for us would be a huge help.

Jeremy Noetzelman   (Nov 24, 2005 at 01:08 GMT)
My long held (and often vocally expressed) belief is that there isn't much ROI on a full linux build, but a linux dedicated server is critical.

Mike Kuklinski   (Nov 24, 2005 at 01:12 GMT)
Exodus -- I use CygWin occassionally for Linux apps... otherwise, it is a major hassle managing two codebases that are supposed to do the same things. Perhaps if greater priority were put forth towards implementing true GL support in TSE and perhaps even fixed-function, so non-shader folk and non-DX folk can use it...

Keith Frampton   (Nov 24, 2005 at 02:41 GMT)
Let me chime in as well & say that option three would be fantastic. I would prefer to see the release as close as it can be with its Windows/Mac counterparts (particularly for Torque 2D). For the game I'm working on (Twin Distress with MGT), my coding at home is done on Linux (as is my gaming... I'm a Linux only gamer). I have to rely on others to compile a Windows build for me if I need it.

I would love to help out as well, but I'm not up to speed yet on C++ or the engine itself (I hope someday I will be). Until that happens, I try to help out in other areas where I can like community support in games like Orbz.

As for Linux not being for games.... come into Lore sometime & I can show you otherwise. ;-)

Simon Love mentions focusing on a specific distro (yes, I know this in itself can start all kinds of holy wars in Linux), but one decent option already out there would be Linspire. Its the complete opposite of the distro I use myself (Slackware), but the user base there is probably a different breed than many other distros. CNR alone makes it rather simple to install software. I think more users would be likely to buy games there. Just my two cents Canadian worth. :-)

One last thing.... GG has done more as far as I'm concerned for the Linux gaming/developemnt market than any other company out there. I just want to thank you guys for doing this. If not for the Linux support you have shown it, I never would have come across this good community, nor be involved with the projects I am presently working on.

NewYork Virtual   (Nov 24, 2005 at 02:43 GMT)
Totally agree with Xavier "eXoDuS" Amado and Thijs Sloesen.
dont drop linux support (now or future), Torque is a such
nice product, i believe "suport linux" is a investment, just the word
"cross platform support" is worth the investment, maybe the
major part of your revenue are relate to that, look what google
(their thousands servers running on linux) did. NASA is good
example, they dont bring much of revenue, but they do make
Torque looks good, and i dont think NASA is going to run Torque's
dedicated server on Win servers. All i am saying(just a suggestion)
is that it is worth to have a dedicated programmer to do the linux support.
Edited on Nov 24, 2005 02:47 GMT

Joe Rossi   (Nov 24, 2005 at 04:21 GMT)
I have very little Linux experience but... what is so difficult? Has anyone considered the SDL library?

Charles B   (Nov 24, 2005 at 06:02 GMT)
You only got my money because there was linux "support".


I too would like linux versions in step with to those other oses.


>> Not much community support from Linux users coming back to Torque.
People can't even compile it the way it is now in 1.3 on recent distros.

What kind of community do you expect when it's not easy to use?


>> Little to no revenue (less than 3% of what we do).
How many GG people are paid to work linux?

If you work in a soup kitchen you could say that there's little to no revenue so then should you stop doing it?

So wait, indie gaming, but only on platforms that have large user bases. nice.
That's like the indie film festival requiring all films be shot with digital imax cameras.


>>Little to no love from the Linux community for our efforts
I have bought as much as I can.
I'm still waiting for show tools - show me the tool I'll show u the money.
What else can I do?

Can I mark my money to only go for linux development costs?

Jeffrey Bakker   (Nov 24, 2005 at 07:32 GMT)
This is not very good news for me or other Linux developers, but I can see your point of view. It's true, Linux isn't quite for the game market, which is one of the only reasons why I don't use Linux exclusively (although I have before), but I think this needs to change. In the future I'd love to see more and more popular titles on Linux and I know that your past and present efforts have been making this possible for game developers. This is one of the main selling points which made me choose Torque in the first place.

For anyone that says to "just use WINE" for running games in Linux, I respond by saying that Linux needs to run NATIVE Linux binaries. While Windows "emulation" is a very great effort and a complicated technology which deserves its credit, it is actually very damaging to native Linux application/game development (IMO). I would see no point in having let's say an XBox running a PS2 emulator, no point relating to boosting the XBox games market (eg. people may buy more XBoxes, but it wouldn't help the sale of XBox games). In order for any platform or OS to become more successful, it needs its own games or applications.

For nearly every Linux application I have developed, I have ported to a native Windows application, and vice versa (even if it means a complete rewrite). And all this I've done for FREE. Of course I don't expect companies to do this because time is money, and businesses are not charities and I realize that. But when you say "Linux does not love back", remember this: Any GG computer that even has Linux, is running an OS and applications made from millions of hours from thousands of people (including myself) who have put their blood, sweat and tears into it while they could be spending time with their friends or families, and they ask for nothing in return. This OS is made from love for technology. Whether it's platonic love, or the kind that throbs underneath its pants, Linux loves you for every byte it takes up on your hard drive. ;)

Whatever happens, I am very grateful for GarageGames to have Linux compatibility to begin with (you guys ROCK!!!), as most companies wouldn't even make an effort to put their games on Linux or even think twice about it. I just hope that efforts in Linux support will be continued for a long time to come. :)

Cheers.
Edited on Nov 24, 2005 08:22 GMT

Dreamer   (Nov 24, 2005 at 08:32 GMT)
*Not retracted, but I decided it was too rambling*
Will try to post something a little more coherent next time.
Edited on Nov 24, 2005 10:52 GMT

Gerald Fishel   (Nov 24, 2005 at 09:06 GMT)
>>If you work in a soup kitchen you could say that there's little to no revenue so then should you stop doing it?
>>So wait, indie gaming, but only on platforms that have large user bases. nice.

GG is not a charity, and the overwhelming majority of indie game developers develop on platforms with large user bases. Not all of them do, so GG isn't putting all of their resources into those platforms, but they're going to get the bulk of the support; to do otherwise would not be benificial to indie gaming.

Gerald Fishel   (Nov 24, 2005 at 09:17 GMT)
>>But then again so do windows users, and the process for a newbie windows user to upgrade a Video driver is a far more harrowing experience than even recompiling the kernel for a person who has taken the Linux plunge.

For the most part, upgrading a video driver for Windows these days involves downloading a file, clicking 'Open' when it's done downloading, clicking Next Next Next, then OK to reboot.

Ben Garney   (Nov 24, 2005 at 09:18 GMT)
We're always going to be open to supporting Linux - the question is more how many resources can we justify putting on it, and who from the community is going to step up and make it really rock?

Most of the really cool projects going on that GG is involved in have a strong community component. Constructor is with several awesome community members. Torque2D started out as something Melv was working on. Lighting Kit started out as just John and now represents a collaboration, especially on the marketing side. (John you rock! ;) Same with the TST Pro. Ed Maurina's book has had input from us as well as tons of hard work from Ed.

Linux support above everything else is a prime target for community involvement. Linux itself was made possible through open collaboration! We just want to make it clear to the community ie, you guys, that if Linux support is a priority, then you need to step up and work with us to make it happen. We definitely want to enable Linux support. But we just can't justify dedicating a developer internally to the task. Generous folk like John Quigley, Ron, Xavier, Greg, and others have stepped up in the past to make this happen, and I am confident that people will continue to contribute to make this happen... But it won't magically happen on its own if no one lends a hand. :)

I guess what I'm getting is that while we _are_ a business, we also recognize that a lot of important things don't have dollar amounts attached to them. And because we have a good rapport with you guys, we can help you do things that it wouldn't necessarily make sense for us to do at a given moment. Like writing fancified model viewing tools, or new lighting models, or resources to integrate with your VR helmet/driving simulator/chia pet, or improving Linux support. And _that_ is something that does make good business sense.

So let's make this happen. :)

In that vein, I've started a thread here, in the private SDK linux forums, to see what sort of options for collaboration there are. If you're a linux dev and want to see Torque more strongly on that platform, drop in. Meanwhile, I'm sure a lot of good discussion on things other than the nitty gritty "let's make it hapen" conversation will continue to happen here. :)
Edited on Nov 24, 2005 09:21 GMT

Tom Bentz   (Nov 24, 2005 at 10:18 GMT)
Wow this community is cool...

Gregory "Centove" McLean   (Nov 24, 2005 at 13:28 GMT)
@Jeff,
As to point #3 (Too many distros. Much incompatibility. Moving target.) The best way to handle this would probably be to pick say, http://www.linuxbase.org/, as the base os specification and let the distro's worry about making the distro compliant. As to the moving target, the only real _big_ pieces that are a moving target are gcc and the ever changing c++ madness and glibc with the treading stuff. Using SDL to manage the glibc issues mitigates the issue with glibc changes. And well I dunno what to do about gcc.

I'm all for managing expectations.

Thomas \"Man of Ice\" Lund   (Nov 24, 2005 at 20:30 GMT)
As said by someone else - a Linux server version would be a must for me and most likely a lot of others.

I would never (cost reasons, maintainability and ease of hardening) run my public game servers on anything but Linux.

I can live without a desktop Linux for the obvious reasons listed by Jeff - how sad they may be. Market penetration vs. effort is simply at the moment not worth it.

So if at all possible - please please make the server side run on Linux.

Sidenote:
I'm impressed by the good and mature answers in this potential flame thread. Great community

Thijs Sloesen   (Nov 24, 2005 at 20:45 GMT)
I would like to add one more thing that we should be on the lookout for. Say we will have a lagged Linux version of Torque. Some point releases which have seen the Windows light but not yet the Linux light may be so impressive that developers will jump right into it because they don't want to miss out on the features. But what if the Linux version does not progress as fast as we'd like and that developers will be at the point of shipping before the Linux version has caught up with the current Windows version. Chances are that the developer will drop the Linux version (at least for a while) so they can ship the Windows version of their game. But if that happens a lot, or even for a long time, developers might stop planning Linux versions of their games simply because they need to make money themselves as well. Will this not effectively render the Linux version of Torque out of service because interest will fade away, and with it, community contributions? This might not be true for Linux-only developers, but it could be more that true for cross-platform developers.

Just something that I thought of this morning. What are your thoughts on this?

Regards,

Thijs

Ben Garney   (Nov 24, 2005 at 22:53 GMT)
Two further points:

1. Dedicated server on Linux will always happen. It's a great server platform. Good linux-specific tools/docs/fancy X11 integration may not happen quickly or at all, depending on who steps up to the plate.

2. You can ALWAYS take a code dump from windows/mac and port it over. 80% of our effort goes into core code that runs on all platforms... Not just on Mac/Win32/Linux, but also more exotic platforms like Solaris, PS2, Xbox, and XBox360. Unless we change the platform layer and use that change in a specific piece of code, porting something over to Linux is mostly a matter of copying a file, and perhaps tweaking compiler settings a bit. And while there's lots of room for improvement in the Mac & Linux platform layers (just look at how much better Mac is now... and wait till you see how far Paul is gonna take it.), that all lives behind the interface.

Even if the community never contributes (which I doubt - you guys are way too awesome for that :) and we never put any time into it, Torque is never going to be very far from working on Linux. It is designed for portability, and getting a portable app to run on POSIX and OpenGL isn't all that tough. ;) Just takes time and love.

IGotBigBunz   (Nov 25, 2005 at 00:13 GMT)
Gotta have linux for dedicated servers, period.

Ben Garney   (Nov 25, 2005 at 00:51 GMT)
Definitely.

Anton Bursch   (Nov 25, 2005 at 01:13 GMT)
This is from the publishing FAQ
Quote:


9. Are there any other requirements?
Your game must run on MAC and WIN. We have found that the Mac market is very receptive to indie games and 65% of our game sales are for the MAC. Linux is a little more of a labor of love, with only 7% of our sales coming from that market. Unless your WIN game is extremely hot or it has the capability of being ported to the Mac or Linux, GarageGames is not the right place to have it published.



Will some of the publishing requirements be changing due to so many changes in Torque technology?

Ben Garney   (Nov 25, 2005 at 01:46 GMT)
Why would they need to change? The FAQ seems to reflect our current state of affairs (more or less) pretty accurately.

Anton Bursch   (Nov 25, 2005 at 02:33 GMT)
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. :)
Edited on Nov 25, 2005 02:52 GMT

Ben Garney   (Nov 25, 2005 at 04:42 GMT)
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. :)

Media @ KrabbitSoft Studios Inc.   (Nov 25, 2005 at 06:04 GMT)

Edited on Dec 06, 2005 17:16 GMT

varmint   (Nov 25, 2005 at 06:15 GMT)

Edited on Dec 06, 2005 17:05 GMT

Steven Peterson   (Nov 25, 2005 at 06:37 GMT)
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
Edited on Nov 25, 2005 06:39 GMT

varmint   (Nov 25, 2005 at 06:49 GMT)

Edited on Dec 06, 2005 17:05 GMT

Keith Frampton   (Nov 25, 2005 at 13:00 GMT)
@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!

Benjamin Bradley   (Nov 25, 2005 at 20:22 GMT)
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.

Mark McCoy   (Nov 26, 2005 at 00:50 GMT)
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.

Nathan Sewell   (Nov 26, 2005 at 08:45 GMT)
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.

Anders Jacobsen   (Nov 27, 2005 at 19:00 GMT)
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 :)

Gary "ChunkyKs" Briggs   (Nov 29, 2005 at 00:59 GMT)
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 (-;

Sean H.   (Nov 29, 2005 at 16:21 GMT)
"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?

Gary "ChunkyKs" Briggs   (Nov 29, 2005 at 19:40 GMT)
@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 (-;

Wysardry   (Dec 02, 2005 at 17:03 GMT)
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?

Duncan Gray   (Dec 02, 2005 at 19:32 GMT)
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....

Gary "ChunkyKs" Briggs   (Dec 02, 2005 at 22:48 GMT)
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 (-;

Walter Yoon   (Dec 03, 2005 at 03:42 GMT)
>>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...

Duncan Gray   (Dec 03, 2005 at 05:03 GMT)
@Walter, yep, I heard it was possible but have no idea how they pull it off.

Frank Carney   (Dec 04, 2005 at 22:49 GMT)
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.

Gary "ChunkyKs" Briggs   (Dec 05, 2005 at 20:06 GMT)
@Walter: Don't do it to yourself, man. You're slapping a couple spare layers of gadgetry between your OS and application to run that app.

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.
Edited on Dec 05, 2005 20:08 GMT

CDK   (Dec 08, 2005 at 19:17 GMT)
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.

Sangwoo Hong   (Dec 09, 2005 at 17:56 GMT)
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
Edited on Dec 09, 2005 17:57 GMT

Ron Yacketta   (Dec 15, 2005 at 15:33 GMT)
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

Mauricio T P   (Dec 16, 2005 at 01:30 GMT)
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.

Ajari Wilson   (Dec 17, 2005 at 17:39 GMT)
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-
Edited on Dec 17, 2005 17:48 GMT

Raul Pedro Fernandes Santos   (Apr 17, 2006 at 16:36 GMT)
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 :(

Ben Garney   (Apr 17, 2006 at 18:01 GMT)
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.

Raul Pedro Fernandes Santos   (Apr 17, 2006 at 20:21 GMT)
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?
Edited on Apr 17, 2006 20:22 GMT

Ben Garney   (Apr 17, 2006 at 23:48 GMT)
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

Chris R   (Apr 18, 2006 at 00:09 GMT)
"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.

Ben Garney   (Apr 18, 2006 at 00:27 GMT)
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.

Raul Pedro Fernandes Santos   (Apr 18, 2006 at 00:49 GMT)
I think Scons has plugins available for Visual Studio, Code::Blocks, KDevelop, Eclipse... Can you tell I really like Scons? :P

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?

Ben Garney   (Apr 18, 2006 at 00:51 GMT)
E-mail Justin duJardin.

Ron Yacketta   (Apr 18, 2006 at 01:08 GMT)
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

Raul Pedro Fernandes Santos   (Apr 18, 2006 at 01:23 GMT)
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 :)

J \"hplus\" W   (Oct 09, 2006 at 00:49 GMT)
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...

Ron Yacketta   (Oct 09, 2006 at 00:54 GMT)
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

You must be a member and be logged in to either append comments or rate this resource.