Introduction and comparison of common engine tools for game development (UE4, Unity, Cocos, LayaAir, [egret-egret])

UE4 (ie Unreal 4)

ue4
It is a set of engine tools for developing real-time technology. At present, it is widely used in 3D modeling rendering and game development. Its complete tool suite and simple workflow enable developers to quickly modify or view results, with low dependence on code. The fully open source code allows users to freely modify and expand engine functions.

Unity

unity
is a developer-oriented 3D/2D game engine and a powerful cross-platform IDE. As a game engine, Unity provides many of the most important built-in features that make games work. That means things like physics, 3D rendering, and collision detection.

The difference between UE4 and Unity - they are competitors (personal experience - do not spray)

  1. Unity is based on a relatively open principle, while ue4 is based on a relatively closed principle, that is to say, in a general sense, without modifying the source code, unity can customize a higher degree of freedom than ue4, and ue4 is relatively closed , many things provide comprehensive tools, but do not provide much customization and modification. In fact, it is hard to say which is better. For example, the character controller of Unity basically needs to be written by itself or improved through a plugin. There are many similar examples, such as behavior tree, and Unity does not provide an official solution. At present, most of the plugins on the Internet It is indeed a good thing, but most of them seem to be usable, and it takes a lot of effort to really polish them to the production level. What about ue4? Many tools have achieved very good quality, and the functions that can be realized are generally better than the third-party plug-ins of unity, but there is also the problem that it is difficult to make some changes without changing the code, although the package is very good But it is a bit "meaning to force you to follow its architecture".
  2. Materials and documents, as well as videos and communities, Unity is actually very, very mature. After so many years of iterations, it has the largest community in the world, the most materials and videos, and many, many people use Unity. It can be said that a new The pits that the game needs to be stepped on are basically stepped on by people all over the world. This is a great advantage for the team, but there is a very serious problem. The general development team does not have source code. A good way to solve it is fatal to a mature team, so now many mature teams using unity have purchased the source code. I remember that I also studied ue4 for a while in 2014. At that time, I felt that there was very little information, but after so many years, I went back to study again and found that it was really completely improved, which also benefited from Epic has invested a lot of money and developers are getting bigger and bigger. You can basically find answers to common questions, but there is another natural advantage, that is, the source code is open. Even if you don’t modify it, reading the source code is easier to use than many documents directly. A lot, and at the same time this is also a double-edged sword. For teams who are not familiar with c++, it has become a hindrance. Generally speaking, the support of unity is better, but it is not too bad, especially the The rapid development of epic in the past year.
  3. Finally, let me briefly introduce the comparison of gameplay framework. Unity adopts the architecture of gameobject and component, and ue4 also adopts a similar architecture, but it is more hybrid. Whether it is due to historical reasons or other reasons, ue4 has a very lengthy inheritance structure, and actors also There can be components, but many examples also directly use actors themselves, not completely dependent on components. Unity uses prefab, and the corresponding function of ue4 is blueprint. Combined with my own experience, the robustness and convenience of ue4 are far greater than that of unity. The custom editor of each module is really much more convenient than that of unity. Especially the setup aspect. From the engine's default editor, the iteration efficiency of ue4 is much higher than that of unity, especially the iteration speed of medium and large projects. In addition, I personally feel that if you are familiar with it, the speed of making some game prototypes by a small team will not be slower than unity.

Cocos

cocos

It is a one-stop solution for digital content development launched by Xiamen Yaji Software Co., Ltd. It has the characteristics of open source, free, lightweight, and high performance. It serves 2D and 3D game development, smart cockpit, online education, XR, digital human, Developers in digital cultural and creative fields, Cocos has 1.5 million developers in 203 countries and regions around the world, covering more than 1.6 billion end users around the world.

Cocos integrates frameworks and tools such as Cocos Creator, Cocos 2d-x, Cocos Studio, and Cocos Code IDE to provide developers with a complete set of game development solutions. In the future, more third-party tools and services will be opened to access, which are easy to use and smooth to use.

Cocos Creator editor

Cocos Creator is a lightweight, efficient, free and open-source cross-platform game engine. It is also a real-time 3D content creation platform. It not only supports 2D and 3D game development, but also supports cutting-edge fields such as HMI, IoT, XR, and virtual dolls. Can provide a complete set of industry solutions. Cocos Creator has an easy-to-use content production workflow and a developer tool suite that can be used to implement game logic and high-performance game effects.

