Slashdot Mirror


Why Apple Should Port Games

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?"

27 of 848 comments (clear)

  1. Re:had to be said... by selderrr · · Score: 4, Informative

    um... warcraft3 is not an FPS, yet barfs out on my iMac when the fighting goes up. The new Sims version looks like crap if you haven't got the VRAM for sufficient textures. More and more games, even not 3D, require a powerful 3D card, just as much as an OS wants a serious graphics card.

  2. Re:Open vs. Closed by tuxedobob · · Score: 4, Informative

    I have a Mac. I've had it for four years. I've added more RAM several times to 1GB of PC100, added some hard drives, upgraded the video card, and I'm considering upgrading the processors.

    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.

  3. porting would not be easy by sydres · · Score: 3, Informative

    their is no directx on mac that I know Of unlike the Xbox so everything would have to be ported to opengl etc.

  4. Re:No because... by mp3phish · · Score: 5, Informative

    "With the things that x.org and friends are doing, is there some technical hurdle that opengl et al cannot compete on?"

    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.

    --
    Your ignorance is infinitely greater than you realize.
  5. Re:had to be said... by morning · · Score: 3, Informative

    I guess "barely plays UT2004" is the new slang for "plays it at full graphics settings without a slowdown in framerate," because that is what mine has been doing since I bought it last month. I agree with the insufficient stock RAM statement, though.

  6. Check your facts by Enucite · · Score: 3, Informative

    ATI Radeon cards are the most popular with gamers.

    Liar

    1. Re:Check your facts by Anonymous Coward · · Score: 0, Informative

      So just what population was Steam surveying?

      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.

  7. Re:You have got to be kidding me by Anonymous Coward · · Score: 5, Informative

    I unfortunately have to wonder what type of crack this guy was smoking. First of all, the XBox 2, is a Windows based PPC970 system. The developers kit is actually a version of Windows XP running on Power PC. This is not a miracle or surprising. If you remember, Windows NT ran just fine on PPC, MIPS, Alpha, x86 and originally on i860. XP is portable and should be no problem for Microsoft to port to anything they want to. It was designed for that in the first place.

    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. .NET more than likely needed to be modified to support JIT PPC970 support, no big deal.

    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, .NET code will need to be ported to something local on the OS X platform or they'll have to use an open source .NET implementation such as Mono and port all the other .NET features to Mono that are missing.

    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, .NET, etc...

    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)

  8. DirectX for OS X by lonely · · Score: 5, Informative

    Ahem, perhaps you didn't check very hard:

    http://www.coderus.com/

    This has been out for a while, for porters only granted; but that is a big step.

  9. ok cut it out! by minus_273 · · Score: 2, Informative

    ok for those kids who have no idea what factors are involved in how portable an application is, here is a crash course.
    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.

    --
    The war with islam is a war on the beast
    The war on terror is a war for peace
  10. Sigh... How many times do I have to say this? by Svartalf · · Score: 5, Informative

    Stop and think for a long moment...

    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.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  11. Re:No because... by mmkkbb · · Score: 4, Informative

    Apple has had a pervasive color synchronization system in place for quite some time. This makes doing print stuff easier.

    --
    -mkb
  12. Shorter list... by gumpish · · Score: 3, 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........

  13. Oh yeah... porting's a piece of cake... by FoboldFKY · · 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>
    --
    We're geeks... We're the sorcerers of the modern-day world. --
  14. Re:Superior? At what? by cnelzie · · Score: 2, Informative

    Yes. With the advent of always on connections, the existance of worms began an increase the likes of which has never been seen before. Taking a windows PC and plugging it into any network connection that isn't behind your own firewall runs the risk of an infected computer in 5 minutes or less. To safely surf the internet on a PC you need at least, a firewall, virus scanner, ad aware or similar program, and a decent popup blocker. To do the same on a mac, you just need, well, a mac.

    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?

    --
    If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
  15. Re:You have got to be kidding me by TheNetAvenger · · Score: 3, Informative

    Refreshing to see a post from someone that isn't a moron or zealot and actually remembers NT wasn't x86 technology.

    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...

  16. Re:Not stupid, really... by Anonymous Coward · · Score: 1, Informative

    Actually, it is pretty stupid, just not quite for the reason that the grandparent expressed.

    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.

  17. Re:No because... by westlake · · Score: 1, Informative
    I tend to agree and in that same line of thought, what about Linux? Supposedly Linux now outnumbers Macs on the Desktop and the cost of Linux is even lower than Windows.

    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.

  18. Re:You have got to be kidding me by Anonymous Coward · · 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

  19. Where are you buying? by rsilvergun · · Score: 2, Informative

    the cheapest emac I see on apples site is $800. If this is a sale, it's not a very frequent one (I've been toying with the idea of buying a Mac, so I check prices from time to time). Also, this isn't a very well equipped computer (no DVD burning, only a 40 gig drive, only 256 megs of RAM, and yes I realize Macs may be more memory effecient, like that matters when you're editing seveal 1600x1200 jpegs).

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  20. Re:No because... by TheUnknownOne · · Score: 2, Informative

    UT2K4 definitly does not run slower in linux. (compared to an XP Pro install with only windows updates, and newest nvidia drivers). Stats: P4 1695mhz 768mb PC133 nVidia FX 5950 Ultra {everything else should be irrelevent}

  21. Re:Foxtrot by Anonymous Coward · · Score: 1, Informative

    Maybe because Amend is a Slashdot reading geek too? I recall from his biography that he was a physics graduate. I guess that's why Jason is such a geek and his jokes resonate with me. It's not just mathematics and science, sometimes the jokes was related to the Lord of the Rings, Dungeon and Dragons, etc.; the keys to geekdom.

  22. Developers Need To Do It by nukem996 · · Score: 2, Informative

    I am leading a group of developers to develop a fully multiplatform game. The two main libs we use are OpenGL(graphics API) and OpenAL(audio API). This has been done successfully many times, look at idsoftware they infact say it makes them code better for more stable games. If its done right all you'll need is a few lines of code changed and a recompile. If people just got off DX and went open stands it would be easy.

  23. Re:No because... by spuzzzzzzz · · Score: 2, Informative

    Why? I think mostly that compilers are a big issue. GCC's goal is to produce code that runs, not to produce highly optimized code.

    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.

    --

    Don't you hate meta-sigs?
  24. MacDX = DirectX for Mac OS by thedbp · · Score: 2, Informative

    Just as an FYI, there's a company called "coderus ltd" that produces a product called MacDX. It acts as a bridge between DirectX and the Mac OS:
    http://www.coderus.com/
    So things might not be as hard as they were in the past ...

  25. Comment removed by account_deleted · · Score: 2, Informative

    Comment removed based on user account deletion

  26. Re:Foxtrot by RotJ · · Score: 2, Informative

    When you link to "Today's" Foxtrot, please link to that day's Foxtrot, and not just the front page.

    Although, today's Foxtrot is even more apropos, because now Jason's porting Half-Life over to his iFruit.