Obstacles to Linux game development

Started by
142 comments, last by C-Junkie 19 years, 4 months ago
I was posting in another thread earlier this week about what people want in MMO games, and I put in that while MMO games aren't that appealing right now, having a Linux client is important to me. I am more inclined to look into Vendetta than Everquest. Anyway, it has been brought up that there are a number of reasons why games are being made for Linux more often. Below is what I posted, and I thought it would make an interesting thread on its own.
Quote: It can be argued that the game development tools aren't available. In fact, I saw something on /. today about some nVidia developers discussing the reasons for the lack of game development on Linux: - lack of mature toolsets - lack of audience - lack of games A circular argument, to be sure. The last two are chicken and egg, but what about the other? I want to know what is meant by a lack of a mature toolset? Unix is meant to be a developers playground, so the toolsets have to be mature,right? gcc, SDL, OpenGL, etc, are all mature and robust. Eclipse, KDevelop, etc are great IDEs if people prefer them to CLI editors, which are also great. I am disinclined to believe that the tools are not up to snuff. Maybe one can talk about Blender and the Gimp not being up to the same quality as 3DSMax/Maya and Photoshop, but I've still seen some amazing quality come out of the free tools.
So what do you think? Are the tools poor? Are there other reasons for a lack of games development to run on Linux?
-------------------------GBGames' Blog: An Indie Game Developer's Somewhat Interesting ThoughtsStaff Reviewer for Game Tunnel
Advertisement
There is a large linux culture as well that is sometimes hard to break. For example, I am working on an Open Source (GPL) MMORPG that works in Linux and part of our mandate is do it for free. However, our artwork and music and other content related stuff is not under GPL since we want to protect that. It's all still free but you just cannot use our content in your own projects. We've received ( admittly only a few ) responses of people condemming us for not releasing everything we have as GPL. If people have a hard time accepting a *free* game what luck will developers have trying to push comerical games?

I would certainly be willing to pay for games in linux but I am unsure if I am just in the silent majority or the minority.
I would be willing to pay for a game for linux. I also have Windows installed for playing non-Linux games, though. I think that the problem is that you have on one end the Linux zealot who won't use anything that isn't GPL'd and wouldn't buy your game. On the other hand you have people who are willing to pay for a good game but have Windows installed because they want to play games (the classic chicken-and-egg problem). The more your attitude shifts from *Nix zealot to moderate the more likely you are to have Windows installed as well, so you don't need the Linux version as much. There's just not much market drive for Linux commercial games.

Having said that, my game is being released for both Windows and Linux. It is free, but it isn't open source. I don't really expect it to increase the audiance much at all; I'm more doing it for the principal of the thing.
From my perspective I sence that most Linux users would in fact pay for Linux games, I for one would switch 100% to Linux if I could run the games I buy on it.

Then you have the 2 extremes, the Zealots, who wouldnt use anything not GPL and the "I want everything for free" newbie attitude, these, I think, are not the mayority.

I, for one have been playing with NeL the engine behind Saga of Ryzom, which is GPL and runs on Linux (though all ASM optimizations are Windows only, which is why I am working on it), I think it would be posible to write a game where you charge for the game data (artwork, story, etc, the content).
I would agree that Linux lacks a mature toolset. One of my co-workers leads a project working on a network appliance that runs Linux. He has developed extensively on both, and he strongly prefers the Microsoft development tools over the Linux development tools. He feels that one of the major problems with open source (and Linux in general) is a lack of organization across projects, and often within the smaller projects.

MS Visual Studio .Net supports many languages with a good IDE and an incredible full-featured debugger that lets you step easily from one language to another. Its documentation is very clean and well-organized (and is an enormous advantage over the documentation for most Linux tools). It is very tightly integrated with sister products (both MS and non-MS) like Visual Source Safe and Bounds Checker. When a sister product is installed, its documentation shows up neatly with the rest of the Visual Studio documentation. There are also a number of third-party library vendors that integrate their library with Visual Studio, which adds their documentation to the MS pool so that code completion, tool tips, and IDE help calls all work as cleanly for that library.

In Linux, very few projects are integrated well. The debugger is a separate project from the compiler, and each has a separate set of documentation. Because the compiler and debugger are command-line utilities, there are a number of graphical IDE's written to sit on top of the compiler and debugger, and those are separate products with separate sets of documentation. There are usually addons and plugins, each written by different open source groups, often with different documentation systems. Documentation is often missing or incomplete. To make matters worse, each language has its own compiler/interpreter, debugger (which is not always available), and addons/plugins.

