Jump to content
  • Advertisement
Sign in to follow this  
CoolProgrammer

Linux Gaming System

This topic is 3047 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi! I was wondering if it would be easy to create a game system based on linux. I have linux(Ubuntu 8.04 and 9.04). I use it once in awile. Does anyone know why games are never released for linux? Does it have anything to do with how linux is licensed as open-source? What is the meat of linux? What would I need to run linux executables compiled in C/C++? The kernel? I wouldn't want any GUI stuff. I would simply want whatever ran compiled programs/games. I would wright an interface in C++. If anyone can answer anything, please do...Thanks!

Share this post


Link to post
Share on other sites
Advertisement
Games are not released for linux because linux isn't profitable. It has terrible desktop market share.

If you want to program a game on linux, that's very doable. In fact, i learned to program C++ on a linux system and it is very easy to get all the tools you need for free (you already have them, just type "sudo apt-get install build-essential").

How to use those tools is a far greater topic than i could possibly answer in this post. You'll want to read up on "GCC" and "make" and "autotools" to do it the traditional way. Otherwise, you'll have to find a linux IDE that you like.

You can also browse around here for linux games.

Share this post


Link to post
Share on other sites
Games are rarely released on Linux because it's a small market place. The cost (extra development time devoted to another SKU) is probably higher than the benefit (extra sales). The Linux-demographic aren't known for their love of proprietary software after all.

Share this post


Link to post
Share on other sites
Whether or not if developing games or not on Linux is "easy" depends on what you need. As far as 3D games, if you're reliant on technologies like DirectX, or for some other reason are prohibited from implementing other technologies like OpenGL, then you're going to have a relatively hard time making a game work out for you. There are, however, a number of cross-platform 3D engines that are nice enough to use in either environment, so as far as 3D gaming goes, it comes down to what you know/don't know/are willing to know in order to get all of the graphics going.

2D games usually aren't all that hard to get into. There are plenty of libraries out there to choose from. The same goes for audio as well. For the most part, if you're going into Linux, if C/C++ are your thing, the gcc and g++ compilers are available by default on most distro installs. The language is totally up to you though; a popular alternative is Python as it's widely available on many Linux machines right away. Personally, I find SDL/C++ is working out for me, as I really don't have to change any of the code when compiling on Linux or Windows. Also, there's plenty of production tools for music, sound and graphics. If you're using C++ to make executables, the gcc/g++ can spit out a runnable binary file. Depending on what libraries you compiled it with, it'll either need to be run from the commandline/script or merely clicking on it in a file browser. The latter has been my experience with GUI libraries, e.g. FLTK.

I would guess that there aren't many commercial offerings for Linux simply because of market share. Most developers wouldn't be getting a fair amount of money if they made something to specifically only run on Linux. As such, they're much more likely trying to bring a Windows or other OS based game into Linux, but like I said earlier, the technologies behind the game might not be cross-platform. The effort involved in porting the game might be less than the profit to be received. That said, one good Linux games publisher that springs to mind would be Linux Game Publishing. The name basically says what they do. Also, there are plenty of games that indie people develop just for fun or sometimes to boost their portfolios. Some games have even got some real polish to them; Neverball and Alien Arena are two. I don't think it has anything or much at all to do with the nature of Linux being open-sourced, Linux is just a kernel after all.

For me, I use Linux everyday, Kubuntu 8.04 at home and Slackware 13 at my university. Making games with cross-platform technologies virtually makes it the same as if I were doing all my work on Windows, sans the commandline compiling. Anyway, it's not hard at all if you get used to how Linux does things and if you're utilizing good tools.

[Edited by - Shonumi on March 14, 2010 12:17:36 PM]

Share this post


Link to post
Share on other sites
Quote:
Original post by Hodgman
The Linux-demographic aren't known for their love of proprietary software after all.


Tribal Trouble had 11% of their web sales to Linux users,
World of Goo broke their previous daily sale record by 40% on the day the linux version was released
Mystic Mine had 34% of their sales from the Linux version.

There are probably other examples, but it seems as if indie games are the ones that benefit the most from a Linux release, I'd guess its partially because they just drown in the competition on Windows and Linux related websites tend to make huge headlines whenever a commercial game is released, no matter how small it is.

