Linux Gaming

D599631757b5f3ca924da52fdfc67e5f
0
fyhuang 101 Aug 19, 2004 at 01:33

First, I am not here to argue XP vs. Linux.

As you can probably see, there aren’t many ‘major’ games for Linux. There are many great, addictive games that I could play for a while, but nothing of the scale of a Windows game. Why is this? Linux is not harder to program than Windows - after all, SDL makes it somewhat easier! OpenGL (IMHO anyways) is simpler than DirectX, using mainly function calls (no data structures required). Wine solves this problem somewhat - games developed for Windows can be run on a Linux machine, if at 2-3 FPS.

What are your opinions on this? Do you plan to create cross-platform games? Do you think that Linux gaming will take off?

56 Replies

Please log in or register to post a reply.

E05263ec846eb85da803f56e2917962d
0
Noor 101 Aug 19, 2004 at 01:48

IMO. game companies tend to prefer windows platform over Linux for the following reasons:

  1. DX (especially for 3d sound) Doom 3 uses OpenGL but uses DX for sound.
  2. Wider use: More users use MS products and OS
  3. Top Video cards update their driver for windows before Linux
  4. Some hardwares are compatible with Windows and not with Linux
D599631757b5f3ca924da52fdfc67e5f
0
fyhuang 101 Aug 19, 2004 at 02:03

Yes, 3 and 4 - most vendors don’t even release drivers for Linux, and winmodems have prevented me from putting my Linux to any use for the past few years…

But 1 is slightly arguable, as OpenAL also provides good 3D sound.

Fdbdc4176840d77fe6a8deca457595ab
0
dk 158 Aug 19, 2004 at 03:07

Nice thread. I think we’re starting to see a change. It all depends on the engine used. Engines like Unreal, Gamebryo, and others are producing platform independent engines, which will make platform independent games. And because most engines want to compete, they will sooner or later provide this OS-independence feature. According to my search results on the 3D Engines Database, all recent commercial engines except a couple like Source, are platform independent. So that’s good news!

The Linux market is small, but not negligable.

2b97deded6213469bcd87b65cce5d014
0
Mihail121 102 Aug 19, 2004 at 05:15

As crazy as it may sounds, recent games produced with those ‘cross-platform’ engines are also Windows only :) Guess somebody else is crazy but definetely not I, since there is a great number of tools, which makes the task of developing multi-platform games possible.

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 19, 2004 at 11:39

When making a game for mass profit, Windows is the only big choice - #2 . And because of the very little budget for post-release game work (patches ect..) porting just isn’t viable. Perhaps open-sourcing once the game’s shelf life is truly dead is the answer

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 19, 2004 at 12:51

As you can probably see, there aren’t many ‘major’ games for Linux

i disagree… quake 3, ut 2003, civilization, counter strike (was that over winex or did they really release… i don’ remember). you are right though… the titles can be counted on one hand :)

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 19, 2004 at 12:51

with .NET somebody could probably do the work and port the directx API to linux…
since it’s not relying COM anymore it would be doable

B4588bd3d9eb1dba9b52edd64278bec7
0
fluoro 101 Aug 22, 2004 at 06:44

One problem that Linux has is that binary compatibility in the C++ library keeps breaking. It broke in gcc 3.3 and it broke again in gcc 3.4.

Another problem is that there are too many differences in the various versions of Linux. There are many kernel versions, with many options that may or may not be compiled into them. This makes it difficult for hardware vendors to provide really well-tested graphics drivers because they can’t possibly test on every configuration of the kernel, on every likely possibility of hardware. Not just hardware vendors, but application developers as well. This is less of a problem on Windows, because there is a finite number of versions of Windows to test with. It’s even less of a problem on any given console because you know that every Xbox has the same hardware and software setup.

That being said, I’m not trying to be discouraging. I develop my software on Linux.

D5a77f73a82eeeafd6fb30177f2b5cc5
0
Decibit 101 Aug 22, 2004 at 09:00

UNIX users play less games. IMHO this platform as well as all its descendants are designed to power workstations, servers and business computers. And they are intended to be operated by advanced users.

The command line inteface is is generallyharder to understand for those who generallyuse the computer just for entertainment. Those who play games frequently would install Windows anyway. And if so, why would developers spend additional time and port their products to UNIX.

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 22, 2004 at 10:00

