Video link : Introduction to game development ( One ) Game development overview <http://gad.qq.com/content/coursedetail/7172905>(3 Class
often : about 1 hour 03 minute )
This video introduces some basic knowledge around the development and development of video games , At the same time, several problems are put forward and solved

Notes and summary ( Please learn the video content first ):

1. Game development

* 20 century 70 The beginning of the S First mainframe magnavox odysse
* 80 years Red and white machine
* 80-90 years All kinds of non FC host (PS,NDS etc. ) PC Single player game
* 90 years -2000 year LAN battle game
* 2000 Years later Large multiplayer game Webpage Game Mobile Games
* Now? VR,AR ..
2. How games are developed , What is the development process ?
The original game is rough , There's very little content , Generally developed by one person , Art and planning are done by ourselves ( Suggestions 《doom The Book of Revelation 》).
As the game gets more complicated , Need more than one person to cooperate , The division of labor has become obvious . The simple process is as follows :

* a. First, discuss the basic content of the game , Type, etc , File game projects
* b. Programmers build the most basic game framework , Single machine or online game , What platform ( At current , Some very simple games demo You can also skip programming , Use game engine directly )
* c. Plan to design and build game details ( Including the plot , take laws and regulations lightly , Level , numerical value , System, etc )
* d. Art needs a game world conceived according to current planning , Provide the right artistic effect ( Including the original painting , Model , Special effects ,UI, animation , Scene, etc )
* e. program , Fine Arts , Plan the continuous communication among the three parties to improve the game content and constantly test and optimize ( This is the most time-consuming process )
be careful : Planning here is more than just thinking about how to play the game , We also need to make various configurations for the interfaces left by the programmers , Because the requirements of the project change too frequently
* f. After the game content is basically completed , Quality inspection and other personnel are required to start the test , Programmer repair Bug
* g. After a certain test of the game , release . At the same time, it is handed over to the operation and maintenance personnel for basic maintenance , There must be bug, All functional personnel should cooperate with each other
2. What technologies are needed to develop games ?

* a. Basic qualities required as a programmer : Including basic language programming , In depth understanding of language features , Understand computer related Fundamentals , Design mode, etc
In fact, in this area, it's hard for many people to reach the standard , But we can improve our skills while playing games
* b. To build a game, you need to understand the relevant technologies of different platforms , But it doesn't need to be too deep
* c. Need some knowledge of engine , Be familiar with the use of engine functions as much as possible
* d. Common script technology (lua etc. )
* e. along with 3D Game development , It is necessary to have a deep understanding of graphics and image knowledge ( Mathematics involved , Very complex and huge modules )
* f. Network game needs to master basic network knowledge (TCP/IP,Socket,Http), Understand synchronization mechanism
* g. Animation technology
* h. Know how to use physical engine
* i. Basic scene management technology
* j. AI Related technologies , Most of the AI It's still relatively simple , No machine learning required
3. What is the general responsibility of programmers ?

* a. Achieve planning requirements ( Mostly logical requirements )
* b. Provide internal tools , Accelerate development . For example, the current engine does not support some NPC Object highlighting , Unable to drag resources into the game and other functions , Need programmer to provide Improve development efficiency
* c. repair Bug
* e. Optimize the experience , That is to say, performance optimization , Increase frame rate , Reduce memory overhead, etc
Large companies at present , There are many kinds of programmers ( Generally divided into logic programmers and engine programmers ), There are also differences in what is done .
Logical procedures are generally frequent communication with planning , Procedures for direct development of project requirements
Engine program is generally to study engine function , Optimization engine ( Prompt performance , Improve performance, etc ), But it's not absolute .

4. How to play ( proposal )

* a. Lay a solid foundation ( language , data structure , algorithm , network , operating system , Graphics, etc )
* b. Have a basic understanding of game development , I suggest that you read the video of this series according to my article ( If you don't understand a noun, check it , To study ), Then read through the game engine architecture
* c. practice ! Choose a game engine and develop the game demo, Refer to other games demo, Try to apply the learned game knowledge as much as possible . Think more , Multiple understanding
* d. Find ways to enter the industry , Learn from projects . If there's a chance ( There are many opportunities for new students ), You can join the industry as long as you have enough program foundation
5. What is the gap between novices and real developers ?
The most important thing is experience , The technologies mentioned above are all general , Every aspect is an infinite pit . Novices usually only use it, but they don't know why ,
Really experienced developers don't just use , It can even imitate a set of almost the same framework and improve it , There are more solutions to problems .

Previous : Introduction series of game development ( catalog ) <http://blog.csdn.net/u012999985/article/details/79118198>
Next : Introduction to game development ( Two ): Design patterns in the game
<http://blog.csdn.net/u012999985/article/details/79090524>

Original link ( Reprint please indicate ):http://blog.csdn.net/u012999985/article/details/78797928
<http://blog.csdn.net/u012999985/article/details/78797928>