Are there are any modern resources on how to develop games for Mac OS? I suppose this would include objective c, cocoa and opengl 3+.

The book Beginning Mac OS X Game Development with Cocoa looks very promising but isn't out until early next year.

  • 1
    \$\begingroup\$ OS X doesn't (yet?) support OpenGL >2.1. \$\endgroup\$
    – greyfade
    Oct 6, 2010 at 17:21
  • 1
    \$\begingroup\$ It looks like 10.6.3 supports the majority of OpenGL 3 \$\endgroup\$ Oct 6, 2010 at 22:52
  • \$\begingroup\$ greyfade, thanks for pointing that out, I never knew that! Nick I'd like to know where you're getting that information, because this page on Apple.com confirms what greyfade said... \$\endgroup\$
    – Ricket
    Jun 20, 2011 at 22:22
  • \$\begingroup\$ You might be right, I think when I was looking at the time, I was comparing a table of opengl extensions. \$\endgroup\$ Jun 20, 2011 at 23:27

3 Answers 3


Have you considered using something like Unity 3d? It has the advantage of running on multiple platforms (web/iphone/ipad/andriod/wii/pc/mac and soon ps3 & xbox360).

Here are some resources for Unity 3d,

  • \$\begingroup\$ Certainly have! And I do intend to play with Unity a bit more. However I just wanted to learn more about writing games in plain Cocoa for the mac. \$\endgroup\$ Oct 6, 2010 at 7:14

Inside the Xcode IDE, you have access to a lot of material related with programming in Mac OS X, iPhone/iPad.

With Xcode 3

Help -> Developer Documentation

With Xcode 4

Help -> Documentation and API reference

A window will be open and you will can navigate along a lot of topics. For example, search a document called "OpenGL Programming Guide for Mac OS X". The documents can be viewed inside Xcode or downloaded in PDF format.

If you didn't know, you can mix code written in Objective-C and C++, even in the same file, try to rename a Objective-C file with .m extension to .mm extension. There are many games written in C++ for Mac OS X and iPhone. To make a game in C++ for Mac OS X, you can do a wrapper mixing C++ and Objective-C that deals with the OS native calls ( graphics, input, etc. ). Once this abstraction layer has been constructed, the game can be programmed entirely in C++.


I'm developing a NES emulator with SDL.
ALthough not exactly a game, I'm implementing almost the same features a game would, and of course, SDL is mainly pointed towards game development.
And you get a plus which is 100% portable code you can deploy on Windows and Linux too.
Although its graphic functions draw exclusively in 2D, it's fully integrated with OpenGL for 2D and 3D rendering if desired.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .