View Full Version : Linux Gaming
fyhuang
08-18-2004, 07:33 PM
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?
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
fyhuang
08-18-2004, 08:03 PM
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.
Dia Kharrat
08-18-2004, 09:07 PM
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 (http://www.devmaster.net/engines/), 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.
Mihail121
08-18-2004, 11:15 PM
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.
Ed Mack
08-19-2004, 05:39 AM
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
anubis
08-19-2004, 06:51 AM
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 :)
anubis
08-19-2004, 06:51 AM
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
fluoro
08-22-2004, 12:44 AM
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.
Decibit
08-22-2004, 03:00 AM
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 generally harder to understand for those who generally use 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.
Ed Mack
08-22-2004, 04:00 AM
Although, it's very easy to put an icon on the desktop to launch something, like UT or Cedega does - it's standardised.
anubis
08-22-2004, 05:23 AM
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
fluoro
08-22-2004, 09:41 AM
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.
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.
Ed Mack
08-22-2004, 09:58 AM
Definately not integrated into the kernel!
davepermen
08-22-2004, 10:40 AM
why? .NET will be kernel in longhorn, and it will give it a nice performance-boost.. (well, parts of .NET, that is).
Ed Mack
08-22-2004, 01:15 PM
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.
davepermen
08-22-2004, 03:38 PM
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
Ed Mack
08-22-2004, 04:24 PM
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
Ed Mack
08-22-2004, 04:26 PM
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.
anubis
08-22-2004, 06:59 PM
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 (http://www.gnome-look.org/content/preview.php?preview=1&id=14958&file1=14958-1.jpg&file2=&file3=&name=E-Gnome+Dropshadows&PHPSESSID=6bc847f92378423559c4dcafca392d23)
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
Ed Mack
08-22-2004, 10:35 PM
Nice screenshots you found :)
anubis
08-23-2004, 02:34 AM
directly from the X.org release plan page
Ed Mack
08-23-2004, 06:10 AM
http://www.freedesktop.org/XOrg/XorgReleasePlan
This doc? It's interesting
anubis
08-23-2004, 07:14 AM
that one, yeah
fyhuang
08-25-2004, 01:11 AM
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.
davepermen
08-25-2004, 01:14 AM
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.
fyhuang
08-25-2004, 03:07 AM
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.
davepermen
08-25-2004, 04:14 AM
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).
anubis
08-25-2004, 06:07 AM
though the games that usually get ported to linux are the ones that have a server for linux
davepermen
08-25-2004, 06:19 AM
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..
baldurk
08-25-2004, 06:26 AM
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..
9563
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.
davepermen
08-25-2004, 06:36 AM
wich i've said 2 posts above..
baldurk
08-25-2004, 02:32 PM
wich i've said 2 posts above..
9567
I see. I was confused by the fact that you appear to be contradicting yourself.
davepermen
08-25-2004, 02:41 PM
i appear to. because there are different points of view. and they happen to result in different results for different devteams..
Decibit
08-25-2004, 08:20 PM
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.
anubis
08-25-2004, 08:49 PM
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
dustin
08-25-2004, 09:08 PM
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.
Decibit
08-26-2004, 05:29 AM
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.
anubis
08-26-2004, 05:45 AM
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...
UnknownStranger
08-26-2004, 05:51 AM
When the engine does the rendering and basic routines it's not too difficult to port a game to Linux and Mac.
9688
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...
anubis
08-26-2004, 06:11 AM
plus support for the product
NomadRock
08-26-2004, 06:45 AM
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.
anubis
08-26-2004, 08:33 AM
sure but with longhorn it's all going to be .NET. right in the kernel...
NomadRock
08-26-2004, 09:37 AM
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.
anubis
08-26-2004, 09:52 AM
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
NomadRock
08-26-2004, 02:52 PM
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.
NomadRock
08-26-2004, 02:55 PM
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.
fyhuang
08-26-2004, 11:17 PM
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...
anubis
08-27-2004, 05:08 AM
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
NomadRock
08-27-2004, 06:54 AM
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.
baldurk
08-27-2004, 08:35 AM
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...
9803
I'm not sure how the OS has anything at all to do with that though..
NomadRock
08-27-2004, 09:32 AM
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.
[mx5]Kris
10-07-2004, 09:36 PM
i bought hl:cs retail, is it possible for me to install it on linux?
NomadRock
10-08-2004, 12:07 PM
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.
[mx5]Kris
10-08-2004, 07:46 PM
damn, and they happen to be the two games that cos sh*tloads at the moment here in oz..... what about UT2k2
Michael
10-08-2004, 08:08 PM
Hrm wasn't there talk about MS migrating parts of DirectX to user mode in order to avoid costly user mode-kernel mode switches?
NomadRock
10-08-2004, 08:48 PM
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.
vBulletin, Copyright ©2000-2009, Jelsoft Enterprises Ltd.