Advertise Mobile SDKs Books Events Forum News Social Networking Support Us
Follow @iphonedevsdk on Twitter

Interface 2, Advanced iOS
Mockup & Code Gen
($9.99)

Make your own iPhone apps
and run them live!
(free)

Pic Frame Dynamo: Photo Editing
($0.99)

Abiliator
($1.99)

Want your application or service advertised on iPhone Dev SDK?

Go Back   iPhone Dev SDK Forum > iPhone SDK Development Forums > iPhone SDK Game Development

Reply
 
LinkBack Thread Tools Display Modes
Old 02-01-2011, 07:52 AM   #1 (permalink)
Registered Member
 
Join Date: Jan 2011
Posts: 16
legolug90 is on a distinguished road
Default How long until I will be able to make my own iphone game?

I started learning C++ last week and I'm doing pretty well. I seem to be learning quite fast and I'm looking forward to developing my first iphone game in a couple of months or maybe a year.
Am I realistic?
I mean... I have no experience in creating any kind of software or in programming in general. Not to mention my iphone experience which tends to 0.
I was thinking I would spend about 2 hours a day learning and experimenting with the programming languages and the SDK.
My goal is to be able to create physics-based puzzle games like Angry Birds or Bubble Ball. Actually I can't say I'll create those games all by myself, considering I will only do the programming and let the artistic part to somebody else.

Well... that's about it. I'm just curious of how much it would take until I'll be able to create ("code") such games.
legolug90 is offline   Reply With Quote
Old 02-01-2011, 01:27 PM   #2 (permalink)
Registered Member
 
Join Date: Jan 2011
Location: Starkville, MS
Posts: 7
Cform is on a distinguished road
Default

I'm almost weary of answering this for fear of being trolled. However, with only 2 hours a day of trying and starting from scratch you have quite a long road ahead of you. Though if you are serious about it, go for it. It's at least a fun hobby.

Also, C++ is great to know and learn, but if you're looking only to create iOS applications look into Obj-C.
Cform is offline   Reply With Quote
Old 02-02-2011, 02:36 AM   #3 (permalink)
Registered Member
 
Join Date: Jan 2011
Posts: 16
legolug90 is on a distinguished road
Default

Thanks for the answer.

It would be nice to know if there are developers who started in the iphone development industry without knowing anything about programming/software development.
Please share your experience about how much it took you, when you were able to create decent applications etc...
legolug90 is offline   Reply With Quote
Old 02-02-2011, 02:49 PM   #4 (permalink)
Registered Member
 
Join Date: Nov 2009
Posts: 110
paluter is on a distinguished road
Default adsfds

I like your effort but why do you think they're are not many duplicates of those games? They are very hard to make unless using an external library (Cocos2d, Corona SDK ($199), etc.) or if you have taken physics in school. There is NO standard iOS framework for physics.

Good luck though
paluter is offline   Reply With Quote
Old 02-04-2011, 11:20 AM   #5 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Objective-C and the object oriented programming features of C++ are almost like an entire other coding language when compared to the basic fundementals of C/C++ (which I'm assuming you have started with)

Instead of just manipulating simple variables and arrays you have to create structres and manipulate the properties of those structres through a class hierarchy. I've been coding C/C++ for 6 years, and just recently got into Data Structues and Object oriented part of it in the last 2 years and I'm still uncomfortable with certain highlevel aspects. Luckily I have also made games in Flash actionscript which is semi-object oriented, but definitely MUCH MUCH easier than Cocoa.

So as for an answer, sure you can make a game in like 2 days (I did) but it's going to be garbage, and it will just be a waste of space/duplicate on the App store. Like everything in life you only get great at something after lots of experience. Game development requires a great knowledge of physics and math, but it's also a very creative process. So have an original idea that you are passionate about. I gaurantee that if you start out trying to make a game like a pre-existing game (especially popular ones) your game will be overlooked.

Good luck to you. I highly recommend simultaneously studying up on Objective-C while learning the fundementals of C/C++.

Last edited by missing_no; 02-04-2011 at 11:26 AM.
missing_no is offline   Reply With Quote
Old 02-05-2011, 04:36 PM   #6 (permalink)
Registered Member
 
