What programming language should I learn for a game app?

Click For Summary

Discussion Overview

The discussion revolves around the choice of programming languages for developing a free game app, with a focus on Objective-C, Swift, and the Unity game engine. Participants explore various aspects of game development, including in-app purchases, platform considerations, and the overall process of app submission.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant inquires about the suitability of Objective-C for game app development after learning HTML5, expressing concerns about its difficulty.
  • Another participant suggests using the Unity game engine, which supports C# and JavaScript, highlighting its cross-platform capabilities.
  • There is a question regarding which platform, iOS or Android, is more profitable for game developers.
  • Participants discuss the implications of pricing strategies and the importance of novelty in game design for attracting users.
  • One participant mentions the need for a developer's license for iOS and the simpler process for Android, raising concerns about app approval.
  • There is a mention of Swift as a newer programming language for iOS development, with some participants debating whether to learn Swift or stick with Objective-C.
  • Another participant emphasizes the importance of understanding game mechanics and other aspects of game development beyond just programming languages.
  • One participant warns against asking broad questions without prior research, suggesting that programming language choice is just one part of the game development process.

Areas of Agreement / Disagreement

Participants express differing opinions on the best programming language to learn, with some advocating for Objective-C, others for Swift, and some suggesting Unity. The discussion remains unresolved regarding which language is definitively better for game app development.

Contextual Notes

Participants highlight the complexity of game development, including considerations for game mechanics, licensing, and market strategies, which may not be fully addressed in the discussion.

Who May Find This Useful

Individuals interested in game development, particularly those considering which programming language to learn for creating mobile apps.

Math10
Messages
301
Reaction score
0
What programming language should I learn if I want to make a free game app? Is it Objective-C? I have learned HTML, CSS and currently learning HTML5. I heard that Objective-C is hard. Should I learn Objective-C after learning HTML5 if that's the programming language to make a free game app with in-app purchasing? What are some good resources like websites or books for learning Objective-C?
 
Technology news on Phys.org
I'd go with the Unity game engine, it supports c# and javascript. The big thing though is your game would then run across several gaming platforms including iOS and Android.

Also to be clear, html and css are not programming languages. They are markup languages for laying out prettier web pages. Javascript provides the interactive component of a web page.

Objective-C is used primarily on IOS whereas as Java is used on Android. The problem with developing on iOS is that you will need to get a developers license and will need to get Apple approval for games you want to post publicly. For Android the developer process is a lot simpler with free licensing.
 
So which one makes more money: iOS or Android?
 
Also, what's Unity game engine?
 
Moneywise it depends on what you charge, what Apple or Google takes for sales of your app and its novelty in the market.

If you charge too much people won't buy it. If you offer it for free with in-app purchases people might try it depending on the excitement you can build for your game. For each sale of your game, Apple and Google extract a percentage of the price so you get less for each game sold.

Your customers might find a bug in your game and that can result in less rating stars which means less people will buy your game. Each time the OS is updated features of your game might not work and so you'll have to fix these issues quickly otherwise you will get less stars in your reviews and existing customers might revise their review reducing the star rating.

Novelty means your game must do something other games don't. As an example, you make a TicTacToe game and no one is interested in it because it looks like all the other TicTacToe apps. However, if you provide a means to alter the game rules in interesting and novel ways or alter the game play where now it requires the player to answer a challenging question or play a mini-game inside your game to win the square then maybe people will want to pay for your app.

Look at Flappy Bird, it had some appeal and so many people downloaded it. Its popularity got it noticed by other game programmers who imitated it. It also got noticed by Nitendo/Super Mario Bros I think, who said some copyrighted images were used in the game and so it got pulled.

http://en.wikipedia.org/wiki/Flappy_Bird

Don't go into game writing with the idea that you will make millions because most people make pennies on their work. The public can be very brutal to game developers and so you must know how to handle complaints and to sell your game.

Also be mindful of copying ideas from other games and you may get a notice demanding you take down your game for infringing on some other game or patent or artwork... meaing you must remove the offending item and update your customer base with a new slightly different game and they may not be happy with it.
 
Last edited:
So let's say that after I make a free game app and I want to offer it for free with in-app purchases, what do I need to do? Do I need to go to a place like Apple Store to submit my app? Or what do I do?
 
You have to either use a tool like unity or write it in objective-c for Apple iOS or write it in Java for Google Android. They should have some sort of licensing api that your app would use to enable features that the customer has bought through the in app purchase.

I have never done this but I'm sure you can find a tutorial somewhere on the Internet that will show you the details.
 
I heard that there's a new programming language called Swift, used for developing iOS apps. Should I learn Swift or Objective-C?
 
  • #11
So should I learn Objective-C or Swift?
 
  • #12
Did you read the wikipedia article? Swift is very similar to Objective-C without the C parts. You could start with Swift but eventually you'll have to be familiar with Objective-C.
 
  • #13
I'll learn Objective-C first then. But after learning Objective-C, do I need to learn Swift?
 
  • #14
I don't think so but why are you so preoccupied by this? Programmers know multiple languages and use a variety of tools to get the job done. We choose the best tool or language for the job. This comes from experience so don't limit yourself.
 
  • #15
Worry about making money after you gain experience. One step at a time.
 
  • Like
Likes   Reactions: mafagafo
  • #16
Math10 said:
I'll learn Objective-C first then. But after learning Objective-C, do I need to learn Swift?

You really need to research on what will suit your needs. You can make games (and other applications) with any programming language. Asking a broad question will give you broad answers, and everything you've asked can be answered through a google search.

Programming is also just one small slice of the pie. If you're working on a game, you need to know what game mechanics and rules need to be applied, you need to figure out collision detection, handling multiple objects at the same time, music, sound effects, graphics, graphic related functions, hardware restrictions and limitations, and so on.

Figuring out which language you want to learn and use is the easiest part of the process. There's just much more to the overall picture, and without proper planning, you'll most likely become frustrated and discouraged to continue on.
 
  • Like
Likes   Reactions: mafagafo and Mark44
  • #17
elusiveshame said:
You really need to research on what will suit your needs. You can make games (and other applications) with any programming language. Asking a broad question will give you broad answers, and everything you've asked can be answered through a google search.
With that, I am closing this thread.

Math10, you've been warned before about asking broad questions without doing some research on them beforehand. If you continue asking such questions, you'll be getting some infractions.
 
  • Like
Likes   Reactions: mafagafo

Similar threads

Replies
86
Views
3K
  • · Replies 25 ·
Replies
25
Views
1K
Replies
3
Views
1K
  • · Replies 133 ·
5
Replies
133
Views
12K
  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 397 ·
14
Replies
397
Views
21K
  • · Replies 17 ·
Replies
17
Views
2K
Replies
3
Views
2K
  • · Replies 15 ·
Replies
15
Views
4K