There's just one and a half days left to the Humble Indie Bundle #3
, but in less than two weeks the game offering has already grossed nearly $1.9M USD. Recently the developers behind these indie games had allowed the community to ask them questions on Reddit about their work. Ryan "Icculus" Gordon was one of the developers responding and he had provided some interesting comments.
In March, Ryan had some troubling concerns about open-source Linux graphics drivers
. Gordon went as far as causing them dangerous since Linux distributions are using these open-source Intel, ATI/AMD, and NVIDIA graphics drivers that simply aren't comparable to the proprietary drivers. They're unstable, lack S3TC support, and many other OpenGL features required by modern games. Ryan mentioned at the time he believed the open-source drivers will ever catch up only if the vendors start developing their drivers as open-source from the start, being first class members of the community. His open-source driver criticisms are largely spot on.
In his Humble Indie Bundle #3 responses, Ryan Gordon remains very concerned about the open-source Linux graphics drivers.
OpenGL support used to be "better" in that we could say with a straight face "you need to use the Nvidia closed-source drivers or gtfo" and they were always high quality...now the open source ones are finally usable, but have a lot of ground to cover still, so it feels like OpenGL took a step backwards on Linux...it's not true, it's actually getting better in a broad sense, but in the short term, it's painful for everyone. It's difficult to see things that are clearly driver bugs and have to shrug your shoulders in the game's bug tracker though. This is the current largest source of bugs across all my projects.
Ryan also remains concerned about the state of Linux audio support.
They are growth spurts: audio is kinda messy right now, because a good system is finally in place but we're still improving drivers (so you might find your ALSA path fails, but OSS works, or PulseAudio masks the issue, etc...some times just flipping between output targets until one works is the best solution, and that's not acceptable, but it's a work in progress and progress is always painful). I expect this will resolve itself over time.
Aside from voicing Linux audio/video concerns, Ryan also explains his thoughts on the Linux packaging situation.
If there was one package format (.deb or .rpm, I don't care), I would use it. But there are two, and distros that don't (officially) support either, and I'm not interested in enabling this mess.
I understand there are holy wars about text editors, and desktop environments, and toolkits. But this feels like something we should agree on, standardize, and stop thinking about. I can't say if one technology is better than the other, but it feels like it's entirely a question of ego that prevents unification.
An alternative, unpopular answer: if I were to do packages, it would be .debs, tested on the latest Ubuntu release, and everyone else is on their own. Obviously, no one likes that answer, including me.
I get .rpm people saying "well who cares about Slackware users, just drop them!" because they don't seem to understand that they are a minority themselves. So it goes.
MojoSetup is my current answer. It's not nicely integrated with any specific distro, but it works everywhere and is (I hope) pretty pleasant.
Gordon also commented on making games cross-platform.
You are 75% of the way there already. Retrofitting that is, by and large, the hardest part.
Otherwise, you'll run into some minor details (Visual C compiles something that GCC won't and vice versa, stupid filename case issues, etc), but usually those bugs are obvious and easy to correct.
Other notes: Don't use middleware that is closed source or charges per platform (you know who you are!). Throw in a few other useful libraries to hide platform-specific details: OpenAL, PhysicsFS, whatever. If you can see the source code, it's probably not worth reinventing the wheel.
I don't think it's in wide practice, but I'm a huge fan of an idea that Douglas Coupland put forth in "Microserfs": Every member of the team uses a different operating system, so you're always portable (and if there's a problem, you know immediately). For a one-man shop, though, you can probably just make smart choices and port later. Knowing what qualifies as a "smart choice" is an art in itself, though.
On a positive note, the Humble Indie Bundle experience has been a positive point with companies.
I do think the bundles are incredibly good marketing for Linux as a desktop system. I've had several companies reference it in conversation, the same way they might use the Unity Web Player stats when thinking about what Mac OS X versions to target, or Steam's hardware survey when deciding if they can rely on users having a powerful machine. The Bundle shows--consistently--that Linux gamers exist and they will pay money. It's a hugely important measurement.
Lastly, he hopes that users and developers would stop forecasting "the year of the Linux desktop" each year.
From a social standpoint: I wish people would stop declaring the "year of the Linux desktop" over and over and recognize that the system you have today is significantly better than the system you had 365 days ago, but this isn't gladiatorial combat between OSes. Your platform "wins" when you can do the things you want to do with your computer on it in the way you want to, and who cares what the other platforms do if this fits your needs best?
All of the comments by Ryan Gordon and the other Humble Indie Bundle developers can be found in this Reddit thread