Libgdx vs Android SDK for Game Development - Which approach is better?
-
My friend says that if you start from very basic things like drawing shapes and all it will take very much time and effort as compare to if I use libgdx. He says as far as 2-d games are concerned like angry bird etc. you will never have to actually draw a line and triangles. I just want to enter in the android game development and want to know the pros and cons of libgdx.
-
Answer:
Libgdx is obviously the better choice for starting to develop games for Android. Reasons for not using the Android SDK for game development: First of all, if you are completely new to the Android SDK, you will have to garner a substantial command over the SDK itself. This would mean that initially you would be focusing on the Android SDK rather than the game development itself. Secondly, after learning Android SDK, you will have to shift to a different paradigm encompassing game development techniques. These would include things like OpenGL rendering, game logic, sprite management, model loaders, polygons, math utilities as well as implementing your own physics engine (or setting them up with your Android project in case they are already available). Note that this list can be exhaustive. In all that case, you will limit your creativity by implementing a separate game library before implementing the actual game. If you are focusing on pure game-development on Android, I can find no reason to suggest you to build your game on the Android SDK itself while a much more superior framework is already available for you. However, if you think that Libgdx (or any other framework for that matter) might prove too limited in the long run (for your game/game development), you can go on with implementing your own library that may fulfill your peculiar requirements. Reasons for using Libgdx framework: Firstly, Libgdx will abstract and hide all the underlying native Android SDK code from you. That means that you will not even see a glimpse of the Android SDK while you code for your game. This would generally mean a lower learning curve for starting up with game development concepts (considering that you have no prior experience with that). Secondly, Libgdx is extensive, providing all the tools to start with your game development. Some of its features are as follows: Cross-platform graphics, audio, input, and file i/o abstractions Direct OpenGL ES 1.x and 2.0 access Meshes, textures, framebuffers, shaders and other OpenGL wrappers Sprites, atlases, fonts, particles Linear algebra and geometry utilities 2D scene-graph and UI library Box2D physics and TMX tilemap support 3D model loaders (OBJ, MD2, MD5, Ogre) [work in progress] By using Libgdx, you automatically get a powerful tool set at your disposal. So you will start coding for your game and using these tools as per your need, rather than implementing them on need-per-basis (in case if you have used Android SDK). Thirdly one of the major advantages of Libgdx is that while you create your game for Android, you can build and test it on your Windows, Linux or Mac OS machine. This means that you will save yourself from slow "build and deploy" Android application development cycles. Lastly, Libgdx is a cross-platform library and currently supports the following platforms: Windows Linux Mac OS X Android (1.5+) Javascript/WebGL (GWT) This will allow you to write your code once and deploy it on multiple platforms. About the Libgdx community: Libgdx is an open source project and has a vibrant community to get help from. The API itself is well documented and Libgdx has a great wiki to help you start with your development. Moreover, all the help that you will ask from the community will be focused on game development API rather than anything else. In that time, you may learn several new game development techniques from the community. Links: Libgdx Official Site: http://libgdx.badlogicgames.com/ Libgdx Wiki: http://code.google.com/p/libgdx/wiki/TableOfContents?tm=6 Libgdx Forums: http://badlogicgames.com/forum/ Libgdx Source Code: http://libgdx.badlogicgames.com/download.html Libgdx Documentation: http://libgdx.badlogicgames.com/documentation.html
M. Rafay Aleem at Quora Visit the source
Other answers
Update: Adding one of my recent super fun Android game to the list Flick Coin: Snooker meets Golf Download URL: https://play.google.com/store/apps/details?id=com.thoughtshastra.coininhole2d.android Dodge the bombs and collect bonus points as you flick the coin in this fun and exciting Snooker meets Golf meets Air Hockey game! ================================================== Update: ============================================================= I have used Libgdx again and used 3D particles this time. Although the APIs are not available part of stable version you can always extract it out from the nightlies and integrate in one of the stable versions. So the second disadvantage listed below will go away soon. Here is my game in Play Store: https://play.google.com/store/apps/details?id=com.thoughtshastra.battletank.android ============================================================= I have recently used LibGdx to create a 3D game in Android. Some of the pros of this framework are: 1. Easy to learn and use (if you are a Java programmer) 2. Fast 3. Some advanced features - particle system, integration of bullet physics engine, scene API for 2D games, etc. 4. Write once deploy many times 5. Easier to test and debug since you can run the game in desktop mode Cons: 1. Limited documentation (especially the Java Docs) 2. No support for 3D particles You can check out the game at following link: https://play.google.com/store/apps/details?id=com.thoughtshastra.fightforglory
Bharat Parikh
Just want to offer another option to you if you ever think you'll want to release on iOS. We evaluated Libgdx for a cross-platform mobile project last year (2014) and decided against it because the iOS back-end is very messy and requires a $400 license of Monotouch to release on iOS. We ended up choosing http://www.cocos2d-x.org/products, which is FOSS, supports more platforms, and has more extensive tools and support.
Pat Roberts
Libgdx is excellent for games development, for sure your development will be much faster and your game with more quality. Libgdx developers have thought of many things you will not need to waste time. Here is the game i have developed in the past: https://play.google.com/store/apps/details?id=com.go2rabbits.gurumemorygame
Artur Sonnenhohl
Related Q & A:
- Which is the better place to do an MSc in theoretical physics, Imperial College London or Perimeter Institute?Best solution by Quora
- Which bike is better tvs apache or new cbz?Best solution by Yahoo! Answers
- Which amp is better for a 15'' mtx 9500?Best solution by Yahoo! Answers
- Which course is better dentistry or nursing?Best solution by Yahoo! Answers
- App Store vs Android Market?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.