The problem on Linux/FOSS game development

Linux has evolved to a pretty decent Desktop platform these last years. It features a fast, stable and productive work environment for various purposes. Linux (and especially Ubuntu) is doing his job as a everyday desktop system very well - maybe even better than Windows in some cases. Since when do you get a whole office suite shipped with your OS; for free. Ah yes, you bought your machine at where you get both your OS and your office suite installed on your computer. But maybe your preinstalled Windows doesn't even have a photo album manager, or an audio editing suite, or a versatile graphics program, or.... Well, you get my point!

So, Linux seems to be more or less comparable to Windows when it comes user-friendliness and software range. However, there are alot of areas in which Linux should improve. One of them is a very important one in modern computing. And that's Gaming.

Gaming seems to be the blind spot of Linux. In my opinion, Linux's popularity is so low, because it lacks incentives as a gaming system. And lots of people use their computer for gaming, thus it appears that there is a huge potential in gaming. But the actual problem is the lack of funny and well-made games for Linux.

But why? Why are there so few Linux games around? Linux has more or less stable support for the latest graphics cards, it doesn't lack any kind of OpenGL functionality, it doesn't lack speed or stability, it has possibilities when it goes to realization and development of specific parts in a game engine which also run on various other platforms - why is everyone avoiding Linux in game development? Why are there so few Open Source games that can be compared with commercial titles anyway? Free Software should be a model that applies to almost every situation, shouldn't it...?

The actual thing is a bit different, though. The reason why commercial games are rarely ported to Linux is clear: It's not profitable. Way too few costumers. Simply creates unnecessary extra costs and work, which can be avoided. The only way to change that is to raise the popularity of Linux itself or by deliver an extraordinary working environment. And probably won't change alot in the following years.

The other thing is free (as in freedom) games. A very strange phenomenon. They are developed using the same model that is very successful almost everywhere in the IT world - but they still can't compete with commercial titles.

The main reason behind this is that most FOSS projects can't count on experienced and talented artists. Just in case that you don't know what artists do: They draw conceptual sketches which illustrate the style and the atmosphere of the game; they make and animate 3d models; they make textures; they are responsible for the visual part of the game and the realization of main gameplay concepts (such as leveldesign). This part gives the game an atmosphere (along with other important elements such as storyline etc.)That's the problem of most FOSS games: They don't have a particular style, they lack atmosphere, detail and realism (or "rational" surrealism).

