Analysis of those mainstream game engines (page games, terminal games, mobile games)

1. Introduction

Game engine refers to the core components of some edited computer game systems or some interactive real-time image applications. These systems provide game designers with various tools needed to write games, allowing game designers to make game programs easily and quickly without starting from scratch. Most of them support multiple operating system platforms, such as Linux and Microsoft Windows. The game engine includes the following systems: rendering engine (ie "renderer", including two-dimensional image engine and three-dimensional image engine), physics engine, collision detection system, sound effects, computer animation, network engine and scene management.
Analysis of those mainstream game engines (page games, terminal games, mobile games)

Let me briefly introduce the operating environment of the game: PC (win & mac), mobile phone (iOS & Android & WP & BlackBerry), PlayStation (Sony PS1, 2, 3, 4), Xbox (Microsoft Xbox, Xbox 360) ), Switch (Nintendo), etc.

The PC terminal and the mobile terminal are divided into the client and the web page, namely, the terminal game and the page game.

It can be classified according to major types: terminal games (pc terminal, PS, Xbox, and Switch are classified into one category according to engine support), mobile game (mobile terminal), page game (pc terminal page game, mobile terminal page game).

Well-known game developers: EA (ElectronicArts), Ubisoft (UBISOFT), Nintendo (NINTENDO), Sony Entertainment (SCE), Konami (KONAMI), Square Enix (SQUARE ENIX), Sega (SEGA) , Bandai Namco, etc.

EA (ElectronicArts), an aircraft carrier in the game industry, is the world's largest game designer. Its EA Games, EA Sports, EA.com. Well-known game brands: EA Sports' "Need for Speed" series, FIFA series, NBA series, etc. EA Games' Lord of the Rings series, Battle of Middle-earth series, Medal of Honor series, Command and Conquer series, etc.

Vivendi's companies: Blizzard (early, later redeemed), ValveSoftware, SIERRA, ACTIVTSION. Well-known game brands: SIERRA's "Half-Life", "Counter Strike", "Lord of the Rings-Battle of the Rings" and so on. Blizzard's "Warcraft", "Starcraft", "World of Warcraft", "Overwatch" and so on.

Valve Software: "Half-Life 2", "CS:GO" and so on.

Ubisoft (UBISOFT): its subsidiary Gameloft, etc. Well-known game brands: "Split Cell" and "Prince of Persia" series.
Analysis of those mainstream game engines (page games, terminal games, mobile games)

Capcom: "Resident Evil" series, "Devil May Cry" series, "Street Fighter" series, a large number of the most classic horizontal arcade clearance games.

Square Enix (SQUARE ENIX): "FF" full series, "DQ" series and so on RP.

KONAMI: "Eleven Victory" series, "Silent Hill" series, "Devil City" series, etc.

Riot: Representative work "League of Legends". (Tencent wholly-owned acquisition in December 2015)

The domestic mobile game developers are a bit unable to take a shot. What can be mentioned are NetEase, Tencent, Xishanju, Perfect World, Shanda, Century Tiancheng, Giant, etc.

In the end game, 3A is the highest evaluation of game quality, and many foreign masterpieces are called 3A games. Let's take a look at the description on Wikipedia:
AAA games (usually pronounced "AAA games") are an informal classification used for video games with the highest development budget and the highest promotion level. AAA-level game development is accompanied by high economic risks and requires a high level of sales to be profitable.
Analysis of those mainstream game engines (page games, terminal games, mobile games)

Two, page game engine

Web games are also called web games, and endless online games are called page games. It is a web browser-based online multiplayer interactive game. There is no need to download the client. There is no problem of insufficient machine configuration. The most important thing is that it is extremely convenient to close or switch, especially suitable for office workers. Among them, web games are divided into PC web games and mobile web games. PC-side web games developed earlier and are relatively mature. Mobile web games, with the improvement of the performance of mobile devices, have also begun to appear on the stage.

PC web games have become popular since 2007, and their heyday was roughly around 2013-2014, and then they declined sharply. The popularity of PC web games benefited from Adobe’s Flash. The high share of the browser’s web-side multimedia interactive plug-in Flash Player has promoted the rapid development of web games. Of course, because of Jobs's words as the fuse, iOS no longer supports Flash Player, which led to the start of its decline. This year Adobe also announced that it will stop Flash Player support in 2020. I have to mention Microsoft's Silver Light. Microsoft also saw the success of Flash Player and launched Silver Light, but unfortunately it didn't grab much market and ended in a hurry. Also mention Unity Webplayer, that is, U3D's web player plug-in, which does not have enough market share. (Currently, the update and support have been abandoned)

