Wednesday, February 25, 2009

What Game Are You Playing?

Okay, I have been sitting on this article for a while, but I needed some time to recover from the huge, gaping maw of freetarded insanity contained in this article. Whew! Well, better now than never!

He starts off with the standard luser masturbatory moaning: "Ohh, OHHH, Linux, you're so ..... PORTABLE!!! MMM!!! Your license is so, OOOOHHHHPPPEN!!"

Finally, he gets to the meat of his freetarded idea.

Here's the idea: All PC Games should first be built to work with the GNU/Linux Universal Operating System.


My eyes must be deceiving me. Let's see this idea again.

All PC Games should first be built to work with the GNU/Linux Universal Operating System.


WTF?! This is considered an idea?! It sounds like nothing more than the wish-fulfillment fantasies of a demented freetard (probably because it is)! What kind of two-bit justifications does this luser have for such an insane suggestion?

The game would simply have an installer that would install GNU/Linux on the host platform and to enable the gamer (sic) to be played on the host. An example of this ... is ... called wubi (Windows-based Ubuntu Installer). The wubi enables users to install GNU/Linux as a program into the Windows OS.


Now, far be it for little ol' freedom-challenged me to question a plan such as this one Great Lunix Evangelist, sir, but it seems like there are some problems you have not considered. For instance, this WUBI only provides a way to install Linux onto a preexisting Windows partition. The user still has to run Linux stand-alone and face all the driver difficulties that result.

Since GNU/Linux is Universal, this could open up the game to just about any platform because the user would simply use the game installer to install GNU/Linux along with the game to their system.


With power of Linux, you can run Crysis on your cellphone!

Running games in this fashion would put an end to the need for PC game makers having to port their games to different host Operating Systems because all games would be built to work in the GNU/Linux Universal Operating System.


Yes, let's solve all of our porting problems by targetting the operating system with a 0.91% marketshare!! Great idea!!

Using this type of system would revolutionize the PC gaming industry, and broaden the market for the game because it could run on many different types platforms. Increasing the availability of the games would equate to increased sales of the games.


Just how big are those other platforms anyway? To reach ~95% of the desktop market, you only have to port your game to two platforms: Windows XP/Vista and OSX. Chasing after Linux will just cause you to wind up like Loki. There are certainly ways to improve PC gaming, but targeting Linux is not one of them.

It's sort of like the example of RAMBUS RAM vs. SDRAM. Since SDRAM was a more open standard than RAMBUS, more hardware mfgrs were able to make SDRAM and so it became cheaper and more widely used to the point that it snuffed out RAMBUS alltogether.


Yet Linux has been freely available for nearly 18 years, and it is still has a shitty marketshare. Something tells me that your metaphor has some problems.

Another example would be Henry Ford's mentality of making cars more affordable and selling many more cars than when they were only available to the rich.


This is relevant to Linux, how?

This method of making games would also help to protect gaming systems from becoming obsolete, which would be beneficial for both the gamer and the game maker.


Because you never have problems running old applications in Linux!

It is articles like this one that remind me why I do this.

10 comments:

yOSHi314 said...

i agree that the quoted idea is really stupid.

but think about it this way - in order to play most pc games, you have to pay for windows first. it's like adding extra cost to the game.

"Because you never have problems running old applications in Linux!"

nope. only those that are provided with no source code. in case of game ports made by loki software, you bundle it with old compatibility libraries to make it work.

you obviously didn't notice that some software in windows also has incompatibilities with newer system libratries, and people do the same thing - they throw older version dll's into its dir to have it working. or it already comes bundled with them.

people do not notice that too much, because
- most software bundles its own libs.
- windows sacrificed innovation for stable api/abi. this is slowly becoming a problem for microsoft.

linux does not make any sacrifices in order to keep backwards compatibility. but glibc does it since v2.2.

"All PC Games should first be built to work with the GNU/Linux Universal Operating System."

actually, all games should be written in such a way that porting them to other platforms would be relatively painless - be it mac, linux, playstation, wii, or whatever else.