Although, it’s very easy to put an icon on the desktop to launch something, like UT or Cedega does - it’s standardised.

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 22, 2004 at 11:23

One problem that Linux has is that binary compatibility in the C++ library keeps breaking. It broke in gcc 3.3 and it broke again in gcc 3.4

i’d really like to see the .NET CLR being integrated with the linux kernel. that would essentially save so much time spent on cross platform development

The command line inteface is is generally harder to understand

with the current version of suse or similar it should be possible to operate linux without hardly ever seeing the cli…

off topic : the new version of X that will allready be included in the next release of fedora, suse, etc. will finally contain the composite manager, which is expected to be widely used by gnome and kde by the beginning of next year. i find this very exiting to say the least

B4588bd3d9eb1dba9b52edd64278bec7
0
fluoro 101 Aug 22, 2004 at 15:41

@anubis

i’d really like to see the .NET CLR being integrated with the linux kernel. that would essentially save so much time spent on cross platform development

No, it should not be integrated into the kernel. But it is nice that there is a good implementation of it available for Linux now. Mono is fantastic.
@anubis

off topic : the new version of X that will allready be included in the next release of fedora, suse, etc. will finally contain the composite manager, which is expected to be widely used by gnome and kde by the beginning of next year. i find this very exiting to say the least

I’m not sure what you mean by a “composite manager”. X has been doing compositing for several releases now.

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 22, 2004 at 15:58

Definately not integrated into the kernel!

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 22, 2004 at 16:40

why? .NET will be kernel in longhorn, and it will give it a nice performance-boost.. (well, parts of .NET, that is).

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 22, 2004 at 19:15

Because then every bug in it will be an exploit in the kernel. Why not put bash and cd and all the other system programs into the kernel? It’s just messy, and bloats the dam thing.

When the argument was made for putting X into the kernel for a speed increase, it ended up pretty much agreed that such an increase was fable.

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 22, 2004 at 21:38

X will always be slow:D

no.. what mathers more is, the os will be .NET in the end. so part of the kernel will be .NET, and most api’s will be .NET, and all. win32 will be dead, and just layered on top of .NET for compatibility.

on windows, this is all less strict. .NET everywhere.. thats, what mathers:D

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 22, 2004 at 22:24

In that case, .Net has a different aim therefore implimentation. You can configure the kernel to directly use Mono for running .Net binaries which is probably the closest it’ll get in the nix side of things

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 22, 2004 at 22:26

BTW (I’m just being argumentitive now) X’s speed is very much a percived thing. It is ‘slow’ due to correctable design flaws, not actual code quality.

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 23, 2004 at 00:59

I’m not sure what you mean by a “composite manager”.

http://freedesktop.org/Software/CompositeExt

for a few screenshots :

http://freedesktop.org/\~krh/Screenshot.png

http://www.gnome-look.org/content/preview….9c4dcafca392d23

No, it should not be integrated into the kernel

well, i said that that’s what i’d like to see, not that it will or should happen in reality

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 23, 2004 at 04:35

Nice screenshots you found :)

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 23, 2004 at 08:34

directly from the X.org release plan page

065f0635a4c94d685583c20132a4559d
0
Ed_Mack 101 Aug 23, 2004 at 12:10
F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 23, 2004 at 13:14

that one, yeah

D599631757b5f3ca924da52fdfc67e5f
0
fyhuang 101 Aug 25, 2004 at 07:11

Sorry for being slow, I haven’t had computer access for a week or so…

Anyways, people will play games on Linux, because everyone needs a break from work, and there are users of Linux on the desktop (unfortunately, all the computers I have bought had Windows pre-installed on them…). Many games, multiplayer especially, will want to have Linux compatability - Linux servers are generally more stable, etc. Don’t believe the fake Microsoft surveys - many of them are performed by companies that have almost no association with Linux whatsoever. Also, how can Linux possibly cost more than a Windows server???

Hmm, yes, end-users may be hindered on Linux because of the ever-changing version numbers. Probably distributors and developers will see through this sometime and solve this problem.

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 25, 2004 at 07:14

@fyhuang

Linux servers are generally more stable, etc. Don’t believe the fake Microsoft surveys - many of them are performed by companies that have almost no association with Linux whatsoever. Also, how can Linux possibly cost more than a Windows server???

