iOS Programming

Discussion in 'iOS Programming' started by JOSERI, Aug 29, 2014.

  1. JOSERI macrumors newbie

    Joined:
    Aug 28, 2014
    #1
    hey, i wanna be an :apple:iOS dev but dont know where to start and where to finish. i have this project of creating a game that guys can play online with their friends and many other features...
    i need advice on the fastest way to achieve that
    ;) thanks in advance.
     
  2. maflynn Moderator

    maflynn

    Staff Member

    Joined:
    May 3, 2009
    Location:
    Boston
    #2
    I'd start buying a book to learn how to program first.
     
  3. JOSERI thread starter macrumors newbie

    Joined:
    Aug 28, 2014
    #3
    i need links, suggestions , and recommendations about that please
     
  4. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #5
    The fastest way is to spend maybe between $10k and $100k for a full-service iOS development company to mock up your game. Then you can play test it; and see if it's worth investing more in bringing the app to market.

    A college degree in computer game development (or the equivalent experience) can take far far longer for many people.
     
  5. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #6
    It will probably take well over a year for someone who has zero programming experience to learn objective C, Xcode, and all of the frameworks, and then learn how to model stuff in programs like Maya and 3Ds Max. It's going to take a lot of very hard and dedicated work. You will have to expend an enormous amount of time and effort.

    If you're not willing to do all of that then I wouldn't even bother. And even if you do, you can't rely on your app being successful because statistically most apps sell very poorly.

    I personally learn better from online video tutorials than books, so I am using bitfountain.io iOS 7 course (which cost me like $80 on stacksocial). You can now buy the iOS 8 course for $80 and get the iOS 7 course for free. Otherwise, there are some amazing resources on Lynda.com for $25 a month.

    I only use the books (Programming in Objective-C by Stephen Kochan) as a reference guide when there is something I don't understand. The iOS7 course I described above is much more comprehensive however, as it touches on things like Core Data and some other frameworks and API's.

    See, most successful developers (not all, but the vast majority) learned programming purely for fun or because they loved it. Programming with the sole intent of releasing a successful app tends to lead to a lot less success. You have to love programming in order to make a good app, in order to come up with innovative ways of doing things and fixing bugs. It takes a lot of determination. You can't be all about the money. I'd suggest starting purely as a hobby to see if you have an aptitude for it.
     
  6. JOSERI thread starter macrumors newbie

    Joined:
    Aug 28, 2014
    #7
    Does that mean that the only things I need is to learn objective c and how to work with the SDK.nothing more nothing less
     
  7. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #8
    If you want to make an online game, you're gonna have to learn a LOT more than that. Server type stuff to coordinate player moves at the very least. And if you want 3D graphics, learn programs like 3DS max.
     
  8. ArtOfWarfare, Aug 29, 2014
    Last edited: Aug 29, 2014

    ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #9
    I would suggest you learn Unity instead. Learning obj-C/Xcode/iOS SDK isn't what you want for two reasons:
    1 - It's too general. Those tools were made with creating any sort of app in mind, which means they're more complicated than necessary for making a game, because they weren't made with creating games in mind.
    2 - It's too specific. I lied when I said "any sort of app" - I meant to say "any sort of iOS app". You won't be able to take your finished game and instantly run it anywhere else, except on an iOS device.

    Unity was specifically made for creating any kind of game, for any platform. The games you make in it will run on iOS, OS X, Windows, Linux, Android, Windows Phone, BlackBerry, Wii, Wii U, DS, 3DS, PSP, Vita, PS3, PS4, Xbox 360, Xbox One, and in a web browser.

    These tutorials will teach you a lot about Unity, for free, and were made with beginners in mind:
    http://www.walkerboystudio.com/html/unity_training___free__.html

    Beware that even after you learn how to use Unity to program your game, though, that you'll still need assets, IE, the models, textures, sounds and music for your game. Most games either have simple graphics, or are made by at least a programmer + an artist, and many are both, because producing the quality of assets you want at the sheer quantity to fill a game is difficult. I can recommend Blender for making models and gimp for making textures. Music can be done in Garage Band (but you'll want to learn a few instrument for best results... the artificial instruments can only go so far). I have no idea how good sounds are made.

    Edit: Sounds and music are normally bought, I think, for indie games. IE the song Downstream from Braid's soundtrack is from Shira Kammen's Music of Waters album and predates the game by 6 years. Several of the sound effects in WarCraft 2 (and 3, for that matter) were bought from sound effect companies... not quite sure if WarCraft 2 can be counted as an indie game or not...

    2X Edit: Credits for WarCraft 2 certainly look too long to me to count it as indie: http://www.allgame.com/game.php?id=939&tab=credits

    3X Edit: Maybe the first WarCraft can count as indie? Certainly was made by fewer people. But it goes to show you how many different man-hours it takes to make even simpler games. http://www.allgame.com/game.php?id=940&tab=credits
     
  9. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #10
    Is knowing objective C not at all helpful or useful with Unity?
     
  10. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #11
    Plus algorithms, data structures, thread safety, debugging techniques, game design, UI and UX design, 2D or 3D graphics, game physics, audio, sound design, server interaction, databases, software practices, app store guidelines and procedures, privacy and copyright law, marketing, PR, customer support, tax accounting, and etc., etc. There is also a vast amount of framework, SDK and iOS APIs and programming tricks. One can spend years just learning that.

    Enjoy.
     
  11. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #12
    Knowing Obj-C before you learn Unity is about as useful as knowing Spanish before you learn French.

    If your goal is to learn French, then why waste your time with Spanish, first? Similarly, if you want to learn Unity, why learn Obj-C first?
     
  12. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #13
    People who are bilingual in both English and Spanish usually can learn French far faster than people who are not bilingual. It's well researched that after a persons brain is trained for fluency in a 2nd language, the 3rd is far easier to pick up.
     
  13. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #14
    Right. So do you disagree with the comparison that I made?
     
  14. blueillusion macrumors member

    Joined:
    Aug 18, 2008
    #15
    Actually in this case, I do disagree, since French and Spanish have a lot in common :D

    Other than that, everything else stands
     
  15. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #16
    As do Unity and Obj-C? They're both OOPLs.
     
  16. AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #17
    When you write the app in Unity, do you write the entire app? Or just the code behind a single view? In Unity do you compile in to binary and submit that to the App Store or does it somehow hook in to an xcode project? Can you use things like Metal?
     
  17. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #18
    I've never used the iOS build target in Unity, so I'm not sure how exactly it works. I do know that you need to have the platform's SDK to build for any target, so, IE, you can't build to the major consoles until you have appropriate SDK from the company (Nintendo's is $5000 for the Wii U and includes a better Wii U than what's commercially available, two Game Pads, and a Unity Pro license. I don't know what Microsoft/Sony charge for and include with their SDKs). So similarly, you need to buy the iOS SDK from Apple (which is $100/year, includes access to the beta versions of iOS, 2 support calls, the ability to upload apps on iTunes Connect, and all the other stuff - I figure you all already know and I don't need to go over it).

    My understanding, however, is that you don't need to write any C/Obj-C/Swift code - you can do all the menus, GUI, and everything else you need in a game in Unity, which can be programmed in "JavaScript" (which is modified to the point that most people call it "UnityScript", instead), C#, or Boo (decedent of Python - I haven't tried learning this language, yet). And it includes MonoDevelop to support C# on OS X.

    My understanding is that you wouldn't use Metal yourself, but that the underlying Unity engine code would utilize it if you target iOS (or OS X? Does that include Metal, too?)
     
  18. AxoNeuron, Aug 31, 2014
    Last edited: Aug 31, 2014

    AxoNeuron macrumors 65816

    AxoNeuron

    Joined:
    Apr 22, 2012
    Location:
    The Left Coast
    #19
    That's perfect, thank you! OS X doesn't support Metal since nvidia, AMD, and Intel make the GPU's for Macs. With Unity, do you make the 3D objects inside of unity itself or can you make the objects in a program like Maya and import them in to your project? Can you use something like the Core Data framework with Unity?
     
  19. ArtOfWarfare macrumors 604

    ArtOfWarfare

    Joined:
    Nov 26, 2007
    #20
    Unity is not a model editor. I've made models in Blender and imported them. I believe it can also use models from Maya. It's cross platform, so no, you can't use Core Data exactly, but it may have something like Core Data. Not sure - I haven't done much beyond Walker Boy Studio's tutorials. I got hired by IBM and became the CTO of a start up right when I started making my own game in Unity, which has killed all of the free time I was hoping to make my game in. Eventually I'm hoping the start up will be successful and I'll be able to drop IBM and have time to make the game I've been brainstorming ideas for for the past few years.
     

Share This Page