Although this is not a direct programming question, but it would be great if someone can share knowledge
I am very much impressed with the graphics based android games especially "Subway surfer". Can some one explain
Using which tool these graphics are developed and incorporated in Android and iOS. Is it OpenGL ES ?
Can someone point to free opensource games sources which has amazing graphics, which can be used as a reference?
Any related info would be of great help
Thanks.
OpenGL ES is probably the most popular solution because it is pretty fast and supports 3D drawing. Not to mention iOS supports OpenGL ES too (AFAIK) which allows one to develop a cross-platform graphics layer. AndEngine is a popular platform for developing games on Android that sits on top of OpenGL ES, and the example apps show off some pretty cool graphics.
OpenGL ES is the best solution for developing serious 3D games on Android, but be aware that large projects are usually done in native code, not Java. This article explains the reasons in detail:
http://software.intel.com/en-us/articles/porting-opengl-games-to-android-on-intel-atom-processors-part-1
The sample programs provided with the Android SDK and NDK are really incomplete. A much better example is Replica Island:
http://replicaisland.net/
Related
We are trying to migrate our project from PC version to Android. PC version uses JOGL.
Can anyone explain main advantages of using JOGL in Android application instead of OpenGL ES API?
For example, on PC pros of JOGL are:
In theory you can use it on any platform.
It's more or less integrated with AWT, Swing and SWT.
Also it's some kind of wrapper, so in theory there are some abstractions that make it easier to use OpenGL.
But I can't see advantages of using it in Android, here are the cons from my point of view:
It's another dependency, APK size will be larger.
Some issues that affect both JOGL and OpenGL ES will require more
time to pinpoint and fix.
It's not a silver bullet that would not require some time for
refactoring, since in Android we should use right patterns for
Activities, Services, etc.
JOGL has less tutorials and smaller community that OpenGL ES API
has.
So what's the point of using it in Android project?
You can use JOGL only on the platforms that we support. I confirm that JOGL has a good interoperability with AWT, Swing and SWT (not yet with OpenJFX/JavaFX but we'll improve that when Oracle does the necessary things). Yes there are some nice abstractions but you forget tons of things:
JOGL has its own AWT-free image management. It has a better support of JPEG than ImageIO and it is faster
You can preserve the OpenGL context even when your application is paused and put in background (when you press "home"), it's build-in
You can test your OpenGL-ES code on your computer even though it doesn't replace the tests on a real device
You can use exactly the same OpenGL code on desktop and embedded environments, especially if you already use GL2ES2
you can rely on us if something goes wrong, there are already a few commercial games on Google Play
I admit that there is a lack of documentation about JOGL under Android. I'm sorry, I have spent several months in writing a tutorial about JogAmp's Ardor3D Continuation and I prefer leaving the task of doing the same for JOGL Android usage to someone more experienced with it.
Edit.: Sorry for the late reply but I had a problem with my OpenID. Please rather post questions about JOGL on our official forum.
I've been working with OpenGL ES 2.0 for a few weeks now to get the hang of it. I've purchased the OpenGLES 2.0 for Android Quickstart Guide (its awesome), and I've been using the Learn OpenGL ES tutorials.
I'm using Blender to model objects, and I believe there is a c++ parser for it. The problem is I've been using Java and have little experience with c++.
Is there a java equivalent I can use? If not, is there a suitable engine I can use? I've used unity before, but I want to try my hand at something more challenging.
Check out this article I just had published. It lists all of the best game engine options for Android and part 2 focuses on OpenGL ES solutions. Some are tightly integrated with Blender and some are all-Java solutions. There are a lot more options now than just Unity and many are open source.
I have simple c++ game with opengl and I would like to port it into android platform and ios. I have read many articles but i can not find any tool that can do this at the same time.
Can i use cocos2d-x?
http://www.cocos2d-x.org/download
Or what is the best way to port c++ game to android and ios.
I would take a look at SDL 2.0. It supports OpenGL, iOS and Android out of the box and is a great way to hide platform differences. If you already have a OpenGL game it should be very easy.
There is a great talk about the topic from Steam Dev Days:
http://www.youtube.com/watch?v=MeMPCSqQ-34&list=PLckFgM6dUP2hc4iy-IdKFtqR9TeZWMPjm
Besides SDL 2.0 is free to use ( zlib licensed ).
The SDL library is available from here:
http://www.libsdl.org
In android case , find NDK , native activity, difference with openGL ES to OpenGL.
I think it is not hard to find. Sample is in NDK source pack.
I would like to use OpenGL graphic on Android games and read some basic tutorial articles. I think it is very difficult, lenghty and long-time taking to prepare OpenGL code by hand. What is the practical way to prepare OpenGL code in real. Are there any editors to generate OpenGL objects code or any software it can help in generating of OpenGL code ? How do the companies prepare OpenGL projects ?
Quick response: Do some research with google for "android 3d engines" and pick the one that meets your needs.
From an opensource perspective, use any open graphics library out there (#andengine #libgdx #shadingzen...) as the main framework so that you don't need to write much of the complex OpenGL code. For creating 3D meshes you can use #Blender which supports many export formats and you can even write your own in python. There are some tons of examples on how to use Wavefront (.obj) objects in OpenGL (e.g. https://github.com/TraxNet/ShadingZen/blob/master/library/src/main/java/org/traxnet/shadingzen/core/shapes/OBJMesh.java).
There is not a OpenGL-code-generating-tool as you may think. OpenGL is an API which allows you to manage GPU driver states which is not enough to display objects, you also need to either write your own 3d engine (even if its very simple) or use any of the already made ones out there.
And again, do some research and find the workflow and the engine that meets your needs.
OpenGL is freakingly difficult to learn, for a newbie to Graphics programming. If you are comfortable with Java, then I would recommend you look into LibGDX. The way Libgdx or in fact any other gaming engine works is, they hide the difficulty of OpenGl programming by writing wrappers around OpenGL programs. So if you are comfortable with higher level language such as Java then working in Libgdx is much easier. Then you are good to go about your game.
The reason I have recommended Libgdx is clearly simple,
A) From outside i find they have a very active forum and lot of test code, demos.
B) Also the particle editors from Libgdx is something exceptional from a free Open Source point of view.
C) The ability to verify the output in the desktop is something exceptional, it saves hell lot of time.
It looks like AND engine or cocos2d the other free open source engines are no more as active as earlier. Probably they are having good time in Zynga ville :)
Is there some free and easy to use 3D library for iOS (and Android) that simplifies Open GL ES framework. Just like there is cool WebGL library: ThreeJS for javascript.
So far I saw Unity but it's not free and I would like something simplified.
My usage would be setting the scene, meshes, camera, rotating the camera etc...
For Android you can use AndEngine which supports GL ES1 and GL ES2. For IOS you can use Cocos2D.
I decided to go with Cocos3D because it has all the features I need and is similar to JS libraries. It is free and you don't have to use any special engines with it.
Well, there is Sparrow for iOS, and as for Android you can consider AndEngine
(easier) or LibGDX (faster).
One option I believe is SiO2.. And Oolong too.. I once played with blender and SiO2 and it went well..If you are only interested in 2D games only then Cocos2D is best bet for iphone..
For android AndEngine is good,and I believe SiO2 works for android too..
Ahh, Unity did give away the iOS/Android versions back in March/April this year - maybe if you asked them nicely?
OpenSceneGraph has a large and active following in the Vis/Sim community, and is starting to creep into games, here's a couple iOS/game related topics from their forums:
http://forum.openscenegraph.org/viewtopic.php?t=10291
http://forum.openscenegraph.org/viewtopic.php?t=10308 (p.2 of this thread has links to a couple osg-based games in the iTunes store)
For Leaning very basic of open GL for iOs I would suggest to have a look at this http://antonholmquist.com/blog/opengl-es-2-0-ios-tutorial-getting-started/. This gives the basic idea of vertex and fragment shaders. After going through this a beginner can go through other tutorials which explains the detailed concepts of openGL.
I have gone through so many links but this one explains the basic really well.