iPhone Developing with No Prior Experience?

Discussion in 'Public Game Developers Forum' started by MikeyPOTG, Mar 3, 2011.

  1. MikeyPOTG

    MikeyPOTG Active Member

    Feb 25, 2011
    37
    0
    6
    I've been reading the "How You Started Developing" thread and it was cool hearing how so many people got started, but I didn't see many people who started learning how to program because of the iPhone, most people had some knowledge of programming prior to developing on the iPhone.

    I have no programming experience whatsoever and I'm interested in learning how to develop programs on the iPhone. I checked out a sample book but I think I learn better through instruction. I googled a ton of training programs and it seems like the most viable one for me is this one offered at NJIT:
    http://online.njit.edu/programs/training/iphoneappdev.php

    They say that you don't need any programming experience, though the learning will be a bit more difficult. Does anyone have any thoughts on this? Would you suggest me taking on this course or do you have suggestions for an alternative course I should do?
     
  2. Rubicon

    Rubicon Well-Known Member

    Feb 22, 2011
    1,535
    1
    0
    Lead Programmer, Chief Bottlewasher
    Isle of Wight, UK
    There's nothing really tough about specifically the iPhone that you need insider knowledge for. My suggestion would be to learn how to develop something simple on your mac or pc first, using open gl. There's a ton of books and websites to help with that.

    By the time you know what you're doing, putting something onto iOS won't present too many extra challenges at all.

    It can be a very rewarding hobby/career so I'd recommend just jumping in and having fun.
     
  3. NickFalk

    NickFalk Well-Known Member

    I must say that I somewhat disagree with Rubicon. While the actual programming is probably no harder to learn, the tools, the certificates, even something as simple as adding frameworks can all be a bit overwhelming to someone with no prior programming experience.

    However if becoming an iOS developer is something you've really want to do there is something to be said about just getting started. I suggest starting of with something as basic as an OSX Command Line Tool. There's a template for this in XCode and you need to open the console window to see what's happening.

    C is of course the grandfather for several of today's popular languages and I believe just learning some basic programming, like inputting name to a string, doing a few simple math operations. Moving onto a small text-based dice game is the kind of stuff that makes learning fairly easy, while staying fun.

    I also suggest you pick up a really simple procedural-C book to begin with something like the Absolute Beginner's Guide to C or C For Dummies.

    The good news is of course that you can use a lot of the basics you pick up here when you move onto Objective-C and iOS programming...
     
  4. Rubicon

    Rubicon Well-Known Member

    Feb 22, 2011
    1,535
    1
    0
    Lead Programmer, Chief Bottlewasher
    Isle of Wight, UK
    Well, I did tend to gloss over that stuff I'll admit. :)

    But tbh I don't think there's any point worrying about it until he gets the skills to do some basic gameplay stuff first.

    What I'm getting at is that the learning curve of for example porting a finished 2D pc game onto an iPhone is nowhere near as steep as starting with nothing and developing that game to completion on an easier platform.

    Good point though to start with C. ++ for that. Er... :)
     
  5. Alternatively, you could go for a boxed solution. Titanium uses Javascript. Corona uses Lua. These kinds of tools do simplify things, imo, and are worth checking out. It just depends if your goal is to get into dev as a career (then learn the C lanuages) or if you just want to make an app (then use a tool like I mentioned).
     
  6. GnarKill

    GnarKill Well-Known Member

    Oct 24, 2009
    136
    0
    0
    UI Engineer
    Bay Area
    Personally I wouldn't pay the 1k to take that course. The book they use for text is a good book, but it's sort of outdated. The book is based on SDK 3.# and next week 4.3 will be released. You would probably wouldn't come across many issues going through that book, but you can now pick up quite a efw other 4.# books that are better.

    I also agree with you should learn the basics of programming in c or c++. If you want to take a look at what you might get yourself into going that way, check out cprogramming.com . That site has a good overview of most basic programming topics and practices.

    I also think finding tutorials online is a good place to start. The site I learned from nolonger exists so I can't recommend any that are great but I'm sure google can find a few.
     
  7. MikeyPOTG

    MikeyPOTG Active Member

    Feb 25, 2011
    37
    0
    6
    Thanks for all the advice guys. I just ordered the Absolute Beginner's Guide to C off Amazon so hopefully that'll help a bit.

    Xeno, I was unaware of those "box" tools you mentioned. Though I'm not familiar with Java or Lua, I sent it to one of my friends who has some experience with those.

    I'm also looking into video tutorials. I just realized that I'm still a member of Lynda.com for another couple months, so I'll definitely check that out before deciding on dropping money on an actual training course.
     
  8. MikeyPOTG

    MikeyPOTG Active Member

    Feb 25, 2011
    37
    0
    6
    Okay... I'm on Lynda and I'm still a bit lost. I'm looking up their courses under Developer, then Scripting Languages... and I don't see anything about C programming. Maybe they don't have it, but I figured they should.
    They have the following:
    ActionScript
    AJAX
    ASP.NET
    ColdFusion
    Dreamweaver
    Flash
    Flex
    JavaScript
    jQuery
    MySQL
    PHP
    Prototype
    Ruby on Rails
    Windows Phone
    XML

    They have something about Visual Studio but it's PC based and I'm on a Mac. Sorry for being completely ignorant to all of this, but thanks for all of your help!
     
  9. Rubicon

    Rubicon Well-Known Member

    Feb 22, 2011
    1,535
    1
    0
    Lead Programmer, Chief Bottlewasher
    Isle of Wight, UK
    That's because C isn't a scripting language. "Scripting language" has taken on broader meanings over the years, but at heart they're meant to be something lightweight to solve lightweight problems, not bogging down the user with pointless stuff (for the task at hand) or even the need to compile them to standalone executables.

    C is a full blown language and has all the overhead and detail that that entails. You can do anything with it you can think of, but because of that its also a lot heavier on the detail, which means it's a bit harder to learn from a cold start.

    If you didn't have the iPhone specifically in mind, I'd probably recommend Flash to a beginner. (Or more specifically, Flex which you also listed. Flex is essentially the pure programming part of Flash which itself has wider uses).
     
  10. NickFalk

    NickFalk Well-Known Member

    I'll try to get you started.

    If you haven't already installed the developer tools, do so.

    Launch XCode. Choose Mac OSX/Application/Command Line Tool

    Choose Run/Console in the menu.

    Press the Build and Run button to compile and run the program. Watch the output of the included "Hello World" program in the console window. (Hello World is the standard first program for every language).

    Now, click on the main.c icon in the XCode window to see what was needed for the magic to happen.

    As you can perhaps already guess, it is possible for you to change the text being written in the console window to something else. Do so!

    Ad a couple of other lines similar to the one you just changed.
    Try removing the \n at the end of one of the printf-lines, see what happens.

    ---

    Now, I don't know anything about the quality of this tutorial, but it seems about right for someone starting out fresh. Good luck and enjoy! :)
     
  11. MikeyPOTG

    MikeyPOTG Active Member

    Feb 25, 2011
    37
    0
    6
    Thank you! You all have given me a lot to keep me occupied. Nick, I'm already checking out that tutorial you linked, and it looks pretty easy to follow so far. Cheers!!
     
  12. iphoneprogrammer

    iphoneprogrammer Well-Known Member

    Mar 26, 2009
    2,280
    18
    38
    Financial Analyst for Baines and Ernst
    London, UK
    For me I started learning Java, and what I was told was that as long as you know how to program, i.e. basic logic, ect. Then the rest of programming should not be as difficult. The syntax is what takes getting used too, at least this is what I have experienced a bit. I am teaching my self Obj-C and I am finding it much more easier than a buddy of mine who just started with Obj-c and has no knowledge of programming what so ever.
     
  13. swiftest

    swiftest Well-Known Member

    May 18, 2009
    95
    0
    0
    If you're like most people, the dream can quickly fade once you realize the magnitude of the problem, and how much learning you have to do to just have something interesting happening.

    The easiest and fastest solution in my opinion is to start using the Corona SDK which uses the Lua scripting language. Corona is excellent for 2D games. It's dead easy to create something very useful in just several lines of code that you can see in the simulator immediately. They also integrated box2d which is an awesome physics engine. You can build for iOS and Android, too. Grab their free trial and tinker with it: http://www.coronasdk.com They have a crap ton of examples that you can use in your game, too.

    I think Corona + Lua will really whet your appetite, and you can always go down the route of C/C++/Java/.Net/Objective-C/whatever later. I predict you'll see a lot of hits done with Corona before long.

    Our current game, which has taken us over two years to develop, is actually done in Unity 3D, which I think is the best 3D solution for indie developers. It's got cross-platform build capabilities and a great workflow pipeline. Also, you can develop using Javascript or C#. Our game can be deployed to iPhone, iPad, Android, Mac, PC, and web right now. (And PS3 and Xbox 360 if it does well in the marketplace. Looks like they're also targeting Flash next.) Unity has a free version, so grab that to play around with if you ever decide to go 3D: http://www.unity3d.com But for our next casual 2D game(s), it's probably going to be done with Corona.
     
  14. MikeyPOTG

    MikeyPOTG Active Member

    Feb 25, 2011
    37
    0
    6
    I just quickly perused the Corona site and then saw a "how to start" video and it looks really solid! I like the video tutorial because I'm a visual learner and it helps to be guided step by step. They really do make it look easy and I like how the person on video explained every line of code since it's all foreign to me.

    I still have a couple questions though...
    Is this mainly for iOS games or will it allow me to also create other types of apps? I have some ideas for apps that require the ability to communicate with friends, use the camera feature, or even upload videos. Am I able to do that through the Corona SDK?
    Also, if I decide to learn more about C or C+ afterwards, will my Corona knowledge help me with that?

    I'm still not sure if I'll focus my early efforts on learning Corona or follow a really solid Apple friendly C tutorial that I found last night, but as always, thanks! You guys really are a wealth of information.
     
  15. NickFalk

    NickFalk Well-Known Member

    While I don't know Corona (but have heard great things) I think it all depends what your goals are ultimately. If you want to learn enough to get an iOS game out as soon as possible Corona is probably a lot quicker.

    If your ultimate goal is to learn programming though I believe starting of with something like ANSI C is probably a better place to start.

    I think I'll dare making an analogy (even though their failure rate is a bit high):

    Do you want to learn how to build a house, starting with the foundation, or are you happy doing the finishing wood-work, interior design etc.?
     
  16. crazygambit

    crazygambit Well-Known Member

    Nov 15, 2010
    274
    0
    0
    I started developing with no previous experience (in code and graphics) and was able to have a simple game out in 6 weeks using Corona, so I'd definitely recommend it.

    If you're interested you can check out this appropiately titled interview with me on the topic:

    How a Non-Developer Used Corona to Make an iPhone Game
     
  17. swiftest

    swiftest Well-Known Member

    May 18, 2009
    95
    0
    0
    There have been many applications made with Corona since it's a solid 2D engine. They're also constantly updating it, and they support 3rd party add-ons. I don't think there is camera support yet, but I don't doubt it's coming down the pike from Ansca or a 3rd party developer. Their forums are a good resource.

    And yes, your Lua knowledge will help with C and C++. In fact, Lua is a very popular scripting engine that many developers integrate into their own games. World of Warcraft uses it for interface add-ons as one example. If your Lua skills are solid, it might help get you into the doors of some developers.

    C is an awesome language, but it's also a low level language meaning you'll end up writing a bunch of helper/support stuff or use some other library/framework in addition. If that C tutorial is friendly, try it out. It certainly won't hurt, and more knowledge ain't a bad thing. You might decide to go the XCode/Objective-C route (which ties you into Apple), but that's OK, too. Best of luck!
     
  18. astralucid

    astralucid Member

    Jan 17, 2011
    19
    0
    0
    If you're going to build a game,maybe you should try game salad, no programming experience needed. I dunno how the overall quality of the software itself though, but from what I've seen, some of the games displayed on the website looks great.
     
  19. cplr

    cplr Well-Known Member

    Feb 15, 2011
    468
    0
    0

Share This Page