Cocos 2d-X engine framework

Cocos2d-x is a mature open source cross-platform game development framework. The framework provides rich functions such as graphics rendering, GUI, audio and video, network, physics, user input, etc., and is widely used in game development and interactive application construction.

Cocos ICE interactive courseware editor

Cocos ICE is a set of extensions on top of Cocos Creator, designed to allow teachers to quickly create cross-platform interactive courseware without writing code, which can reduce the cost of content production for online education companies.

Cocos Runtime

Cocos Runtime is a set of mature commercial SDK middleware that provides a safe operating environment and can be used for multiple content development. It is used in small games/quick games, online education, smart hardware IoT, etc. that require "click to play" digital interaction many areas of content.

Cocos Creator XR

Through visual workflow, componentized functions and cross-platform publishing capabilities, it helps AR content developers to reduce development cycles and costs. Users can build new XR projects in the WYSIWYG visual interface, or integrate existing projects into projects. Convert to the XR version, and package and publish to the hardware platform with one click, without worrying about device differences between different SDKs.

The difference between Cocos and Unity (personal experience - do not spray)

2D game development:
Cocos Creator is free, Unity charges;
Cocos Creator package is small, Unity package is large;
Cocos Creator can publish not only native platforms, but also major H5 small game platforms such as Douyin, WeChat, Huawei oppo, vivo, The small game technology developed by Unity on the H5 platform is not as mature as that of Cocos Creator;
the effect of developing PC games with Unity will be better than that of Cocos Creator; so if you are making 2D games and prefer mobile terminals, it is recommended to choose Cocos Creator, which can be released to more platforms;
if If you are making 2D games and prefer the PC side, it is recommended to use Unity.
3D game development:
Cocos Creator is free, and Unity charges;
Cocos Creator's rendering effect for heavy games is not as good as Unity, and the 3D performance is worse than Unity.
Cocos Creator and Unity have mature technologies for small and medium-sized 3D games.
Cocos Creator can be released to the h5 platform (WeChat, Douyin, mini games). Unity’s release of the h5 platform is immature, and
Unity’s PC games are more mature than Cocos Creator.
If you are making heavy 3D games, it is recommended to choose Unity. If you are making small and medium-sized 3D games, you can choose Cocos, which can be released to various game platforms. If you are doing PC games, it is recommended to choose Unity.

LayaAir referred to as Laya

LAYA

It is the second generation HTML5 open source engine under Layabox and one of the highest performance HTML5 engines in the world. LayaAir's breakthrough unifies many requirements such as 2D, 3D, AR, VR and web games, Native mobile games, HTML5 games, etc. through one engine. The engine has been adopted by more than 200 well-known manufacturers such as Tencent, Forgame, 37wan, Xianhai, Hulai, and Butterfly Interactive.

In fact, the way of Laya air is similar to that of cocos creator. They are all based on a js technology stack developed by electron. Laya air is relatively mature now. Laya air 1.0 is developed from the falsh game engine. Maybe those of us who come from App games will not be used to it, but those who come from web games may be more used to it. Laya company used to be Engage in page tours. The editor has also relied on Unity, supporting components and so on. But the feel, such as zooming is not based on the mouse position as the zoom center, which is a little troublesome, but it can still be used. Then the main disadvantage of the editor is that it does not support plug-in development. You may not necessarily use this, but it will be very troublesome if you want to use it but not support it. The animation editor is also almost, and it is in 1. 0, it has some historical burdens. Many concepts in 2D are self-contained, which are not consistent with modern general methods. animation only. Then there is a problem with Laya that it does not support image color correction. If you want to change the image color, you must use a Filter. This thing essentially uses a matrix in FS to transform the color of each fragment. This function is of course useful, after all, it can achieve many effects. But the most commonly used is to add color to the vertex attribute, then adjust the output vertex color in VS, and multiply it by texture color in FS, so the performance is much better, because this is a common requirement and the quantity may be large , there is no need to waste performance. 2d gives me the feeling that it can be used. If I encounter a pit, I will find a way to get around it. I think it will take a little effort to change the engine, and the compilation workflow still needs research. And the main reason why we use Laya is to do 3D. However, the biggest advantage of Laya is that you can use Unity as an editor, and then use your own unity plug-in to export Unity scenes and models, and the restoration degree is not bad. To be honest, this is simply a big killer. We combined Unity’s plug-in function, developed some Unity plug-ins and exported data files, turning Unity into a Laya scene editor. Of course, there are still some pitfalls, such as the trailing effect It cannot be recycled to the pool for reuse, because the previous position will be remembered during reuse, resulting in a long tail. For example, many particle modifiers in unity do not support it, and some support it partially. After exporting, the effect can be seen on Laya. No, another example is that the effect of H5 that looks OK is not normal in the WeChat mini game, but it can still be used. You can use Unity as a 3D scene editor.

