Game Development Community

Linux Collaboration

by Ben Garney · in Torque Game Engine · 11/24/2005 (1:18 am) · 490 replies

Hey guys,

Based on the discussion happening at Jeff's .plan, I'm starting a thread here in the private forums so that Linux Torque developers who are interested in seeing stronger Linux support can get more involved in the development process.

This is also a chance to help get more Torque projects onto Linux. There's a bit of a shortage of reliable Linux-enabled developers that are willing to do builds, help port, etc.

So if you want to see across-the-board Linux support happen, you're a good dev, and you're willing to donate a little time to the cause, consider volunteering. :)

(And don't think this is a thankless job, either - of the four Linux guys I've worked with, one now works at GG doing XBox 360 development, one does builds for many games, one is able to make money doing contract work, and another is working on a kick ass RTS with a now-GG-employee... This is a great opportunity to get more involved in professional game dev, get some nice perks, or just earn the respect & adulation of your peers.)

Having a list of people who are interested in this sort of thing will be a big boost to anyone trying to get their product on Linux, including things like GG getting future Torque releases out. :) Instead of scouring the web, people can just check here. Fast, quick, easy.

Thanks for taking the time to get involved!
Ben
#461
03/06/2006 (7:16 am)
2.5 weeks to GDC guys, and we're in serious crunch mode. I can't promise anything at all right now, but I will ping on this later in the week (teaching a TGB boot camp this week) to see what can be done, but absolutely no promises, timing is just really bad.

Sorry to be harsh, I know just how much work has gone into this, but I wanted to be clear on the realities.
#462
03/06/2006 (7:44 am)
All,

I know the feeling, I am an outsider looking in just as the rest of you are. I to am at the mercy of GG's time schedule with respects to e-mail replies, thread replys or what have you. Just because I am an associate, working on linux with CVS write access does not mean I stand in a seperate line from the rest of you! I to have to contend with other high pri projects and events (TGB boot camp, GDC, constructor, TLK, other NDA things that take precedance to anything/everything linux related.) If you take a look at the past few years (even when J.Q was the linux man) linux always took a back seat to everything else.

At times it is very frustrating, but tis how it has always been and more than likely will always be. Even in the industry linux gets the sort end of the stick to windows/mac.

Stephen,

Have a wild time at TGB, Tell Melv I said Hi! wish I could be their speaking about TGB linux or even going to GDC to speak about how TGE is crossplat and works on linux (with some spiffy demo etc..) Hell, pimping TGE at the linux summit would more than likely be a better gig.. but as it has always been.. out of site out of mind ;)

-Ron
#463
03/06/2006 (7:48 am)
@Dreamer

Had the operation on 2/27, with complications that landed me in ICU for Monday night and 1/2 of Tuesday. Sent home on Thursday with a JP drain tube in my lower belly and a Catheter, not it the best of shape but what can yah do.

@All,

Please forgive if my thread posts, e-mails are blunt and seem harsh or off base. The drugs I am on are good, but make one fogy brained (nothing new for me hey?). So I might say somehting I normaly would not, but what the hell.

-Ron
#464
03/06/2006 (8:16 am)
@Ron, One of TGE's biggest selling points is that it is crossplatform, or well it's supposed to be. I have to totally agree with you, it does seem like Linux gets the short end of the stick when it comes down to time to do anything involving it around this place. I mean my god, we did successfully pull off our own port... Well you guys did, while I mostly sat back and watched, thank you very, very much.
I guess the problem all boils down to what Jeff said that started this whole thing... Linux doesn't love back, it's a mindset thing, they don't see dollars coming from the Linux community, so why spend resources to support it any longer.

@GG, I'm glad that you are prepping for GDC and have a full plate ATM with other things, like boot-camp, but honestly how long would it take to post a link to the installer the community made?
You're always in serious crunch mode, every .plan and blog on this site has said just exactly that much since I bought my first TGE license a few years ago, and reading back further it seems to always have been the case. I know you probably don't mean it that way, but honestly I think I speak for everyone when I say... We are starting to feel bit snubbed here.
Anyways I'm probably coming off as being a bit crass or inflammatory here, and it's not meant that way.
In fact, I don't know about the rest of the people here, but hell I would gladly pay more for a linux version to help offset the costs of keeping one up to date and in sync with the windoze and mac versions, but you guys need to release it, you need to offer it for sale, or I can't buy it, therefore you are not seeing my dollars at the moment.

