CryEngine3 seems interesting if someone didn't want to go the Open Source route on Linux. Unigine is already available too and not "yet another FPS." Too bad the possibility id Tech 5 coming to Linux and eventually Open Source is pretty far in the future.
But yes, I don't know why companies sit on Linux ports. There's also an original Linux Deus Ex and Unreal Tournament 3 that were finished, but not released.
they dont want to release the linux ports simply because of support. when i say support. i mean the first month of release support. these days. the way the game market is. if your game doesnt sell well before it even launches. it sucks. everything is pre-order now. linux has basicaly no impact on pre-orders. when you release a game, its over. nobody cares what you do with it after that. look at how many games dont even get properly patched to work correctly with all the stuff theey were suspose to work with. these are even console games that a year after they are released, if something is wrong with them the devs dont care to fix it at all.
the linux port will basicaly never be done when the windows,mac ports are done so there wont be release day support. and you can say all you want how they could just release it without official support, that wont stop all the threads in their forums about how do you get it to work in linux.
really what is gunna change this never ending problem of companies not wanting to release a linux port is we have to make a more stable target platform. its getting better and better every week. i mean it really use to be a nightmare but now with the distros acting in a more unified direction, we can at least start to create a check list of what you need to do to work on linux. some of this iccullus has been pointing out.
one interesting thing is that for years the way a company brought their game to linux like ut 2004 and doom and how wine did it, was basicaly to support the nvidia binary driver and then end of story. that was acceptible for SOOO many years. ati was a joke on linux, intel had just as good of support as it did on windows for most games (pretty much no support at all, and if there was it was unplayably slow), and then, nobody else mattered (at one time voodoo did, but those are a time long gone).
today frglx is for some reason a factor. it sucks, but its good enough to now be a problem when porting your game. if your game is made right, porting should be not much more than recompile and test, the games that have mac and windows support are proboobly made so that even if you didnt use sdl, its not much more than a couple guy changing some display setup and audio setup support. what the real problem comes down to is " why the fsck does this game render perfectly on windows driver opengl, the mac opengl, but now it acts differently with the various linux drivers"
one day gallium3d based mesa opengl, opencl, video accel will be awsome. it will be a couple more years, but its coming. look at what really has happened. dont look at how you feel right now when your geforce 580 is slow and buggy and therefore open drivers must suck. look at how in 2000-2006 we were all told by everyone that graphics divers are so mystious and complex and how every little peice and part is super optimised in secret proprietery ways and its so interwoven throughout the entire system that there is noway a couple linux hackers could ever understand it in their spare time. but the reality of it is that the most dificult part of designing the graphics drivers is the actual design of the graphics stack. there is a reason why gallium3d is mentioned so much in and of itself as a seperate entity from mesa. and that is because it actualy gives a structure to the entire graphics stack. beforehand some people got some stuff working on ati harware, you know the old r300c driver that came about. that and the nouveau driver when it really just first started, but those were mostly just usefull for getting 2d support and the dri componants started. it has been little more than 5 years since the initial gallium prototypeing and it took time to convert the nvidia and ati driver over to gallium. really i dont think nuch 3d stuff even starrted until late late 2009 so its ben not much more than 2 years. its getting to the point where hardware thats a generation old is working pretty well, the high end cards might not be fast but most of the 3d functionality is there.
kinda got off toppic a little with the graphics driver history textwall, but, it really is what linux support boils down to.there have been solutions for other problems on linux like how to properly package and distribute, and how to deal with library dependancies, but you cant ship your own libgl. so what it really boils down to is when the distros can ship fully functional, efficient, speed competative, and hardened opensource drivers out of the box, we solve the number one problem with commercial games on linux. iccullus cought a lot of flak for saying the opensource drivers suck, but they did. they arent perfect now still, and if you were to release an unsupported linux binary today, your forums would have the never ending "linux problems" threads.
A game engine(not game) must be portable and modular. I heard in some developer discussion forum that a good way to achieve portable code is develop it concurrently on 2 platform. In this way any fully platform specific code won't go to the main logic part and the code is easier to port other architecture(I once heard WinXP was developed on non x86 machines). If they have a linux port thats most likely they're making code portable. Also may be(just may be) they were using Linux shell and other tools for development. That seriously does not means it will used for any Linux title or even if its Linux performance is even production level(I think this are totally different thing that a engine compile and run under linux and its giving a decent FPS on Linux).
In other 5-year-old news... Any title that is available on PS3 has an openGL (EGL) renderer and an ELF binary available.
No it doesn't. Yes, the PS3 supports a form of GL ES. No, no serious game on the PS3 actually uses it. It's a bit like how Windows supports GL but most games using D3D, except even worse.
A very large part of this is because GL (and GL ES) are horrifically crappy APIs that have a lot of limitations in regards to contemporary PC graphics hardware, much less the very non-PC-like architecture of the PS3 (or XBox 360 or Wii, for that matter). No general-purpose graphics API is going to match the hardware of the consoles well, hence nobody uses general-purpose graphics APIs on the consoles.
A lot of games on the consoles partially eschew any API and make use of directly writing opcodes to the GPUs. This works only because the hardware is completely locked to a specific architecture, unlike the PC. This also allows a level of efficiency that is impossible on the PC. One might remember the idiotic statements by a mid-level AMD executive about how DX12 might do away with an API in favor of direct machine-code GPU programming; the recent complete architecture overhaul of AMD's GPUs shows why that's retarded on the PC, even though it's entirely feasible on a console.
In related news, it doesn't surprise me that Crytek has a Linux port. A lot of game engines that you dont' even know about have Linux ports. Some companies port to Linux because it's a cheap "proving ground" to porting to consoles, which often use a GCC-based compiler (albeit, an ancient shitty horrible disgusting pre-4.3/GPL3 version of GCC) which has a lot of incompatibilities with the PC game mainstay, Visual C++. Some engines have internal ports because an employee or two are Linux nerds. Some because Linux adds another cheap-and-easy bullet point to the feature list page which they use to sell to the executives at production companies. I've worked on two games using Linux on my primary dev machine (before I gave up on Linux ever being a real desktop and switched to Win7 on all my non-server machines), and no Linux binaries ever have been (or probably ever will be) released for those games. I know of at least one commercial engine which supports Linux _solely_ because the tech lead wanted to be able to use Valgrind every now and again; that same tech lead has been quoted as saying "Linux will never be a platform worth supporting commercially." (Granted, the same tech lead has said some rather silly things, so take that as opinion, not fact.)
In unrelated topic land: can you guess why Unreal (and almost every other big commercial engine) is so popular in the industry? Hint: it has a lot less to do with the developers/engineers who make games and a lot more to do with marketing than you probably suspected. I've yet to meet an engineer who's worked with the Unreal technology and hasn't hated it. Basically, executives see the Epic demos and hear "buy in bulk now and get a huge discount," then go and buy a ton of licenses, and then tell their development houses to use the engine licenses they already paid for in bulk. This feeds a vicious cycle, where consumers buy more games based on some hyped-up engine, or where so-called "schools" like Full Sail or Devry or SMU "educate" a new crop of half-assed one-tool developers, or where more devs are conditioned into the crappy codebases, resulting in more industry adoption of crappy game engines that costs tons of money and require boatloads of time and effort to build a unique game on top of while flexible engines like Unity3D or in-house engine devs struggle to gain mindshare.
I've yet to meet an engineer who's worked with the Unreal technology and hasn't hated it.
@Eleanthis, sometimes your comments annoy me, but on the technical side I am reading them with great interest.
This time I don't want to be a dick,... just of curiosity - What is wrong with UEngine, and how you compare it to Source or IDTech4 for example?
I agree with Drago. I have been working with the Unreal Engine (mostly the first two iterations), and while it is true that the demos do increase their popularity, but the reason for using the engines is definitely not that. It's pretty simple, really. When you are creating a game, why should you reinvent the wheel? UE is a complete game suite with excellent support for scripting, materials, meshes, renderers, audio and everything else a game needs. Plus, it has great tools for that. The UDK is another thing that makes it so popular - anyone can try out the tools that game developers themselves used, in a free (as in beer) manner, without any limitations, with the exception of selling your game and revealing proprietary code.