• Advertisement
Sign in to follow this  

Android Game Development, Where should i start?

This topic is 1921 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I'm really interested in making 2D games for smartphones (specially android) but don't know where to start and what to learn. I'm only know some c++ basics, Should i continue learning c++ or pick another language? What should i do after i learned that language? How much time it takes to learn every necessary things? Help me please, Thanks [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by omidh

Share this post


Link to post
Share on other sites
Advertisement
Ah this is a good place where I can ask a question about android as well. (this question continuous on the OP's question)
Android games give you profits. But how much? I can't find everywhere how much % you get from each buyer.

Assume, I've written an android game that costs 1€ on the android store. My game is decent so I have 10 000 people buying my game. How much profits will I have? Would be nice if someone could answer on this. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]


~EngineProgrammer

Share this post


Link to post
Share on other sites
[quote name='EngineProgrammer' timestamp='1349432997' post='4987069']
Android games give you profits. But how much? I can't find everywhere how much % you get from each buyer.
[/quote]
See the [url="http://www.android.com/us/developer-distribution-agreement.html"]Developer Distribution Agreement[/url] -- specifically section 3 "Pricing and Payments":
[quote]
3.2 The price you set for Products will determine the amount of payment you will receive. A Transaction Fee, as defined below, will be charged on the sales price and apportioned to the Payment Processor and, if one exists, the Authorized Carrier. The remainder (sales price less Transaction Fee) will be remitted to you. The "Transaction Fee" is set forth [url="http://market.android.com/support/bin/answer.py?answer=112622"]here[/url] and may be revised by Google from time to time. Developer is responsible for determining if a Product is taxable and the applicable tax rate for the Payment Processor to collect for each taxing jurisdiction where Products are sold. Developer is responsible for remitting taxes to the appropriate taxing authority.
[/quote]
At present you receive 70% of sales. You might also lose some money if there are additional transaction fees charged by your bank or service providers, and may have to pay a fee for currency-exchange if applicable. You would probably also need to spend some money on marketing for your app to become popular and sell well.

I don't have any stats to link, but it seems that the "freemium" business model tends to do better on Android, whilst you might have more luck getting up-front sales in the iOS app store.

Share this post


Link to post
Share on other sites
Nice answer, Thank you [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]
It seems learning c++ is better, But after that i need use a game engine, right? is there any game engines that use c++ language, be 2D and for android?

What people use for creating 2D sprites? some people said "adobe photoshop" but it's so huge! Edited by omidh

Share this post


Link to post
Share on other sites
I'd actually [i]strongly[/i] recommend Java rather than C++ to a beginner interested in Android development. Java is generally considered to be a simpler language for beginners, and you'll find more examples and documentation for programming Android with Java than with C++. Read the following notice from the [url="http://developer.android.com/tools/sdk/ndk/index.html"]Android NDK homepage[/url]:
[quote]
The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so that you may reuse existing code libraries written in these languages and possibly increased performance.


Before downloading the NDK, you should understand that [b]the NDK will not benefit most apps[/b]. As a developer, you need to balance its benefits against its drawbacks. Notably, [b]using native code on Android generally does not result in a noticable performance improvement, but it always increases your app complexity[/b]. In general, you should only use the NDK if it is essential to your app—never because you simply prefer to program in C/C++.
[/quote](Emphasis mine.)

It is however completely your choice, and if you really prefer C++ you should go with your own preference. I wanted to stress my recommendation of Java rather than C++, but it's your choice and I won't continue to push the point if you've really considered your option and still want to use C++.


[quote name='omidh' timestamp='1349435004' post='4987076']
But after that i need use a game engine, right?
[/quote]
Not necessarily. An engine can be helpful for developing more complex games without having to do all the work for yourself, but often for simpler games or if your needs are particularly unusual it can be beneficial to simply write your game using the functionality in the SDK or a simple lower-level framework.

If you'd like an engine or framework for targeting Android from Java you might consider [url="http://code.google.com/p/libgdx/"]LibGDX[/url] or [url="http://code.google.com/p/angle/"]Angle[/url]. There's also an Android version of [url="http://slick.cokeandcode.com/"]Slick[/url] in the works that would likely be a good option -- it might be worth looking at after you've spent some time learning on PC first.

If you'd rather C++ and would like a framework you might look at [url="http://alleg.sourceforge.net/"]Allegro[/url] or [url="http://www.libsdl.org/tmp/SDL/README.android"]SDL[/url], both of which can also be used on PC whilst you learn beforehand.


[quote name='omidh' timestamp='1349435004' post='4987076']
What people use for creating 2D sprites?
[/quote]
Any graphics software package. You might look at InkScape for vector art, or GraphicsGale, GIMP, Paint.NET or PhotoShop for pixel art. This is really a huge topic of it's own though, and I'd suggest checking out our [url="http://www.gamedev.net/forum/18-visual-arts/"]Visual Arts forum[/url] and asking any art questions you have there.



I hope that's helpful! Do what you prefer, but consider your options. Good luck! [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Edited by jbadams
Corrected a typo.

Share this post


Link to post
Share on other sites
I don't like Java, i'm more comfortable with c++, Can you recommend some books?
Thanks you answers is very good :)

