Open-source game engine experience and open-source engine experience

Source: Internet
Author: User

Open-source game engine experience and open-source engine experience

It should be said that everyone playing the game has a dream of writing the game engine on their own. While there are no reports from new companies, take some time to study open-source engines and sort out your own ideas.

The new game engine is based on cocos2d-x and I want to learn from these open source engines:

1. Particle System and particle editor. The particle system of cocos2d-x is quite weak, not to say no, but it is very difficult to use him to make cool skill effects. Many people have a particle editor for cocos2d-x, but in my opinion, the particle system itself is weak, the editor eventually becomes a tool for parameter editing and effect preview.

2. Model loading and skeleton animation playback. Study the support required by the update system, and check whether the Unity animation redirection function can be implemented.

3. Sound engine. See if you can find a sound engine similar to the open-source FmodEx.

4. study how to design and build the editor framework

5. How to encapsulate Box2D and PhysicX physical systems

1. Genesis-3D (www.genesis-3d.com.cn)

Sohu Changyou costs tens of millions of dollars. The open-source 3D game engine can be released to PCs, Android, and iOS platforms.

Before analyzing the advantages and disadvantages of the first impression, I would like to explain that UDK, UE4, Source, Quake, and Doom have some code, but I am not planning to read it for the moment, because the code is too tall or technically oriented, I am afraid to Hold it. I am concerned with how to improve the production process, rather than learning any advanced skills. What I need most now is infrastructure, instead of doing better after everything is ready.


