★ TouchArcade needs your help. Click here to support us on Patreon.

Another Naive Person Interested in Developing an App

03-24-2010, 01:14 AM
#1
Joined: Jul 2009
Posts: 32
Another Naive Person Interested in Developing an App

I'll start off by saying that I have absolutely no experience in programming (only experience I've had is making simple programs on the TI Calculators). However, programming has always sparked an interest in me, and I'm currently trying to learn C. After C, I plan on moving on to C++ and eventually Objective C. I was wondering if this was the right path to take for a person who is starting programming. I'll be taking Computer Science at the community college in my area over the summer, or I might go to a university over the summer instead. I've read that Objective C was used mainly with the iphone and the mac. I've also heard that Cocoa and OpenGL are related to Objective C, but I'm not sure what this relation is. So far, my goal is to create a game (whether it be simple or complex) to put on the apple store.

I do realize that this is a pretty hard task that will probably take several years and lots of dedication and time, but I hope I'll manage somehow. My sister took a course on game design and creation at USC, so hopefully she'll point me out in the right direction. I have another sister who is currently enrolled at the Art Center College of Design at Pasadena and she agreed to provide the art assets if I go through with this goal. However, I do not plan on continuing this path as a career; this is just something I wish to do in my free time.

So I've come here to ask, how did you begin and end where you are (in terms of developing apps for the app store)? Any tips or advice would be greatly appreciated as well. Thanks!
03-24-2010, 01:44 AM
#2
Learning C is a little difficult, but in my opinion I think C --> C++ --> Objective-C is a good approach. You will definitely have a solid foundation and understanding with a wide array of options available. I understand that it is possible to start with just C++ or Objective-C without messing with the others.

I think the fact that you have two family members that can help you and provide assets is great.

I've been all over the board with programming. I learned BASIC back in the 80's and moved on to Visual Basic in the mid-90s. In the latter 90's, I learned ASM, C and C++. I have been using Scripting languages for the remainder of the decade. Mostly PHP (websites), ActionsScript (Flash games) and Lua (mobile games, including iPhone).

I don't remember much about C++ anymore, so diving into Objective-C is kind of a pain and it feels like starting over.

Cocoa and OpenGL are just libraries. Cocoa is specific to Apple products, and OpenGL is used nearly everywhere now- Windows, Linux, Windows Mobile, iPhone, OSX...

A ragdoll physics platformer:Flickitty
The artist: randall schleufer
Twitter: @FlickittyiPhone

03-24-2010, 02:09 AM
#3
Joined: Jul 2009
Posts: 32
Thanks for the reply . I just talked to my sister about this, and she recommended me to just go with C#. From an iphone development standpoint, however, would learning just Objective C be enough since Cocoa and OpenGL use it? Between those two, I think I'll stick with OpenGL if I manage to get that far since it's so versatile as you stated.
03-24-2010, 02:23 AM
#4
Quote:
Originally Posted by MaxiCalifornia View Post
Thanks for the reply . I just talked to my sister about this, and she recommended me to just go with C#. From an iphone development standpoint, however, would learning just Objective C be enough since Cocoa and OpenGL use it? Between those two, I think I'll stick with OpenGL if I manage to get that far since it's so versatile as you stated.
I don't know anything about C#. I know that C/C++ can easily be used to create iPhone apps, with minimal usage of Objective-C.

Flickitty was 99% C/C++.

TBH, I'm not even fully aware of what Cocoa provides. I've only just started playing with XCode and Objective-C

OpenGL strictly handles the graphical stuff, and the similar OpenAL handles the audio stuff. There are various libraries that can be linked and used in your app. Box2D and Chipmunk are two physics libraries that are commonly used in iPhone development. I'm only telling you this, because you don't need to program every little aspect of an application- the libraries are provided to make this easier, consistent and stable.

A ragdoll physics platformer:Flickitty
The artist: randall schleufer
Twitter: @FlickittyiPhone
03-24-2010, 02:42 AM
#5
Joined: Feb 2009
Location: San Jose, CA
Posts: 546
I continue to recommend Cocos2D for iPhone game development http://code.google.com/p/cocos2d-iphone/