Share this post


Link to post
Share on other sites
Some libraries that are c/c++ like allegro that can run on android might be a good option for you. It's either allegro can do it or they are working on it. Either way Idk how it works, but I would check it out. Someone else might know some more libraries that can do the same thing.

Share this post


Link to post
Share on other sites
I'd suggest [url="http://www.amazon.com/gp/product/0321714113/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0321714113&linkCode=as2&tag=clic033-20"]C++ Primer 5th Edition[/url] for learning C++. It's not Android-specific, but it's an excellent book for a beginner to C++ which covers the most recent updates to the language and encourages best practices. If you're looking for something you can obtain free-of-charge you might try Bruce Eckel's [url="http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html"]Thinking In C++[/url], which has not been updated to cover the latest standard but is otherwise an excellent book. You could also consider an online reference such as [url="http://www.learncpp.com/"]LearnCpp.com[/url].


I'm not personally aware of any Android specific books, but if you get a solid grasp on C++ before attempting Android development the official documentation provided by the developers portal (linked above) should be more than sufficient.



[size=2][s]...and on a slightly separate matter, it's very rude of you to [url="http://gamesandme.com/android-game-development-where-should-i-start/"]publish the contents of my response[/url] verbatim elsewhere without permission.[/s] EDIT: Sent a private message to deal with this outside of the forum. [/size]

Share this post


Link to post
Share on other sites
Oh, and don't forget to check the [url="http://www.gamedev.net/page/reference/faq.php/_/mobile-console-development-r10"]Mobile and Console Development forum faq[/url]. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

Share this post


Link to post
Share on other sites
If you want to develop apps for Android go with Java, if you want to write games then go with C++. C++ will alow you to support a wide variety of platforms other than Android and from your post it does say you are interested in smartphone development not just Android.

A good book to get you started would be this one:
http://www.amazon.com/Graphics-Programming-Android-OpenGL-Programmer/dp/1119975913/ref=sr_1_1?ie=UTF8&qid=1349517217&sr=8-1&keywords=Game+and+Graphics+Programming+for+IOS+and+Android+with+OpenGL+ES+2.0

It goes through all the steps of writing an engine that supports Android and iOS and then creating a FPS with the engine.

If you would like to use an off the shelf engine then I can highly recommend either Cocos2d-x which is a C++ version of Cocos2D that supports Android BB10, iOS, WP8 and a couple of others or the RIM gameplaySDK which is a lightweight framework that supports Android, BB10, iOS, PC and Mac development.

Share this post


Link to post
Share on other sites
As jbAdams says, the smart way into Android development is Java. Java is the native language of the platform, and using it means that you'll be programming to the strengths of the platform, rather than fighting its peculiarities.

Share this post


Link to post
Share on other sites
Did you consider Moscrif SDK? It is based on JavaScript, so no need to learn any advanced language like C++ or Java and the result is the same as the code will be transformed to native. Moreover, you will be able to reach much bigger audience with your game because the game will be ready of Android, iOS and other platforms. There is a free license available without any hidden fees.

Here is the official website: [url="http://moscrif.com"]http://moscrif.com[/url]

Share this post


Link to post
Share on other sites
Thank you but i don't like Java!
I take a look at Cocos2d, It seems suitable for me, Cross platform and use c++ [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

I have a huge and detailed book, C++ primer plus, Fifth edition by Stephan Prata, Is it good? Edited by omidh

Share this post


Link to post
Share on other sites
[quote name='omidh' timestamp='1349603230' post='4987636']
I have a huge and detailed book, C++ primer plus, Fifth edition by Stephan Prata, Is it good?
[/quote]
Yes, that's an [i]excellent[/i] book.

Share this post


Link to post
Share on other sites
Depending on the size of your project, you could always hire a company to develop the app for you. Besides learning your programming language of choice, continue to stay on top of the latest happenings in mobile development!

Zco corporation has a regularly updated blog that tracks trending mobile app dev issues: http://blog.zco.com/

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement