Graphics are a great way to pull people in to buy your game, but the level of immersion felt is completely done by the game play itself. If you want proof, take a look at books. 0% graphics, 100% immersion. They can inspire you and immerse you in the same way a great game can. To be honest, I believe it is very distracting to game makers to have all these extra features that OpenGL gives. There is a lot more people now thinking they’ll be able to make an AAA title game on their first try.
It is just an argument about game creation speed vs. learning game programming.
For all you aspiring game creators out there, the best course of action is to learn a library. LibGDX is pretty much the best decision if you want to make sure your game will be played by the most people fast. If you stick directly to the library defined functions, you should be able to create your game vision decently without much issues. The problem is when you try to achieve something that the library API doesn’t show you.
Enter learning game programming…
For those of us who started with Java2D or OpenGL, we have a deeper understanding of the underlying technologies. When the LibGDX library comes to us with a limitation, we are much more equipped to deal with the problems than those who decided to take the library learning route. The sad part is, those who learned the library first will have it 150% harder to learn Java or OpenGL because they will have no basics to fall back on.
What does this mean?
It means that time is truly of the essence. Game designers have to create a good plan for themselves.
Learning the library first will get a game out faster in most cases. But, you will not have a fail safe if you find the library documentation or functions limited. Designers who take this route have to be prepared to not get every single feature in their game, and just get used to working within the limits of the technology.
Learning the language is more like a journey. Most of the things you’ll learn from Java2D you’ll be able to take with you when you code OpenGL, and work with libraries like LibGDX. You’ll have a building tool set that’ll last you no matter what new technologies or libraries emerge. When problems occur, you’ll be able to spot them and adapt much easier.
People have to realize that there is more than one route to a good game…
For us programmers, building a good tool set will make sure we will be able to survive. We are the architects, the builders of the programming world. When Java is faced with destruction from a flooding river, we are the ones with the most knowledge that’ll get a moat built of OpenGL to keep Java from going under. We are also the ones who can build games, but most of us are always looking and preparing for the next wave of destruction.
For the game designers, they invested in property in our Java world through libraries. Some of these properties are bustling cities, like LibGDX. Others are going down in the suburbs like Java2D. All of our community is important to game creation. People who live in the city have the dreams to create great games, but they are confined within the structures that they live in.
Where do you fit in this world?
That is the question we should really be asking ourselves before even thinking about game creation.