You don't need to know anything about Cocoa, or OpenGL. You just need to know a little Obj-C which, besides a few weird syntax things, is basically the same as C or any other languages.

I really like C# as a language, since it's like Java, but unless you go a specialized route and use an engine like Unity, I'm not sure how you could go from C# -> iPhone app. One of the big differences between C#/Java and C/Obj-C is memory management.

Anyway, give Cocos a try. I have 3 games on the App Store, and I haven't really had to touch but a few Cocoa classes, and no OpenGL.
03-24-2010, 02:54 AM
#6
Joined: Mar 2009
Location: Oslo, Norway
Posts: 731
Quote:
Originally Posted by MaxiCalifornia View Post
I'll start off by saying that I have absolutely no experience in programming (only experience I've had is making simple programs on the TI Calculators). However, programming has always sparked an interest in me, and I'm currently trying to learn C. After C, I plan on moving on to C++ and eventually Objective C. I was wondering if this was the right path to take for a person who is starting programming. I'll be taking Computer Science at the community college in my area over the summer, or I might go to a university over the summer instead. I've read that Objective C was used mainly with the iphone and the mac. I've also heard that Cocoa and OpenGL are related to Objective C, but I'm not sure what this relation is. So far, my goal is to create a game (whether it be simple or complex) to put on the apple store.
I think your plan is a sound one of your main goal is to learn how to become a programmer. I do believe however that if your short term goal is to become an iPhone developer I would skip C++ for now and go straight from C to Objective-C. Objective-C and C++ are kind of cousins as they are both object-oriented offspring of good old procedural C. Meaning: They are about equal when it comes to what they can do but they implement stuff in different ways. When you have a good grasp of one of them it shouldn't be too hard getting up to scratch on the other one as well.

The advantage of Objective-C when it comes to iPhone development is the Cocoa framework. This is what more or less every productivity app on the iPhone uses as well as a few games. The beauty of Cocoa is that you get access to a lot of the iPhone specific iPhone stuff for "free" (handling inputs, keyboards, windows, images etc.). C# makes very little sense as it is (was?) geared towards Microsoft's .NET platform.
03-24-2010, 03:16 AM
#7
Joined: Jan 2009
Location: Christchurch, New Zealand
Posts: 515
You might want to check out http://monotouch.net/

C# for the iphone.
03-24-2010, 03:49 AM
#8
Joined: Mar 2009
Location: Oslo, Norway
Posts: 731
Quote:
Originally Posted by shen View Post
You might want to check out http://monotouch.net/

C# for the iphone.
News to me, so I stand corrected. I think this is probably more interesting to people who already know C# and want to get into iPhone development than someone starting out fresh though.
03-25-2010, 01:11 AM
#9
Joined: Jul 2009
Posts: 32
So starting off with C seems like a solid first step. Next up I can choose among 3 languages, but going straight to Objective C will allow me to begin development as soon as possible.

After that, it seems that Cocoa is the ideal library to use, with Chipmunks being my physics engine since apparently it incorporates the best of the best, including assets from Box2D as well as several others. OpenGL and OpenAL deal with mainly the artistic aspect and appear to be part of Cocoa (as said in here:http://developer.apple.com/technologies/mac/cocoa.html). Monotouch seems interesting, but I think I'll wait to see what apps/games have been made from it.

From looking at the videos of Chipmunk and Box2D in work, I can see that they are mainly used as 2D (obviously) sidescrollers. I was wondering, would making a 2D sidescroller be easier than making a top-to-down style game? Would the top-to-down game even require a complex physics engine? I'm thinking of something like NetHack which, for those who don't know, is a top to down rpg game with literally no physics, and very simple graphics (here's the wiki for those who don't know: http://en.wikipedia.org/wiki/NetHack).
03-25-2010, 01:48 AM
#10
Joined: Mar 2009
Location: Singapore
Posts: 1,770
Send a message via AIM to kohjingyu
In my opinion, a top down game would be easier.