Join Date: Jul 2010
Posts: 67
Ajaxx is on a distinguished road
Default

I started up last summer from 100% scratch, no programming experience at all, and started by following these books:

- Objective-C for Dummies
- Beginning iPhone 3 Development: Exploring the iPhone SDK
- iPhone Application Development For Dummies

I also did this free course: Downloads (2010 Winter) | CS 193P iPhone Application Development

I am now closing in on launching my first app, after rewriting it twice.

The reason i did rewrite was that for each time i cleaned the code up and made it faster and more efficient.

For me this is a great hobby that i may earn a few bucks on :-)
Ajaxx is offline   Reply With Quote
Old 02-06-2011, 04:17 AM   #7 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Quote:
Originally Posted by Ajaxx View Post
I started up last summer from 100% scratch, no programming experience at all, and started by following these books:

- Objective-C for Dummies
- Beginning iPhone 3 Development: Exploring the iPhone SDK
- iPhone Application Development For Dummies

I also did this free course: Downloads (2010 Winter) | CS 193P iPhone Application Development

I am now closing in on launching my first app, after rewriting it twice.

The reason i did rewrite was that for each time i cleaned the code up and made it faster and more efficient.

For me this is a great hobby that i may earn a few bucks on :-)
What is your App?
missing_no is offline   Reply With Quote
Old 02-16-2011, 03:27 PM   #8 (permalink)
Registered Member
 
Jay Jennings's Avatar
 
Join Date: Jan 2009
Posts: 28
Jay Jennings is on a distinguished road
Default

Here's a link to an interview that may interest you...

Shelly the Shell Master | AppUnderdogs

The guy created his first iOS game in 6 weeks -- with no previous development experience. How? He used Corona SDK which someone here already mentioned.

I know a lot of people here are "Xcode and Obj-C only!" kind of folks, but do you want to become a programmer or do you want to make a game? Yes, you'll do programming with Corona (in Lua) but the learning curve is SO much easier than going the Obj-C route.

On my site is a 9-minute video tutorial that's aimed at beginners -- it shows how to put an image on the screen and animate it using the Corona SDK framework:
Learning Corona w/Ghosts vs Monsters | Game Dev Nation

If you want to go hard-core Xcode and Obj-C that's cool -- but there are alternatives out there with a less onerous path.

Jay

PS - Full disclosure - I sell a tool for the Corona market but am not affiliated with Ansca Mobile, the makers of Corona SDK. I'm a fan of the framework.
Jay Jennings is offline   Reply With Quote
Old 02-16-2011, 07:59 PM   #9 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Quote:
Originally Posted by Jay Jennings View Post
Here's a link to an interview that may interest you...

Shelly the Shell Master | AppUnderdogs

The guy created his first iOS game in 6 weeks -- with no previous development experience. How? He used Corona SDK which someone here already mentioned.

I know a lot of people here are "Xcode and Obj-C only!" kind of folks, but do you want to become a programmer or do you want to make a game? Yes, you'll do programming with Corona (in Lua) but the learning curve is SO much easier than going the Obj-C route.

On my site is a 9-minute video tutorial that's aimed at beginners -- it shows how to put an image on the screen and animate it using the Corona SDK framework:
Learning Corona w/Ghosts vs Monsters | Game Dev Nation

If you want to go hard-core Xcode and Obj-C that's cool -- but there are alternatives out there with a less onerous path.

Jay

PS - Full disclosure - I sell a tool for the Corona market but am not affiliated with Ansca Mobile, the makers of Corona SDK. I'm a fan of the framework.
I'll have to look at "Corona", but you don't need to understand Obj-C to make a game. You just need to understand it to make a GOOD game. That shell game (while it does have a serviceable art direction) has a very very simple programming backbone which I couldn't see taking a non-coder more than a week to also program in just plain old Cocoa on the xCode IDE.
missing_no is offline   Reply With Quote
Old 02-16-2011, 08:48 PM   #10 (permalink)
Registered Member
 
Jay Jennings's Avatar
 
Join Date: Jan 2009
Posts: 28
Jay Jennings is on a distinguished road
Default

