Advertisement

Mac gaming: how's the future?

Started by May 24, 2007 09:56 AM
16 comments, last by swiftcoder 17 years, 5 months ago
How are we limited today, especially since the new macs are quite capable of running windows os. Are we simply talking about supporting games in it's own native os - or the machine itself?
Mark A. Drake
OnSlaught Games
Mark Drake

VMWare is playing catch-up with some of their features. Parallels' "Coherence" has been around for a while now.

However, Parallels v3.0 -- which came out yesterday -- does add support for 3D acceleration, which has always been a major stumbling block for virtualisation tools like this. VMWare has had a beta out which theoretically supports DirectX, but neither VMWare nor Parallels are there yet. It falls over quite badly even with some very old games. (I'm talking about titles like these, which have low minimum spec requirements.

In fairness, their two 2D shooters _do_ run. They just need a bit of nudging, and Parallels doesn't appear to pick up on the resolution switch, so it runs in a small window.

*

Mac development isn't that difficult. It has OS-level OpenGL support. (Leopard will probably bring on the next version, which supposedly includes multithreading support, to take more advantage of the multi-core processors Macs use now. And Leopard's "Core Animation" features are worth a good hard look as they'll take a lot of the drudgery out of casual games development.)

Macs sell on their ease of use, so you're going to have to design your software with that in mind. Mac owners aren't usually into tweaking their machines. They don't expect to have to recompile anything or type stuff into a Terminal.

But the up-side is that if you can afford a games-capable Mac, you can afford to pay for a few games too. Some casual games companies make almost as much from Mac sales as they do from Windows SKUs. (It doesn't hurt that when big-budget games that do make it to the Mac, the process takes just long enough for almost any Mac available on its release to be able to play it properly. This has a wonderful effect on support issues and gives the Mac a great reputation for low post-sales support costs.)

Quality is the key if you want to break into the Mac market. It's not a huge market, I'll grant you that, nor is it an ideal market (yet) for arcade games and the like. There's nothing like DirectInput. There's no real, OS-level game support aside from OpenGL and OpenAL, both of which are just as popular with graphics and audio applications anyway. In short: don't expect a DirectX for Macs. Apple tried it, but they've never been that much into pushing the games side. Games sort of... happened. But the plus side is that Apple give you XCode for _free_. Including all the visual tools and stuff you need to build games with.

Sean Timarco Baggaley (Est. 1971.)Warning: May contain bollocks.
Advertisement
Gaming on the Mac is a different ballgame really. There's a fairly limited selection of games, so there's relatively little competition. On the other hand, its a small market compared to Windows, so there's also less to go around. For the quality developers, they can essentially live on the Mac market if they keep a steady flow of quality releases, but the user-base isn't there to be able to sell millions of units.



It's honestly a shame that the Mac platform doesn't embrace games more. By ignoring gaming, they've essentially ignored one of the 3 primary uses of the computer, the other two being internet and email -- Has anyone else realized that that makes gaming the top function of computers that people actually pay money for? Steve... Mr. Jobs?

I don't think that they necessarily need to produce something similar to DirectX to be successful, but they do need to fill in the input gap. OpenGL tackles Direct3D/DirectDraw, OpenAL tackles DirectMusic/DirectSound, Apple has their multimedia stuff to tackle DirectShow (which is being removed from DX anyhow) and no one uses DirectPlay for their networking, its Sockets all the way. That really just leaves DirectInput/Xinput and, to a lesser extent, the D3DX helpers.

The AppleTV would actually make a half-decent console. Its no 360/PS3 but, with it's specs, it ought to be able to top the original Xbox or Nintendo's Wii in terms of power. A 1Ghz Pentium M, 256MB and a Geforce 7300? Yeah, I can make a game run on that. A pretty damn good game too. All it needs is a bluetooth unit to connect to a KB/M or gamepad (and a unified way to access it) and you've got yourself a Mac game console. Download the games over ITunes and you're good to go.

I guess I'll end my rant here, but it really is too bad that they'r emissing out on this opportunity.

throw table_exception("(? ???)? ? ???");

Answer: The future is shiny!

Since you're already an experienced programmer, you're already familiar with some of the tools you'll be using (probably C/C++ and OpenGL). The tricky things you'll need to learn are:

- New programming environments (Xcode isn't bad once you get used to it, and Interface Builder kicks serious toosh)
- The new APIs (Carbon / Cocoa, and a nifty set of tools called AGL, to name a few)
- Macintosh programming standards, and the annoying tendency of libraries to revert to C/Obj-C standards and syntax.

I'm going through the exact same learning process right now. Let me give you a basic rundown of some of the tools I think you may find useful, and where you can learn more. Keep in mind I just started recently; this is knowledge accumulated from my late nights and frustrated blood and sweat. (Not too many tears so far... =p)

CARBON

- Carbon is a Macintosh API (primarily C/C++) that is commonly used to port Windows code over to the Macintosh platform for recompiling in it's native environment (though it's also used to write code native to MacOSX). Carbon is one of several APIs you can use for Macintosh programming, but is probably the best for game programming and the easiest for Windows programmers to pick up. You can learn more at Apple's ADC website at http://developer.apple.com/referencelibrary/GettingStarted/GS_Carbon/index.html

AGL

- AGL is a very slick implementation of OpenGL that takes advantage of an intimate connection to Carbon features. It's also native to MacOSX, and doesn't include some of the baggage that you'd get with other Mac OpenGL APIs like NSOpenGL. An excellent overview of OpenGL in a Macintosh environment can be found at the ADC website: http://developer.apple.com/graphicsimaging/opengl/

XCODE

- Xcode is the default (and free!) programming environment for MacOSX, and compiles more languages than you knew existed. It's a bit daunting at first (since it's such an extensive application), but it's very powerful, and can be used to accomplish a lot of work in just a few clicks. Even if you don't like Xcode - say you prefer something like Codewarrior or even terminal editing - you should become familiar with Xcode because most examples and tutorials you'll see feature the Xcode environment and tools. I'd highly recommend you review the Xcode tutorials and documentation presented in a user-friendly format at http://www.coolosxapps.net/2007/05/20/become-an-xcoder-free-75-page-ebook-on-programming-in-xcode-object-c/

LAST COMMENTS:

Some people, including most professional game developers, seem to be waiting for the magic WINE / Parallels / Bootcamp bullet to be perfected and put the whole Mac-vs-PC issue to rest, but both machines are advancing at the same rate, with specs on the same order of magnitude. Emulation isn't going to become much faster (and even Parallels features horrible technical specifications), so I'd recommend you learn the Mac environment anyways. Most of the tools are the same, and I want to find out what kind of advantages Mac game-coding features for myself. Last but not least, if they're becoming more and more similar, why not write code on the shinier of the two systems?

I'll probably be posting more on my discoveries and findings in the near future, which may be a nice change from what appears to be a PC-dominated field and forum.

Best wishes,

- TythosEternal
"Who's John Galt?"
From WWDC earlier this week came news of EA and id bringing their games to the Mac. At first I had hopes for native ports, but then the following press release popped up and ruined the whole thing...

http://www.transgaming.com/news/?id=50

Which leads to the following for more info...

http://www.transgaming.com/products/cider/

Yeah it'll bring more games to the Mac, but I'm more interested in native games and not a compatibility layer for Windows games.
id's new game will run natively though, they've always used GL and had native ports available around launch time.
Advertisement
Yeah, I've been happy with id, but Cider is going to make it entirely too easy for developers to just wrap their Windows binaries and call them Mac games.
Plus, don't forget that for many types of game development, there are very few differences in the toolset. After all, SDL, GLFW, GLEW, GLEE, Ogre, Torque, OpenSceneGraph, IrrLicht, plib (to name only a few) all offer full Mac support, and most work very well in that setting.

As for Apple not being interested in games development, I wouldn't quite agree with that. We do after all have OpenGL 2.0 preinstalled (as opposed to Windows 1.2 or whatever it is) and Apple is quite good about updating all video card drivers with the OS itself. We also have a native OpenAL implementation out of the box, as well as Apple's own CoreAudio (definitely worth a look). As far as input and windowing, the Mac APIs may be a bit of a pain, but it is just a matter of learning a few new APIs, or using SDL, etc.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

This topic is closed to new replies.

Advertisement