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

Learning to Code

01-19-2009, 01:48 AM
#1
Senior Member [Original Poster]
Joined: Dec 2008
Posts: 458
Learning to Code

Alright so my friend and I started talking about creating a game around September and he mentioned it to his mom and for christmas she got him a C++ coding book. He already knows alittle bit of coding with things like java and so on(cant remember off the top of my head), but im wondering what else we'll need and if there is an order we should probably learn the programming in. Would really appreciate if someone could help me out, thanks!

Playing: HookChamp.WheelersTreasure.BaseballSuperstars2010. SniperVsSniper.RealRacing.
Wanting:Command&Conquer.Madden2010.
WaitingList: SpaceTripper.RoguePlanet.MiniSquadron.R-Type.
01-19-2009, 01:52 AM
#2
Joined: Sep 2008
Location: Vancouver, BC
Posts: 784
Quote:
Originally Posted by TheOZ View Post
Alright so my friend and I started talking about creating a game around September and he mentioned it to his mom and for christmas she got him a C++ coding book. He already knows alittle bit of coding with things like java and so on(cant remember off the top of my head), but im wondering what else we'll need and if there is an order we should probably learn the programming in. Would really appreciate if someone could help me out, thanks!
Once you learn C++, you will be able to easily transfer to Objective-C and Cocoa, the two main languages used in Xcode. If you have already started learning C++ and have the determination to finish what you've started, you guys will do great. I'm glad your not using Unity :P

Good Luck,
- James

Bullet Development (twitter) Bullet Skater // Psychedelic



01-19-2009, 01:57 AM
#3
Quote:
Originally Posted by BarringtonSoftware View Post
Once you learn C++, you will be able to easily transfer to Objective-C and Cocoa, the two main languages used in Xcode. If you have already started learning C++ and have the determination to finish what you've started, you guys will do great. I'm glad your not using Unity :P

Good Luck,
- James
wait...now im confused...is it better NOT to go with unity? You said i should go with unity but here u said u r glad they r not using it...
01-19-2009, 02:01 AM
#4
Senior Member [Original Poster]
Joined: Dec 2008
Posts: 458
Quote:
Originally Posted by BarringtonSoftware View Post
Once you learn C++, you will be able to easily transfer to Objective-C and Cocoa, the two main languages used in Xcode. If you have already started learning C++ and have the determination to finish what you've started, you guys will do great. I'm glad your not using Unity :P

Good Luck,
- James
That's really good to know, thanks alot!

Playing: HookChamp.WheelersTreasure.BaseballSuperstars2010. SniperVsSniper.RealRacing.
Wanting:Command&Conquer.Madden2010.
WaitingList: SpaceTripper.RoguePlanet.MiniSquadron.R-Type.
01-19-2009, 02:32 AM
#5
Joined: Sep 2008
Location: Vancouver, BC
Posts: 784
Quote:
Originally Posted by games42 View Post
wait...now im confused...is it better NOT to go with unity? You said i should go with unity but here u said u r glad they r not using it...
Uh-oh seems as if I've upset a few people.

Let me sum this up: Unity is good for people who simply do not want to learn to code, or have no coding experience. It is a good way to make a game, but I like to see people actually learning programming languages, and taking extra time to develop.

Anyways, you should both be fine with the advice I gave you. I got confused with the mass amount of topics I found from you guys.

Quote:
Originally Posted by TheOZ View Post
That's really good to know, thanks alot!
Sarcasm?

Bullet Development (twitter) Bullet Skater // Psychedelic



Last edited by BulletDev; 01-19-2009 at 02:35 AM.
01-19-2009, 02:45 AM
#6
Quote:
Originally Posted by BarringtonSoftware View Post
Uh-oh seems as if I've upset a few people.

Let me sum this up: Unity is good for people who simply do not want to learn to code, or have no coding experience. It is a good way to make a game, but I like to see people actually learning programming languages, and taking extra time to develop.

Anyways, you should both be fine with the advice I gave you. I got confused with the mass amount of topics I found from you guys.