So, where will we get those people with superpowers called artists? (I don't want to say that artists are the key to everything, but you can't ignore the importance of specialized people within such a project. There's a very wide spectrum of arts and skills involved in gamedevelopment: Programming, Design, Drawing/Sketching, Digital Arts, Music and SFX, Writing) That's pretty simple: By providing an advanced, artist-friendly and productive work environment. An engine or framework where also someone with a limited knowledge of programming can work from. A nice toolchain, a user-friendly frontend. That's actually it. If there is potential, people will be interested, people will use that software. That's something elementary - a programmer thing. However, something like that still doesn't exist in the Open Source world.

3D engines like OGRE, Irrlich or Crystal Space (which is more or less a game engine, too) need lots of programming (or have a very, very unfriendly scripting interface) and don't feature toolchains that actually deserve that label. The Quake 3 engine (and all its forks) is technically good, but its frontend for artists is outdated and horrible. Sauerbraten features easy leveldesign and shaders, but fails when it goes to more complex stuff.

Not only the engine toolchain is important, but also all available programs for creating art, such as GIMP, Krita, Blender, K3D etc.

This issue must change if Linux and Open Source game development shall improve.

PS. I'd personally suggest to create a central knowledge base or community for Linux/Open Source gamedevelopment and art.

-Andreas "Sindwiller" Ratchev

Topic: 

Comments

Member since:
10 August 2007

Andreas, I think we have some pretty decent graphics designers contributing to games already - even though maybe not enough. But even enough designers wouldn't help game development. At least for some gaming categories.

I like sport games the most. And the trouble gaming companies undertake to present at least a somewhat reality resembling experience is tremendous. They scan movements of actual players using rather sophisticated systems. This is a tremendously costly process - and not so easily done on a non-commercial basis.

Other gaming categories - especially first-person shooters - actually have pretty decent free games (Nexuiz for example), others like RTS do have some, but too few (I like Glest the most).

There is another inhibiting factor in game development that distinguishes games significantly from desktop apps or certain kinds of server based apps: Still the most apps started at some point in their history because one (mostly one!) developer missed a feature, an app or just wanted to test some technology. After a while a 0.0.1-release was published. But only after a project grows its user base is it able to grow its developer base as well. With games you mostly need more than just one person from the very beginning: You need at least one developer, one designer, probably a 3D-modeler, an AI-expert and so on. It is pretty rare that any person can sufficiently fill in two of these roles let alone all needed roles. So how to start a project?

Thus games, that are based on existing games (e.g. Total Annihilation, Warzone 2100) thrive more easily. There already exist forums of like-minded people (those that play these games) and want to improve upon the existing base.

Obviously other games can be started - otherwise Sauerbraten, Nexuiz, Glest... as well as a slew of smaller games like Free Doko, the KDE and Gnome games and so on wouldn't exist, but I believe that starting a gaming project and getting a sufficient developer base is way more difficult than in the app development space.

I think open source ERP or other commercially needed software suffers from exactly the same problem - there are not enough lawyers (not everyone is an Eben Moglen) that are capable and willing to program software, we desperately need to implement open source in law offices. Same is true for nearly all businesses out there. Business Open Source apps are mostly the result of people/companies that already got paid for the initial version of the app. If I recall it correctly TinyERP is an example for a business app that started with an initial customer project.

This is a serious problem we have to find an answer for. In the game and in the business development space!

A last (?) dinstinguishing factor between "normal" apps and games: Open source games cannot form the basis of any business model (at least I think so). For other kind of apps, frameworks and so on, support, consulting etc. are valid options. But this doesn't work for games. So any hope for companies switching to a free software model for gaming is not likely. Given the vast amount of free software (MySQL, OpenOffice, most GNU/Linux distributions, CRM...) that is based on a commercial motive (nothing wrong with that!) it is not so surprising that fewer free software games exist.

Member since:
9 August 2007

>Andreas, I think we have some pretty decent graphics designers contributing to games already >even though maybe not enough. But even enough designers wouldn't help game development. At >least for some gaming categories.

Sure, there are some really good artists out there, but I can actually count them with my fingers (makke, TZork, enki, leilei, and some other names I forgot). What we really need is some kind of stimuli to attract developers/artists - for example a community, where one can get information about FOSS gamedevelopment, find tutorials, show some stuff etc. - or an attractive working environment! My "essay" is all about that. Buggy frontends, horrible workflow, bad engines.

>Other gaming categories - especially first-person shooters - actually have pretty decent >free games (Nexuiz for example), others like RTS do have some, but too few (I like Glest the >most).

Well... Nexuiz's leveldesign is horrible imho - and it's possible to get way better stuff out of the Darkplaces engine than Nexuiz is actually showing (but its tools are horrible... no wonder, they're they same as those for Q3)

And as for Glest: They should really reconsider their gamedesign (if they even thought about it!) and throw away their CS code.

>With games you mostly need more than just one person from the very beginning: You need at >least one developer, one designer, probably a 3D-modeler, an AI-expert and so on. It is >pretty rare that any person can sufficiently fill in two of these roles let alone all needed >roles. So how to start a project?

That's why we should enhance the working conditions of each wheel in the mechanism of gamedevelopment. But, when starting a project, you need to have the main roles filled: A guy that programs, a guy that makes the art assets, and a guy that takes over the gamedesign. Now, sometimes the GD-wheel is missing. Most of the time though, the artist is missing.

>Obviously other games can be started - otherwise Sauerbraten, Nexuiz, Glest... as well as a >slew of smaller games like Free Doko, the KDE and Gnome games and so on wouldn't exist, but >I believe that starting a gaming project and getting a sufficient developer base is way more >difficult than in the app development space.

Starting a project is one thing. Getting it done well is another.

You also need to understand my situation. I'm an artist (more or less :P) that likes to do stuff, but gets frustrated from all those bad made and out of date environments. If I weren't so patient, I'd have installed Windows by now and I would be working with Source or the UE3.

Member since:
11 September 2007

"Open source games cannot form the basis of any business model (at least I think so)"

I have to disagree with that. I think games, *more* so than other applications, offer enormous scope for revenue streams outside of the software selling. Look at the various network games where people pay to participate or boost their in-game fortunes. And people love frivolous add-ons, extension levels, etc. etc. A game is played for entertainment - if you're really hooked on a favourite game but you've played it to death, such deluxe extras are very attractive.

But I do agree that financial incentive is the problem. It's easier for existing companies to clean up with overpriced heavily marketed games than to explore alternative approaches.

The existing software business model is not about development - it's about advertising and selling. Same as the music industry. Most of the money comes from selling 'new' but extremely unoriginal crap to an audience that just doesn't realise how much good stuff already exists. Ads reach people, and they work.

That's the simple reason that people buy 2nd rate commercial software (you know, the 'home' or 'student' version for a bargain $150 compared to the $500 'pro' version) when it really is well behind the freeware equivalent, which is of course full-version for everyone. People are bombarded with ads for commercial products; they have to go looking for the free alternatives.

Member since:
12 August 2007

Hi

Some weeks ago I started a blog (see below) to inspect Unix game development, because what I found didn't satisfied me either. Somehow I miss a better organized scene of programmers, artists, designers, etc ... a website (or something else) for all of them as contact point for better communication and exchange of ideas and skills ... similar to the demo scene maybe. But what currently exists is really poor, and nothing changed for years.

Also I have the impression that game development is always equated with programming only, and all other jobs are secondary. Of course programmers do a lot of significant work, but I guess you all know what games created by programmers only look like.

Therefore I thought about that too, and came quickly to the conclusion, creating a knowledge base + community for game developers might be a great benefit to the scene, but I didn't want to spent my time on something nobody really needs, so I just started the blog to follow Unix game development, and maybe more if there's some feedback and support.

But I think the situation with tools is not too bad anymore. Imagine what you'll get for free, that's awesome. It might be right that these tools wont compare with professional software, but who can afford them? To my mind, creative people shouldn't bother about (out-dated) tools and better adapt the means to an end - the music or graphics itself are more important than any feature of the software ... again, as already said, tools are not too bad anymore.

bye
Michael

Unix Game Development

Member since:
9 August 2007

>But I think the situation with tools is not too bad anymore. Imagine what you'll get for free, >that's awesome. It might be right that these tools wont compare with professional software, >but who can afford them? To my mind, creative people shouldn't bother about (out-dated) tools >and better adapt the means to an end - the music or graphics itself are more important than >any feature of the software ... again, as already said, tools are not too bad anymore.

*sigh* Don't missunderstand me. I appreciate your effords in improving Linux/FOSS gamedevelopment (that Blog is pretty interesting :D). But what you're talking now is rubbish.

It's merely a fact that most FOSS toolchains are outdated, and that means that no one with some talent and/or skill can realize his vision - respectively, the software lacks all needed features or simply doesn't work.

The artist to"adapt" to software is what most FOSS gamedevevs want, because they're lazy when it comes to the implementation of decent frontends and interfaces and they avoid discussions about stuff (believe me, I know what I'm talking about). The result is obvious: No one is using said software.

That's one of the reasons why most artists use the Source or the Unreal (or something else) engine, and not open source stuff. It lacks features, working concepts.

Member since:
12 August 2007

No problem, I like constructive discussions ;)

