Hey all.... I am currently trying to make a game on the android platform. I want some guidelines on choosing a good android 2D game engine. I have been looking on the internet for sometime and have found these game engines to choose from the one which doesn't have a huge learning curve
AndEngine
libGdx (The one m most impressed by)
JMonkeyEngine
For anyone who wants to know more about the different game engines the following link should help you..
http://www.cuteandroid.com/ten-open-source-android-2d-or-3d-game-engine-for-android-developers
I intend to keep the interface simple yet attractive, so want to choose the correct engine, and also want to choose the correct engine using which making complex games also is easy in my future projects. If some one could tell me commercially used free (or open sourced) game engines i would be really grateful. I even wouldn't mind learning a 3D game engine if its learning curve is not that too steep and its implementation of 2D games is also pretty simple.
Andengine hides most of the complexity from you, so its super easy to get started, but because of this you do not have full control over it. The documentation or javadocs is close to zero, so dont expect anything from there.
As for libgdx, its harder to learn, but the community is bigger and more matured, and u have more control to the engine.
no idea about the monkey engine.
Related
My thesis is to create an 3D android game. I have installed the 3D softwares like 3DS Max, ZBrush, Blender. I also downloaded Android SDK for Windows and I have Eclipse Juno. But I don't know how to start. Thank you in advance. :)
If you want to write a game, use a game engine.
I would advice against using OpenGL directly if you want to focus
on game mechanics or story. 3D game engines like
Unity or JMonkeyEngine
give you all the tools you need to turn your 3D assets into a game:
Importers for various file formats, a scene graph,
math libraries, and usually tons of example projects that get you
started quickly.
If you want to write a rendering engine, use OpenGL
With OpenGL you can build everything mentioned above yourself: Write
or find importers for your assets, figure out a lighting model, write
a scene graph. If you want to do all that, cool, use OpenGL. But
doing this technical stuff will keep you busy; you will have less time
to make a really great game.
I prefer OpenGL ES for Android. Good performance and easy enough to learn.
It's better to start from basic with opengl and then understand concept of using 3d and then prefer standard tool to use.
I have listed android game engine tool for 2d and 3d. Hope it might help u.
https://stackoverflow.com/questions/17163446/what-is-the-best-2d-game-engine-for-android/17166794#17166794
Start with unity3d which is a game engine, I am not sure but the names that you have posted are used for making 3d models for the game.
Your Thesis? That's pretty broad scope! :)
What I would be looking for, is something with lots of example code (since you say you don't know where to start) and good community involvement (ditto the start thing).
If you only need a single player setting, then I would suggest libGDX as a place that would be a good jumping off platform, as there are lots and lots of step thru tutorials along with lots of example code (and a very up to date wiki on the API), and a pretty good group at helping out with issues.
Since it is open source, you can dig as deep as you want into the inner workings to understand (or be mystified like me) as to how the code is accomplishing whatever task you are looking at. (which might be handy for your thesis)
While it might not be quite as polished as some other commercial 3d development kits, the BadLogic crew has made some very big progress the past few months on the 3d side of the house, along with breaking my JSON code... thanks! :) )
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I would like to start developing a 2D game for Android, but i haven't got the slightest clue where to start. For instance, how are the Angry Birds games developed? I'm guessing it's a 2D engine or something?
Can anyone shed some light on the matter? Anything is appreciated as i have zero ideas on where to look first.
I've used AndEngine extensively and I really like it BUT
2D games - unless you have something really, really complicated in-mind (lots of physics and collision detection), I'd recommend you consider creating them in plain old HTML (HTML5, to be specific).
Why?
Because HTML5 works pretty-much everywhere and there are some really decent toolkits for making more complex stuff (including level editors and basic physics stuff).
Moreover, you can convert HTML5 into Apps for both Android, iOS and other platforms - e.g. your game will work pretty much everywhere with minimal extra effort. Using tools like Cordova(phonegap) even allows you to access things like cameras and tilt sensors in Apps created from your HTML5 code (Dolphin Browser on Android even allows those apps to run in the browser!)
If you do want fancier stuff, Corona is pretty decent and easy to learn and cross-platform too - and Andengine is great if you're happy to be stuck on Android!
I recommend LIBGDX
http://libgdx.badlogicgames.com/index.html
Open source, java, cross-platform, good support for Open-GL, lot's of examples and a good community.
Yes, Angry Birds was developed on its own 2D engine. I recommend to look at these engines:
Corona SDK - really simple crossplatform(!) engine. Nice one to start.
AndEngine - havent any type of documentation, but there are a lot of references and useful extensions, including Multiplayer. Good community
Marmalade (AirPlay SDK) - really powerful, but complex engine. Many hits were made on it
Also you can use Unity3D with 2D extension. Its awesome engine.
Good luck with your beginnings ;)
Persnally, To Get started with your first 2D game, Don't straight away start with a Game Engine or 2D Frameworks.
Here's a Game that I developed with just the bitmap manipulation logic and a java thread to run the game.
Parachute Penguins
https://play.google.com/store/apps/details?id=com.positivesthinking.parachutepenguinsfree
Create a Java thread that serves as a game loop.
Make use of SurfaceView and manipulate bitmaps and with onClickListeners you can achieve a simple 2D game.
Go for Game Engine and Frameworks once you are comfortable with it.
I'd recommend AndEngine. They have a really good forum plus their example code is pretty much self explanatory.
If you're looking for a headstart, follow this tutorial.
Go for AndEngine!
Felgo (felgo.com) offers several tutorials for any skill level. It's a cross-platform 2D game engine.
There is already an open-source Angry Birds clone that was made with Felgo.
It also also comes with ready-to-use game templates for the most successful game genres like tower defense, platform games or puzzle games and provides reusable components for handling multiple display resolutions & aspect ratios, animations, particles, physics, multi-touch, gestures, pathfinding and more to prototype and build games within days API reference.
It is all well documented!
Try here, this helped me loads: http://www.javacodegeeks.com/2011/06/android-game-development-tutorials.html
I already answered similar question in another post: Android 2D game development without an engine
I posted a tutorial at http://www.youtube.com/watch?v=PnnHGCKrIzw
Assuming that you are familiar with Java, Eclipse (or similar compiler), Google API, etc. Here are the steps to build a full-blown 2D Android game:
Use drawable-nodpi for sprite images (gives sprite size consistency
across screen densities and sizes)
Use different layouts to support various screen sizes (e.g.
layout-large, layout-xlarge, etc...)
Use TranslateAnimation and ObjectAnimator to animate sprite movements across screen
Use math to figure out sprites collision (e.g. screen coordinates
and sprite location etc.)
Use handlers and condition statements to control the game events
You can test the outcome of following the above guide to developing a 2D Android game by checking out the game Yum Yum Pow available on Google Play. The free limited version is available also on Google Play and can be downloaded at:
https://play.google.com/store/apps/details?id=com.wildroid.yum.yum.pow.limited
I'm a CS student intent on building an 2D android game. After hacking tutorial code I've got something running similar to what I want but it's not very clean. Having never done games before, I then started looking online at paradigms and learning about threads/logic-render independence/game architecture. And honestly I don't know really how to that yet.
I'm reading this article, and this guy definitely has more of an idea than I do.
Should I go ahead use a game engine (I feel a little like cheating) or should I do everything from scratch? I just have no idea how long it'll take to do the ground work for a simple 2D game.
Of course you should use a game engine, this is not cheating because there is still enough work to do. I recommend to use AndEngine (see http://www.andengine.org/). Take a look at the examples and also at the showcase app downloadable via the bar code on their site.
See also the AndEngine entries on StackOverflow: https://stackoverflow.com/questions/tagged/andengine
Personally if you aren't that familiar with how everything works then there is no better way to learn than to dive right in and start playing around. A game engine does all of the setup work for you and is optimized. That is not saying that you couldn't do the same yourself. Plus you will learn a lot, and in my opinion it really wasn't that hard to figure out (I was in your same position not too long ago)... There are many really good game engines out there such as Andengine and libGDX (The best two in my opinion) and these may definitely be something that you use in the future. But I would first recommend just making simple game that draws to the Canvas on the main UI thread to figure out how it all works. Then I would move onto the SurfaceView and do all your drawing from a thread. This will teach you the basics of a game engine. There are many tutorials about setting up a basic game engine with the Android SurfaceView.
This tutorial is pretty nice... Just do some searching around.
Ok my question is simple:
How do I start working with 2D graphics on android? Untill now,I found on the how to make almost anything on Android,however with graphics I see is harder.
On the android sdk website,I get some simple codes that don't really help me,and I also searched for a book,guess what,I didn't find one that actually shows you how to make a little game explaining me what does every line of code.
So: How do I start working with 2D graphics? I'm interested because I want to make some games.I would be very happy to find a tutorial for ex. that shows you how to make a little character that just jumps over a box.I know you need an engine and all that stuff,and I would actually want to learn how to make a little engine.
libGDX runs on Android (and a few other platforms) and provides high level 2D graphics features like sprites, fonts, tile maps, particles, etc.
Tutorials here.
A few complete demo games with source code here.
Here's a whole series that seems pretty decent, and starts from the beginning.
Also, the techniques of "generic" 2D programming apply, so general-purpose game engine information is useful as well.
If you are interested in android games(2d), I recommend this book http://www.amazon.com/dp/1430230428/
The following book is very good for learning 2d graphics in Android.
"Android 2D graphics with Canvas API".
http://www.amazon.com/Android-Graphics-Canvas-API-ebook/dp/B00DKIAVK8/ref=sr_1_8?s=books&ie=UTF8&qid=1374420538&sr=1-8&keywords=android+2d
It is not for game developers though.
It teaches how to use graphics primitives and work with different coordinate systems. It also has a chapter on multithreading.
It has many simple examples good for beginners.
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!