Sarcasm?
ok that makes sense...I had a feeling that you meant that i.e. the appreciation of learning the code but it's easier with unity but I just wasn't sure so thanks for explaining....was never upset lol just confused...it can be scary when looking at all the new programs in what is basically new languages....and ps I don't think he was being sarcastic...I think he really meant to say thanks alot...just like I feel to say thanks alot to you....and WITHOUT SARCASM! Thanks Alot!
01-19-2009, 03:00 AM
#7
Quote:
Originally Posted by BarringtonSoftware View Post
Let me sum this up: Unity is good for people who simply do not want to learn to code, or have no coding experience.
No, it's not. If you can't code, you will get nowhere fast with Unity. You have to use C# or a variant of Javascript to develop your apps (which gets compiled to native ARM code in the end). The drawback is the overhead...if you want to make the smallest, most efficient game, then you wouldn't use Unity. However, in a lot of ways it's better to use an engine that takes care of the hard stuff for you, in the same way that there's no real point learning assembly language these days (well, for most things).

Potentially it's easier to make better games with Unity, because the process is conducive to experimentation and tweaking. So rather than going through the pain of compiling and trying to test in the simulator and so on, it's easier to stick with it until it's perfect, instead of settling for "eh, it works, good enough". Of course, most people want to rush things and push unpolished apps out as soon as possible, but that's obviously true for non-Unity apps as well.

--Eric
01-19-2009, 03:01 AM
#8
Joined: Sep 2008
Location: Vancouver, BC
Posts: 784
Quote:
Originally Posted by games42 View Post
ok that makes sense...I had a feeling that you meant that i.e. the appreciation of learning the code but it's easier with unity but I just wasn't sure so thanks for explaining....was never upset lol just confused...it can be scary when looking at all the new programs in what is basically new languages....and ps I don't think he was being sarcastic...I think he really meant to say thanks alot...just like I feel to say thanks alot to you....and WITHOUT SARCASM! Thanks Alot!
Ahh OK. Thanks for understanding

- James

Bullet Development (twitter) Bullet Skater // Psychedelic


01-19-2009, 03:23 AM
#9
Quote:
Originally Posted by Eric5h5 View Post
No, it's not. If you can't code, you will get nowhere fast with Unity. You have to use C# or a variant of Javascript to develop your apps (which gets compiled to native ARM code in the end). The drawback is the overhead...if you want to make the smallest, most efficient game, then you wouldn't use Unity. However, in a lot of ways it's better to use an engine that takes care of the hard stuff for you, in the same way that there's no real point learning assembly language these days (well, for most things).

Potentially it's easier to make better games with Unity, because the process is conducive to experimentation and tweaking. So rather than going through the pain of compiling and trying to test in the simulator and so on, it's easier to stick with it until it's perfect, instead of settling for "eh, it works, good enough". Of course, most people want to rush things and push unpolished apps out as soon as possible, but that's obviously true for non-Unity apps as well.

--Eric
So what advice would you give me? I'm completely new to programming and want to make a really great iphone game....where do I start? Should I spend my time learning Unity or should I learn Objective C? or C+ or Cocoa? or Java? I really have no clue but want to learn how....What's the easiest/best way to go?
01-19-2009, 03:52 AM
#10
Quote:
Originally Posted by games42 View Post
So what advice would you give me?
If you want to do 3D games, you'll be able to get results much faster with Unity instead of having to spend months/years learning all the ins and outs of OpenGL, transform matrices, and so on. However, it's also a huge program and will take some time to learn how everything works. For somebody with zero programming experience, I'd probably recommend learning the basics of C or something first. Nothing fancy, just general programming concepts. Then move to Unity...I've seen people get overloaded trying to learn programming and the Unity API at the same time. I think some people get the wrong idea when they hear "easy to use"...it's not at all intended to be a "no coding" solution, but rather a rapid development solution. (Although, if you're using it with a team, it's pretty easy to set it up with tools so that the non-coders can still do things in it.)

On the other hand, if you want to do 2D games, Unity isn't necessarily the best solution, although there are still a number of advantages...if you can live with the overhead, it's going to allow much faster prototyping, for one thing.

--Eric