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

kristenanne77

macrumors regular
Original poster
Jul 16, 2009
102
0
I haven't programmed in over 25 years. the languages I grew up with were Assembler and Fortran and a little basic. But now I think I would like to try making a game in ios for Ipad and make a lot of money.

I did a little browsing and found XNA game programming language which uses C#, which I know nothing about, except is also called Db in music. Then doing more browsing I found that C# is becoming obsolete.

So i looked for the newest thing out there and found it is called Swift language.
Do i need to know anything like c?, c#?, c++?, c-objective? c super duper (I made that one up) etc in order to learn Swift? Why is everyone so obsessed with this letter C (that was an attempt at a joke). , ...
Serious...will Swift be just another flash in the pan? By the way, what is Cocoa?, and Xcode? I see them referenced as well? What are they?

Also i read about other languages like python and ruby... I don't get it. So many. way more than the different types of operating systems
Do you need special machines to run these languages maybe if someone can provide an analogy of some sort, it will help clear things up a little.


Thanks
K
 
I haven't programmed in over 25 years. the languages I grew up with were Assembler and Fortran and a little basic. But now I think I would like to try making a game in ios for Ipad and make a lot of money.

I did a little browsing and found XNA game programming language which uses C#, which I know nothing about, except is also called Db in music. Then doing more browsing I found that C# is becoming obsolete.

So i looked for the newest thing out there and found it is called Swift language.
Do i need to know anything like c?, c#?, c++?, c-objective? c super duper (I made that one up) etc in order to learn Swift? Why is everyone so obsessed with this letter C (that was an attempt at a joke). , ...
Serious...will Swift be just another flash in the pan? By the way, what is Cocoa?, and Xcode? I see them referenced as well? What are they?

Also i read about other languages like python and ruby... I don't get it. So many. way more than the different types of operating systems
Do you need special machines to run these languages maybe if someone can provide an analogy of some sort, it will help clear things up a little.


Thanks
K

If you want to make games for iPad, you need to learn Objective-C or soon Swift.

Swift is not available to the public yet so if you are looking to occupy your summer, try learning Objective-C and how Xcode works. In addition to learning a new language, half the battle with learning how to program for iOS/Mac is learning how the Xcode IDE works. Create connections, importing files, IBActions and Outlets make it easy to get confused. It took myself multiple attempts over the years to finally feel comfortable.

Swift is the brand new language and is here to stay, replacing Objective-C over time. It's still very useful to learn Objective-C because the APIs are all written in it and learning how to use Apple's APIs, which are wonderful, is a huge task on its own. Plus, there are mountains of examples, answers to common problems, and best practices available online for Objective-C.

Good Luck.
 
But now I think I would like to try making a game in ios for Ipad and make a lot of money.

You have about a 50/50 chance of making back the money ($100) you need to pay Apple to publish apps in the app store if you're going to be making games. It's an extremely competitive market for games, dominated by people (or companies) who are experts at developing, polishing, and marketing apps. It's probably easier to make money on iOS by trying to make an app that serves a niche which you're apart of which has a need not yet fulfilled by other apps on the app store.

I did a little browsing and found XNA game programming language which uses C#, which I know nothing about, except is also called Db in music. Then doing more browsing I found that C# is becoming obsolete.

C# is a language created by Microsoft for programming Microsoft devices. It's useless if you want to make games for iOS.

So i looked for the newest thing out there and found it is called Swift language. Do i need to know anything like c?, c#?, c++?, c-objective? c super duper (I made that one up) etc in order to learn Swift?

Swift itself doesn't rely on you knowing those languages, but the only available manuals on it right now make the assumption that the reader is already familiar with those languages, as well as others. I'm working on a more beginner friendly book for it right now, as are other people, but I wouldn't expect anything to be published for a few months.

Why is everyone so obsessed with this letter C.

