Mac Game Development

Discussion in 'Mac Programming' started by Onigiri, Sep 24, 2009.

  1. Onigiri macrumors newbie

    Jul 24, 2009
    Hi guys,

    I've been somewhat interested in game development for some time now and I suspect even at 26 it might be getting a bit too late in the game to really make any kind of profession out of it since I'm starting from scratch, but my future brother in law who is in his early teens is fanatical about games. All he lacks is the focus to sit down and see something through to the end.

    That's where I come in. I've been thinking that it'd be a great experience for him and for me to work together on creating a game. It'd be 2D and likely a platformer with some RPG elements.

    And this is where you come in! I was wondering where I might get started with something like this? Does anyone know of any quality books or websites for game development on the Mac? Or does anyone have any general advice?

  2. electroshock macrumors 6502a


    Sep 7, 2009
    The perfect book to get his feet wet for $10 -- which I've read and a buddy also liked a lot (and has his own copy) is probably this -- Cocoa Game Workshop:

    Aw, man, they've sold the company (and it's not clear if the new owner is still selling that book). Too bad, because it was perfect for someone starting out, going from a basic 'just barely works' to a nice 2D game with gaming elements in it. Could always contact the authors to see if they know if any company is still selling that book or if they know of any reserve or used copies available somewhere? (It's in PDF format.) The book would be a perfect fit, so worth trying, I think.

    This one is from people who knows how to write very successful Mac games as a free download:

    ...but haven't personally read it. Ah, looked through it briefly -- seems nice for someone who is already familiar with basics of MacOS X programming and wants to learn about OpenGL and whatnot. Not for the novice developer.
  3. chown33 macrumors 604

    Aug 9, 2009
    Sailing beyond the sunset
    General advice...

    Learn Objective-C and Cocoa. It's the foundation for anything else, so start there. All the standard "Where should I start" answers apply; there's nothing specific to developing games that will make this any easier or shorter. You can find those answers in the FAQs.

    After that, learn Core Graphics and Core Animation. You'll probably have to learn some of the fundamental mathematics involved in graphics, like the use of affine and perspective transforms, etc.

    Good luck working with a teenager. It's no easier dealing with an adult who doesn't follow through, is impatient for results, has no focus, etc. The fact he's a relative won't help, either; you can't quit or have him reassigned to another part of the company.
  4. BravoBug macrumors newbie

    Dec 8, 2008
    Oregon, USA
    I personally would advise you to stay away from books actually. That might sound odd, but traditional programming books, especially on games, are usually out of date by the time they're printed. And in general they're no better than the resources you can find online. Stick to the community websites for the core technologies you'll be working with (Cocoa/Mac-specific APIs, OpenGL, OpenAL, etc.). The online dev communities are fantastic and you'll find all the information you need with a little googling, and there are many helpful forums as well where you can ask specific questions.

    For Mac-specific game development I'd also recommend you visit iDevGames which has a very helpful community of Mac devs on the forum.
  5. Cromulent macrumors 603


    Oct 2, 2006
    The Land of Hope and Glory
    If you are new to programming then a tool like Unity 3D will be extremely helpful as it provides the engine and design tools and all you need to do is the logic and provide the artistic assets.

    I've been extremely close to buying Unity 3D myself now on numerous occasions, try the 30 day demo to see what you think. Then for creating your graphics use GIMP and Blender and you'll be all set. I am sure there is also a good open source music application but I use Logic Studio 8.
  6. mongrol macrumors regular

    Jul 16, 2007
    As usual you get a bunch of differing advice from everyone. Here's mine.

    Learn C++ and use SFML ( as your gfx library. This will give you cross platform (Windows, Linux and Mac) support and is very simple to use which will let you learn C++ and gameplay basics. C++ is the standard for writing games. Don't use Obj-C or Cocoa.

    Read .
  7. jamdr macrumors 6502a


    Jul 20, 2003
    Bay Area
    Yet more advice

    I was/am also interested in 2D gaming, especially on the iPhone. If I were going to give advice to myself before I learned much about Mac programming, this is what I would say:

    If you want to make a 2D game on the Mac or iPhone, there is no easier way than with Core Animation. It's sweet. It makes life so easy. And it's easy to learn. It's also fast enough, even for an action game. I don't know if anyone's made an action game with CA yet, but it wouldn't surprise me. Making a simple sprite jump around would be super easy. If you're on the Mac, you also get all sorts of graphics effects for free with Core Image. And it's all super easy to do. (note: Core Image isn't available on the iPhone). Using CA, you will get a feel for Cocoa and I imagine it would be a good place to start for general Mac programming. However, it's not gonna be cross-platform. For that, I would use Java or SDL (which is where I started), but it won't be nearly as fun or easy.
  8. chrono1081 macrumors 604


    Jan 26, 2008
    Isla Nublar
    Man! I've been looking for a book like that since NONE exist. Granted I dont exactly need a book like that but it looks fun to work through.

    No luck finding it anywhere : /
  9. chrono1081 macrumors 604


    Jan 26, 2008
    Isla Nublar
    Oops to the OP its never too late to learn programming. Seriously.

    With programming you will always be learning. Youll see a lot of places say "Start with C++! (NOT my recommendation Ill get to it in a second" or "Start with VB! or C# blah blah"

    The truth is in my opinion start with the language that gets you the results the quickest. Itll keep you interested and you can expand upon that knowledge. Most languages have the same data structures and concepts behind them, only the syntax changes.

    Coming from years of C, C++, Visual Basic, and X86 Assembler I can say I cant recommend C++ to start because there are waaay to many "gotchas!" and little things to trip you up and most people end up frustrated. I think the Obj-C / Cocoa route is a good one to start. (Thats just my opinion). I've been going through books and I love it. I'm new to mac programming and its been awhile since I programmed anything big but the transition has been a smooth one.
  10. Eric5h5 macrumors 68020

    Dec 9, 2004
    Heck no, it's not even close to being too late. Get a game engine...they are advanced enough these days that there's no real point reinventing the wheel and starting from the ground up, unless you're interested in that aspect just for the sake of it. Which is fine, but using an engine will cut out a huge percentage of the learning curve.

    It's common for many teams to use a pre-existing engine; you can still have engine programmers involved that hack away at the source code for custom effects, but there are more people who just do level scripting and other higher-level work. I'm not sure Unity would be the best choice for a 2D platformer--it could be done, but you have to learn 3D even if you're just doing 2D. There are other engines out there that are focused on 2D games.


Share This Page