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

Programming Help?

02-18-2011, 06:38 PM
#1
Joined: Feb 2011
Posts: 5
Programming Help?

I have a great idea for an iPad game. I have all the artwork, the storyline,the levels designed, and the soundtrack, and everything else but I don't know anything about coding/programming or whatever so if anyone could give me tips on what I need to learn and how I'll actually program it, and after that how I'll send it to Apple, that would be much appreciated.
02-18-2011, 10:30 PM
#2
Joined: Nov 2008
Location: Australia
Posts: 850
Your best bet would be a book or something, some are pretty good. It's not something you can just learn either, it'll take a while before you can code a half decent game.

02-19-2011, 06:58 AM
#3
Joined: Feb 2011
Posts: 5
Thanks but say i spend ten years learning code or whatever, then how do i like submit the code to make the game and everything? Will the book explain all? Also, which language should i learn?
02-19-2011, 07:46 AM
#4
Joined: Nov 2008
Location: Australia
Posts: 850
To submit your game you just join the "iOS Developer Program" for $100 a year or so (http://developer.apple.com/devcenter/ios/index.action). And that depends, are you coding with Xcode on a Mac, or a different program?
02-19-2011, 08:15 AM
#5
Joined: Feb 2011
Posts: 5
Yes, ill most likely be coding with Xcode
02-19-2011, 08:18 AM
#6
Joined: Dec 2010
Location: HongKong
Posts: 345
object c is similar to C++ and easy to learn. and there are solutions which could help you code it with the way you are familiar with too.
if you want to release the game, you need to be involved in iOS developer program with $99 a year.
quite simple, all that concerns is the idea.
02-19-2011, 08:24 AM
#7
Joined: Nov 2008
Location: Australia
Posts: 850
Then you'll need to learn Objective C. There's a pretty good book I once found about it, but I can't remember it anymore. A Google search would probably help you find one.
02-19-2011, 02:31 PM
#8
Joined: Feb 2011
Posts: 5
Alright then, thank you very much!
02-20-2011, 09:33 AM
#9
Joined: Feb 2011
Posts: 5
Do i need to learn cocoa, or opengl, or python too?
02-20-2011, 04:05 PM
#10
Quote:
Originally Posted by Ovatrill View Post
Do i need to learn cocoa, or opengl, or python too?
Objective-C is just the language, a super-set of the C language (it's built on top of C). So in order to make GUI-based application, applications that use a graphical user interface (GUI), then you need to use a GUI library or framework, unless you make one from scratch which I don't recommend unless you want to reinvent the wheel and already are an expert coder (and has lots of time on your hands).

For making Mac desktop apps, you traditionally use the Cocoa framework, an abstraction layer which allows for faster development of Mac applications. There are other options, using a variety of languages(Java with Swing/AWT/SWT, C/C++ with QT, etc) but Objective-C with Cocoa is the primary choice for most Apple-based developers.

For iOS devices, you would learn the Cocoa Touch framework, which is largely similar to the Cocoa framework as it's based on the same API as Cocoa.

So in short, yes, you would need to learn Cocoa Touch if you plan on making iOS applications, like the iPad.

As far as OpenGL, that is up to you, and if targeting iOS devices then it would be OpenGL ES, either OpenGL ES1.1 or OpenGL ES 2.0 (for newer iOS devices, like the iPad, but iPad/iPhone 4 can do both 1.1 and 2.0). Do you require really fast graphics? Are you pushing a lot of polygons around the screen?

You can make a game without knowing OpenGL ES at all. The Cocoa Touch has animation classes that can move objects, and if you wanted something a bit lower level (ie. faster) then you could use Cocos2D library, which is an OpenGL-based gaming library. Or if it's a 3D app, then you can use Unity, or any of the open-source 3D libraries (Irrlicht, Ogre 3D for iPhone, Oolong, but these are not for the faint of heart).

Or you can do straight OpenGL ES API calls yourself, if you want to make your own rendering library, too, as it's a fairly easy API to learn, it's a stripped-down version of the regular OpenGL desktop API, but it will require you to also know some math (linear math, matrix math, basic trigonometry, etc). If you get into programmable shaders with OpenGL ES 2.0, instead of the fixed-function pipeline of 1.1, then you really need to know your 3D math well.

Since it sounds like you are a beginner, just learning Objective-C is going to be a lot for you, and then I suggest learning the basics of Cocoa Touch. That should be enough for you to make a game, and stick to 2D games for now. You may want to take a look at Cocos 2D once you get familiar with Objective-C and Cocoa Touch.

As far as Python, it's a great language and easy to learn. I use it often, and you'll see it as a game scripting language, or used as tools as part of various utilities like image processing, file-handing, text parsing, etc. But it is not a requirement, and for you, I'd recommend putting learning that on the back-burner. You don't need to know it to make iOS games, but it can make tedious processes a lot easier to do.

C++ may be worth learning way down the road for you, if you decide to pursue a professional gaming career in the industry, but it's a more complex language. It's not a requirement to make iOS games but having you gaming library in C++ will allow you to port your code more easily, and sometimes coding in C++ is needed for cutting-edge games where you are trying to get every ounce of FPS-speed.

Learning Objective-C and Cocoa Touch will require you to learn Object-Oriented Programming which in itself is a lot to handle for beginner, so don't overload yourself with too much stuff at the beginning.