are you a system admin? you would not ask such questions/state such statements else..

but the whole issue is offtopic and highly flamable (means filled with subjective bullshit instead of staying just with the facts..). open another thread for this, if you want.

D599631757b5f3ca924da52fdfc67e5f
0
fyhuang 101 Aug 25, 2004 at 09:07

Oki, oki, sorry. Just saying that there are many people offering game servers, some run on Linux, so games may want to have that kind of cross-platform compatability.

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 25, 2004 at 10:14

yep, thats true. but servers normally don’t have to do much at all with the game itself, so having one portable doesn’t mean the other part could be, as well.. (but it’ll be nice).

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 25, 2004 at 12:07

though the games that usually get ported to linux are the ones that have a server for linux

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 25, 2004 at 12:19

possible. i say it makes sence. it just doesn’t _have_ to be. but developers careing about a linux server will by a big chance think about a linux client, too..

0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Aug 25, 2004 at 12:26

@davepermen

possible. i say it makes sence. it just doesn’t _have_ to be. but developers careing about a linux server will by a big chance think about a linux client, too.. [snapback]9563[/snapback]

probably not. There’s a big difference between a server which doesn’t require a possible change from Direct3D -> OpenGL in a game and a client which does. Dedicated servers very rarely have that much platform specific code, but that’s completely different from a client which very much does. Half Life has had a linux server since about a month after it was released, but I’ll be damned if they’d even consider releasing a client.

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 25, 2004 at 12:36

wich i’ve said 2 posts above..

0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Aug 25, 2004 at 20:32

@davepermen

wich i’ve said 2 posts above.. [snapback]9567[/snapback]

I see. I was confused by the fact that you appear to be contradicting yourself.

6ad5f8c742f1e8ec61000e2b0900fc76
0
davepermen 101 Aug 25, 2004 at 20:41

i appear to. because there are different points of view. and they happen to result in different results for different devteams..

D5a77f73a82eeeafd6fb30177f2b5cc5
0
Decibit 101 Aug 26, 2004 at 02:20

Isn’t it a stereotype. Developers take care about Linux game servers forgetting ( or neglecting ) to write clients on the same platform, because

Linux servers are generally more stable…

I think the reason isn’t in software, it’s in people’s minds.

Linux release of DOOM3 may occasionally change everything. It would become an example of a successful Linux title. And it posesses the power to break the stereotype that Linux platform is generally only for servers.

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 26, 2004 at 02:49

the reason is money. linux has only so much of a marketshare on the desktop… doom 3 won’t change that. you can pretty clearly see that when you look at the fact that doom 3, like most other ported titles, is a binary only version that still requires you to buy the windows cd. this indicates that activision is putting no money down for the linux version and that they are not distributing it. it’s something that Id does out of comittement to the comunity. and even if every linux user downloaded that binary it still wouldn’t get activision to wiggle it’s toe because the buying power of linux desktop users is still too small

B924862998ea032dd871ed54d7a3616c
0
dustin 101 Aug 26, 2004 at 03:08

You should look at the gaming situation on the macintosh to see where Linux gaming is headed. The mac market is split between shareware-type independent games and ports of Windows games. Both of them do well. The shareware type games are usually created by macheads, so they integrate nicely with the OS. The ports are only done for games that do well on Windows, so there are less bad quality big budget games.

I see the Linux market going the exact same route for the next couple of years.

D5a77f73a82eeeafd6fb30177f2b5cc5
0
Decibit 101 Aug 26, 2004 at 11:29

The reason is money and as usual promotion of the title (which again takes money). Microsoft spent a lot of money promoting their Wins.

Where do you want to go today?

But even more modern 3d engines feature multiplatformness. Take for example Torque or OGRE. When the engine does the rendering and basic routines it’s not too difficult to port a game to Linux and Mac.

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 26, 2004 at 11:45

The ports are only done for games that do well on Windows, so there are less bad quality big budget games.

there you have a point… still, i think ed was right in what he said earlier that linux porting falls into the post production category, so you will probably only see really commited companies like Id or Epic porting the thing over.

however there is WineX and that is probably the way to go. Or as .NET becomes the standard for windows with longhorn, mono will replace it and we’ll have windows games (at least the ones with an opengl renderer) on both platforms…