PC-side web game development basically does not have an engine, either relying on the API self-encapsulation implementation engine provided by Flash, or relying on the U3D API self-encapsulation, there is no industry-recognized engine. It's just that some useful frameworks such as Flash's starling rendering framework, DragonBones skeleton framework, TweenLite action framework, etc. have appeared, which can't be called engines. "Stealing Vegetables", "Farm", "Dambang Hall", "Seven Heroes for Hegemony", "Poppy", "Sword of the Archangel", various legends, Japanese comics iP page tour. . . There is always one you have played. There were also many small game platforms 3366, 4399, 7k7k, Tencent web game platform, veteran web game recommendation , HP91 web game, etc. However, it is still in decline. In the past few years, the boss sent BMW to programmers and other news are the above-mentioned small game platforms. It can be seen that they made enough money at that time.

Mobile page games are relatively simple and are currently on the rise. Due to the performance bottleneck presented by mobile browsers, special engines have to be developed to improve the performance of mobile page games. At present, the well-known domestic web game engines include: Cocos2d-js, Egret, Laybox, etc. PS: Egret and Laybox are both engines developed by veterans who are engaged in Flash development. Remember the WeChat experimental game "Hit Plane"? The game is a mobile page game, just embedded in the WeChat APP. There are no particularly eye-catching works on the market.

Due to the successive non-maintenance of Flash Player and Unity Webplayer plug-ins, and the popularity of mobile games, many web game companies and developers have transformed into mobile games, and the future of PC web games has fallen again and again. It is not recommended to invest too much effort on PC page games at present.

With regard to mobile page games, they are still in the development period. There has been a phenomenon-level light game "Neural Cat" in 16 years. At this stage, there is no well-known heavy game, and light games are the main ones. Most of them are in the form of WeChat public account mini games or merchant promotion mini games.

Egret developed well in the early days, but because the development of the tool chain and the community did not keep up, the word of mouth gradually declined. There is also room for performance optimization. (Egret was also a small team in the early days. Later, Xiaomi invested in 2000W and entered a period of rapid development.) Another Layabox came from behind. It is said that the performance is very good and there are relatively few holes. At present, there are more developers.

Three, end game engine

Analysis of those mainstream game engines (page games, terminal games, mobile games)
Unreal (Unreal Engine) masterpieces: "PUBG Mobile", "Gears of War" series, "Mass Effect" series, "Medal of Honor" series, "GTA 5" Grand Theft Auto, "StarCraft II"

CryEngine (screaming engine) masterpiece: "Crysis" series

Source (origin) masterpiece: "CS" series, "Dota 2"

BigWorld's masterpiece: "World of Tanks", various domestic fairy games (Internet transmission was stopped in October 2015, but there was no official statement)

Frostbite Engine (frost engine) representative works: "The Elder Scrolls" series, "Battlefield" series, "Need for Speed ​​16/18"

Gamebryo, Creation masterpieces: "Need for Speed" series, "Radiation" series, "Cross Fire"

IW Engine representative work: "Call of Duty" series Havok physics engine, many 3A games and Hollywood blockbusters use this physics engine, just mention "Curse of Blood"

Self-developed, such as Blizzard’s "Overwatch", is a self-developed engine, such as Fist’s "League of Legends" is also a self-developed engine

U3D does not have a 3A masterpiece, Hearthstone, because it is cross-platform.

Four, mobile phone engine

Here we mainly analyze the engines used by some domestic R&D manufacturers. The most used ones are Cocos2d-x and U3D. Some projects use Unreal 4 or some self-developed frameworks.

In the early days, Cocos2d-x was relatively popular because of its open source, free, cross-platform, high performance, and support for many development tools, and was favored by many individuals, studios, and companies. However, with the improvement of mobile device performance, the trend of 3D games, and the inability of the 2dx tool chain to keep up with the development, a group of people turned to U3D.

The following are currently commonly used engines in China: Cocos2d-x, U3D, Unreal 4, Flash Air, Corona, self-developed

We know that Cocos2d is an open source framework based on the MIT protocol for building games, applications, and other graphical interface interactive applications. Initially, cocos2d was only a game framework written in Python, and it had no commercial value. In 2008, the development of Apple mobile phones was flourishing. The cocos2d community seized this opportunity and developed the cocos2d-iPhone version, which replaced Python with Objective-C and rewritten the entire framework. As a result, cocos2d-iPhone has grown rapidly with the development of iOS. In 2010, cocos2d has become the preferred 2D game framework on the iOS platform.

