Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

JOSERI

macrumors newbie
Original poster
Aug 28, 2014
3
0
hey, i wanna be an :apple:iOS dev but dont know where to start and where to finish. i have this project of creating a game that guys can play online with their friends and many other features...
i need advice on the fastest way to achieve that
;) thanks in advance.
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
i have this project of creating a game
...
i need advice on the fastest way to achieve that

The fastest way is to spend maybe between $10k and $100k for a full-service iOS development company to mock up your game. Then you can play test it; and see if it's worth investing more in bringing the app to market.

A college degree in computer game development (or the equivalent experience) can take far far longer for many people.
 

AxoNeuron

macrumors 65816
Apr 22, 2012
1,251
855
The Left Coast
It will probably take well over a year for someone who has zero programming experience to learn objective C, Xcode, and all of the frameworks, and then learn how to model stuff in programs like Maya and 3Ds Max. It's going to take a lot of very hard and dedicated work. You will have to expend an enormous amount of time and effort.

If you're not willing to do all of that then I wouldn't even bother. And even if you do, you can't rely on your app being successful because statistically most apps sell very poorly.

I personally learn better from online video tutorials than books, so I am using bitfountain.io iOS 7 course (which cost me like $80 on stacksocial). You can now buy the iOS 8 course for $80 and get the iOS 7 course for free. Otherwise, there are some amazing resources on Lynda.com for $25 a month.

I only use the books (Programming in Objective-C by Stephen Kochan) as a reference guide when there is something I don't understand. The iOS7 course I described above is much more comprehensive however, as it touches on things like Core Data and some other frameworks and API's.

See, most successful developers (not all, but the vast majority) learned programming purely for fun or because they loved it. Programming with the sole intent of releasing a successful app tends to lead to a lot less success. You have to love programming in order to make a good app, in order to come up with innovative ways of doing things and fixing bugs. It takes a lot of determination. You can't be all about the money. I'd suggest starting purely as a hobby to see if you have an aptitude for it.
 

JOSERI

macrumors newbie
Original poster
Aug 28, 2014
3
0
Does that mean that the only things I need is to learn objective c and how to work with the SDK.nothing more nothing less
 

AxoNeuron

macrumors 65816
Apr 22, 2012
1,251
855
The Left Coast
Does that mean that the only things I need is to learn objective c and how to work with the SDK.nothing more nothing less
If you want to make an online game, you're gonna have to learn a LOT more than that. Server type stuff to coordinate player moves at the very least. And if you want 3D graphics, learn programs like 3DS max.
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,561
6,059
Does that mean that the only things I need is to learn objective c and how to work with the SDK.nothing more nothing less

I would suggest you learn Unity instead. Learning obj-C/Xcode/iOS SDK isn't what you want for two reasons:
1 - It's too general. Those tools were made with creating any sort of app in mind, which means they're more complicated than necessary for making a game, because they weren't made with creating games in mind.
2 - It's too specific. I lied when I said "any sort of app" - I meant to say "any sort of iOS app". You won't be able to take your finished game and instantly run it anywhere else, except on an iOS device.

Unity was specifically made for creating any kind of game, for any platform. The games you make in it will run on iOS, OS X, Windows, Linux, Android, Windows Phone, BlackBerry, Wii, Wii U, DS, 3DS, PSP, Vita, PS3, PS4, Xbox 360, Xbox One, and in a web browser.

These tutorials will teach you a lot about Unity, for free, and were made with beginners in mind:
http://www.walkerboystudio.com/html/unity_training___free__.html

Beware that even after you learn how to use Unity to program your game, though, that you'll still need assets, IE, the models, textures, sounds and music for your game. Most games either have simple graphics, or are made by at least a programmer + an artist, and many are both, because producing the quality of assets you want at the sheer quantity to fill a game is difficult. I can recommend Blender for making models and gimp for making textures. Music can be done in Garage Band (but you'll want to learn a few instrument for best results... the artificial instruments can only go so far). I have no idea how good sounds are made.

Edit: Sounds and music are normally bought, I think, for indie games. IE the song Downstream from Braid's soundtrack is from Shira Kammen's Music of Waters album and predates the game by 6 years. Several of the sound effects in WarCraft 2 (and 3, for that matter) were bought from sound effect companies... not quite sure if WarCraft 2 can be counted as an indie game or not...

2X Edit: Credits for WarCraft 2 certainly look too long to me to count it as indie: http://www.allgame.com/game.php?id=939&tab=credits

3X Edit: Maybe the first WarCraft can count as indie? Certainly was made by fewer people. But it goes to show you how many different man-hours it takes to make even simpler games. http://www.allgame.com/game.php?id=940&tab=credits
 
Last edited:

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Does that mean that the only things I need is to learn objective c and how to work with the SDK.nothing more nothing less

Plus algorithms, data structures, thread safety, debugging techniques, game design, UI and UX design, 2D or 3D graphics, game physics, audio, sound design, server interaction, databases, software practices, app store guidelines and procedures, privacy and copyright law, marketing, PR, customer support, tax accounting, and etc., etc. There is also a vast amount of framework, SDK and iOS APIs and programming tricks. One can spend years just learning that.