Baaecfb3a09127d5bc5045f89025e49e
0
UnknownStranger 101 Aug 26, 2004 at 11:51

@Decibit

When the engine does the rendering and basic routines it’s not too difficult to port a game to Linux and Mac. [snapback]9688[/snapback]

It still requires devs and QA spending time on it, and time means money, which has to be justified by (potential) sales on the targeted platform/s…

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 26, 2004 at 12:11

plus support for the product

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Aug 26, 2004 at 12:45

I dont see companies making high profile games in .NET I think they will definately use a higher performance language and stick with c/c++. Java is no slower than c# and is already mature and running well on more platforms but you dont see Id announcing Quake 4 to be in java.

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 26, 2004 at 14:33

sure but with longhorn it’s all going to be .NET. right in the kernel…

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Aug 26, 2004 at 15:37

True, but I dont think this will necessarily mean a whole lot for performance critical applications. These are applications that still use assembly occasionally. You just cant afford to work in an interpreted language sometimes.

C was always so great because of gcc. You could write the code once and be able to build it anywhere. A new archetecture need only implement gcc and a host of applications then already work. Java was very close to becomming the next gcc. All one needed to do was implement the jvm and all the java applications worked this time without even needing a recompile. .NET has some advantages in allowing for multiple languages to be targeted to the same platform. gcc wouldn’t have been so great if it was only a c compiler and not able to do all of the other languages it can do.

The problem is that CLI is highly tied to windows. Mono is doing a great job, but there are many parts of .NET that will be extremely hard to port away from Windows, and Microsoft certainly isn’t going to help. Another step is definately needed, but I fear that Microsoft will work as hard as possible to keep that step from comming. If someone can just refuse to buy windows, grab Linux instead, and literally ALL of their programs work EXACTLY the same then you would find Windows would go the way of the dinosaur. They simply cannot justify their price with features alone. They need to leverage the fact that there are so many people tied to Windows. For this reason they will activly thwart attempts to make applications be OS transparent.

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 26, 2004 at 15:52

i agree with you.
especially since there currently is no project to port the directx API to linux, if that would even be possible without getting into a whole lot of patent trouble.
but i still find the idea of cross platform games intriguing :)

performance is going to be an issue but with evloving JIT technology and increasing processing power it will probably be neglectible (java never did a remarkable job here). especially since the trend to load off work from the cpu to the gpu prevails

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Aug 26, 2004 at 20:52

Have you actually done tests with Java? It is already of comparable speed for normal operations given the JIT technology. The thing it lacks though is the inability to do extremely low level optomizations, which C# also lacks. For most game projects the GPU is the limiting factor anyhow, so it is already capable. I really dont see the major companies moving to an interpreted language anyway. Like I said, they are still using assembly for many operations. Do you think they would give this up along with the higher level C optomizations that are also unavailable in the interpreted languages. Many people write custom new and delete operators or malloc if that is your wish in order to minimize the number of memory allocations and deallocations needed to be performed by the operating system.

I used to think assembly would go away with these fast computers and excellent optomizing compilers but it just won’t. Compiled languages will not go away either.

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Aug 26, 2004 at 20:55

That said, it would be sweet to have OS transparent programs. We should try as hard to achieve this as possible at least for the apps that we use. I say refuse to use DirectX for this very reason. Same thing goes for MFC and win32 in general. Use java swing, or GTK or FLTK or whatever else tickles your fancy.

I will also say that we should have one standard for windowing applications. Perhaps GTK will achieve this standard, I don’t know.

D599631757b5f3ca924da52fdfc67e5f
0
fyhuang 101 Aug 27, 2004 at 05:17

Well, I don’t use DirectX anymore because I find OpenGL much simpler and more comprehensible. COM is too complex…

There is a project to port DirectX to Linux, and that would be WineX (now called Cedega), maintained by TransGaming or something like that. Successful project, able to run many, many Windows games on Linux. Wine itself has some DirectX support (missing D3D I think), but many of the more popular games have OpenGL modes (in the options or hidden, i.e. War3.exe –opengl).

But as the latest and greatest games (DOOM 3, etc.) start to use OpenGL, and with the availability of OpenGL sites like NeHe, I think that many developers will start to switch to OpenGL and make porting to other platforms much easier.

I will also say that we should have one standard for windowing applications. Perhaps GTK will achieve this standard, I don’t know.