@Stephen thanks for responding quickly, it's helpful to know whats going on.
#465
03/07/2006 (6:43 pm)
@Dreamer,

All I asking for is constructor for linux. Showtools pro I can live without.

I will HOLD my breathe until I see some linux constructor or even linux constructor screenshots.
#466
03/07/2006 (7:14 pm)
@Charles, I gave up on a Linux TST Pro a very long time ago, they have shown pretty clearly that they have no desire to get a Linux port of it going, so I just won't buy it even for a windows or mac box, regular show mod in a stock TGE does pretty much everything I need anyways.

As to Constructor, in another thread Matt mentioned that he has left the porting of constructor on the mighty shoulders of our dear friend Ron. I wish Ron had a donation link, I'ld donate good money to keep that guy going, and I'll hold off on purchasing constructor until a Linux version comes along, I recommend everyone purchase constructor on the day of release whether or not it's something you actually need, and make sure that GG understands the reason you are purchasing it is because it's got a little penguin sticker on it ;)

Assuming of course GG ships the linux version the same day as the windoze and mac versions.
If they delay a linux version, I'm going to delay my purchase of constructor, just like I wisely delayed my purchase of TST Pro.
#467
03/07/2006 (8:05 pm)
Unfortunately guys, it's just a harsh reality...let's look at the cross-platform issue from a realistic standpoint for a moment:

Windows--ok, pretty easy, most of us develop on it.

Mac--ok, bit harder: wierd stuff, 2 different cpu's to support, but hey, once done it's done.

Linux: You guys have posted what, roughly 8 different primary distributions here? Each of which requires it's own little special tips and tricks, as well as a separate installation to even test on?

The other two platforms have two major strengths: Not very many os's to work with (ok, Windows have several concurrent releases at any one time, and Mac has 2-3, but still), and a test platform is rather quickly updated simply by removing a card or two and putting in a new one.

We'd have to have 10+ computers dedicated just to maintaining linux builds of various flavors to successfully produce a timely linux release, and then it still would only be < 10% of our total sales.

Don't get me wrong--I'm a linux guy from WAAAYY back. It wasn't literally until December of last year that I ever installed a windows based compiler--I've always either developed on a linux box hosted remotely (or my own), or if on windows used MingSys/MingW and gcc/gdb. I'm -that- old school when it comes to OS choice for development.

The truth hurts though--I'd personally MUCH rather see us all on linux, and I KNOW how important the linux dedicated server capabilities are, but we simply can't afford it--time, resources, or effort.

I'm extremely proud of what you guys have done, and next year Ron won't ever buy a beer at IGC...but as a company, linux distros were killing us finanically as well as productively.
#468
03/07/2006 (8:13 pm)
Then just go least common denominator, pick a current Distro/Compiler Combo such as Ubuntu or Gentoo and GCC4 and use that as the target platform. The community will pick up the slack for you. Really ALL you have to do is target the compiler, and the rest should fall into place just fine.
Most Linux people are pretty smart, if you can make it work in one flavor, we can make it work in the others.

Also like I said if we are only 10% of your revenue base then charge 90% extra, I would pay $190 for a TGE that compiled out of the box on even ONE distro. I would even buy again at each new major engine version.

Anyone else care to chime in?
#469
03/07/2006 (9:34 pm)
@Stephen:
I understand completely your situation and I applaud GG for supporting TGE on linux, even if not as well as I would like.

I don't think its completely necessary, at least for developers, to deal with supporting a large number of linux distros. As Dreamer mentions, I think there are some reasonable limits that can be put on distro and compler combinations to make it easier to keep the linux release more in synch with the OSX and MS releases. This would be especially true if you accepted modifications post release to deal with distro/compiler/lib issues that were found out post release.

