Jump to content

  • Log In with Google      Sign In   
  • Create Account

Best anguage to start Android apps?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 YNV_DeViouS   Members   -  Reputation: 126

Like
0Likes
Like

Posted 06 November 2013 - 10:47 AM

Hello all, I was wondering what language is the best to develop Android games, and apps in? I was previously attempting to create a "Hello World" app in Java using Eclipse and the Android SDK, but I have recently found that I can write apps in C++. Is this true, and if so would anyone recommend to do so in C++, as well as how I would go about using an SDK for Android in C++? I am also currently a college student and will be needing to take C++ as a requirement for the degree I am pursuing, but I will also need to take Java as an elective closer to the time of my graduation. That is just a little background as to which way you might lean towards when replying to this thread.

 

Thanks in advance.



Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 6306

Like
0Likes
Like

Posted 06 November 2013 - 11:07 AM

Hello all, I was wondering what language is the best to develop Android games, and apps in? I was previously attempting to create a "Hello World" app in Java using Eclipse and the Android SDK, but I have recently found that I can write apps in C++. Is this true, and if so would anyone recommend to do so in C++, as well as how I would go about using an SDK for Android in C++? I am also currently a college student and will be needing to take C++ as a requirement for the degree I am pursuing, but I will also need to take Java as an elective closer to the time of my graduation. That is just a little background as to which way you might lean towards when replying to this thread.

 

Thanks in advance.

 

In general C++ is not recommended for Android development (All Android apps need a java core), (it is however useful for cross platform games), you can download the NDK and use the NativeActivity class to wrap things up to avoid writing any Java code of your own if you want. (just specify that you want to use the NativeActivity class in the manifest and hook it up to your c++ shared objects)

 

If you just want to make a game for Android i highly recommend Unity3D(C#) it saves you a lot of trouble and makes porting to iOS / WP much easier.


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#3 Petter Hansson   Members   -  Reputation: 602

Like
0Likes
Like

Posted 06 November 2013 - 02:17 PM

Easiest would probably be Unity if you want to make games. It's the most popular engine for mobile games without a doubt, and it allows you to stay ultra cross-platform.

 

I used other frameworks like e.g. Corona for a long time, but honestly you can do much more in Unity. C# is a nicer language than Corona's Lua IMO (as Lua lacks static typing meaning you really need a good test framework when writing larger applications to avoid spelling mistakes costing you shitloads of time, and back when I last used Corona it didn't have a test framework, lol).

 

You want to avoid C++ on mobiles due to the diversity of underlying hardware... C++ and native precompiled code works well on PCs due to the dominant status of the x86/x64 architecture. On mobile that boxes you in, and with the JIT and static compilers that Unity offers your games will likely be performant enough anyway. If you for some reason need to do low level optimization in C++ you can still do that with Unity in the pro edition, but I never needed it.


Edited by Petter Hansson, 06 November 2013 - 02:25 PM.


#4 SimonForsman   Crossbones+   -  Reputation: 6306

Like
0Likes
Like

Posted 06 November 2013 - 02:27 PM

Easiest would probably be Unity if you want to make games. It's the most popular engine for mobile games without a doubt, and it allows you to stay ultra cross-platform.

 

I used other frameworks like e.g. Corona for a long time, but honestly you can do much more in Unity. C# is a nicer language than Corona's Lua IMO (as Lua lacks static typing meaning you really need a good test framework when writing larger applications to avoid spelling mistakes costing you shitloads of time, and back when I last used Corona it didn't have a test framework, lol).

 

You want to avoid C++ on mobiles due to the diversity of underlying hardware... C++ and native precompiled code works well on PCs due to the dominant status of the x86/x64 architecture. On mobile that boxes you in, and with the JIT and static compilers that Unity offers your games will likely be performant enough anyway. If you for some reason need to do low level optimization in C++ you can still do that with Unity in the pro edition, but I never needed it.

 

Actually, you can use native plugins on mobiles with the free version of unity now as well. (you still need pro if you wish to use native code on the PC though)


I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#5 Buster2000   Members   -  Reputation: 1776

Like
0Likes
Like

Posted 07 November 2013 - 02:38 AM

The best language to start using on Android is Java as this is what the standard SDK uses and is also the language you would be using if you got a job as an Andoid app developer.  However the prefered language to write Android games in is Either C++ or some higher level cross platform engine or framework (Corona, Unity).   If you are doing this as a learning excercise and are also studying C++ at college then make some simple apps using the NDK to help you with your C++ learning.  Next year when you do your Java course make some apps in Java too.

 

You can pretty much write Andoid apps in anything so go with what you know.  I'm currently learning Scala so that is the language i've been trying to write Android apps in.



#6 Snovi   Members   -  Reputation: 142

Like
0Likes
Like

Posted 11 November 2013 - 07:11 PM

Unless you're 100% sure Android will be your only platform, I'd go for a cross-platform API, like Corona, Marmalade, Unity, etc.   Especially if you're writing games.


Edited by Snovi, 11 November 2013 - 07:12 PM.


#7 draquod   Members   -  Reputation: 105

Like
0Likes
Like

Posted 15 January 2014 - 03:11 PM

A great framework is LibGDX, you can build games on the desktop and then export them for Android, iOS or HTML5.

 

You code in java, so if you are familiar with that it's great.



#8 YNV_DeViouS   Members   -  Reputation: 126

Like
0Likes
Like

Posted 15 January 2014 - 09:33 PM

Thank you for all the advice. I would like to take this thread one question further. Knowing that in order to become a game designer(I'm assuming all positions; game programmer, UI designer, etc.) you need to have a portfolio of some sort show casing what you have created. Can mobile games play a part in your portfolio or is that is that a completely different path?

#9 frob   Moderators   -  Reputation: 22736

Like
1Likes
Like

Posted 16 January 2014 - 09:20 AM

Game designer is a different career path than programmer.  If you have mobile games in your career history it certainly won't hurt you.

 

Game designer is not an entry level position. Any portfolio you build will start with a list published, shipped titles. In addition to shipped titles, good game designers have a passion for games, and their experiences often include game modding, CCGs, board games, D&D-style games, tabletop games, and a experience with a wide variety of genres. (Those are "and", not "or".) A good designer is a writer and a presenter, a logician and a debater. They can instantly jump from making a strong emotional game pitch to a CEO to describing the intricate mechanics of why a specific set of dice rolls is necessary for a specific circumstance inside a game. They can explain why a specific music style is necessary for a specific game situation. They can explain why a specific art style is necessary for a specific game situation, and if they are given an art style and a situation they can design a game around it. Often game designers are given a set of fairly tight constraints and then told to build a fun game within those constraints; it is very hard work, but many find it fun.

 

There are some lesser design-related positions that are available earlier in the career, but "game designer" usually requires years of industry experience and a passion for creating fun games outside of the work environment.

 

Tom Sloper's articles cover the differences between the jobs here for designer and here for programmer.


Edited by frob, 16 January 2014 - 09:23 AM.

Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.

Also check out my personal website at bryanwagstaff.com, where I write about assorted stuff.


#10 YNV_DeViouS   Members   -  Reputation: 126

Like
0Likes
Like

Posted 16 January 2014 - 11:52 AM

Thank you for the links. They were very enlightening.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS