I am trying to learn to create 2D games on android, and I have heard that andengine is one of the best tools for that. I tried using it, but unfortunately there I have encountered numerous issues with andengine having little documentation, and no stable place where I can learn things. So my question is that what would you recommend to a completely newbie developer? Should I try learning andengine, or learn things the hard way? And can you please provide some good links to learn? So far a lot of links I found were quite old and would not work properly all the time.
Thanks to anyone for their help.
Also just to clarify, I am middle skilled in 2D game development (especially in java and C++), so I know the basic structure, my main issue is making things run on an android since I am completely new to android itself.
With andengine, your best bet is to download, compile and run the sample games and examples. From reading through and understanding the source code for those, you'll learn how to use it. The examples in particular are effectively documentation, they're very good!
Related
I am new in cocos2d development. I developed some stuff on andengine on Android and I know C++ language. Now I want to rewrite some stuff from andengine and make it available to iOS as well. I am reading and reading and testing from couple of days, everything is just ok, but few days ago I explored Lua. I adopted language semantics, wrote some scripts and realized that in Internet there is a lot of usage of this language. It is so common that I cannot believe that I know about it from couple of days. So I thought that would be nice if I try to use it. I have only few questions for now.
Can I load some Lua scripts and use it in my cocos2d-x game (written in C++)?
What is the difference between cocos2d-x 2.x and new 3.x beta branch (about Lua treating off course)?
I think about Lua only as way to implement AI for now (is this so good idea or not necessary?). I think it could be good idea because it is portable and I can use very the same AI algorithms for different platform (andorid, iOs, windows, linux, web...).
Please just give me some light about usage of Lua in cocos2d-x, because I cannot find any sense tutorials. If there is something the headers are bad, or version is deprecated or something else which is really annoying when you have no clue how to use it.
Maybe better is to write entire project in lua?
In short:
Yes.
What do you mean?
It works.
As LearnCocos2D suggested, they cover too much and are not good questions. I suppose you're wondering if you would like to use cocos2d or cocos2d with lua. I suggest you take a look at quick-cocos2d-x, because you mentioned cross-platform AI and it worths to have a look.
I want to learn AndEngine.
How should I start? I don't see any good examples. I even tried finding the downloadable source code for AndEngine and MagneTank but no luck.
I suggest http://www.matim-dev.com/tutorials.html which includes many tutorials. These are often supported by code examples. I especially suggest the "Full game tutorial articles series". With this you will develop a game from scratch and learn very much about the AndEngine.
Try to checkout their project from here and download some sample source from internet e.g. here and run the examples keeping both source in a common project.
If you are looking for learning basic AndEngine game programming, I suggest looking at this book: AndEngine for Android Game Development Cookbook.
This is a very good way to start. I have learned it in just 1 week, and am now creating my own game.
Drop Block is an exampmle from google play store.
http://jimmaru.wordpress.com/2011/09/28/andengine-simple-android-game-tutorial/
and the famous example towers......> http://www.raywenderlich.com/12065/how-to-create-a-simple-android-game
Since AndEngine is composed of several sublibraries I created a repo manifest to use in order to have all the needed to try the examples.
You can find it here: https://github.com/gipi/AndEngine-repo
Many People have already answered here and I think they all are right:
But I want to include my answer as well , because I started as a rookie in AndEngine and now I am still a rookie but with a little more knowledge than earlier.
1) Install the AndEngine APK from Google Play, test all the functionality this engine shows in that, see if the game you are thinking to make is possible with all those tools in the APK.
2) As soon as you are ready go to github page of AndEngine and install it.
3) Tweak the Example (MOST IMPORTANT), you will not learn what AndEngine is and what it can or cant do unless you tweak the examples in the AndEngine library.
4) Now you have a basic understanding, so its time to start a game.
5) Go to matim-dev blog on how to make a complete game tutorial , it is the best tutorial on andengine so far in Internet.
6) If any problem ask your question in the andengine forum , well they never answer quickly but all the problems you will face are already discussed there so no problem just go for it and start AndEngine.
Pros and cons of AndEngine so far for me :
Pros :
i) not well documented, but still you can tweak the code easily and understand very fast.
ii) Use of Box2D is great with this, Animation Sprite everything works fine.
cons
i) Very slow compared to other frameworks, deleting and detaching bodies and sprites is very clumsy, after 3 months of development of AndEngine today also I am facing problems with deleting sprites and detaching bodies in AndEngine.
ii) Attaching google ads is a nightmare in AndEngine.
Try some basic app development on Android to get Fimilar with environemt.
But to get basic concepts you should read first chapter of
AndEngine for Android Game Development Cookbook by Jayme Schroeder
and Brian Broyles
from here
Create a account on Github(and fetch the code)/or download the AndEngine(Zip) locally. and experiment with examples.
further more, Download andEngine Android app to see examples in Motion!!
This is also useful link: Java Code Geeks
Can someone give me a simple example since I'm trying to learn it but haven't seen examples for Android, for iOS plenty though. I want to create one so it is easier to debug my collision area's. Thanks in advance
I don´t know it this helps you. I use Cocos2d-x. This library is the same that cocos2d-android, but:
Works in C++, it is faster than Java
Is multiplatform, can compile in iOS and Android, and HTML5
Exist a big community whose hold the project, and cocos2d-android doesn´t have more updates
Exist This link with a lof of tutoriales to start.
Would writing an Android stock portfolio display app in Clojure be a good learning exercise? I'm totally new to Clojure. My impression is that the functional programming style of Clojure might be better suited for other applications and platforms. For example, I can't find a Clojure based open source project to start from. It looks like I should call a Java charting library such as GraphView and look to port a Java open source stock graphing project?
It will certainly be a good learning experience, though it may not be a pleasant experience.
Clojure On android is not the most common learning path, though everyone makes their own way,
so I don't mean to discourage you :)
If your Totally new to Clojure a webapp is a very popular choice of first real project (and can be made to work nicely from android). Also check out 4clojure.com
Writing android apps in clojure isn't straightforward, although there are some people working on fixing that (GSOC I think), so you'd learn how hard it is :)
If you want to learn clojure, you better start with something which does not involve android.
If you want to learn android, you better start doing so in java.
I am an experienced professional programmer who wants to delve into Android programming. I also wish to investigate cross-platform programming using tools like PhoneGap or Titanium.
However, I am a bit in doubt of which learning strategy is best.
One approach is to get a good feeling of the Android environment and later on explore the possibilities of the cross-platform tools.
Another approach is to jump start using say Titanium (which to me looks like the better option of the two mentioned) and then after a while look into the underlying Android building blocks. The reason why this approach seems worth considering is that although I have earned my living on programming for 20 years, I have no experience whatsoever with Java. And the feeling of getting something done has always been encouraging to me.
What do you think? Does option 2 make sense, or would it be more sensible to get an understanding of the Android environment first?
Thanks in advance,
Martin
I think that all depends on what will you develop:
If you want to develop simple interfaces (parsing XML/Json/...) with some forms and nice transitional effects, then Titanium is yours.
However, the most advanced functionalities aim the iOS platform. For example, the augmented reality module or the push notification are not supported for Android.
On the other hand, if you want to develop advanced interfaces (Games for example), then you have no choice: Android SDK is the best way (you can use Flash for Android but it doesn't support very first Android OS versions).
In all cases, you have to understand how the Android platform works.
I had a similar decision to make, although I am not an experienced programmer like you with vast experience , I had no java knowledge and I needed to write an android app for a project in grad school ,and i'd tend to agree with you on which is the better option , although reading the dev guide and grasping the basics will be a must. And like Zakaria says , it also depends on what you plan to develop.
in my case I learnt basic java first , then used the SDK for my project. Its not that big a learning curve actually , I did not find too many problems with the API.