x86 and DirectX

Discussion in 'Games' started by Sedulous, Jul 12, 2005.

  1. Sedulous macrumors 68000

    Sedulous

    Joined:
    Dec 10, 2002
    #1
    I have been wondering about what the switch to Intel means for gaming developers. Will they continue to develop games optimized for DirectX (Windows only) or will the switch to OpenGL since that would mean they could capture both the Windows and Macintel market without any porting (I assume)?
     
  2. Nermal Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #2
    There will still be porting required. Windows and OS X are significantly different, the chip is almost irrelevant when it comes to porting software.
     
  3. Sedulous thread starter macrumors 68000

    Sedulous

    Joined:
    Dec 10, 2002
    #3
    Perhaps I am just daffy from lack of sleep but I'm not sure my original question was clear. Phrased another way: Why develop using Microsoft's proprietary DirectX stuff if that means even more work trying to port to OS X? I don't know squat about the technicalities of the "porting" process but wouldn't it be easier to "port" something between Windows and OSX (x86) if the game was originally optimized for OpenGL (on x86) anyway?
     
  4. SpaceMagic macrumors 68000

    SpaceMagic

    Joined:
    Oct 26, 2003
    Location:
    Cardiff, Wales
    #4
    And what will most likely be the case is that people will dual boot for windows.. and mac developers will soon die out :eek: :(
     
  5. eva01 macrumors 601

    eva01

    Joined:
    Feb 22, 2005
    Location:
    Gah! Plymouth
    #5
    why does everyone keep saying that? I know i wont be dual booting i am not going to waste 300 dollars on buggy crappy software to put on my Mac. I would rather put that 300 towards a new PowerMac.
     
  6. Sedulous thread starter macrumors 68000

    Sedulous

    Joined:
    Dec 10, 2002
    #6
    Even if I could, I wouldn't want to dual boot. Besides being time consuming, I consider it a serious security risk (likewise, I would prefer not to spend $200 for an OS I don't want).

    My original question still remains (at least partially) unanswered: Why adopt DirectX? Is there some major advantage to it?
     
  7. yellow Moderator emeritus

    yellow

    Joined:
    Oct 21, 2003
    Location:
    Portland, OR
    #7
    I'm not sure I understand your question..

    Are you asking why Mac game developers will adopt DirectX? They won't, because they can't.

    Are you asking why Windows game devlopers will use DirectX when they can use OpenGL for the benefit of the Mac crowd? Why should they care about the Mac crowd? Why not stick with DirectX and business as usual?
     
  8. Sedulous thread starter macrumors 68000

    Sedulous

    Joined:
    Dec 10, 2002
    #8
    Put another way (I am definitely starting to feel like I am just slow):

    You are on a trip somewhere and only have 1 day to get to your next destination. There are two paths you can choose from. Path "A" is a rural with little to see other than the destination. Path "B" also gets you to the destination but also includes a few delightful sights along the way. Right now developers seem to be on Path "A". With the introduction of the Macintel, Path "B" is now available.

    Unless I don't know something about DirectX, why continue to use it if that means throwing away additional sales? With Mac, Linux, and Windows all soon to run on the same chips, why not use OpenGL so that you can sell to all platforms rather than being locked into (while major) one market? Even if the mac and linux market is small, why ignore additional markets if it doesn't cost you anything?
     
  9. yellow Moderator emeritus

    yellow

    Joined:
    Oct 21, 2003
    Location:
    Portland, OR
    #9
    I think you're making some assumptions here..

    It costs money to train people to code using OpenGL. It costs time to learn to use OpenGL correctly and use it to do what you had been doing with DirectX. It costs time to learn all the little tricks to make OpenGL do what you want.. trick you knew in DirectX. It costs time debugging your newly learned OpenGL code. All this time equals money. It costs far more then you imagine.

    So, game developers will stick with DirectX. They know it. They use it. And they can be sure that 95% of the computers out there will be able to use it. Not a bad marketing strategy.

    Also, DirectX won't work simply because it's x86. It requires Microsoft Windows. And finally, who says OpenGL is any better then DirectX?
     
  10. topicolo macrumors 68000

    topicolo

    Joined:
    Jun 4, 2002
    Location:
    Ottawa, ON
    #10
    No. x86 chipsets use a little endian format while PPC chipsets use a big endian format. The VirtualPC programmers and many game porters complain that the endian translation issues take up 30-50% of their time, which isn't exactly irrelevant.
     
  11. Sedulous thread starter macrumors 68000

    Sedulous

    Joined:
    Dec 10, 2002
    #11
    Oh, I definitely am making some assumptions. No denying it! Well, so far that is the best answer I've gotten. I guess I am still a bit surprised that the extra income from the Mac/Linux world isn't worth the trouble of dumping DirectX in favor of a more universal option.

    I certainly never claimed OpenGL is any better than DirectX, only that it is more universal. Actually, I am still wondering is there any real advantage to DirectX, other than that programmers are already familiar with it.
     
  12. grapes911 Moderator emeritus

    grapes911

    Joined:
    Jul 28, 2003
    Location:
    Citizens Bank Park
    #12
    OpenGL is generally a better technology than DirectX. The problem is that it is very hard to program OpenGL compared to DirectX. A person with limited DirectX experience can make a user controlled stick-figure walking around the screen in minutes. OpenGL takes more time to do the same thing.

    So..Its cheeper and easier to train people in DirectX. Plus the masses on their PCs can use DirectX. Many times its just a smart business decision to ignore OpenGL and stick with DirectX.
     
  13. Eric5h5 macrumors 68020

    Joined:
    Dec 9, 2004
    #13
    Not having programmed either, I can't really say, but I've heard John Carmack (Doom) complain about Direct3D, and from examples given, OpenGL looks more comprehensible to me. (DirectX is everything...sound, input, graphics. I guess we're just talking 3D here.)

    But whatever....It's not really that a big deal. People have been converting Direct3D to OpenGL for years, and have ways of dealing with the problem without having to re-invent the wheel each time (translation libraries and whatnot, I gather). It's not like a game being Direct3D means there will never be a Mac or Linux version. If that were the case, there would be quite a bit fewer Mac games than there are now.

    So there's no incentive to drop Direct3D: games get ported anyway. OpenGL would make porting somewhat easier, sure, but not a bit more so than it does now anyway. The switch to Intel means completely and absolutely diddly-squat in this case. Intel DOES NOT equal Windows. (Not yelling, just emphasizing. :) )

    --Eric
     
  14. Will_reed macrumors 6502

    Will_reed

    Joined:
    May 27, 2005
    #14
    I wonder how hard it would be to get an open source port going for half life 2 it's not like Valve are gonna give it to us any time soon.
     
  15. Eric5h5 macrumors 68020

    Joined:
    Dec 9, 2004
    #15
    Virtually impossible. Thing is, you need the source code, which Valve is not going to release any time soon, if ever. Either that, or you need to reverse-engineer it, which would be a rather huge undertaking. Plus Valve would probably sue if you tried that, even if it's legal.

    --Eric
     
  16. Nermal Moderator

    Nermal

    Staff Member

    Joined:
    Dec 7, 2002
    Location:
    New Zealand
    #16
    I agree that for games it's a problem, but I meant just software in general. For the vast majority of apps, the compiler sorts out the endianness.
     
  17. risc macrumors 68030

    risc

    Joined:
    Jul 23, 2004
    Location:
    Melbourne, Australia
    #17
    Have you seent he size of the Windows market versus the Linux/Mac OS X one? There is really no point in people moving to OpenGL from DirectX to make a few more sales on top of hundreds of thousands (millions?) of them.

    When I was using Linux there was a company called Loki that started porting Windows games to Linux, and they ended up closing shop. I used to watch their forums and so many Linux gamers would complain about having to buy a Linux game when they have already purchased (pirated) the Windows version and why wouldn't Loki do the right thing by the community and just release an installer for free? I'd hate to see this happen to the Mac gaming community.

    As for dumping DirectX in favour of a more universal option, since when have Microsoft ever been interested in universal options? They are in the business of selling software, and the more games running on DirectX on Windows the more copies of Windows they sell.
     
  18. DrNeroCF macrumors 6502

    Joined:
    Sep 2, 2004
    #18
    http://www.insidemacgames.com/features/view.php?ID=355

    I think that that will help clear a lot up. Game developers say that most of the time is spent converting DirectX code to opengl code. It sounds like, and correct me if I'm wrong, that on intel processors, little more than a recompile would be needed to get the game to work on windows or mac.
     
  19. GFLPraxis macrumors 604

    GFLPraxis

    Joined:
    Mar 17, 2004
    #19
    From what I heard, it still has to be dealt with; to get Mathematica running for the demo onstage at WWDC, they had to modify about 20 lines of code to fix the endian issues (I think it was the endian issues), and it took about an hour to find those 20 lines.

    However, that's a TINY, nearly insignificant amount of work compared to porting from Windows to OS X ;)
     
  20. GFLPraxis macrumors 604

    GFLPraxis

    Joined:
    Mar 17, 2004
    #20

    Like you just said; most of the time is spent converting DirectX code to OpenGL code.

    Even if they run on Intel processors, the Mac games will still be coded for OpenGL and Windows games still for DirectX, so how does that make it any easier?
     
  21. slooksterPSV macrumors 68030

    slooksterPSV

    Joined:
    Apr 17, 2004
    Location:
    Nowheresville
    #21
    It'll make it more complicated IMO. - Maybe, just maybe, they'll make DirectX Mac - lol - actually, Microsoft would gain more market-share if they made Direct X for Mac, but they would also lose a little market-share in the process. I learned OpenGL BTW, and its awesome what you can do with it. Good game language.
     
  22. Eric5h5 macrumors 68020

    Joined:
    Dec 9, 2004
    #22
    You're wrong. :) Doom3 uses OpenGL, and it still took at least 4 months to port, and certainly not all of that was spent converting endian issues. This is also true for any other OpenGL games (mostly Quake-engine based). Among other things, you still have: sound, input, networking, file i/o, and any general OS interaction. In order for porting to another OS (regardless of CPU) to be "little more than a recompile," the game has to be written as OS-agnostic to begin with, and that adds development time and cost, so is basically never done.

    --Eric
     
  23. joeconvert macrumors 6502

    Joined:
    Nov 18, 2003
    Location:
    TX
    #23
    The first part of this comment is 100% true. The second part is dead wrong. Endian issues have been large obstacles to porting ot the Mac. In fact there was an interview with a game developer posted to this very forum a few weeks ago discussing just that. In addition you need to take into account that if developers are optimizing their games for the Wintel platform there are likely large amounts of x86 specific (i.e SSE, etc.) instruction sets being used.
     
  24. slooksterPSV macrumors 68030

    slooksterPSV

    Joined:
    Apr 17, 2004
    Location:
    Nowheresville
    #24
    I wonder if they could have converted the x86 instruction sets (SSE, SSE2, etc.) so that they could have been integrated for PPC arcitecture. Yes there are many Endian issues, but would having just a single compatible instruction set reduce many issues? - I think if that were the case, PPC won't drop out as quickly as anticipated (I give them 3-5 years). Yes you'd still have to convert SOME of the code, but not as much as long as it could be traversed across systems. - 1 + 1 = 2 on pc, 1 + 1 = 2 on mac. See they can do the same math lol.
     
  25. ravenvii macrumors 604

    ravenvii

    Joined:
    Mar 17, 2004
    Location:
    Melenkurion Skyweir
    #25
    No. AltiVec is the PPC's equivalent of SSE/3DNow!. Those things are very platform-specific.

    There's a bit more to it, but it's easier to just tell you to take that thought and throw it away, because it won't get anyone anywhere.
     

Share This Page