Slashdot Mirror


Port DirectX Games to the Mac

tassii writes "MacCentral reports that Coderus' MacDX provides PC game developers with a way of moving that DirectX code to the Mac without having to rewrite it from scratch. Coderus claims that most code which uses DirectX can simply be recompiled and linked to the MacDX libraries. Maybe I can finally play the full Command and Conquer series."

5 of 53 comments (clear)

  1. sdl. by gl4ss · · Score: 4, Informative
    what you're looking for/would liek to see world use is something like sdl.

    Simple DirectMedia Layer is a cross-platform multimedia library designed to provide fast access to the graphics framebuffer and audio device. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power." Simple DirectMedia Layer supports Linux, Win32, BeOS, MacOS, Solaris, IRIX, and FreeBSD.


    since i didnt see anyone else replied/posted with this mandatory link i did, whoring an' all. the recent starcon2 port uses sdl as well, and thus wa s quickly available on very many platforms instantly.
    --
    world was created 5 seconds before this post as it is.
  2. Re:Worthless,... by Graff · · Score: 5, Informative
    And since network gaming seems to be the place, the gaming industry is heading, imho there is a need for an free network-api, which is designed for gaming, like directplay. There's OpenGL, OpenML, now who will create OpenNL for OpenNetwerkLibrary?

    There is one already. It is called OpenPlay. Here is a quote from the site:
    What is OpenPlay? OpenPlay is a cross-platform network abstraction layer designed to simplify the task of creating programs which communicate across multiple computers.

    While originally designed for multiplayer games, it is useful for any developer who wants an easy, platform-independent way to send messages to programs running on other machines. It completely abstracts both OpenTransport and Winsock, and its plug-in architecture makes it easy for you to support new transport protocols.

    The Myth series uses OpenPlay, as well as some other games
  3. Re:And another thing... by damiam · · Score: 1, Informative

    DirectX games can be ported to Linux also, using Wine or WineX. So it's possible to address all three platforms with DirectX. However, since two of them are just OpenGL wrappers (I assume that's what MacDX is), there would be a substantial performance hit on non-Windows platforms.

    --
    It's hard to be religious when certain people are never incinerated by bolts of lightning.
  4. Re:Dear god by Textbook+Error · · Score: 3, Informative

    Directx is Satan spawn. I would hate for this to be the primary graphic base for games on my mac

    I hate to break it to you, but this technique (a wrapper that implements Direct3D/Draw/etc on top of OpenGL) is the primary graphic base for games on your Mac. Every Mac porting house already has their own set of libraries to do just this, it's just none of them have bothered to make them public like MacDX.

    The real market for this is for PC developers, and it remains to be seen how many of them will actually take the bait and try and port titles over themselves (making money off developer tools is a real challenge, as you're selling to the very people who could write it themselves :-).

    There are a lot of other issues you need to consider when doing a port (endian-swapping is the biggest time sink normally, followed by code using VC-- "extensions", then platform specific issues - working around bugs in OpenGL on 9 which will never be fixed, etc), and the code which talks to DirectX is normally a pretty small part of a game's code base.

    --

    Nae bother
  5. Re:Worthless,... by schwatoo · · Score: 2, Informative

    The Myth series did not use OpenPlay. Myth 1 used Bungie's own network code. Myth 2 user "Uber" which was written partly by Bungie and partly by Apple (the exact details are unclear). Not sure about Myth 3. OpenPlay on it's own is incomplete - it is not a full game networking API. So work was done to wrap the old Mac OS NetSprocket API over the top. Various games use that API. Personally I think OpenPlay is a pretty awful API - very incomplete, very buggy and rather useless. For example on Mac OS X it still uses the OpenTransport API for networking, instead of talkign directly to POSIX sockets which OpenTransport is actually sitting on top of anyway. So if you use OpenPlay on Mac OS X the chances are there's 3 or 4 layers between you and the actual networking. NetSprocket -> OpenPlay -> OpenPlayPlugin -> OpenTransport -> POSIX Sockets. It's much better to write your own custom network code on top of Posix sockets (or the new carbon network API). Yeah you don't get the benefit of using a standard API - but when the standard is so awful it's better to write your own custom code. (SDL experts please chime in and talk about any SDL network APIs).

    --
    I have trouble with passwords among other things.