Quote:
Originally Posted by missing_no View Post
I'll have to look at "Corona", but you don't need to understand Obj-C to make a game. You just need to understand it to make a GOOD game.
Absolutely not true. I didn't point to the shell game as an example of a "great" game (although there's nothing wrong with it at *all*) -- I pointed to it as a (at least) decent game that was made by a non-programmer in a short amount of time.

There are all kinds of GOOD games that are made with Corona and other non-Obj-C languages. The language/framework itself isn't what makes a game good -- it's the developer who does that.

Quote:
Originally Posted by missing_no View Post
That shell game (while it does have a serviceable art direction) has a very very simple programming backbone which I couldn't see taking a non-coder more than a week to also program in just plain old Cocoa on the xCode IDE.
Start from ground zero and have that done in a week using Obj-C? I've been programming (and getting paid (well) for it) since the mid-80s and that wasn't my experience when I started learning Obj-C. But maybe I'm just dense (don't think so, but I'm always open to possibilities).

Like I said, there's nothing wrong with Obj-C if that's the direction you want to go. I was just p*ssed when I found Corona because I felt like I'd wasted my time learning Obj-C. I want to make games, not code. I've done enough coding in my life.

Jay
Jay Jennings is offline   Reply With Quote
Old 02-17-2011, 12:00 AM   #11 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Quote:
Originally Posted by Jay Jennings View Post
Absolutely not true. I didn't point to the shell game as an example of a "great" game (although there's nothing wrong with it at *all*) -- I pointed to it as a (at least) decent game that was made by a non-programmer in a short amount of time.

There are all kinds of GOOD games that are made with Corona and other non-Obj-C languages. The language/framework itself isn't what makes a game good -- it's the developer who does that.



Start from ground zero and have that done in a week using Obj-C? I've been programming (and getting paid (well) for it) since the mid-80s and that wasn't my experience when I started learning Obj-C. But maybe I'm just dense (don't think so, but I'm always open to possibilities).

Like I said, there's nothing wrong with Obj-C if that's the direction you want to go. I was just p*ssed when I found Corona because I felt like I'd wasted my time learning Obj-C. I want to make games, not code. I've done enough coding in my life.

