Two years ago, if there was news that an Android game console would be released, it would still attract the interest of players. However, as Android game consoles represented by Ouya have successively failed to meet market expectations, the controversy over using Android systems as game consoles has become increasingly serious.
What kind of misunderstandings do Android gamers have? Will Android and game consoles never work together in the future?
In response to this issue, Wang Feng, CEO of Axe Technology and Chairman of Linekong Interactive, answered the question "Why is the gaming experience of game consoles made with the Android system so different from that of XBOX and PS?" on Zhihu today, and explained the problems and solutions of Android game consoles.
Wang Feng’s original reply is as follows:
As the news that Axe Technology plans to launch the "Tomahawk" TV game console has gradually attracted everyone's attention, there have been more and more discussions about whether it is appropriate for us to use the Android system to make game consoles. Currently, companies that make game consoles based on the Android system in the market basically directly port current Android mobile games to the TV platform, and there are few high-quality mobile games on the market that can well support the product performance on professional TV game platforms. Therefore, this large number of Android game boxes have basically not achieved market success and have no ability to attract existing or potential professional console game players in the market.
The success or failure of game console products, in addition to the performance and hardware experience of the game console, is largely driven by high-quality game content. Axe Technology has been determined to be a professional TV game console since its inception, so we directly look for professional console game content among the current XBOX and PS platform-level partners and port them to our own Android-based platform environment. However, many people have many doubts about game consoles running on the Android system. In response to these issues, I will briefly organize the views formed by the Axe Technology hardware design, system software, and game porting R&D team in the past year through exploration and practice, and share them with you for discussion.
In fact, Android, like PS4 and Steam, uses the same OS, which is developed based on the Linux kernel and can well complete the most basic OS tasks such as CPU scheduling, memory management and other hardware resource management. To measure whether it is reliable as a professional game console OS, we need to consider three aspects: the support for graphics API, application execution efficiency, and the compatibility and stability of the system environment. We will elaborate on the specific viewpoints below.
1. First, let’s talk about the graphics API issue that players are most concerned about and directly affects the game quality.
Graphics API represents the theoretical maximum level of graphics without considering hardware limitations. For example, if we use the Microsoft DirectX 9 API, even with the best graphics card available today, it is impossible to produce a Microsoft DirectX 11 graphics.
Many people still think that Android's graphics API specifications are still at the OpenGL ES 2.0 era. Due to the limitations of the OpenGL ES 2.0 API, the characteristics of the graphics chip cannot be fully utilized. During this period, mainstream commercial game engines had to abandon some advanced rendering technologies.
In November 2014, Google released Android 5.0 which began to support OpenGL ES 3.1+AEP. At the SIGGRAPH 2015 graphics conference in August 2015, the Khronos organization officially released the new generation of OpenGL ES 3.2 mobile graphics specification, which supports rendering multiple buffers, has floating point, depth, vertex and other texture formats and a new version of the GLSL shading language, and also adds the MSAA Render To Texture that engine developers have long been looking forward to.
Let's review the performance of the UE4 engine on Android devices equipped with the NVIDIA Tegra K1 chip at the 2014 Google IO conference. There are four significant improvements:
1. Thanks to the support for rendering to multiple buffers, the engine uses deferred rendering technology, which can support more real-time dynamic lighting. At the same time, with MSAA Render To Texture, the aliasing problem of GBuffer can be solved more effectively.
2. With the support of floating-point textures, it is easier to achieve HDR effects.
3. Support for deep textures makes texture shadows faster and leaves more room for improving shadow quality.
4. The character material is fine, using multi-layer detailed textures, normal maps and environment maps to make the metal texture appear better.
In terms of commercial engines, commonly used game engines such as Unity and Unreal are also very friendly to Android, such as having their own packaging tool chain and providing runtime performance consumption analysis and other functions.
In addition, NVIDIA's Tegra K1 and X1 directly support the cross-platform graphics programming interface OpenGL 4.4, which will reduce the threshold and cost of cross-platform porting for game developers.
Second, let's look at the issue that many players question: Android has low execution efficiency and cannot run good games
Execution efficiency refers to whether the software can fully utilize the capabilities of the hardware. If the efficiency is low, the hardware performance can only be used at half, so the same picture that could run at 40FPS may only run at 20FPS in reality.
Since general apps on mobile phones do not have high performance requirements, they use Java more often for the convenience of development. However, due to the existence of the Java virtual machine, performance is affected to a certain extent.
However, for applications with high performance requirements, especially games, Java virtual machines are not used extensively, but native C/C++ libraries, codes and graphics APIs are directly called through NDK, which is the case for all game engines including Unity and Unreal. The execution efficiency of this type of application is not low, and the performance is no different from that of games running on PS, XBOX or PC systems.
Therefore, as long as the hardware performance can support it, Android will not be a problem.
Some people may ask, since Android's execution efficiency is not low, why is the picture quality of Android mobile games generally not high?
On the one hand, mobile game developers need to adapt to as many low-end and mid-range mobile phones as possible to increase the potential audience. On the other hand, mobile games need to consider the power consumption and heat generation of handheld devices. It is unacceptable to have good graphics but only be able to play for a few minutes before the device gets hot and runs out of power.
Moreover, since the life cycle of mobile games is relatively short, most developers will not spend a lot of time and energy to make the graphics perfect for commercial reasons, which does not meet the input-output ratio.
Therefore, we cannot use the current mobile game graphics quality to measure the graphics performance of a specific hardware product specially adapted for TV Console.
This is also one of the technical reasons why our "Tomahawk" game console will temporarily focus on introducing and porting professional console game content, and will not introduce native mobile games at this stage.
3. On the mobile side, the stability and compatibility of the Android system have always been controversial. Will similar problems occur on the game console platform?
The stability and compatibility of the operating system affects the running smoothness of the game console and is one of the intuitive feelings that the operating system brings to users.
On the mobile side, the instability and compatibility issues of the Android system are not problems with the Android system software design, but are affected by the fragmentation and openness of the Android ecosystem, coupled with the open source system of the Android camp (open source to any hardware developer, authorizing developers to make any changes), which causes the Android system to perform unstable on mobile terminals.
Google's Android system is open to all hardware manufacturers. Every year, countless Android-based hardware is released, and the hardware designs are different. Manufacturers also deeply customize their own ROMs, and the system will not force upgrades. It is very difficult to achieve good software compatibility. If too much software with unguaranteed quality is installed, the stability of the system cannot be guaranteed.
On the contrary, Apple, which started out as a hardware company, has a more closed ecosystem, with 2 to 3 new hardware models released each year. The system environments are very similar, and the system can only be upgraded but not downgraded. All software can only be downloaded from its unique official store, so it is more stable.
The game console industry is different from the mobile phone industry. The ecosystem is a closed loop. Whether it is Microsoft, Sony or Nintendo, they can only play games released on their own platforms on their own hardware. The console platform has fewer hardware models than Apple, and the game console system software version is currently also mandatory to upgrade to ensure that there will be no hardware and system fragmentation problems. The number of console platform games is even less than the number of applications in the iOS App Store, which can ensure that every game on the console platform has been fully tested, checked and optimized.
Therefore, although the Tomahawk game console is based on the Android system, the ecosystem we have established is more similar to the closed-loop ecosystem of Apple iOS, Microsoft XBOX and Sony PlayStation, that is, each game needs to be optimized and rigorously tested for the game console hardware and software, and the system behavior is also deeply customized and optimized for the game console. Without users installing a large number of various Android applications on the console, there will be no compatibility and stability issues that the Android system has on mobile devices.
Finally, let’s talk about game optimization for Android game consoles.
People often attribute the unsatisfactory gaming experience of the Android game consoles (a series of boxes, including Huawei, ZTE, OUYA, etc.) to the Android system, which is a big cognitive misunderstanding. But in fact, the porting and optimization of game content are the key factors that really affect the gaming experience of Android game consoles.
Axe currently has a professional team working on game optimization, relying on our own technical strength and our content partners. We are continuing to increase investment. Most of the talents in this area are in the technical teams of first-tier PC game companies. It is very difficult to find people who are familiar with the underlying system and game engines.
Those who are familiar with game consoles know that the hardware performance of consoles cannot compare with the top-of-the-line PCs of the same period, but because the game is well optimized, the overall performance is not inferior. What does the optimization work in the game porting process include?
Here are some examples of game optimization work.
In terms of resource utilization, some games cannot fully utilize multi-core CPUs, and the load is concentrated in one or two processes. Some CPUs are too busy to achieve the ideal gaming experience, and some CPUs are idle, resulting in a waste of resources. After optimizing the game, the system can allocate resources more reasonably, mobilize the best CPU performance, and thus improve the gaming experience.
In terms of drawing optimization, if you use more texture atlases and try to draw objects of the same type at one time, you can significantly reduce the calls to the underlying graphics program interface and thus improve game efficiency.
Converting text formats to binary, using the best texture compression format, compressing mesh and animation data, etc. can reduce game loading time.
Of course, game optimization is not easy. It not only depends on the game optimization team's full understanding of the underlying system and hardware, but also requires a lot of time and manpower. This is especially true for international 3A-level masterpieces, or games developed using self-developed engines that do not have good support for Android. In addition, traditional console game developers and development teams are generally unfamiliar with Android, so it is very difficult to successfully introduce and port a 3A masterpiece to an Android game console. It requires the recognition of major game manufacturers and a large amount of resource investment from both parties to optimize the game for the hardware configuration of the Android game console. The strategic cooperation between us and Japan's Koei Tecmo (KT) that we have disclosed falls into this category.
This is one of the biggest challenges we face right now.
From Wang Feng’s answer, we can know that it is not impossible to develop a high-performance Android game console comparable to the next-generation consoles, but we need to work harder on basic work such as technology, content, and optimization. Perhaps the world’s first high-performance Android game console will be produced in China in the future?
As a winner of Toutiao's Qingyun Plan and Baijiahao's Bai+ Plan, the 2019 Baidu Digital Author of the Year, the Baijiahao's Most Popular Author in the Technology Field, the 2019 Sogou Technology and Culture Author, and the 2021 Baijiahao Quarterly Influential Creator, he has won many awards, including the 2013 Sohu Best Industry Media Person, the 2015 China New Media Entrepreneurship Competition Beijing Third Place, the 2015 Guangmang Experience Award, the 2015 China New Media Entrepreneurship Competition Finals Third Place, and the 2018 Baidu Dynamic Annual Powerful Celebrity.