Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

What programming language should I learn for a game app?

  1. Nov 30, 2014 #1
    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?
     
  2. jcsd
  3. Nov 30, 2014 #2

    jedishrfu

    Staff: Mentor

    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.
     
  4. Dec 1, 2014 #3
    So which one makes more money: iOS or Android?
     
  5. Dec 1, 2014 #4
    Also, what's Unity game engine?
     
  6. Dec 1, 2014 #5

    jedishrfu

    Staff: Mentor

    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: Dec 1, 2014
  7. Dec 1, 2014 #6

    jedishrfu

    Staff: Mentor

  8. Dec 1, 2014 #7
    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?
     
  9. Dec 1, 2014 #8

    jedishrfu

    Staff: Mentor

    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.
     
  10. Dec 2, 2014 #9
    I heard that there's a new programming language called Swift, used for developing iOS apps. Should I learn Swift or Objective-C?
     
  11. Dec 2, 2014 #10

    jedishrfu

    Staff: Mentor

    Yeah, I remember seeing that. I'd say you probably could write a game in Swift although you'll probably need to know about Objective-C as you get into the project and want to bend the hardware more your your liking for performance reasons.

    http://en.wikipedia.org/wiki/Swift_(programming_language)
     
  12. Dec 2, 2014 #11
    So should I learn Objective-C or Swift?
     
  13. Dec 2, 2014 #12

    jedishrfu

    Staff: Mentor

    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.
     
  14. Dec 2, 2014 #13
    I'll learn Objective-C first then. But after learning Objective-C, do I need to learn Swift?
     
  15. Dec 2, 2014 #14

    jedishrfu

    Staff: Mentor

    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.
     
  16. Dec 2, 2014 #15
    Worry about making money after you gain experience. One step at a time.
     
  17. Dec 2, 2014 #16
    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.
     
  18. Dec 2, 2014 #17

    Mark44

    Staff: Mentor

    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.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: What programming language should I learn for a game app?
  1. What should I learn? (Replies: 1)

Loading...