How to draw text clearly in OpenGL ES (Android?

How do I start off learning game development for Android? Should I learn OpenGL basics first or is it okay to skip OpenGL and simply use AndEngine or Libgdx which make use of OpenGL, but are much easier (that's what I've heard)?

  • I am confused about how to start building my first game. I don't know anything about OpenGL but am willing to learn. I recently bought a book for Android Game Development which gives a detailed explanation of how to build a simple "space-shooter" game using OpenGL. However, later on I stumbled across game development frameworks such as AndEngine, Libgdx Cocos etc. which supposedly make things easier. They create a layer of abstraction so that the developer doesn't have to worry about grunt work in OpenGL. But, in the long run will it really be beneficial if I simply ignore learning OpenGL basics and use the ready-made functions that these frameworks/engines provide ? I am currently working in a web/mobile development company and intend to switch to a gaming company within the next year. What should I do ? I'm really confused.

  • Answer:

    Understanding the fundamentals of OpenGL and other graphics technologies is a useful thing to know, but in practice you will rarely work with them directly. Modern development happens using advanced tools that obviate the need to know the technology inside and out. As such, it will probably be sufficient that you know how it works, but working in OpenGL from the ground up is only necessary if you can't afford/unable to use a framework or toolkit.

Josef Shindler at Quora Visit the source

Was this solution helpful to you?

Other answers

Context: I am currently living off my savings from previous jobs and dedicating myself 100% to game development. I have written many small games. I am currently finishing a sandbox game, and starting a big VR game. So... Here is my advice: Like you said: the long run is what matters. Figure out what you would like to be doing in the future, and start doing *that*. If you want to be an engine guy, you  need to learn about current GPU architecture. Read everything you can and write small tech demos implementing common graphics techniques (e.g. shadow mapping / shadow volumes / bump mapping / ambient occlusion). After that, you can start making games If you want to make games and don't care about engine architecture or its implementation, then there has never been a better time for you... You have access to the newest UDK source for like 20 bucks a month and a slice of your revenue. You can also use Unity, and I believe Crytek is doing something similar to Epic. There are a lot of tools that will enable you to just make games without thinking about the underlying abstraction layer. You can set that abstraction limit yourself... Unity / UDK are  *huge* tools. You can abstract away a lot of work by using one or more lightweight libraries. So yeah... Figure out what you want to be doing in the long run, and then focus on that. Once you get into the industry, you will get the job that matches your skills. Make sure that you have the skills for the job you want :) Probably the most important thing is to finish what you start.

Sergio González

The most marketable tech skill for a game developer today is mastering Unity. Experience with straight OpenGL will be beneficial, but it's definitely not what you should start with.

Osma Ahvenlampi

are you sure you want to do openGL ? start of with easy things like Image manipulation libraries, if you haven;t worked with them. http://libgdx.badlogicgames.com/  : uses Java Can Deploy on Android , Web , Desktop, Mac, iOS. http://www.libsdl.org/ : uses C/C++ Can Deploy on Almost every platform out there , including game consoles ( PSP , PS3 ) . both of these libraries creates a abstraction for openGL , you can issue raw openGL commands by creating a context in libSDL, openGL also allows shaders which interact directly with GPU pipeline. get some feel of game development create small and fun to play games, but don't leave openGL(if you want to do hardcore game dev like AAA Industries (http://en.wikipedia.org/wiki/AAA_(game_industry)) ) if you want more out of your games ( almost all of 3D games require you to learn openGL until and unless you are using game engines like http://unity3d.com/ , http://www.garagegames.com/products/torque-3d , https://www.unrealengine.com/  or other game Engines. ) Learning a language just for doing game dev is worth it given you have enough interest ;) Conclusion : Learn openGL along side game development , game development doesn't end with openGL its where it all starts ;) On a side note : game Art designing is as important as game development ;) (by development I mean the coding phase.) Assets are too important to be neglected, feel free to hangout on #libgdx on http://irc://irc.freenode.net if you are using libgdx EDIT : Read the Comments as well happy coding ;)

Paresh Chouhan

Related Q & A:

Just Added Q & A:

Find solution

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.