Enjoy.
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,561
6,059
Is knowing objective C not at all helpful or useful with Unity?

Knowing Obj-C before you learn Unity is about as useful as knowing Spanish before you learn French.

If your goal is to learn French, then why waste your time with Spanish, first? Similarly, if you want to learn Unity, why learn Obj-C first?
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Knowing Obj-C before you learn Unity is about as useful as knowing Spanish before you learn French.

People who are bilingual in both English and Spanish usually can learn French far faster than people who are not bilingual. It's well researched that after a persons brain is trained for fluency in a 2nd language, the 3rd is far easier to pick up.
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,561
6,059
People who are bilingual in both English and Spanish usually can learn French far faster than people who are not bilingual. It's well researched that after a persons brain is trained for fluency in a 2nd language, the 3rd is far easier to pick up.

Right. So do you disagree with the comparison that I made?
 

AxoNeuron

macrumors 65816
Apr 22, 2012
1,251
855
The Left Coast
As do Unity and Obj-C? They're both OOPLs.
When you write the app in Unity, do you write the entire app? Or just the code behind a single view? In Unity do you compile in to binary and submit that to the App Store or does it somehow hook in to an xcode project? Can you use things like Metal?
 

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,561
6,059
When you write the app in Unity, do you write the entire app? Or just the code behind a single view? In Unity do you compile in to binary and submit that to the App Store or does it somehow hook in to an xcode project? Can you use things like Metal?

I've never used the iOS build target in Unity, so I'm not sure how exactly it works. I do know that you need to have the platform's SDK to build for any target, so, IE, you can't build to the major consoles until you have appropriate SDK from the company (Nintendo's is $5000 for the Wii U and includes a better Wii U than what's commercially available, two Game Pads, and a Unity Pro license. I don't know what Microsoft/Sony charge for and include with their SDKs). So similarly, you need to buy the iOS SDK from Apple (which is $100/year, includes access to the beta versions of iOS, 2 support calls, the ability to upload apps on iTunes Connect, and all the other stuff - I figure you all already know and I don't need to go over it).

My understanding, however, is that you don't need to write any C/Obj-C/Swift code - you can do all the menus, GUI, and everything else you need in a game in Unity, which can be programmed in "JavaScript" (which is modified to the point that most people call it "UnityScript", instead), C#, or Boo (decedent of Python - I haven't tried learning this language, yet). And it includes MonoDevelop to support C# on OS X.

My understanding is that you wouldn't use Metal yourself, but that the underlying Unity engine code would utilize it if you target iOS (or OS X? Does that include Metal, too?)
 

AxoNeuron

macrumors 65816
Apr 22, 2012
1,251
855
The Left Coast
I've never used the iOS build target in Unity, so I'm not sure how exactly it works. I do know that you need to have the platform's SDK to build for any target, so, IE, you can't build to the major consoles until you have appropriate SDK from the company (Nintendo's is $5000 for the Wii U and includes a better Wii U than what's commercially available, two Game Pads, and a Unity Pro license. I don't know what Microsoft/Sony charge for and include with their SDKs). So similarly, you need to buy the iOS SDK from Apple (which is $100/year, includes access to the beta versions of iOS, 2 support calls, the ability to upload apps on iTunes Connect, and all the other stuff - I figure you all already know and I don't need to go over it).

My understanding, however, is that you don't need to write any C/Obj-C/Swift code - you can do all the menus, GUI, and everything else you need in a game in Unity, which can be programmed in "JavaScript" (which is modified to the point that most people call it "UnityScript", instead), C#, or Boo (decedent of Python - I haven't tried learning this language, yet). And it includes MonoDevelop to support C# on OS X.

My understanding is that you wouldn't use Metal yourself, but that the underlying Unity engine code would utilize it if you target iOS (or OS X? Does that include Metal, too?)
That's perfect, thank you! OS X doesn't support Metal since nvidia, AMD, and Intel make the GPU's for Macs. With Unity, do you make the 3D objects inside of unity itself or can you make the objects in a program like Maya and import them in to your project? Can you use something like the Core Data framework with Unity?
 
Last edited:

ArtOfWarfare

macrumors G3
Nov 26, 2007
9,561
6,059
That's perfect, thank you! OS X doesn't support Metal since nvidia, AMD, and Intel make the GPU's for Macs. With Unity, do you make the 3D objects inside of unity itself or can you make the objects in a program like Maya and import them in to your project? Can you use something like the Core Data framework with Unity?

Unity is not a model editor. I've made models in Blender and imported them. I believe it can also use models from Maya. It's cross platform, so no, you can't use Core Data exactly, but it may have something like Core Data. Not sure - I haven't done much beyond Walker Boy Studio's tutorials. I got hired by IBM and became the CTO of a start up right when I started making my own game in Unity, which has killed all of the free time I was hoping to make my game in. Eventually I'm hoping the start up will be successful and I'll be able to drop IBM and have time to make the game I've been brainstorming ideas for for the past few years.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.