Why Apple Should Port Games 848
DanTheMan writes "For every great game there is for Mac OS X, there are at least two for Windows. It's sad, but it's a fact. This article proposes a solution, and it's for Apple to port games. By the way, since the XBox 2 will use the PowerPC G5, it shouldn't be that difficult to port future XBox games to the Power Mac G5 and the iMac, both of which are 64-bit now. Would you buy a Mac if you could play Counterstrike Source and Half-Life 2? What other games are missing from Mac OS X?"
Re:had to be said... (Score:5, Informative)
Re:Open vs. Closed (Score:5, Informative)
The reason I'm considering is I can't really upgrade the motherboard without needing new RAM, procs, etc. anyway, Unless this isn't the case on the PC-side, that's my definition of "a new computer".
Unless you're talking about a model that begins with a vowel, Apple's desktops are pretty upgradeable.
porting would not be easy (Score:3, Informative)
Re:No because... (Score:5, Informative)
Yes, very much so. Nvidia and ATI refuse to release full featured OpenGL drivers on the linux platform. DoomIII runs about 20% slower on linux because of nvididia drivers, ATI cards won't even PLAY doom3. UT2k4 is on linux, but it rusn slower because yet again, nvidia's poor quality drivers.
Ati BTW doesn't even have released versions of opengl drivers for linux, so they are even farther behind.
So far today, the only games coming out for linux are the ones who have authors who write cross platform games anyway. You won't start seeing ANY type of reasonable effort put into porting to linux from other game manufacturers until there is a reliable and fast driver for both ATI and nVidia cards.
Re:had to be said... (Score:3, Informative)
Check your facts (Score:4, Informative)
Liar [steampowered.com]
Re:You have got to be kidding me (Score:5, Informative)
The key issue for porting Windows XP to another platform is the availability of PPC970 compilers. This is still a bit of an issue, but Microsoft does in fact employ one of the best non-multiprocessing compiler development teams on the market and has managed to make excellent compilers for x86, StrongARM/XScale, MIPS, Hitachi, and others. 64-bit Power PC should be quite simple compared to some others. Also, since Apple has released source to their 64-bit GCC, the basic PPC970 optimizations should be readily available to borrow and Microsoft can focus on further optimizations.
So, let's think for a moment what it would take to port a Windows based XBox game to the Mac OS X PowerMac G5.
First, the game would have to use a Windows emulation layer, or reimplement all the DirectX code to OpenGL.
Second,
Third, all Windows API code will need to be ported to Carbon or Cocoa. Maybe they can use Qt or something else to make the job a little easier.
Audio code will have to be ported from DirectX to CoreSound or another tool kit.
Or... wait....
If they port from XBox 2 to Windows XP, they keep Direct X, Direct Sound, Direct Show, Windows API,
There's no difference between porting from XBox 1 to Mac OS X and XBox 2. In fact, it's probably the same.
Porting from XBox to Windows makes sense, but really, who would bother porting from XBox to OS X when the Mac market just doesn't pay for games anyway. (It costs a lot more to port to X unless you used OpenGL than you can possibly profit)
DirectX for OS X (Score:5, Informative)
http://www.coderus.com/
This has been out for a while, for porters only granted; but that is a big step.
ok cut it out! (Score:3, Informative)
OS X is based on unix and linux is based on unix. That DOES NOT mean that any application can be ported on way or the other. Please stop making the stupid argument that it is enough that apple could just recompile itunes for linux. That also includes saying that any game can be simply recompiled for OSX. Similarly, just becasue Xbox 2 will be based on a PPC970 that does not measn that a developer can easliy port any game to OSX. There are things that need to be considered like platform specific LIBRARIES.
Please please stop making such stupid statements.
Sigh... How many times do I have to say this? (Score:5, Informative)
DirectX compatibility is only needed if you're simply recompiling for a new target. Most games abstract out the DirectX layer for their engine so they're not dealing with it directly (You'd be stupid to do anything else, really...) therefore it's only a small effort to provide a comparable OpenGL specific layer. Once you've done that, that's one less thing. Typically, most games are using FMOD, Miles, or SDL/OpenAL for their sound. That means the sound is taken care of. It's a minimal effort to make a version of user input code for SDL (your Linux and MacOS X choice...) to replace your DirectInput code. There's several cross-platform choices for network support and while it's an effort to make something work as a replacement for DirectPlay code, it's been done (I know, I've done it myself and helped produce a minimal wrapper layer to allow several pieces of code simply recompile for Linux.) What you speak of simply isn't really much of an impediment for anything except the smallest development studios producing valueware as they're coding strictly to DirectX because it costs them nothing at all.
The biggest impediment for most studios, typically, for going to PPC is that most games make assumptions about the order of bytes, etc. that are far, far removed from best practices. Assumptions that make for difficult migration of code. The same goes for going from 32 to 64 bits- many developers do things like assume pointers are the same size as ints and proceed to interchange them liberally.
If you're making a game for PPC64, those impediments go bye-bye for making a MacOSX game- and since MS is going to probably be suggesting that the games be made available for XP on x86, the code's probably going to be endian neutral as well.
Re:No because... (Score:4, Informative)
Shorter list... (Score:4, Informative)
What other games are missing from Mac OS X?
Wouldn't the shorter list be "What games aren't missing from Mac OS X?"
They've got Blizzard, id, and Bungie Studios (kind of) making cross-platform releases a priority... other than that........
Oh yeah... porting's a piece of cake... (Score:3, Informative)
<rant>
...all you have to do is click the "Magically Change DirectX Applications To Run Under Mac OSX" button in "FairlyLand Dev Tools", and the magical porting pixies will do all the hard work...
Give me a break. This guy obviously has no concept of how to port applications.
See, the one thing (that I can immediately think of and that supports my argument :P) stopping a flood of games appearing on Linux, Mac, et al is DirectX. You get DirectX running on Mac, and Bob's your third uncle twice removed.
Of course, this would be nigh on impossible... DirectX is pretty damn huge, and you can't simply wrap a DirectX interface around OpenGL, OpenAL, SDL, etc. (for example, OpenGL uses right-hand aligned polygons, DX uses left-handed... or the other way around).
No, the real trick is to get developers to stop using DirectX in the first place. If they started using OpenGL, OpenAL, and other cross platform libraries, this problem wouldn't exist (at least to a large degree). Then, it would simply be a matter of compiling the game for each platform you wanted to support.
Pretty much the only developers that still use OpenGL seem to be small independents, and id. Oh well, thank $DIETY for John Carmack for keeping GL alive and kicking...
</rant>Re:Superior? At what? (Score:2, Informative)
Regardless of the computer Operating System that you connect to the Internet, you should have some method of protection between your Computer and the Internet. I don't care if you are running Linux, Amiga, MacOSX, Windows, Acorn, IRIX, AIX, Solaris or what have you. Connecting directly to the Internet is asking for trouble.
Connecting to the Internet with any computer without a firewall protection shows an incredible lack of understanding regarding computer security.
Again the answer is yes. A windows PC by default would download and activate embedded programs and files in emails, causing mass spreads of viruses. Again, further indoctrination of users to safe habits is always useful, but once again, the mac doesnot run these by default, and even if it did, it couldn't execute them.
You are wrong here. A Windows PC, by default, doesn't perform this act. Microsoft Outlook, by default, USED to perform this act. Of course, Microsoft sort of fixed that issue. However, you are neglecting that there are quite a few more Email reading programs then just Outlook for the Windows PC. I believe very few of those applications are set to automatically run attachments. All I know is that Mozilla Mail will not do such a thing.
This is once again another yes answer. Behavior on macs is very consistant through all applications, and simple basic features of the mac are shown to increase your effectiveness. It's probably not a largely noticeable difference in the application itself (infact I would argue that there's little difference if any there) but a system which lends itself to easily and effectively getting work done out of the box will shave time off of your activities.
Again, you are confusing doing office tasks on a Windows PC with Microsoft Office as the only available application. If you download and isntall Open Office or purchase StarOffice for a Windows PC, you see a very consistent Layout for the applications with all of the menu options, where you would expect them.
The key word here is adequetely. With a mac, it can be performed well. Infact, all the basic tools are included with the system, not only Photo, but video, DVD production, music production, all part of the basic tool set.
Depending upon where you buy your Windows PC and who made it, all of those tools are also included with the 'base package'. Dell, for instance, includes DVD authoring software, basic photo editing software and other nifty gadgets.
However, there is also Linux. With your typical Linux distros on a PC, you get all of that and MORE. You get FULL programing environments with Source Code. Where is that with your basic Apple Desktop PC?
Re:You have got to be kidding me (Score:4, Informative)
I was going to post along the lines of what you said. Thank you...
Interesting to see that your post is already modded down. Either people don't get it, don't want to get it, or maybe just because you forgot the mandatory MS bashing requirement and didn't put a 'M$ Sux' at the bottom of your post. lol
Anyway, whether people like it or not, your post is on track, this guy must be on crack to think that games would any easier to port to a Mac just because the new XBox hardware is similar.
And the scary sub context of all this, the original post is nothing but a plea for Games for the Mac, without realizing that Apple doesn't have a great graphical performance architecture for gaming. Apple, the mother of consumer level graphical computing, and they still have nothing for providing high end gaming performance.
People used to make fun of Microsoft when they wanted OpenGL to be more hardware optimized, and ended up going their own road with DirectX because of the OpenGL group's reluctance to implement many of the DirectX abilities.
Now you have Windows that has a way for games to access not only video, but all multimedia aspects of the hardware in a way that is hardware independent, but yet has a very small performance hit if any, anymore. And so people are still using Windows to play games on because of its great gaming performance, to the level that a console even came out of the great performance DirectX and Windows coupled with hardware allows, the XBOX.
And now you see other OS developers and companies still trying to emulate or recreate a set of technologies comparable to DirectX.
And Apple hasn't even as been so bold to create a DirectX technology for OSX, instead they are leaving it to OpenGL, which is only a video solution, that still lacks many of the hardware optimization concepts that are in DirectX.
I wish I had mod points this week...
Re:Check your facts (Score:0, Informative)
A subset of the people who play Valve/Steam games, or Counterstrike to be blunt. Thanks to the amount of people who practically live for that one game and ATI's sucky drivers in that respect, this will mean more people with NVidia cards.
In short, this survey tells us what graphics cards were installed on the computers that some people chose to run Steam's reporting tool on. Nothing more, nothing less.
Re:Not stupid, really... (Score:1, Informative)
Games aren't written in assembly anymore. C code is portable to a zillion different CPU architectures, but that doesn't help you when the code is written for an API that doesn't exist on the platform to which you're trying to port the game. You end up having to rewrite the API, which is as complex, if not more so, than the game itself. You could port the API itself, but not if it's closed-source. You have build a workalike API from scratch, or license one. Either way, it not cheap of easy.
Re:No because... (Score:2, Informative)
Walmart, with it's enormous purchasing power, can't deliver a Linux system that is more than $20 less than it's Windows equivalent even at the very bottom of the market. When you begin talking about a gamer's PC, high end graphics, audio, etc., the "Microsoft Tax" vanishes into insignificance.
Re:You have got to be kidding me (Score:2, Informative)
You made some very good points. But what it realy comes down to is just how well MS supports PC game developers. Have you ever tried to get an SDK from Apple to make a truly top end game on the Mac?
Go here, and see what I mean
<URL:http://msdn.microsoft.com/library/default.a sp?url=/downloads/list/directx.asp>
MS throws money at developers, and as a VERY small developer myself I appreciate it. In addition to that it's a lot easier to find reliable books on high end game programing for Direct X than it is for any other PC-Based platform. DX does it all, and (compared to the alternatives) makes it deceptively easy. Video, Networking, Sound, even collision detection DX puts together a easier interface for all of these than any competing home-PC based architecture. With DX MS basically is making your PC into a game system (admittedly a very expensive one). The bottom line is MS makes it easier for us developers to make games on Windows than on other platform. With DX they are literally giving away free code that had we chose Linux, or Apple we would of had to write ourselves. Particularly the sound, networking, and collision detection code, all not easy to do. Is there even a 3D sound API for Linux, and Apple? If yes how well supported/functional is it?
Factor all this in with the obvious fact that the potential audience for a DX based game is literally nine times as large as one for all other Home-PC platforms combined, and you have a no brainer. MS works hard, and spends a lot of money on game development, and DX is solid proof of this. Linux doesn't do this, and Apple comparatively doesn't even look like it's trying.
Call them evil (it's hard not to) but in this case they try very hard to make a good product and succeed spectacularly. Though I would love to see an open source competitor, Mr. Torvalds realy isn't interested in such a thing just check out his stance on making an API & ABI for Linux hardware. The whole situation is so frustrating I hate to talk about it. Bottom line is no matter how much you hate MS if you play or make games, they are doing you a huge service with DX... though you, are paying for it.
-peace on
manno
Where are you buying? (Score:3, Informative)
Re:No because... (Score:2, Informative)
Re:Foxtrot (Score:1, Informative)
Developers Need To Do It (Score:2, Informative)
Re:No because... (Score:3, Informative)
Have you read recent benchmarks? GCC has been rapidly catching up to the intel compiler. It's not there yet but the days of GCC getting trounced in performance are over. As far as doom3 goes, the SSE assembly hasn't yet been ported (according to anandtech), so that could account for a decent performance difference.
Also, I know that most games bypass X
Maybe you're running different games than I am, but UT2003/2004 and doom3 certainly use X. The only way you could avoid it, afaik, is to use a framebuffer, which means no nvidia 3d support.
MacDX = DirectX for Mac OS (Score:3, Informative)
http://www.coderus.com/ [coderus.com]
So things might not be as hard as they were in the past
Comment removed (Score:2, Informative)
Re:Foxtrot (Score:3, Informative)
Although, today's Foxtrot [ucomics.com] is even more apropos, because now Jason's porting Half-Life over to his iFruit.