I want to develop games for Android.
What are the best ways to do 2D games?
Are there some good resources on developing simple games for someone new to Android?
NOTICE : I suggest to check out other answers with good examples. I have requested to unaccept this answer and accept https://stackoverflow.com/a/8322784/753603 answer
Well it all depends where you stand in matter of Android platform and knowledge of how it works?
Beginner
Than I would suggest start writing simple apps to add some GUI background images, and get familiar with lots of different data structures and how to deal with them. Read about background task execution such as AsyncTask.
Intermediate
Explore different Graphics engines for Android, I would suggest
http://www.andengine.org/
ANdEngine is game engine for android platform, It has lots of built in functionality which you can use for making games. Find tutorials on google there are lot lot lot and lot...and while I am writing this, some generous people are writing one for us :)
Expert in making game on other platform
Than also I would suggest google tutorials like this one,
http://www.codeproject.com/KB/android/androidBallGame.aspx
Again there are heaps of them. :)
Cheers enjoy!
You can start by reading the Android documentation about Graphics. After that, you can try numerous tutorials and sample codes in the Resources section. There are sub-sections available for you to learn from the sample codes:
JetBoy
http://developer.android.com/resources/samples/JetBoy/index.html
Lunar Lander http://developer.android.com/resources/samples/LunarLander/index.html
TicTacToe http://developer.android.com/resources/samples/TicTacToeMain/index.html
and so on.
Working link for donut-release2 / samples
Pretty Good documentation on How do I get started making Android games ,
Related
Im a noob when it comes to Android Studio and would like to know any websites or books that would help me get started. I know some of the basics but get stuck on moving from one activity to another. I've searched online and even tried youtube with no luck. At this point I don't mind paying for some online courses.
I used YouTube alot for a 2d side stroller paymon wang-lotfi has a great engine. theNewBoston was also has some great tutorials and ThechernoProject is good for Java game programming.
The new boston is good as far as learning the very basics for free. But the best that I've found are on Udacity, although not all of their courses are free. So if you really want to understand your code with project-based learning, I would recommend Udacity, as long as you are willing to pay a bit (Although their free courses are still good).
I have an game idea and i wants to implement that in android.
My game has much similarity with this game
please tell me which game engine i need to use to make this.
One more and i think best option to create game application in android using cocos2D library. This library is highly customized and easy to learn than AndEngine. Because i have worked with AndEngine library but it is not efficiently handle more then 300 objects on a scene. And one more limitation of AndEngine is sometime library itself throws error.So i suggesting you to use COCOS2D library it is already efficiently work in iPhone. But it also works for Android.You can see at
http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/
for android and for more concept of this library you can see from this link http://www.cocos2d-x.org/wiki/Getting_Started
There are a number of open source engines you can use like AndEngine and libGDX which is my preference, also there is the famous Unity Engine however it's not free. To learn how to make games you'll have to start simple, you can read through game examples like this libGDX clone of Doodle Jump or this 2D game demo written by Notch the creator of Minecraft.
Use Google to find information on these engines, look at their forums, tutorials and examples. Good luck.
I have seen several posts here about cocos2d-android, so ambition to get more idea on it drag me at coco2ds-android-1 and a good example .
My analysis can not find any significant benefit of using coco2ds instead of usual 2d approach of surfaceView and SurfaceHolder.Callback .
I will be thankful if anybody have expertise over coco2ds-android will guide me about benefits to use it instead of usual gaming approach .
Just by clicking on links starting from the ones in OP, I have came across http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/ - which states the obvious answer you are looking for.
First of all, this is a 2D gaming engine. All of the physics and whatnot effects are just there for you. No need to re-implement from scratch
Secondly, this is actually a port of the iPhone gaming library with the same name - great news if you also plan on porting to iPhone. And thirdly it is open sourced, meaning you can tweak anything accordingly.
I have noticed however that this is a pure java library, so do not expect amazing performance. If performance is critical, google for something NDK based, not SDK based. I could not advise here as gaming is not my thing.
How should I begin learning game development with frameworks like Unity3D or Roar Engine?
I currently only know html/css and a tiny bit of php, e.g. nothing complex.
Regards,
Andrew
penelop is a very nice tutorial.
Here is the link http://unity3d.com/support/resources/tutorials/penelope.html
It is write by JavaScript. If you use C# , you can look at http://gltovar.com/blog/?p=35.
And also Unity3D's Documentation is write very great.
If I were you, I would have started up with Unity3D, and choosen JavaScript as programming language on it. Because of it is you can find so many resources easily on the Internet. There are so many videos, documents, web sites or something else. I have done like that at least, you know. To be honest, developing game using Unity3D game engine is simple. First, you will add some objects to scene. Second, control the relationship of objects to each other. And after that, you will find 3D models out for your game. In fact, you will search how to develop game for mobile devices. For example searching for touch functions and finally you have games on Google Play or AppStore etc. Just remember Unity3D game engine is multi-platform. That's the point to me. Because I develop a game only one time and I can duplicate it for other platforms, especially to Android OS from Windows.
By the way you said that you just have known html and css, a tiny bit of php. Don't care this situation. Unity3d has an unique structure. That doesn't mean this is easy. I mean that programming in Unity3D is enjoyable only. Just download free trial version and get start it. Good luck.
https://unity3d.com/unity/download
I only have experience with Unity3D and a tiny bit of SIO2. SIO2 is just a framework in C++ without GUI, i.e. yo use your favorite IDE (XCode, Eclipse, ...) and Blender for modelling. This seems to me pretty hard for a beginner.
On the other hand doing C# on Unity should not be that difficult for a PHP programmer. There are a lot of resources, my favourite is a 1 hour video tutorial by Matthew Campbell. It is a hands on session and after it you will have simple game on your smartphone, PC or whatever. The Documentation from Unity3D themselves is pretty good as well.
Another choice colud be Unreal engine (pretty good reputation), Bork3D or Torque
In general it will take some time to get some knowledge but it's pretty interesting stuff. Be prepared to do some math, especially when going into 3D. Keep in mend that games are strongly related to graphics design, nice thing but not too easy for programmers
My company uses Unity3D, and I have found it to be the most successfully-designed engine in terms of combining code and a UI-Editor for developers. In other words, I can code, and then hand of the same project to developers to work with it in the exact same engine it was started in. You can even customize the editor itself to streamline the coding process or give the later team a GUI to work with to edit code, without them having to go into the scripts and know how to do it that way. We also have an Unreal (UDK) team, and they love it. It is more similar to Valve's Hammer/(Source) Engine and uses a drag-and-drop system called (i believe) Kismet for all the coding.
As for coding languages, in Unity we use C#. It is a high-level and streamlined language from the .Net Framework and I have gone from knowing nothing to being pretty advanced in the course of a year. I highly recommend it. Good luck!
I'm planning to develop a simple tic-tac-toe 3D game for android as a starting point (practical task to learn and do something useful), but devguid seems to be more of a reference than something with what I can get my hands on particular task. Can someone advice what should be investigated? (or maybe I'm searching for it incorrectly)
EDIT: I'm also considering other options on learning android development. (Though, the "practice while learning" approach is preferred).
EDIT:
My purpose: learn how to develop apps for android && create an app, which is fun and can be placed on android market
My initial "data": strong java + java ee, basic C/C++, willing to learn
Means to achieve purpose: devguide is more of a reference, and I need a solid start with lots of explanations. Need an advice here.
You see, to my mind there is no sense to read books and so on. First reading starting manuals from Google should definately help. When you are done with them you should jump into development. Of course, you will have a lot of questions, however there are lots of great manuals and tutorials all over the internet, so you will rarely have difficulties. If you even though have them, come here and we'll help =) Check out my devBlog
I did a simple tic tac toe for my first Android application and I was able to create a working game quite quickly using a table of image views. You just need to add clickHandler events onto the image views so they change image on click, and write a function checking whether the game is won after the click.
Try out several tutorials here, especially testing ones. Get your hands on Pro Android Games with reading devguide when some part of android development is unknown.
This will result in a rapid development (with a zero level starting point) and small learning curve of basic + in deep android development.