The advantage is that the editor is complete and the framework is clear (I haven't looked at the code yet, but only from the usage perspective), and all the infrastructure I want is there. Files and resource systems are not packaged together like Unity, which I like very much. Everything configured by the particle system is an xml file, which is easier to learn. The particle system is very beautiful, similar to Unity. It would be nice to use it directly. It can be said that if the product was launched in year 35, it should be very competitive.

Disadvantages:

1. You cannot directly run the game in the editor. You can only preview static scenarios. They seem to use their modified Mono to directly compile the code. directly changing the Code does not require the re-release of the version. However, modification of resources seems to be troublesome. From this point of view, Unity is more inclined to the All in one editor. Everything is tested in the editor, and the version is released when necessary. Genesis3D prefers a company's commercial engine. Art programs work separately. When necessary, they integrate resources, release available versions, and continue testing and development. Although I think this is a disadvantage, I personally prefer Genesis3D. I feel that as long as the production process is clear, it is not that important to have an All in one editor, or even no editor. As long as appropriate tools are available for the developed terminal. Genesis3D makes me feel more like a developer than an independent game developer with full-outsourcing.

2. All aspects are similar to Unity. Whether it is rumored that the Untiy code was bought or not, and then it was changed by itself. I can only say that it is the Unity1.0 version of a shanzhai. In code design, the advantages and disadvantages are more personal preferences, but in the editor, it is not as convenient as Unity in many places. In other words, if it is not compared with Unity, it looks very beautiful, but it is a copy.

3. Can the editor be expanded? I didn't see it in the tutorial. I don't think so for now. The biggest charm of Unity is the ability to customize the editor content. As a result, many attractive plug-ins are derived, such as some behavior tree AI plug-ins and 2D skeleton animation plug-ins. These plug-ins are combined with Unity to greatly enrich the functions of the engine itself. Otherwise, it is difficult to satisfy user needs by yourself, even if it is open source.

4. To be continued. I believe that there will be a lot of enemies worth talking about, but if you are a beginner like me, you can still get a lot of things.


2. Godot (http://www.godotengine.org/wp)

Another game engine that looks like Unity. Still under development, I feel that the more detailed the design is, the more similar it is to Unity. Of course, compared with Genesis3D, we can still clearly feel that one is a shanzhai and the other is a imitator. Once you get this engine, you will never say that this product is a Unity, but you will find a familiar function and operation method in the Process of use, I think this is a pretty clever way. The general feeling is that the direction of the game is 2D, but although the sparrow is small, UI, particles, and physics will not be less. The biggest problem seems to be the absence of representative Game Products, which in some ways means failure. In fact, all game engines are the same, and successful products are required to support the scenes. Like cocos2d-x, from time to promote the "Apple's best-selling list above 9 into the game is cocos to do, the most popular I called mt is cocos to do", so the use of more and more people, there are a lot of things, not how good they are, but how many people use them to influence the overall aesthetic. Naturally, they become the so-called "beautiful structure, easy to learn ".

I carefully looked at the game Demo and felt very fond of this engine. First of all, if an engine is to be accepted and learned by users, a rich and clear Demo is essential. On the one hand, it shows the functions of the game, for example, cocos2d lists all the functions. On the other hand, it can also be used as a test case. Finally, it is also a user's learning tutorial.

First, the advantages of 2D/3D processing are relatively complete. In addition, the Demo shows a lot of parts that combine 2D and 3D, as well as the 3D UI, which is very attractive to me. After looking at the author's development route, the engine will support 2D skeleton animation and navigation path searching. It can be said that this engine is still a very good choice for 2D or 2.5D games.

Disadvantages:

1. It is not very convenient to operate the editor.

2. Use your own GDScript language. I don't quite agree with this. I will elaborate on my views. The author analyzed the advantages and disadvantages of the existing language and decided to develop a set of scripts on his own. For example, if lua and python are exported, it will be much more complicated than the core of GDScript. C ++ is of course a compilation language, which is inconvenient for development. C # is abandoned because of the open source protocol (Mono is LGPL. However, in my opinion, even if we discard or are compatible with some things, the significance of using lua, python, and javascript is greater than developing a scripting language. Not to mention that self-development means a lot of time and effort, and users will have a learning process. Taking lua as an example, mastering the syntax to write code can be done in a day or two, however, writing beautiful and efficient code or a large amount of code does not take a day or two to maintain the code correctly. This requires accumulation of experience. The self-developed scripting language means learning costs for developers. It is true that it is easy to get started for half a day, but it cannot be said about what kind of pitfalls will be encountered later. Besides, lua and javascript both have jit, which greatly improves the running efficiency on the android platform, which is not available for script development.

(To be continued)


Torque3D (http://www.garagegames.com/products/torque-3d)

(To be continued)


Torque2D (http://www.garagegames.com/products/torque-2d-1.8)

In addition to the editor framework and script, it seems that Torque2D and 3D have no direct connection. The same is true for all functions, but I feel that the most critical problem with this engine is to develop a set of Scripts like UDK. If you directly use a ready-made scripting language, such as python, lua, and javascript, it is easier to promote the engine.

(To be continued)


The above four are the complete open-source game engines I have found in the editor. In my opinion, the editor is not very important. Some editors are indispensable, such as the UI Editor, particle editor, and Scenario Editor. However, a full WYSIWYG editor is not required. In many cases, a clear development process is more important. Art uses 3DMax to create and export models, and plans to use and test these resources in the scenario editor to develop functions. As long as everyone makes good use of tools to solve their own problems. In addition, in terms of acceptance, it is much higher for you to give the fine arts a particle editor than to give the Fine Arts Unity and then tell him that you only need to pay attention to the particle system part.


Zookeeper
What game engine is Free and Open Source

Yes. We recommend OGRE. The famous tianlong Babu game is made by OGRE. Open source, free of charge.

Source code of Open Source 3D Game Engine

*****
* *** OGRE, full name: Object-Oriented Graphics Rendering Engine, Official Website: www.ogre3d.org/
*****
* *** OSG, full name: OpenSceneGraph. Official Website: www.openscenegraph.org/projects/osg
*****
* *** As a 3D engine, they have complete functions and are relatively easy to use. I have studied these two engines for a while and will be able to communicate with each other in the future. The biggest difference is that the former supports both Direct3D and OpenGL, while the latter only supports OpenGL. On the official website, the source code, sdk, samples (Development sample), wiki (help), and manual are all available. Open source is good!
Reference: sharing is a pleasant task.

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.