Simple way to get into mac programming?

Discussion in 'Mac Programming' started by thesnowman16, Apr 26, 2007.

  1. thesnowman16 macrumors member

    thesnowman16

    Joined:
    Mar 24, 2007
    Location:
    New Zealand
    #1
    Hello.
    I have recently purchased a mac, and would like to make a very simple game on it (It's a game friends and I play). It wouldn't take much effort because the rules and actions that can be taken at anytime are very limited. It's basically a game of luck, however you can store up your luck (Previous dice roles) to use later if the opponent (or computer in this case) makes a higher roll than you.

    So all in all it's a nice simple game.

    However I have never done any sort of programming in my life before (Well thats a lie, I did some BASIC about 10 years ago).

    What I would like to know; what is the best way to learn how to program? I don't intend on trying to make this game right away, obviously it's something I'm going to have to work up to.

    It also doesn't matter if I lean an easy language first (even one that I am not able to make the game in), because I would like to go up the stepping stones and like everything I'm sure learning the fundamentals of programming is very important.

    It doesn't matter if I start out with windows (If there are easer languages for windows then I prefer to start easy), I just need the most simple way to learn, then I will work my way up till I have the skills and knowledge able to make the game.

    I am planning on making it sometime in the next two or three years, and would be willing to put in however much time it will take to make it.

    What I need to know from you guys is:

    What is the easiest programming language to learn? (Preferably one that I don't have to order obscure books from amazon.com that will take 2 months to get here)

    What are some very basic starting excersises? (Such as printing text to the screen and making the seekers beep, are there any other simple things like this I should learn?)

    How hard does my game sound to make? Computer rolls, player rolls, highest score wins. Players can store high rolls (when they do so they automatically score 1 for that roll..max of two rolls stored at a time), the aim of the game is to get 5 winning rolls in a row. I would like to make a very simple interface for this game too.

    Any advice or help would be awesome!

    Thanks in advance! :apple:
     
  2. HungrySeacow macrumors regular

    Joined:
    Jan 11, 2006
    Location:
    West Palm Beach
    #2
    Hello!

    Almost two years ago I was telling myself the same thing. Like you, I had nearly zero experience with programing of any sort (a little pascal, visual basic about 10 years ago). I was determined to learn, and bought the following books, "Absolute Beginner's Guide to C", "Programing in Objective-C", Cocoa Programing for Mac OS X", and "The Mac Xcode 2 Book".

    From this list, you can gather that Objective-C, Cocoa, and Xcode are the way to go for programing on the Mac. Objective-C was very easy to learn, Cocoa is great, and Xcode is just awesome! Best of all, Xcode is free with your Mac, you can find it on your install DVD. Apples documentation was very hard for me to figure out at first, but over time, once you finally understand Objective-C, it becomes a piece of cake. Make sure to follow those books in order, even if the first two seem too basic. They provide the fundamentals needed.

    I studied those books on and off for about 6 months before staring YummySoup!. Development was really slow at first, but as you get more practice, and don't give up, it really becomes a lot of fun.

    -Ken Humbard
     
  3. WebMongol macrumors member

    Joined:
    Sep 19, 2004
    Location:
    Bay Area, CA
    #3
    Python

    Start with Python. It's simple yet powerful language suitable as first programming language for non-programmers. There is a number of good online Python tutorials, check following page: http://wiki.python.org/moin/BeginnersGuide .
    You can learn basics of programming with Python, develop game algorithms in Python. You even can implement native OS X UI with PyObjC bridge: http://developer.apple.com/cocoa/pyobjc.html .
    Later on you can learn Objective-C and Cocoa. Do not start your programming experience with low-level language (C, Obj-C, C++, ..) - it's very steep learning curve with low probability of success. <FLAME>Majority of people with BS/MS in Computer Science and years of training can not write solid C/C++ code.</FLAME> Take right direction - dive into programming with right language - Python, Ruby (even Basic).
    Implementation of Python is available for all major platforms including Linux, Mac OS X and Windows. Mac OS X comes with Python installed but it's usually somewhat outdated. You can download the latest version of Python optimized for Mac OS X (with additional Mac-specific features) here: http://www.python.org/download/mac/ .
     
  4. Loge macrumors 68020

    Loge

    Joined:
    Jun 24, 2004
    Location:
    England
    #4
  5. Trogloxene macrumors regular

    Joined:
    Apr 17, 2007
    #5
    I really think the easiest tool to build a game is Adobe Director or Flash. C is way too hard and time consuming for a small game. And the cool thing about these languages is that it will run via web browsers. Note that the first version of Diner Dash was written in Director.

    -T
     
  6. thesnowman16 thread starter macrumors member

    thesnowman16

    Joined:
    Mar 24, 2007
    Location:
    New Zealand
    #6
    Thanks for all the help and info guys, it's really aprecated!

    I have decided to start with Python for now, simply because it's free, there are tons of resources out there, and I can use it on both mac and windows. It seems to be a good beginer programming language that is also suitable for more advanced applications.

    I have just downloaded it and am reading the online book (wiki) "Byte of Python" http://swaroopch.info/text/Byte_of_Python:Main_Page

    Again thanks for the help, I will keep you posted with how I get on!
     
  7. WebMongol macrumors member

    Joined:
    Sep 19, 2004
    Location:
    Bay Area, CA
    #7
    There is a book devoted to game programming with Python http://www.amazon.com/Game-Programming-Python-Development/dp/1584502584 .
    Also there are Python modules designed for writing games:
    http://www.pygame.org/ and http://en.wikibooks.org/wiki/Python_Programming/Game_Programming_in_Python .
    And do not worry about 'overgrowing' Python - using a right combination of modules implemented in C/C++ and Python you can take on most challenging programming problem.
     
  8. ChrisA macrumors G4

    Joined:
    Jan 5, 2006
    Location:
    Redondo Beach, California
    #8
    Is there a common programming language such that the above is NOT true?
     
  9. junkster macrumors regular

    Joined:
    Nov 6, 2006
  10. aaronbrethorst macrumors member

    Joined:
    Feb 1, 2007
    Location:
    Seattle, WA
    #10
    Objective C with Cocoa. GNUStep isn't all the way there yet, unfortunately: While applications which use Foundation (gnustep-base) exclusively are portable to Windows (using Cygwin or MinGW), currently applications which utilize AppKit (gnustep-gui) may work, but will be unstable.
     

Share This Page