Jay
Kudos to those who take these game engines and make something polished with it. I guess my bother is with those (90%) that churn out abominations onto the App store. Understanding the coding language and having experience in game-making (people don't seem to understand that this is a skill) are supposed to be the barriers to entry. With game engines like this it's easy to see why we see so much garbage/duplicates on the App store. Everyone thinks they are a good game programmer, and they don't even try to have an original idea.

"I want to make a game like angry Birds" "I want to make a doodle Jump game" "I want to make a cut the rope type game"
missing_no is offline   Reply With Quote
Old 02-17-2011, 09:47 AM   #12 (permalink)
Registered Member
 
Join Date: Nov 2009
Location: Chicago
Posts: 29
DaveM is on a distinguished road
Default

If you're going to build your game completely with Obj-C frameworks like Cocos2D, sure, you need to know Obj-C. You can also use C++/OpenglES/Ogre3D/etc. and largely avoid Obj-C.

Look at the available jobs on www.rovio.com (creator of Angry Birds). All of the programming positions require strong C++ skills, none mention Obj-C.

Last edited by DaveM; 02-17-2011 at 09:53 AM.
DaveM is offline   Reply With Quote
Old 02-17-2011, 06:24 PM   #13 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Quote:
Originally Posted by DaveM View Post
If you're going to build your game completely with Obj-C frameworks like Cocos2D, sure, you need to know Obj-C. You can also use C++/OpenglES/Ogre3D/etc. and largely avoid Obj-C.

Look at the available jobs on Rovio - Home (creator of Angry Birds). All of the programming positions require strong C++ skills, none mention Obj-C.
Hate to tell ya but Obj-C is basically C++. The only REAL difference between C and C++ is the added ability of object-oriented programming and data structures manipulation (and improved input/output). These two skill-sets are critical to making most games and it's probably what Rovio expects you to know intimately.
missing_no is offline   Reply With Quote
Old 02-17-2011, 07:37 PM   #14 (permalink)
Registered Member
 
Join Date: Nov 2009
Location: Chicago
Posts: 29
DaveM is on a distinguished road
Default

Quote:
Originally Posted by missing_no View Post
Hate to tell ya but Obj-C is basically C++. The only REAL difference between C and C++ is the added ability of object-oriented programming and data structures manipulation (and improved input/output). These two skill-sets are critical to making most games and it's probably what Rovio expects you to know intimately.
Are you talking about Objective-C++? Plain Objective-C and plain C++ are as different as they could possibly be, though they both compile down to C and then object code under the compiler's covers.

Objective-C's syntax is horrific.
DaveM is offline   Reply With Quote
Old 02-17-2011, 10:45 PM   #15 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Quote:
Originally Posted by DaveM View Post
Are you talking about Objective-C++? Plain Objective-C and plain C++ are as different as they could possibly be, though they both compile down to C and then object code under the compiler's covers.

Objective-C's syntax is horrific.
I think you mean the terminology is horrific; the syntax (way the coding language is arranged) is almost untouched. you manipulate objects, create classes and instances in a very similar way.

I've never had any trouble in Obj-C and I came straight from C++. I found the syntax almost identical, but just with different terms. I just think of it sort of like Assembly sure you write a bit more code, but you get faster runtime. It's worth the little bit of learning.

If that is not enough here is an unbiased definition of wikipedia comparing the two:
"In addition to C’s style of procedural programming, C++ directly supports certain forms of object-oriented programming, generic programming, and metaprogramming. C++ also comes with a large standard library that includes several container classes. Similarly, Objective-C adds object-oriented programming, dynamic typing, and reflection to C. Objective-C does not provide a standard library, per se, but in most places where Objective-C is used, it is used with an OpenStep-like library such as OPENSTEP, Cocoa, or GNUstep, which provide functionality similar to C++’s standard library."

Last edited by missing_no; 02-17-2011 at 11:04 PM.
missing_no is offline   Reply With Quote
Old 02-18-2011, 11:06 AM   #16 (permalink)
Registered Member
 
Join Date: Nov 2009
Location: Chicago
Posts: 29
DaveM is on a distinguished road
Default

Quote:
Originally Posted by missing_no View Post
I think you mean the terminology is horrific; the syntax (way the coding language is arranged) is almost untouched. you manipulate objects, create classes and instances in a very similar way.
No, I meant syntax - the rules that define how symbols are arranged in a correct program. They're very different. Show this to a C++ programmer with no Obj-C experience and I'm sure he'll scratch his head for a minute or ten. Do the same with the Java equivalent and he'll grok it.

Code:
// You must implement this method
+ (Class)layerClass {
    return [CAEAGLLayer class];
}


//The GL view is stored in the nib file. When it's unarchived it's sent -initWithCoder:
- (id)initWithCoder:(NSCoder*)coder {
    
    if ((self = [super initWithCoder:coder])) {
        // Get the layer
        CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
        
        eaglLayer.opaque = YES;
        eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
                                        [NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];
        
        context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1];
        
        if (!context || ![EAGLContext setCurrentContext:context]) {
            [self release];
            return nil;
        }
        
		float nfr = Settings::getNormalFrameRate();
        animationInterval = 1.0 / nfr;
		
    }
	
	//Configure and start accelerometer
	[[UIAccelerometer sharedAccelerometer] setUpdateInterval:(ACCEL_UPDATE)];
	[[UIAccelerometer sharedAccelerometer] setDelegate:self];
	
    return self;
}
I can imagine one thinking, Class return type? self? Is that a member function call? What are all of these crazy square brackets, colons, pluses and minuses? Not to mention all of the interface/implementation/synthesize stuff. Sorry, that doesn't look anything like C++ to me. Of course, I'm sure the converse is true as well. An Obj-C programmer with no C++ experience would probably be flummoxed by virtual, new, delete, STL, templates, destructors, copy constructors, operator overloading, etc.

Quote:
I've never had any trouble in Obj-C and I came straight from C++. I found the syntax almost identical, but just with different terms. I just think of it sort of like Assembly sure you write a bit more code, but you get faster runtime.
How do you get faster runtime?