Personally, I didn't mind the making the minor contributions I made to getting the linux port working. What I would have liked to have seen though would have been for it to start earlier so the linux release didn't trail as far behind the original 1.4 release. Maybe 1.4 was a transition phase and the next release won't lag so much. If I can help make that happen, I'm willing to contribute.

Many issues with compilers, distros, libs, etc. could be resolved post release, especially if that meant the linux TGE release was concurrent with the main point release. To me there are two issues here, the first being what distro, compiler, lib, etc. combination does a developer need to compile TGE. The second one being which combination of those will the compiled TGE run on.

Many of the issues are developer only, i.e. will it compile with 2.95, 3.2, 3.3, 3.4 and 4.0 gcc ? I don't think many developers require that it compile on all of those, pick one or two recent gcc releases and require that for the developer. Once its compiled, the compiler version is a moot point.

Most library issues can be eliminated by through static linking and once you're past the compiler and libs, many of the distro issues are gone.

@Dreamer:
Yeah, the lack of a STP for linux kind of sticks in my craw a bit too, especially when there are posts a year or so old that talk of the it being worked on.

I have half a mind of making my own and releasing it as a resource. It wouldn't necessarily do everything STP does, but then enhancing the -show option of TGE by a bit gives me most everything I would normally need anyway, the old 80/20 rule you know. Its on my long list of things to do, we'll see if it happens, :-).
#470
03/08/2006 (4:51 am)
Quote:We'd have to have 10+ computers dedicated just to maintaining linux builds of various flavors to successfully produce a timely linux release
You don't need all of that, that is why you have us posting in this thread. When an installer or build at a point in time is ready, maybe it would make more sense to have GG (or rather, Ron, as he is the point of contact here) to send an email to those of us who sign up to test a particular build/installer. We could run a series of tests (ie, running it with the shell script, re-compiling the engine, etc) & report back as to the success or failure of it for a distro.

True, running it on one distro won't necessarily mean another user of that distro will get it to run, but the same thing can be said for windows or mac. All it takes is for someone to have outdated drivers/incompatible drivers/whatever to come posting in the forums asking why the engine won't run.

Case in point, I tried the TSE demo recently when I was in Windows (yes, I know this is still EA & bound to run into more issues). The results were... uh... interesting.

This whole thread was started to get the community involved in supporting this O.S. As we can see, the community has been very active in that. Part of the reason it took much longer to get this to a released state is as Todd points out... the community support idea took place a few days after 1.4 came out. If you get the community involved earlier, chances are, we won't lag behind as much.
#471
03/08/2006 (6:05 am)
@All,
I have nothing but the upmost repspect for everyone at GG, but at times decisions are made that leave the
community as well as myself scratching our heads wondering if GG truely does want to continue TGE-L.

As I said in many previous post, thank's to everyone in the community who has helped me get 1.4.x done, built and shipped to GG. You truely are the cream of the crop when it comes to a community!

@Stephren,

Let's take the IGC beer thing offline, it was good pro-bono last year. Heck I'll take that < 10% sales if you dont want it ;)

-Ron
#472
03/08/2006 (7:02 am)
While GG only makes 10% of their revenue from the Linux side I would not be surprised if it accounts for about 80% of the dedicated game servers that run multiplayer games. The reason is simple. Without the burden of graphics and audio, Linux servers can run on older dedicated machines with surprising robustness. In addition there is no cost for the purchase of the operating system. So anyone with an older system converts it to Linux (flavor of choice) and then sets it up as a dedicated server, and doesn't have to worry about the cost of purchasing a new OS.

I don't see GG claiming that they have to have every version of Windows from Win98 to Vista to compile for Windows and I don't see claims of owning every OSX version (although if they are checking on all those versions more power to them!)

So while it might be only 10% of sales it is important to note that it could also be a critical factor in acceptance for multiplayer games.

I agree that GG should limit its investment in Linux, but at the risk of starting a "distro war", they should simply pick one version and the most recent compiler and build with that. Let the community take over porting it to other compilers, distros, etc.
#473
03/08/2006 (9:51 am)
@ stephen