However whats also interesting is that Conversion rates were higher for Linux than for Windows for both Tribal Trouble and Mystic Mine (havn't seen any detailed stats for World of Goo). So i definitly believe that alot of Linux users are willing to pay for software, probably a larger percentage of them than on Windows. (Piracy on Windows is fairly insane)

Share this post


Link to post
Share on other sites
Quote:
Original post by leiavoia
Games are not released for linux because linux isn't profitable. It has terrible desktop market share.
Quote:
Original post by Hodgman
Games are rarely released on Linux because it's a small market place. The cost (extra development time devoted to another SKU) is probably higher than the benefit (extra sales). The Linux-demographic aren't known for their love of proprietary software after all.

Obviously and unfortunately, this is an all too common misconception. Once again I have to point to 2DBoy's birthday pay-what-you-want sale results. In case you want to be lazy, the point is this:

Linux accounted for 17% of sales, which isn't high but it is higher than the marketshare. More importantly, Linux users paid on average a third more than Mac users and nearly twice as much as Windows users. So in terms of revenue, Linux had a much higher percentage. As shown in the previous post, several other indies have similar surprising results for developing Linux games.

AAA Commercial games do not have similar results because they simply do not try. Or it is some half-assed try where they give it to someone else to port and it's more expensive and much harder to find than the Windows version. You only need to look at the popularity of Wine (and Crossover and Cedega to a lesser extent) to see that there is demand. Yes, some Linux gamers deliberately buy Windows games to run through Wine. Some games like Doom 3 and Neverwinter Nights have native Linux binaries, but you have to buy the Windows versions. So Linux gamers look just like Windows customers as far as they're concerned.

Of course, the best results are by developers who deliberately set out to make their game cross-platform. The popularity of DirectX, however, limits the majority of games to Windows (at least natively, as Wine can do earlier DirectX stuff pretty well).

-----------------------------------

Whew, okay, I got carried away. This wasn't even the original question!

OP, I encourage you to check out OpenPandora, as well as its cousin, the GP2X Wiz. Also see their predecessors, the GP2X and GP32. As for the setup, I'm probably not the best one to answer, but I'll give it a shot.

The kernel takes care of interfacing with the hardware, but you'll really need the other parts of the operating system to do anything useful. The Pandora, for example is using a full graphical (albeit lightweight) Linux distribution. Doing something similar would simplify your task a great deal. You could easily use one without a graphical interface, but you'd either have to develop your own windowing system, or more likely you'd just have the X Window System installed anyway. A basic GUI isn't going to cost you too much, and it'll make the device much more useful outside of gaming. Remember, the more like regular Linux distributions it is, the easier it will be to develop and port games for your system.

Share this post


Link to post
Share on other sites
One of the easiest ways to write games for Linux while still supporting Windows (or even Mac) is to use Java. Tribal Trouble used it and they were able to take advantage of Linux in their sales. Java supports OpenGL if you need 3D graphics.

Share this post


Link to post
Share on other sites
Quote:
Original post by Momoko_Fan
One of the easiest ways to write games for Linux while still supporting Windows (or even Mac) is to use Java. Tribal Trouble used it and they were able to take advantage of Linux in their sales. Java supports OpenGL if you need 3D graphics.


I would say it is better to choose cross platform libraries, such as Ogre3d, ODE and SDL. Most of these libraries are made for C/C++ but bindings are often found to the most common languages java/python etc. This leaves you with greater choice of implementation language while making it easy to maintain platform independence.

Share this post


Link to post
Share on other sites
Quote:
Original post by flodihn
I would say it is better to choose cross platform libraries, such as Ogre3d, ODE and SDL.


Java is very much cross-platform. LWJGL (OpenGL + input + OpenAL) is also cross-platform (Mac, Linux, Windows, Solaris). The engines that build on top of these (Slick, jME, Aviatrix, Ardor) are cross-platform by extension. For physics we also have jBullet, a Java implementation of the Bullet library - which means it can run anywhere Java SE can run. Anyone aspiring to build an MMO is well served by Project Darkstar. So one could do worse than Java if one was looking to start a cross-platform game project.

Quote:
Original post by flodihn
This leaves you with greater choice of implementation language while making it easy to maintain platform independence.

Well, assuming you don't make the mistake of making the game in C/C++, you are left with few good choices. C# is a possibility, but you'll have to rely on Project Mono while Java people get to use the official JVM. Python is another popular choice. Apart from that there doesn't seem to be much else.

Share this post


Link to post
Share on other sites
Quote:
Original post by lmelior
AAA Commercial games do not have similar results because they simply do not try.
Yeah there's plenty of games that get huge percentages of their sales on niche platforms, like Linux, but AAA games are a bit different.
The crappy port jobs you mention, and proper support for a platform throughout development both have a cost that scales with the size of a game. Selling these games *is* just business (you're moving "units" not "games" at this point), and business people will take any option that will make more money.
I wouldn't blame ignorance for the lack of Linux support from AAA games, as a lot of people get paid a lot of money to figure out how to make money from a title.
My guess is that when a game is that expensive to make, the Linux sales (which may still be a large number) will still be dwarfed by the 360 sales, which makes the fixed-percent increase in production costs not able to cover the small increase in sales. So maybe it's true that they could have similar results if they tried, but it's still more profitable not to try.

But this is way off the OP's topic I think... so... Linux is perfectly fine for games and game-dev ;) The lack of games is apparently just not enough interest from big publishers.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!