In 2010, when Android rose rapidly and was able to compete with iOS, developers hoped to port the game to the Android platform, so another branch of cocos2d cocos2d-x was developed, and the framework was rewritten in C++. The focus of the development of Cocos2d-X is to revolve around Cocos2d cross-platform, Cocos2d-x project can be easily built and run on iOS, Android, Blackberry and other operating systems. Desktop operating systems such as Windows, Mac and Linux are also supported.

Cocos2d-x has also derived Cocos2d-lua, Cocos2d-js versions, and of course, developers YY have also produced Cocos2d-java and other language versions. Currently, the most developers use Cocos2d-lua.

Cocos2d-js was called Cocos2d-html5 in the early days, and later changed its name to Cocos2d-js as it developed. This branch can not only be published as an ipa or apk, but also as a mobile page game.

PS: Cocos2d-iPhone was written by a foreigner. The early author of Cocos2d-x was a Chinese developer, and its early performance was average. Later, the original author was also refactored by touch. Cocos2d-x later also supports 3D, but the support is not very good, so 3D games basically choose U3D or Unreal 4.

The game engine is a packaging of the underlying graphics interface, and Cocos2d-x is the same, it is a packaging of OpenGL under different platforms. OpenGL is called Open Graphics Library, which is an open, cross-platform high-performance graphics interface. OpenGL ES is a derivative version of OpenGL on mobile devices. It has a structure consistent with OpenGL and includes commonly used graphics functions. Cocos2d-x is an OpenGL-based game engine, so its drawing part is completely implemented by OpenGL. OpenGL is a three-dimensional graphics API based on C language. The basic functions include drawing geometric figures, transforming, coloring, lighting, textures, etc. In addition to basic functions, OpenGL also provides advanced functions such as surface primitives, raster operations, depth of field, shader programming and so on.

Unity3D is a multi-platform comprehensive game development tool developed by Unity Technologies that allows players to easily create interactive content such as 3D video games, architectural visualization, and real-time 3D animation. It is a fully integrated professional game engine. Unity is similar to Director, Blender game engine, Virtools or Torque Game Builder and other software that uses interactive graphical development environment as the primary method. Its editor runs under Windows and Mac OS X, and can publish games to Windows, Mac, Wii, iPhone, WebGL (requires HTML5), Windows phone 8 and Android platforms. You can also use the Unity web player plug-in to publish web games, supporting web browsing on Mac and Windows. Its web player is also supported by Mac.

In addition to Unity3D, in order for developers to develop 2D games, a branch Unity2D has also been released.

Quoting Zhihu's answer on the comparison of 2dx and U3D: "Unity and Cocos2d-x are not strictly speaking the same product type. Unity is a set of "solutions", and Cocos2d-x is just a library. The two are similar. In comparison, the latter is only equivalent to a module of the former. Unity provides an integrated scene editor, physics engine, material editing, animation editing, etc., plus its own plug-in functions, allowing third parties to help produce peripherals through packages Tools. But from the perspective of Cocos2d-x, if a company wants to use it, it must find a relevant editor and integrate a third-party physics engine (such as Box2D) to be on par with Unity at the solution level. Just like the famous 3D rendering The engine Ogre, like the solutions Unreal and CryEngine, is not comparable in itself. The choice for many companies to use Cocos2d-x for their projects is that for 2D projects, Unity is indeed a "sword", and it is not very smooth to control . Cocos2d-x plus some third-party tools can deal with the project, and it is relatively simple to control, will choose Cocos2d-x instead of Unity."

If you want to test the game development, I recommend Unity 3d. In 2016, Tencent has killed all 2dx project teams and fully invested in U3D. In addition, some projects are trying to use Unreal 4. The mobile versions of Tencent's "Honor of Kings" and "Crossing the Line of Fire" are all made by U3D. Xiaomi’s "Eating Chicken" mobile game "Xiaomi Gunfight" is made with Unreal 4. Recently, Netease's "Chicken Eating" mobile game "Wild Action" is a self-developed engine Messiah. If you use Unity 3d and Unreal 4, you have to divide it into the engine manufacturer, so NetEase has made a good start. Take the money you earn. Of course, Tencent also has a self-developed engine, which may not be able to convince key projects to use it. After all, there are too many bad pits for the engine, so you can't expect the project team to wait for you to modify it. Commercial products still need to choose a stable and reliable engine.

Self-developed engines require a long investment of time, cost, and manpower, and have to keep up with the trend. As a small and medium company, it is basically not suitable for this path. Even if you develop it, you still have to develop a tool chain, and you have to have a complete and active community. These factors are indispensable. Some time ago, Ali also established a game division. It is good not to make money from elementary school students, but to get involved in the game industry. That's it. I wanted to spend more time on u3d and 2dx, but I can't write after so much.

Guess you like

Origin blog.51cto.com/13594161/2551960