If 10% of the sales of TGE is done for linux , it is obvious : maintain TGE on only one distro and release it in the same time that the windows version.
Tell clearly that the TGE version is compatible with the version xxxxxx of linux distro and compiler yyyy and library zzzz and don't worry for the other distros.

People to day are not happy with the current way , I am sure that 99% of the Linux user will be very happy to get TGE 1.4 on linux instead of to have only 1.3 available. Because you know the 10% of TGE linux users write to them and request the point of view : you will see.

I can change when I want the linux version , I have no contract with the current one that I use : I am free to choose what I want in term of distro...

There is 0 risk to do that only benefit.
#474
03/08/2006 (12:11 pm)
Quote:Linux: You guys have posted what, roughly 8 different primary distributions here? Each of which requires it's own little special tips and tricks, as well as a separate installation to even test on?

How many different PC systems, vid cards, sound cards, Windows versions, and experts in the various disciplines do you honestly need to develop a 3D game engine for Windows? A boat load. Heck, if you throw in different driver versions and such, you've got yourself some real testing "fun" to be had. But GG is already doing all this work (hopefully) on the Windows side - so it only requires a bit of restraint (as key choices are being made during development in the main Windows camp) to make porting and maintaining compatibility with other platforms a trivial issue. Avoiding the temptation to use non-cross-platform things like DirectX, .NET, C# and various other mostly-proprietary Microsoft cruft to implement staple TGE features... regardless of whether (someone thinks) it might "speed-up development"... is important if "cross-platform" is really a GG priority. Using open-standards-based cross-platform APIs and tools, keeping platform-specific stuff minimal and separate, and keeping a global "vision" of how to make TGE "great" while still leveraging all the common-ground (yet powerful) capabilities of the platforms... that's what will make TGE successful as a cross-platform game engine. Enough said.

Regardless, I don't think there have been any real distribution-specific Linux changes that have come out of the TGE 1.4 effort... and as others have alluded to, there is a separation of the "compile-time environment" vs. the "runtime environment" - GG doesn't have to target every possible "compile-time environment" to make the TGE Linux product successful. Heck, look at other dev platforms - many have very specific development environment requirements.

Sure, you do need people that know what-is-what with various Linux distributions to help resolve issues quickly (is/was "speed of release" ever a factor with TGE, btw?), people who can do serious testing and reporting, and people who can poke at it enough to avoid producing a TGE distribution that is going to cause real trouble for developers. The TGE 1.4 Linux release got delayed because of some "old stuff" in the Linux platform-specific code that needed updating (to stay in line with that's happening in the Win32-specific code and the platforum-neutral code), as well as issues related to a general lack of good documentation (assumptions, requirements, etc.) for the Linux build of TGE.

If nothing else, this thread has shown that there are, in fact, enough knowledgeable people that GG is not really needing to devote any significant GG-paid man hours to directly support the Linux porting/testing effort (forgive me if my guesses about behind-the-scenes unknowns led me to the wrong conclusion here).

10% for close-to-zero-effort seems like a no-brainer to me too... well put.

If Linux really accounts for 10% of GG sales (was that number a guess?), is GG devoting the 10% of their TGE staff time to the Linux TGE customers? How can GG expect to increase sales without actually putting forth a serious effort to cultivate the Linux developer market, the Linux games market, etc.? Personally, I'd be happy if console companies figured out that they could make more money and better games by cutting out the middle-man (Microsoft) and making game consoles with Linux inside... but that's a discussion for another forum... ;-)