egret- egret

egret

It is an open source and free mobile game engine built with TypeScript language launched by Egret Era. Through Egret Engine, developers can quickly create HTML5 mobile games that can run in the WebView of mobile apps or browsers, and can also compile and output cross-platform native mobile games based on Android, iOS, Windows, and Phone. Applying the Egret engine to develop HTML5 mobile games not only enables H5 games to have awesome performance, but also has high efficiency.

Brief summary

Cocos
is excellent: Cocos' market position for so many years is there, and Cocos' technical foundation is there, so Cocos is still very trustworthy. Cocos Creator is a very good product, you can refer to Unity, as for why, please refer to the disadvantages of Unity
: if there is a ruler, it must be short, and often its own strengths are also its own weaknesses. Cocos IDE and Cocos Studio let developers understand Cocos Creator Very doubtful (in case it is killed someday, although @王哲 said that it will not be killed, but the wolf is coming) Cocos layout H5 is very early, but it is too early (people who understand will naturally understand), and then encountered setbacks for a while Stranded, missed the golden period of development, and now the maturity is a bit far from Egret.
Egret
: It is precisely because Cocos’ H5 promotion was once stranded that Egret was able to present the explosive "Surrounding the Nervous Cat". As for which engine is suitable for small games and which engine is suitable for heavy games in the PRs issued by various companies, they are all fooling people who do not understand technology. When the engine is mature to a certain extent, basically the performance difference of all engines is negligible, and what everyone compares is service. Not to expand, this is the product concept. As mentioned above, the most successful H5 games in the H5 market are basically developed by Egret, such as the idle game "Foolish Old Man Moves the Mountain", the legendary game "Legendary World", "Decisive Battle in Sand City", and the simulation business game "Cat is Coming". "The Pig is Coming", the turn-based "Dream Road", and the annual hit "Legend is Coming" naturally chose Egret. At the same time, Egret's H5 workflow is becoming more and more perfect. At present, it is still the most mature H5 engine
. As mentioned above, Egret has a very good time to enter the H5 engine market, but Egret engine is already three years old in a blink of an eye. Yes, and H5 technology has changed a lot in the past three years. In 2014, you need to predict the development trend of technology, whether to choose as, js or ts, whether you choose DOM, Canvas or WebGL, etc. No one is a prophet, you You may do 99 things right, but you need to make up for one thing wrong. For example, in the 2.5 version upgrade, many developers were puzzled from GUI to EUI, but they needed to do it, and Egret and Cocos have experienced these things many times.
Laya
: The advantages of Laya are also very obvious. When Laya cuts in, the H5 market is already very clear. First make Canvas and then prepare for WebGL. There is no historical burden. It has not been a year since LayaAir has been fully charged. Follow the path that Cocos and Egret have taken before. Again, the most important thing is time. When Laya first entered the market, it launched LayaBox. This is also a very wrong decision made by inexperience, but it is precisely because there is no market share, so in the middle of last year, LayaBox was directly cut off. No one will say anything, even everyone Thinking that LayaAir is LayaBox is actually a completely different engine.
Disadvantages: The time is too short. He has not traveled the path of Cocos and Egret, so he made the mistake of launching LayaBox and cutting it off. He has not experienced the problem of Egret GUI turning to EUI, because LayaAir is less than a year old, so it is mature degree is debatable. The workflow is not perfect, and you need to use third-party tools to build your own workflow. The biggest disadvantage is that Cocos has the endorsement of the native industry dominance, Egret has the most successful commercial project endorsement of H5, and Laya currently does not have a successful commercial project (monthly turnover 1000w above).

Guess you like

Origin blog.csdn.net/qq_43842093/article/details/131489727