Quote:
If that is not enough here is an unbiased definition of wikipedia comparing the two:
"In addition to C’s style of procedural programming, C++ directly supports certain forms of object-oriented programming, generic programming, and metaprogramming. C++ also comes with a large standard library that includes several container classes. Similarly, Objective-C adds object-oriented programming, dynamic typing, and reflection to C. Objective-C does not provide a standard library, per se, but in most places where Objective-C is used, it is used with an OpenStep-like library such as OPENSTEP, Cocoa, or GNUstep, which provide functionality similar to C++’s standard library."
All that tells me is that Obj-C pretty much locks me into the Apple platform.

Last edited by DaveM; 02-19-2011 at 09:21 AM.
DaveM is offline   Reply With Quote
Old 02-18-2011, 01:21 PM   #17 (permalink)
Registered Member
 
missing_no's Avatar
 
Join Date: Feb 2011
Posts: 41
missing_no is on a distinguished road
Default

Class is in C++ that is like the first OO thing i learned, and self is basically "this". it's just a pointer. The only thing that you mentioned that has no equivalent (that I have found) is operator overloading the rest are not unique to C++.

more code usually means less internal functions have to be called and this almost always leads to a faster runtime. C++ is very efficient, but if you compare it to assembly it's lightyears slower. I've noticed only a slight difference in speed bewteen Obj-C and C++ and I have no data to back it up. So, it's pure conjecture that I'm guessing it's because you have to write things out more than in C++ that you get this edge in performance.

I for one actually find it simpler to write in Obj-C than C++, but to each his own. I'm just telling you that Obj-C isn't as radically different as your making it out to be. I would go as far as to say that C++ object oriented programming was harder to learn than Obj-C would have been (to learn it from scratch w/o my C++ OO knowledge)

Last edited by missing_no; 02-18-2011 at 01:29 PM.
missing_no is offline   Reply With Quote
Old 02-18-2011, 01:57 PM   #18 (permalink)
Registered Member
 
Join Date: Nov 2009
Location: Chicago
Posts: 29
DaveM is on a distinguished road
Default

Quote:
Originally Posted by missing_no View Post
I would go as far as to say that C++ object oriented programming was harder to learn than Obj-C would have been (to learn it from scratch w/o my C++ OO knowledge)
No argument there. C++ is a pain in the ***, but since I've been using it for years the pain is like an old friend :-).

Besides - check out the AirPlay thread - I think my problems have been solved once and for all. Write my game once in C++, let AirPlay handle the platform-specific junk.

Cheers.
DaveM is offline   Reply With Quote
Old 02-18-2011, 08:06 PM   #19 (permalink)
Registered Member
 
Psevertson's Avatar
 
Join Date: Jan 2011
Posts: 22
Psevertson is on a distinguished road
Default cool

Quote:
Originally Posted by legolug90 View Post
I started learning C++ last week and I'm doing pretty well. I seem to be learning quite fast and I'm looking forward to developing my first iphone game in a couple of months or maybe a year.
Am I realistic?
I mean... I have no experience in creating any kind of software or in programming in general. Not to mention my iphone experience which tends to 0.
I was thinking I would spend about 2 hours a day learning and experimenting with the programming languages and the SDK.
My goal is to be able to create physics-based puzzle games like Angry Birds or Bubble Ball. Actually I can't say I'll create those games all by myself, considering I will only do the programming and let the artistic part to somebody else.

Well... that's about it. I'm just curious of how much it would take until I'll be able to create ("code") such games.
Thats exactly like me. It is not too hard to learn. I started about a year ago. now I can read the code and see about what the app will look like, but I still can't write it very well. My advice is finding sample download apps with similar things you need, and copy parts of the code. good sample code can be downloaded at appsamuck.com
Psevertson is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



» Advertisements
» Online Users: 415
10 members and 405 guests
7twenty7, chemistry, ChrisYates, gmarro, hussain1982, Retouchable, skrew88, SLIC, walex, xzoonxoom
Most users ever online was 1,387, 04-10-2012 at 04:21 AM.
» Stats
Members: 175,679
Threads: 94,128
Posts: 402,921
Top Poster: BrianSlick (7,990)
Welcome to our newest member, xzoonxoom
Powered by vBadvanced CMPS v3.1.0

All times are GMT -5. The time now is 08:09 AM.
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0