*sigh* “The greatest thing about standards is that there are so many to choose from.” Even if GTK achieves a standard for windowing systems, some people won’t like its architecture, some people won’t like it, etc. and a new windowing system will be born. The reality of life…

Also, I just realised, I have not seen any articles/tutorials/etc. on cross-platform programming. There’s a good one on GameDev.Net about Graphics API Independence, but what about platform independence? If you see one, please tell me!

And about Linux programs having to be EXACTLY like Windows programs to have the end-user use it… unfortunately, this is almost true. Take, Blender and 3DS MAX. You can easily jump into MAX and figure everything out on your own. Blender, however, is designed for a maximum effeciency workflow and therefore has lots of keyboard shortcuts, no toolbars, etc. so requries an extensive manual to begin to learn. Also, Windows programs tend to look cooler…

F7a4a748ecf664f189bb704a660b3573
0
anubis 101 Aug 27, 2004 at 11:08

There is a project to port DirectX to Linux, and that would be WineX

right, but i was talking about a project that would make the API available on linux (inside of mono)

But as the latest and greatest games (DOOM 3, etc.) start to use OpenGL, and with the availability of OpenGL sites like NeHe, I think that many developers will start to switch to OpenGL

i doubt it… carmack has always used opengl and that never changed anything in the past, so why should it now ?
even if it would that doesn’t give you instant platform independence since most games will still rely on directx for sound, input, etc.

I will also say that we should have one standard for windowing applications. Perhaps GTK will achieve this standard, I don’t know

i’d really like to see that happen. as i mentioned in another thread the biggest problem that linux has is the lack of a consisten user interface. with mono there is Gtk# and for indy people it is a technology available now to produce cross platform user interfaces

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Aug 27, 2004 at 12:54

As I said, there are many libraries to give cross platform GUIs. I just dont like the fact that there are so many of them without different purposes. Oh well.

Well DirectX does have bindings in C# so if they are actually able to emulate it effectively in wine then perhaps that will work. I have posted my thoughts before about proffessionals using C# for games though. For those of us making games without restrictions we shouldn’t be using DirectX anyhow.

Realistically speaking, there is no way around this. The best we can do is to code cross platform ourselves and convince those close around us to do the same. It is no use trying to convince everyone.

0684f9d33f52fa189aad7ac9e8c87510
0
baldurk 101 Aug 27, 2004 at 14:35

@fyhuang

And about Linux programs having to be EXACTLY like Windows programs to have the end-user use it… unfortunately, this is almost true. Take, Blender and 3DS MAX. You can easily jump into MAX and figure everything out on your own. Blender, however, is designed for a maximum effeciency workflow and therefore has lots of keyboard shortcuts, no toolbars, etc. so requries an extensive manual to begin to learn. Also, Windows programs tend to look cooler… [snapback]9803[/snapback]

I’m not sure how the OS has anything at all to do with that though..

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Aug 27, 2004 at 15:32

I think he is meaning Blender is a linux program, when in reality it is increadibly cross platform I use it in Windows. It does have a steep learning curve, but for a moderately experienced user (3dsmax is a proffessinal’s application) that is of little importance.

A9d3251f6dc0889db960505c3d85e043
0
_mx5_Kris 101 Oct 08, 2004 at 03:36

i bought hl:cs retail, is it possible for me to install it on linux?

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Oct 08, 2004 at 18:07

You can try to run it in WineX, but I dont think valve made any effort to make a Linux binary.

Doom3 and UT2k4 both have native linux binaries of their game client.

A9d3251f6dc0889db960505c3d85e043
0
_mx5_Kris 101 Oct 09, 2004 at 01:46

damn, and they happen to be the two games that cos sh*tloads at the moment here in oz….. what about UT2k2

40d3c1d8f291e5f90cc05985e00da115
0
Michael 101 Oct 09, 2004 at 02:08

Hrm wasn’t there talk about MS migrating parts of DirectX to user mode in order to avoid costly user mode-kernel mode switches?

7543b5c50738e23b200e69fe697ea85a
0
NomadRock 101 Oct 09, 2004 at 02:48

I am sure you mean UT2k3, and I believe it works in linux as well, but UT2k4 is only 30-40 USD, surely that isn’t much to fork over. Plus there are several very high quality total conversions out for it including Red Orchestra and Frag Ops.