Mac Game Development

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

  1. Onigiri macrumors newbie

    Joined:
    Jul 24, 2009
    #1
    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?

    Thanks!
     
  2. electroshock macrumors 6502a

    electroshock

    Joined:
    Sep 7, 2009
    #2
    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:

    http://www.spiderworks.com/books/cocoagame.php

    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:

    http://www.pangeasoft.net/book/buy.html

    ...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

    Joined:
    Aug 9, 2009
    Location:
    Sailing beyond the sunset
    #3
    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

    Joined:
    Dec 8, 2008
    Location:
    Oregon, USA
    #4
    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

    Cromulent

    Joined:
    Oct 2, 2006
    Location:
    The Land of Hope and Glory
    #5
    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

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

    Learn C++ and use SFML (www.sfml-dev.org) 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 www.gamedev.net .
     
  7. jamdr macrumors 6502a

    jamdr

    Joined:
    Jul 20, 2003
    Location:
    Bay Area
    #7
    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

    chrono1081

    Joined:
    Jan 26, 2008
    Location:
    Isla Nublar
    #8
    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

    chrono1081

    Joined:
    Jan 26, 2008
    Location:
    Isla Nublar
    #9
    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

    Joined:
    Dec 9, 2004
    #10
    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.

    --Eric
     

Share This Page