Well, I think that's just half of the truth, and still insist that the given tools are not too bad. I didn't say that the quality of these tools are equal to very expensive professional solutions, but who can afford them?

The license for Unreal cost nearly a million dollar! Which features are worth a million for FOSS and Indie game development? This is absolutely out of the question, that even developers in the industry can't afford it. Indeed I have the impression that many (indie) developers start to use popular Open Source engines, or at least think about that. To my mind the problem is not the lack of features of the engines, but the lacking documentation and support, which could be very hindering if you have to work under pressure to reach milestones. A talented coder & artist can create beautiful results with these engines. But you're right: they might not support the very latest technology.

Same applies to professional software. Who can afford them, unless you're making money as a professional artist, musician, etc. All others, and I bet these are 99%, have to use free or illegal software, while the latter is not an option. To my mind it's absolutely wrong to characterize these Open Source tools (GIMP, Blender, Ardour, etc.) as unstable, broken toys. A talented artist will definitely achieve neat results without trouble, even without some special features. It's also unfair to claim the creators of free software being lazy.

To my mind, people like to use mainstream software, not just because it's better, but anything else would appear unprofessional, even if they never ever exhaust it, and looking for alternatives is like cheating. This attitude combined with the laziness ... mmm, somehow this all is a horrible cycle of lies :)

Nevertheless, it's true that the situation & tools could be better, and more user friendly - as always and everywhere. I can absolutely understand your point of view. Do you have any ideas?

Member since:
9 August 2007

>The license for Unreal cost nearly a million dollar! Which features are >worth a million for FOSS and Indie game development?

