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 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...
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!
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?
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
well I wasn't necessarily looking to make 3d games as I would imagine that would be harder to make. I think I'd rather start with easier to code games...I'm guessing along the lines of scoops, up there, wurdle etc....so I should learn basic Objective C instead of unity?
Actually, making a 3D game in Unity is easier than making a 2D game the "hard way" with Objective C. The only thing that's harder is making the assets, since you need to know 3D modeling. --Eric
Haha sorry, no it wasn't sarcasm I was just saying that it's good to know that if I learn C++ coding then Obj-C wont be as tough. Sorry for the misunderstanding and again thanks.
There is no "easy" way to make an application, let alone a game. If you really think you have a great idea, download the SDK (you'll need it weather you go with Unity or not). Take a look. Download some sample code. If you can somewhat understand it, go with that. If you know ANY javascript or C#, I strongly suggest Unity. Unity was made from the ground up to be very rapid and quick paced. The SDK was made to be thorough. I'm not saying that Unity isn't but be aware that you have some restrictions with Unity. Then, there's the other choice you have to face. 2D or 3D? 3D, go with Unity hands down. 2D, you might have to really think about what you're going to do and then compare the two. I personally suggest Unity. I was totally new to coding two and a half months ago. Learned Unity in one and spent two or three weeks messing around with the iPhone application building process in Unity. Came out with Rolly fairly quickly. It's definitely not the best game out there but I'm pretty impressed with it being my first game and all. Good luck and post your final decision here!
First we wanna start small so games such as match-3's and puzzlers are what we will probably begin with then with a little more experience I personally want to branch out into genres like 2Dplatformers and TD's, so what engine do you suggest for those genres? Also I hear all this talk of Unity is it really that great and if it is, if I got it would it help with those genres above and if mastered and I wanted to branch out into obj-c and c++ would I have to start from scratch in regards to learning the languages or would the knowledge I learned using Unity be good enough to easily catch on to these languages? If Unity is easier I might start with that then once I understand coding alittle more then I'll learn the languages. Unity to C++/Obj-C? or C++/Obj-C with no unity? Which way is best and is most fulfilling? Thanks guys!
Go over to Unity3d.com and watch the video. Check out the trial. See what you can do with it. In fact, there's even a sample project for Unity iPhone on something similar to the game logic you discussed above here (its the iPhone-Match one): http://unity3d.com/support/resources/example-projects/iphone-examples (just remembered, you can't open up Unity iPhone files with the normal Unity....so send them an e-mail and they'll be willing to give you a free iphone demo/trial) With the things you listed above, X-Code would be favored. However, if you want to branch off of that, I'd highly recommend looking into Unity.
ok thanks....but just to clarify...is xcode the same as objective-c? And can you recommend a good book to learn it? I'm assuming that's the best way to learn it? THANKS!!!!
Objective-C is a language; Xcode is a development environment which supports (among others) Objective-C. --Eric
I would probably learn C and then move onto C++ so you can learn about object oriented programming. There are plenty of decent books out there to learn these. From what I gather from reading the forums, it seems the programming language for unity is similar to java script. If you know C, then learning Unity shouldn't be too difficult. Andy
There's more than one language; you can use C# as well. Regular Unity has Boo (similar to Python) as a third option, but I don't think that works on the iPhone version at this time. --Eric