Why isn't there a good Android game engine?

Source: Internet
Author: User
Tags android games

as the Android platform continues to evolve, the number of Android developers has recently risen, and even the less popular game development field has sprung up in the past. However, the new problem is in front of the people who have just begun to learn, a lot of the problems they have never encountered began to float on the stage.

"Looking for a long time did not see the right engine, it seems that Android is really not suitable for game development", "I tried a few game engine, feeling is not very good, inefficient, bug is not controllable", "how can no one in China to do a cocos2d that engine?" It seems to wait for foreigners to do their best to follow up AH. "It's not a false talk, it's just some real ideas from the developers of Android games. It should be said that, in the minds of some netizens, Android-supported game engines, though not very small, do not have a useful game engine. Or, the question for these netizens is, why is there no such thing as a cocos2d-iphone and free Android game engine in the world like the iphone?

In fact, the game development with Android, there are still a lot of problems, now most of the features of the Android game engine, but also really disappointments (at least not directly dragged out of the game to ... )。 However, how many people have really considered, why this phenomenon occurs, why this problem arises? Is it really not enough Android performance, the program ape level is not enough?

In fact, the real impact of the Android game engine development problems, far from the surface to see the complexity, in detail, is nothing more than a "multi-platform compatibility" problem.

Yes, in the development of Android game on the road, performance is not a problem, compatibility is the problem, the program is not a problem, the environment is the problem, the development of how excellent game engine is not a problem, how to make this game engine in whatever circumstances appear outstanding is the problem.

When we are developing a game engine under a single mobile phone brand--iphone, for example--as long as the iphone series is compatible, even further, focus on iPhone4 also matter, after all, most of today's iphone people are "not afraid of thunder", Last year's market darling IPhone3 should have been replaced by their tossed as the iPhone4. It should be said that the iphone game engine and even the production team of the game, can devote all the energy and time to the efficiency and function intact, regardless of the so-called platform compatibility issues.

When you're designing a game engine for the Android platform, it's probably not as easy to develop Android games.

We all know that in OpenGL for Linux, is a very efficient graphics programming interface, and the Android kernel is based on Linux development, the false idea to improve the performance of Linux-based game engine, the use of OpenGL ES for the mobile environment is undoubtedly the best choice. (Of course, there are some people who use android2d for a variety of reasons)

However, compared to the iphone platform, the Android platform is not fixed on a certain or some of the smartphones, because many manufacturers of the participation, so that he has a rather complex mobile phone model at the same time, also faced with a very complex multi-model compatibility challenges, although the Dalvik virtual machine is strong enough, Strong enough to erase most of the environmental differences. Unfortunately, we think of the mobile game Engine Performance Assurance OpenGL ES, but not in this column, after all, no matter how powerful your software platform, but always can not cross hardware barriers. Even though OpenGL has always advertised itself as independent of hardware, if the hardware does not have enough support for OpenGL, OpenGL is still unable to operate at full power (some older Android models, and even the floating-point computing barrier | | | ...... )。 This means that if the Android engine blindly pursues the best efficiency, it will need to abandon the engine's execution possibility on some models. Otherwise, the "recipe" on some platforms will immediately become "poison" on other platforms.

--I know a netizen has done cocos2d-iphone android transplant, if can see here, about can smile?

And let's say that regardless of what we do, we want Android to get the best performance on some platforms and give up some other platforms? The price of doing this is that you have to say goodbye to users who hold certain Android models.

"What are you using HTC for?" Sorry, my program only supports Nexus one. ”

"What, you actually would use Motorola?" Is there a mistake? My game is customized for Samsung! "

Can you imagine that the above conversations exist in real Android programs or game development?

If you can't imagine, then the game engine development path to abandon certain models is not going to work. In fact, although the Android program Ape can have a huge Android faction support, but whether you are dedicated to Motorola, make HTC Strike, or make a Nexus one (or the legendary nexus of the other), do not buy Samsung, will cause considerable losses.

And if we do not pursue speed, blindly demand to run all models it? Then, in the engine design, you must minimize the reliance on OpenGL ES API, use only the part that all the models together support, in order to avoid incompatible code to the maximum, even if-this code can improve the program efficiency of 100% is no exception.

The cost of doing this is obvious and will inevitably cause the engine speed to peak in most environments (since your program does not have 100% OpenGL performance), which is what we typically see as "inefficient" problems.

And this is not the worst case, the real worst is that your engine is in a very hostile environment for OpenGL (most Android phones have a certain degree of limitations on OpenGL performance for system stability, which is in fact more common, However, a user angrily told you, your rotten game in his hands even 10FPS are not able to run, and you can only tears to look at the hands of several machines run out of more than 50FPS of success.

Jme-android's Dystocia, and Rokon's death, in addition to the plight of their own, I am afraid, and Android this let people love and hate OpenGL function not to open.

Why do you have such a reason? Is there a problem with Google's design? In fact, the crux of the problem is not the design of software or hardware, but the system licensing policy of Android, which is approximately white-sent.

Google's "quantitative easing" of the Android marketing strategy, is able to occupy the market at high speed, establish the supremacy of Android smart machine, but it will certainly cause too much branch platform, pay the vast number of Android phone manufacturers easy to the low-end user group close to the price (System licensing nearly 0 cost , resulting in medium-income to meet high-profit demand), and the low-end users of the consumption capacity, in turn, the mobile phone manufacturers to limit the cost of mobile phone prices; In this similar to the "Ouroboros reincarnation" of the vicious circle, want to create a model can be 100% to play OpenGL ES performance, It's compatible with all Android models, with little or no "bugs" in the game engine, almost as hard as getting China to win the World Cup-at least not in the next year. Because the lowest position of the plank, will determine the highest position of the plank's fate, the short-board effect of the tragedy, almost inevitably become a hindrance to the development of Android game engine.


But suppose Google kills the "roadblock", which is to change Android's licensing strategy, forcing vendors to move to high-end machines? At the moment, if you do that, it is very likely that because of the sudden rise in production costs, causing the Android camp collapse, so that the original thriving android violent death street-so-called "fish and bear paw can not have both", presumably this is the case.

Is there any way we can solve this compatibility problem completely? Can we just spend our lives in such a compatible predicament? The answer, in fact there is, and very easy, that is--wait.

Yes, in this situation, even if you are unhappy, even if you are not comfortable with the status of Android game engine, even if you childish: "Compatible with what the most annoying!" ”。 It is also important to keep your patience, waiting for the "wood planks" surrounding Android to grow, and the growing anroid game engine is gradually intact, although the "perfect compatibility of each model" results may not appear, but with the continuous development of Android hardware and software, "the models almost perfect compatibility" , after all, is still getting closer to us.

We all know, the old story said "early know the seventh pie to eat full, should not eat that the first six cakes," the person is a fool eggs, but those who say "eat a cake is not full, the back of the six cakes do not have to eat" the guy, but also not seen is a smart person.

After all, some things, not rush out, pull out, but dry out, broke out.

——————————————————

Incidentally, slick this Java game engine recently also to out of the Android version, a while ago I saw the author in http://www.javagaming.org to make compatibility test, reverse the APK found that the original module has been basically transplanted completed, the formal appearance should not wait too long. In personal opinion, the performance and ease of use of this engine is definitely far above Rokon. Everyone is interested to be able to pay attention to his progress, can urge words better, brother want to take a look at his full code (^_^): http://slick.cokeandcode.com

Why isn't there a good Android game engine?

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.