You've got a point there. ;)

>To my mind it's absolutely wrong to characterize these Open Source tools >(GIMP, Blender, Ardour, etc.) as unstable, broken toys.

I never said that those applications are broken toys, in fact, they're doing a very good job. I just said that they could improve in some ways :)
Eg. Blender's sculpting tool is very immature, it couldn't compete against ZBrush or Silo - or its core is also very slow, it should be rewritten...

>It's also unfair to claim the creators of free software being lazy.

I said that the gamedevelopers respectively the developers of FOSS engines are lazy. Not the ones of free software in general ^^

>To my mind, people like to use mainstream software, not just because it's >better, but anything else would appear unprofessional, even if they never >ever exhaust it, and looking for alternatives is like cheating. This >attitude combined with the laziness ... mmm, somehow this all is a >horrible cycle of lies :)

You've got a point there, too. I know lots of professional and semi-professional artists who use specific software, such as 3ds max or Photoshop, just because they're the most common tools used in the industry. (they're obviously missing some really cool stuff :P)

>Nevertheless, it's true that the situation & tools could be better, and >more user friendly - as always and everywhere. I can absolutely >understand your point of view. Do you have any ideas?

Well, I'm no programmer. The only thing I can serve with is some art and concepts :P

Member since:
23 August 2007

Hi there.

Interesting discussion here. I just thought I'd add my two cents. I am a programmer currently working on the probably too-ambitious cityscape(.sf.net). We are currently re-writing it in common lisp to try and speed our development.

I was a little resentful about the implication of calling anybody that works on FLOSS game software lazy. There are always choices to be made on where one spends your time. I work full-time and I program cityscape whenever I have moments to myself. As an example, last Sunday I was hacking at it from 6am until 4am, with only one meal. It's a labour of love. I have respect for people that work on things like CrystalSpace and Ogre, even though I don't use them myself. It takes courage to put all your code out there like that as a library or platform and try and get people to use it. You're investing your time and exposing yourself without any guarantees of tangible recompense. I probably digress.

Anyway, with regard to the subject as a whole, I believe that we will see a general increase in the number of good open source games around in some state of playability. I don't believe that I am the only one with a passion for it who has started already with no deadlines other than death to worry about.

Ok, so I have no professional experience in the game industry, but a true artist (and I count myself in that category as a programmer) can create something special with whatever tools. It just takes some passion. When you have a few people that can share a vision and a passion for something, I think you can create something special.

Blah. Ok I'm really rambling. Maybe I shouldn't post this.

Oh... what the hell:

Happy hacking

bill

---
http://wvr.me.uk/

Member since:
9 August 2007

>Ok, so I have no professional experience in the game industry, but a true artist (and I count myself in that category as >a programmer) can create something special with whatever tools. It just takes some passion.

I really like that point. "Passion". I think I have some passion. I've tried to realize an idea as a level for OpenArena or for Nexuiz or for another games multiple times. I tried to adapt to the environment, to the tools, to the workflow. With passion. But I always failed.

Why? Well, my visions are probably too big, anyway. That's one point. I always wanted to make something different. Something new. I wanted to make something which reflects the possibilities and richness of the engine and the game itself. Something that'll encourage other people to contribute, too. That's why my visions seem so impossible.

So I tried to adapt my vision to the existing environment. I once tried to make a castle level. I put hours and hours into it, successfully modelled the castle and the terrain as one big model, integrated it into Darkplaces (The engine Nexuiz is using) and... well, I found the first flaw in the whole design process. The model was too small in some areas and too big in other areas. Something like that wouldn't occur in a decent environment with a decent documentation. Sure, if I'd have started modelling with a reference block of the player, it wouldn't have happened. So it was actually my fault. So I went on and found another problem. The model wasn't correctly lit. It had lightmap glitches and dark spots all over it. Well, people won't recognize that anyway when the model is textured. But wait, what's up with the texturing part anyway. That would have been the most awful part. Just texturing single faces looks ugly. Trying to use multiple 2kx2k is awful, especially the unwrapping part. Using an alpha-map or even splatmaps was impossible, due to limiations of the engine and the compiler. Although I spent lots of time into this "little" project I said "Screw this!" and threw the idea away. It was impossible to realize.

I experienced this often enough to say "I'm pissed, you suck, someone MUST improve this". And I won't give up - even if people still think that artists need to adapt to their environment, which gets dictated by the programmers; or if people like Freegamer think consilidation is the path to enlightenment - I won't give up!