When you were playing Chicken, King of Pesticide, did you ever think about how to make such a fascinating game?
The direction of game development seems to have a very clear goal, but in fact it is a very broad field. If you don’t get some guidance when you get started, it is easy to go astray. On the contrary, if you have not taken this path before If you can get some guidance from predecessors, you can get twice the result with half the effort. Here are some recommendations for everyone for reference.
Game client learning route
1. First of all, you may have no idea about the game engine at the beginning. , it is recommended to get started with one or two game engines first (I recommend learning Cocos2d-x and Unity3D first. Most games on the market are developed using these two engines). What you need to do in the entry stage is to read the engine's tutorials (books, videos, online blogs, online tutorials, official help documents, etc.) and become proficient in the programming language used by the engine.
Recommended course: C# tutorial.
Because the performance under different platforms is different and the supported programming languages are also different, the popular game engines for different platforms are also different. Here are some popular game engines.
Windows or game console: [Unreal], Frost, CE3
Apple IOS: [unity3D], [cocos2d-x], [Unreal], sparrow, sprite kit.
Android: [unity3D], [cocos2d-x], [Unreal], AndEngine, libgdx.
Webpage: [Egret], [cocos2d-js], Fancy3D, unity3D.
Of course, it does not mean that game development on different platforms has nothing in common. Learning this will be useless on another platform. That's not the case. The further you go in the programming world, you will find that the essence of many things is similar. For example, if you have a solid understanding of the basic syntax of C, it will not be difficult to switch to Java language in the future, because Their essential object-oriented features and various programming language features are the same.
2. Because game development is an art of real-time rendering, it is inseparable from the learning of graphics libraries. The current mainstream graphics libraries are DirectX 11 for the Windows platform and Opengl for the general platform. You need to get started with at least one of these two graphics libraries.
3. Then, you can start reading computer graphics books. If you find that your theoretical foundation is insufficient, you need to supplement your knowledge of linear algebra, basic calculus, and 3D mathematics at this time.
4. The game engine contains various parts, and the rendering above is only a part of the game engine. There are others such as shader writing, terrain writing, physics engine writing, models and animation, artificial body design, network programming, etc. After completing the basic learning of the rendering part, you can choose the part you are interested in to specialize in. After all, we Most of the time, actual work is team development rather than working alone. Everyone should be proficient in what they are good at.
5. At this point, developing a small game on your own is no longer a problem. It also has the ability to join the company to jointly develop a large-scale game.
Game Server Learning Route
1. First, you need to be familiar with a server language, such as C/C, PHP, etc., and use a development framework.
2. Be able to build an environment on the server. Take lamp as an example, the roles played by Linux, apache, mysql, and php must be clear. Most servers will choose to be built in a Linux environment, so you also need to be familiar with Linux operating commands.
3. Be familiar with at least one database. For example, in the relational database MySQL, being able to skillfully write addition, deletion and modification statements and not very complex query statements is also required. For example, database skills such as understanding the differences between various methods of multi-table queries are also needed.
4. Understand network programming and multi-threading, etc. For example, http communication protocol. Cross-platform interaction generally uses http, which requires a general understanding. You need to know what parts of the request message usually contain and the corresponding meanings of common server return codes.
5. Will use at least one data format. The server and client have established a connection, and the transmission of data also requires a protocol format to unify. json is currently the most commonly used format. The data format of json is simple, clear and easy to learn. The main thing is to understand how to use it to better define the interface.
Regarding the learning route, I think it is very useful for learners, especially beginners. It functions as a map to prevent you from getting lost in the vast jungle of knowledge, or even giving up on 99 % The place.
The above is the detailed content of What to learn to develop games. For more information, please follow other related articles on the PHP Chinese website!