Is it even clear (to us humble, out-of-the-know end-users) that GG is devoting (or has the staff to devote, or whatever) an actual 10% of their "man-power" to TGE-as-a-product at this point? With all the hush-hush-stuff (TGE targetting X-Box or whatever big-$$$ dreams are being dreamed) and the long list of other products that have been in the works for quite some time now but are still a ways from completion (TSE, Constructor, etc.)... and the list of employees on the GG site... hmmmm... well, you can do the math. Even one or two people working full-time to directly support/fix/enhance TGE (for it's thousands of paying customers) doesn't really constitute a "significant effort to support TGE" IMHO... so the "Should GG actively support TGE Linux?" question seems mostly dubious...

It's great that we've fixed up TGE 1.4 for Linux so that it can be "officially" released... and we can keep the Linux version going as long as GG makes it possible for us to do so (i.e. GG avoids the temptation to slip into the "do everything the easiest/fastest way we can even if it only works on Windows" mentality, etc.). Thanks everyone for sticking it out and making it happen!
#475
03/08/2006 (1:06 pm)
Guys, I didn't mean to open this debate up again...it's a done deal, linux is not a primary support option, regardless of what I or anyone else thinks (unfortunately).

And as an fyi, linux sales are much less than 10 percent of total sales. People much smarter than I (Jeff Tunnell, Mark F, Josh W, and a host of others who's job it is to make these decisions) determined we cannot economically support linux as a primary support platform.
#476
03/08/2006 (1:11 pm)
...
#477
03/08/2006 (1:17 pm)
Those numbers are pretty trivial for GG to gather, head to your products page and go to download a product. You will notice seperate links for win/mac/linux they can easily track what is downloaded and then determine a % from that. Also, they are in the know as to what games are being submitted and on what platform.

I can not agree or dis-agree with GG's position regarding linux. On one hand I see their POV but on the same token I see the flip side of the coin.

Just glad I did not take this gig looking to become an employee and or paid for my time/effort. Something told me early on it would be a volunteer type deal, like the NAVY ;) bust your a$$ for the man!

-Ron
#478
03/08/2006 (4:27 pm)
We have 3 Linux savvy people at GG. Rick, who is going to be slammed for the next 5 years on website work, Stephen, who has at least the next year booked out in Bootcamps, and John, who carried the banner for Torque on Linux for *years* and quite honestly got tired of it (he purchased a Mac with OSX and realized what he had been missing out on). All 3 of these guys are working on *critical* projects (things that the company will fail without) and simply do not have *any* time to devote to Linux. Not only that, we aren't getting any Linux savvy interns (or at least Linux savvy who are interested in being the primary supporter of Linux). None...for *years*. Combine that with pitiful sales, burdensome support requests (average Linux support question requires 10X the work of an average Windows or Mac support question), and an active Linux community that you can just about count the members of on both hands and it becomes painfully obvious why we simply can not put much priority on it. If I can barely afford the time to put 4 days into getting TGE 1.4 to run on Windows 98 and Windows ME, how much time do you really think I can afford to put into Linux (where it would take me 4 days just to have you guys walk me through getting a single distro up and running and usable)?

That said, I *do* want to support Linux and I am planning on installing it on my test box so now is your chance to pick the official distro and compiler (I would recommend gcc 4 so that we can stay somewhat in sync with OS X and Xcode 2). It needs to be a free distro and one that I can install with little hassle (I once completely corrupted an install of Redhat b/c I couldn't remember how to exit vi).

At this point in time it is going to have to be on the Linux communities shoulders to help us keep Torque in sync. We will keep the CVS HEAD pretty close to our internal HEAD and we have long ago shown that we are commited to writing cross-platform friendly code (where have you seen us taking shortcuts or being lazy?). We aren't setting out to spite the Linux community, we just can't spare very many resources to actively supporting it. We will do our best to passively support it but you guys are going to *have* to help if you want Linux to stay a viable option (hasn't that always been the case with Linux =P)!
#479
03/08/2006 (4:40 pm)
Matt,

Install the latest Ubuntu 5.10 with gcc 4 (gcc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)), that is what I have been using for all of my TGE-L (and constructor) dev.

I know of 2 outstanding issues with 1.4.x, The crash mentioned above and fonts. Outside of that I am unaware of any issues (please correct me if I am wrong)
-Ron
#480
03/08/2006 (6:56 pm)
I agree Ubuntu is prolly the best way for you to go, it gets 2x the downloads of it's nearest competitor, and is completely free.
However if you are not a gnome fan you may want Kubuntu (exactly the same as regular Ubunutu but installs KDE instead of Gnome).

As an aside Matt, you say you haven't gotten any interns interested in taking Primary responsibility for Linux.
Heck if you want, I'm kinda interested in pullin up out of Utah and heading over there. Not sure what GG looks for in an intern, or what it pays, but if the job meets living expenses, let me know.