it's usually an extra burden for the developer, but it pays off when the game is to be ported to some other architecture (like consoles).

Kyle said...

Starting any sentence with "All games should be written to support..." shows a fundamental lack of understanding about game programming.

Systems (especially game systems) have fundamentally different architectures. With game development, where efficiency and accuracy are so important in order to maximize your hardware-to-software payoff, you write to hardware. Period.

Sony development has been plagued for years with utterly bizarre architectures that are difficult to optimize for (this is why the PS3 has yet to reach anything approaching the potential of its hardware). You can't just write it in a way to make it 'relatively painless' to port to another system, because it's fundamentally different.

Microsoft enjoys a nice position with the 360 and Windows gaming because the development tools provided by Microsoft and the stable DirectX API on Windows allow that relatively painless porting (relatively - all you have to do is look at the Windows port of GTAIV to know that still isn't a fun process).

When it comes to developing games, especially on the PC, it's all about the tools. Having a stable API is absolutely crucial, because it means one less target you need to hit for testing. PC games have a hard enough time with the thousands of hardware configurations out there - right now, Linux simply adds thousands of software configurations on top of that.

And yeah, sure, sometimes applications need vbrun6.dll or whatever on Windows - that's OK, because you just pack in the DLL with your software, just like you said. It stays nice and contained and doesn't screw up other programs that use newer versions of the libraries.

By the way, regarding the 'extra cost' - it's a one-time fee. It's not like Steve Ballmer kicks in the door and steals your wallet every time you fire up Quake or something. And what do you know - you get what you pay for! You get a stable API that game developers happily develop for because it isn't like playing Duck Hunt with a broken Zapper.

By the way, the idea that the lack of source code makes running legacy applications difficult is hilarious. It's saying to your fellow developer, "No, it's you that should have to deal with the fallout from our changes. We're way more important than you" and ends up being little more than a shallow grab for code that you feel entitled to because the developer 'enjoyed' the 'privilege' of developing for Linux.

Byte Corrupto said...

C'mon Redux, you can do it better!. The main problem of the stupid and insane idea of this freetard is if the game developers will find easy to create games for Linux in first place. On Linux there is not DirectX, and the old same problems for create common software still applies on games (sound, graphics, standards, X).

yOSHi314 said...

"Sony development has been plagued for years with utterly bizarre architectures that are difficult to optimize for (this is why the PS3 has yet to reach anything approaching the potential of its hardware). You can't just write it in a way to make it 'relatively painless' to port to another system, because it's fundamentally different."

however, sony's hardware is more difficult to develop on. but this sacrificed was made to make it more suitable for high performance 3d graphics and multimedia

[ link : http://arstechnica.com/old/content/2000/04/ps2vspc.ars ]

sony makes radically different architectures for gaming consoles, because they don't want to be stuck in a pc development model.

"Starting any sentence with 'All games should be written to support...' shows a fundamental lack of understanding about game programming.

Systems (especially game systems) have fundamentally different architectures. With game development, where efficiency and accuracy are so important in order to maximize your hardware-to-software payoff, you write to hardware. Period."

today's consoles (and pc's) allow for high levels of abstraction. you can write a backend optimized for one console, and make an actual game on top of it. then rewrite the backend for another platform.

[ http://www.joystiq.com/2008/02/22/gdc08-square-enix-unveils-crystal-tools-engine/ ]

the sdk already offers hardware-optimized routines, and it's already optimized for a specific platform.


nowadays developers don't really need to manually optimize asm output for extra performance. all the development is becoming more high-level, as hardware gets faster.

when first playstation and friends hit the market developers focused on higher level languages, such as C/C++ (but mostly C, due to lower memory overhead), because it was much easier to write games this way.

"By the way, the idea that the lack of source code makes running legacy applications difficult is hilarious"

sometimes it's less pain to patch the source and recompile the application than to hunt for old libraries for the app so that it will run. is it that unreasonable?

Anonymous said...

Freetarded delusion is really strong on this one.

Truly scary that these people are real.

Kyle said...

@yOSHi314, February 27, 2009 12:15 PM:

"however, sony's hardware is more difficult to develop on. but this sacrificed was made to make it more suitable for high performance 3d graphics and multimedia"

It doesn't matter how advanced the hardware is if it is a mindfuck to touch it in the software. Right now, the hardware is going largely unused because of the software complexity.

'today's consoles (and pc's) allow for high levels of abstraction. you can write a backend optimized for one console, and make an actual game on top of it. then rewrite the backend for another platform.'
Yes, this works when the platforms that you are developing for are stable (i.e. DirectX on the PC, the fact that you can't really change things up on consoles, etc., etc.). Writing the back end for a Linux based solution would be like sticking your hand in a mystery hole where 3 out of 4 times (and that's being generous), a snake bites you. That snake, by the way, is a bunch of idiots who are concerned only with 'exciting' programming (and backwards compatibility is anything but exciting).

'the sdk already offers hardware-optimized routines, and it's already optimized for a specific platform.'

Yes, this is the point of SDKs, APIs, etc. - to provide a stable base upon which to develop an application, be it a game, a word processor, whatever. It's an utter disaster on Linux because, again, once you exhaust all the fun programming, people close up shop and then it's on to a whole new 'standard.'

'nowadays developers don't really need to manually optimize asm output for extra performance. all the development is becoming more high-level, as hardware gets faster.'
They might not need to optimize ASM, but they certainly need to optimize their code, frequently for specific hardware, and frequently for specific software. As frequently as Linux advocates accuse MS of basically just using more advanced systems to make up for increasing bloat, I think it's something you can appreciate.

Basically, it goes something like this - you are developing a game for Windows and OS X. You want sound. Now, you could hope that OpenAL will give you a magic audio blowjob, or you can just hit up DirectSound and CoreAudio respectively, and it'll probably work incredibly well. When there is a target to aim for, you get a shot at making a damn good project.

'sometimes it's less pain to patch the source and recompile the application than to hunt for old libraries for the app so that it will run. is it that unreasonable?'

Oh, I'm sure it would be less of a pain, you've got no argument from me. Now, if only the program simply had an extra, possibly replicated, DLL sitting around in its directory, included with the install. It doesn't matter if it's incompatible with the current system DLL if it can use a local one! Developers know the dependencies of their software far better than package managers or whatever - just let 'em handle it.

oiaohm said...

http://www.khronos.org/openkode/ Is that the kind of universal API you are after?

Major reason why Linux got put on the table as a possible universal binary format is due to the fact the Linux kernel can run on almost anything including Windows and Mac.

By the way Linux ELF binaries are already the official universal binary for Unix. Expanded a little more is not that much of a major issue.

Context Linux Hater's Redux cleanly lost.

Now options for working cross platform are java and linux. .Net is out due to Legal risks. MS APIs again don't work everywhere.

Just because people are kicking around ideas does not mean its issue free.

Manual asm optimisation is getting pointless. Better compliers normally kick you tail due to placing the optimization more correct than most humans can.

Lets follow the why that idea was bouncing around. Arm based netbooks.... now once you leave x86 your nice direct x stuff lets you down. .NET you end stuck with mono from Novel that is not legally protected for sure. Basically screwed over.

Can you please start going through what can work in the world that is coming. Selections are limited.

Anonymous said...

@oiaohm,

Exactly what we are after. Only that it is not suitable for any modern graphics-oriented game.

And I wonder which Linux distributions do include OpenKode. Did I hear you well? None? I thought so.

Try again.

oiaohm said...

Sorry openkode is include in some embedded distributions.

Also since openkode is fairly new it has not had time to spreed out. My question was is that what you want. Since it is we can move onto the next step.

Now here is the great thing of opensource. Items can be made appear by request. Numbers of course. If you ask for a particular feature to be include with numbers it will be ok not always in exactly the form you expect.

Binary drivers yep granted user mode binary drivers.

surak said...

Already done, six years ago. Big failure.

http://games.slashdot.org/article.pl?sid=03/05/16/1232250&mode=thread&tid=127&tid=186