When you need to find something in Linux, especially documentation, you often have to spend a good bit of time hunting it down. Sometimes just finding that extra project you need and getting it installed takes a lot of hunting around. Of course, if someone were to make an IDE like MS Visual Studio for Linux, they would probably charge an arm and a leg for it, and you know how most Linux users would feel about that. So in a way, Linux users reject the tools that would make it easier for developers to make the games. ;-)

Quote:Original post by s_p_oneil
Of course, if someone were to make an IDE like MS Visual Studio for Linux, they would probably charge an arm and a leg for it, and you know how most Linux users would feel about that. So in a way, Linux users reject the tools that would make it easier for developers to make the games. ;-)


Well, there are a couple of Linux IDEs. KDevelop comes to mind. It's even supposed to have intellisense working ( at least some what ). But even though it is getting better, I still find myself using Kate and good ol vi. Also a lot of our server maintaince is done through ssh and it is setup to do core-dumps, so I have to use command line gdb. But I find that it's just as quick to use the command line gdb. GUI's are not always the faster way to go about things :)
I am of the opposite opinion. The toolsets are great.

Documentation for everything is a single google search away.

Integration is nice for some things, but certainly not everything. Just because the tools are seperate, doesn't mean they're not as capable.

All that stuff aside, I thought it got easier to write code when I switched, so I think that its an inaccurate argument on a much higher level.
the main reason is lack of market. But as any market, it will not exist until someone creates it.

Markets also get self-created when there is a need among people. Being out there a pletora of games for Ms. Windows and most people using Windows, there is not such a need yet.

Here is when my speculation enters in action. There will be a need in the near future that Windows will be unable to satisfy, and that will be the birth of Linux market for end users.
[size="2"]I like the Walrus best.
1. Linux, following in the Unix tradition, was written for knowledgeable, responsible users. Linux obviously does a much better job of trying to be user friendly, but it is still not quite as simple as using a machine running Windows XP (which came pre-installed from Dell, of course).

2. Society believes that if something sounds too good to be true, then it is. Unfortunately they have good reason to think this. Watch the evening news on any given night and there is bound to be a story about some scam artist ripping people off.

3. Last year during the holiday visits to see my grandparents, aunts, and uncles, I remember them all sitting around talking about which diets they were on. One was on the Atkins diet, another on the South Beach diet, and another on the Sugar Busters diet. None of them had lost much weight, and they all said they generally felt horrible. They looked at my uncle and said, "You've lost weight. What diet are you on?" He replied, "I'm on the eat less diet, with exercise. I feel great." The point is, people are lazy. There is a simple, straightforward solution for losing weight starring us all right in the face and we go to monumental efforts to avoid the simple solution. When it comes to feeding the family, many people find that it's easier for them to pay more money and go to McDonalds instead of take a little extra time and make something considerably more healthy.

All of this basically holds true for this situation. Most people already have a Windows machine. It's easier for them to drive to the computer store and buy Visual C++, install, and start coding. If it crashes, no problem, just reboot. Even if by some chance they were made aware of gcc, it sounds too good to be true. "If the free one is just as good as this one, why does this one cost hundreds of dollars? Wouldn't everyone just use the free one? What if the free one is a virus like I read about in the newspaper? It might take over my computer and steal my retirement fund!" Well, in this age of people running scams, can you blame them for thinking this?

Even if someone concedes that Linux/gcc/KDevelop/etc. is superior (considering the cost compared to commercial alternatives), they are willing to pay for convenience. Even if they go so far as to try it, they will quit the first time they run into something they aren't familiar with. "It wants to know how big the partition should be for /usr/var/log... What is a partition? And what is /usr/var/log?" - "This gcc thing won't compile my code. It compiled fine in Windows..." - "KDevelop keeps crashing and it says something about missing a KDE library. Hmmm, I never had this problem in Windows..." Unfortunately rebooting isn't going to fix this crashing problem.

Even if they are still giving it a try, just wait until they post a question and someone tells them to "RTFM!"

Currently, Linux just isn't for everyone.

I think this story is humorous, but true: MGBs, TANKS, AND BATMOBILES
Quote:Original post by s_p_oneil
Of course, if someone were to make an IDE like MS Visual Studio for Linux, they would probably charge an arm and a leg for it, and you know how most Linux users would feel about that. So in a way, Linux users reject the tools that would make it easier for developers to make the games. ;-)

Try Eclipse + CDT. While still experimental and somewhat slow and buggy, it comes very close to the Visual Studio IDE (for C++ development), and surpasses it by far for Java development.

This topic is closed to new replies.

Advertisement