There was a language called B (I can't remember why it was called that). Somebody wanted to make an improved version of that language, so they called it C. C was a very successful language in the 60s/70s, so when people set about making new languages in the 80s, they based it on C, and expanded it in new directions. To emphasis the relationship to C, they gave their new languages names like Obj-C and C++. Another language looking to expand on C was D (which faded into obscurity, as did numerous others).

C# is rather unique in this family of being an improvement on C because it was released in the early 2000s, much later than the others. Leave it up to Microsoft to be late to a party.

Serious...will Swift be just another flash in the pan?

Probably not. Obj-C did pretty well for the past few decades with only Apple supporting it, so even if nobody but Apple ends up using Swift, it'll last as long as Apple supports it. And given Apple has been working on the language for 4 years before they revealed it, and the amount of focus they gave it at WWDC, it seems quite likely that Apple intends to support it for decades to come.

By the way, what is Cocoa?, and Xcode? I see them referenced as well? What are they?

Cocoa is a framework for OS X. Cocoa Touch is a framework for iOS. Each of them consist of all the elements that make applications look and feel native on their respective platform. They each define things like what buttons should look like, how big they should be, what fonts should be used, how they should react to user interaction, etc.

Xcode is an IDE (Integrated Development Environment). It's a tool that brings together everything you need to create an app (your text editor, your GUI editor, file manager, scripts, resources, unit tests, debugging tools, inspector, etc).

Also i read about other languages like python and ruby... I don't get it. So many. way more than the different types of operating systems
Do you need special machines to run these languages maybe if someone can provide an analogy of some sort, it will help clear things up a little.

Programming languages are like any other languages. Somebody thought up an improved way of expressing ideas, and so a new language was created. They come and go - IE, Latin was a common language centuries ago, but it's dead now.

Much like some languages are more common in some countries, some programming languages are more common in some operating systems. The organizations that make operating systems can be thought of like governments of countries. Some governments declare their country to have official languages which all of their official documents are made in. IE, Canada's official languages are French and English. Similarly, Apple's official languages for iOS are Obj-C and Swift.

By the way, if you're not deterred by the fact that you most probably won't make money by making games for iOS and you still want to make games for iOS (or any other platform, for that matter), I strongly suggest you instead look into Unity 3D. That's an IDE (like Xcode) that has a language and frameworks created entirely with games in mind, so it's a lot easier to make great games in it. It's able to make games for iOS, Android, OS X, Windows, Wii U, Xbox 360, Playstation, etc... I find this website is a good way of learning how to use Unity:

http://www.walkerboystudio.com/html/unity_training___free__.html
 
Unity is expensive! It ranges from a few hundred dollars to about $30,000.
My son is a student. Maybe I can get a student discount.
That price may put me out of the ball game completely. My vision of making several million dollars with a game are starting to fade away. I may have to do what other poor people do to try and make money. Legalized gambling (by playing the Lotto - our friendly state gambling parlor!)

I found a book online or Amazon entitled Unity 4.x game development by example for beginners by Ryan Henson Creighton.
Anyone ever read this book? I need some type of encouragement at this point.

Thanks
K
 
Unreal Engine 4 is $20 a month and can publish to iOS. Once you pay the $20 you can cancel your subscription and continue using UE4, you just won't get updates until you pay $20 again. So you can play around with UE4 for a while until you feel comfortable with it and that you have an application ready that you feel you'll make money back on.

https://www.unrealengine.com/

They do get 5% of your gross income from the application but in my opinion that's better than paying up front. Apple already gets 30% and well, comparatively they seem to do less for you than UE4 does.
 
Unreal Engine 4 is $20 a month and can publish to iOS. Once you pay the $20 you can cancel your subscription and continue using UE4, you just won't get updates until you pay $20 again. So you can play around with UE4 for a while until you feel comfortable with it and that you have an application ready that you feel you'll make money back on.

https://www.unrealengine.com/

They do get 5% of your gross income from the application but in my opinion that's better than paying up front. Apple already gets 30% and well, comparatively they seem to do less for you than UE4 does.

Unreal Engine 4 looks awesome. I haven't been following game engine development for awhile but if I were in the market for one I'd definitely go with Unreal Engine 4 after reading about it on their website.
 
Thanks a lot.
Great concise answers.
I think I will look into that Unity program.

K

Before you make a decision, ignore those posts telling you that Apple's toolchains and languages are the only way to go..

Languages you can use on iOS:

1) Python via Kivy

2) Java via RoboVM. This is probably the best if you want to release the game on Android.

3) C# via Xamarin. Though it costs more, you'll be able to reuse 90% of your code on future platforms. (I can't believe someone said that C# is useless.)


Also, Unity is free! You only need to pay for the Pro editions, which also has a $75 monthly subscription.
 
Unity is expensive! It ranges from a few hundred dollars to about $30,000.

Unity Pro is expensive, yes, but you don't need that as you're not a pro. The terms for requiring the pro version are:
1 - Your game development team has to consist of more than five people or
2 - Your games need to make at least $100K/year.

There are a few very advanced features only available in Unity Pro, but somewhere around 99% of the features are available in the free version (I've only found two so far that aren't).
 
So if I use Unity and make a game that earns less than 100,000 dollars, I don't have to give Unity anything?
 
If you want optimal performance in your iOS game, you'll want to learn SpriteKit, SceneKit, and Metal, which means learning Objective C now, and likely Swift before one year from now. There are other languages, but they usually get updated many months after Apple releases their fastest new APIs, and you will get vastly less support from Apple and other iOS developers.

Note that only around 2% of new games currently make anywhere near "a lot of money". Those are worse odds than taking your savings to Vegas and putting it all on one spin of a roulette wheel.

Why all those languages? Because everybody thinks the first language they learn to code well with is the best. Even if it isn't for anyone else.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.