It's been so fast, and in the twinkling of an eye it's already in March 19. I remember a hot talk before the end of last year, saying that this year would be the top 100 game programmers in China. Today, I am a little scared. I am afraid that it will be 2015 in the twinkling of an eye. According to the qq algorithm, I will be 28 next year! --
So let's simply list the learning plan. I think the priority of this plan should be higher than that of the job. Of course, the work plan must also be completed.
There are a lot of things to learn. Let's take a look at the class first, sort it out, and tentatively set this. Of course, this is not the end of this year, unless it is a fairy --
Certificate ----------------------------------------------------------------------------------------------------------------------------------------------------------
1. Games
Cocos2d-x, genesis-3d, mygui, orge3d, n3, 3d graphics (all mathematical formula derivation), kazmath, opengl, mesa, something unique to 3d games (light, shadow, material, skeleton, normal, special texture, cropping algorithm, terrain, tree, vegetation, halo, water, post-processing, shader, printing ......), 2d Physics (rigid body, soft body, fluid), 3d Physics (rigid body, soft body, fluid), 3d game engine architecture, advanced gpu programming, gpgpu
2. Language
C ++ object model, c ++ template (template meta-programming, template derivation), stl source code, atl source code, and com Development
Lua source code, luajit source code, tolua ++ source code, lua Editor, compiler, and single-step debugging tools ......
Objc Object Model
Assembly and reverse (Disassembly tool development)
Compiler: Compilation Principle, loader and linker, learn about common abi
Mainstream languages aot and jit compilation implementation (java, c #, as, lua, oc, c, c ++, js)
Js v8 engine source code
Java jvm source code
Other scripts: shell and python
3. Algorithm
Data structure, sorting algorithm and six basic algorithms, artificial intelligence (pay special attention to emotion engine and other sim)
Various Pattern Recognition Algorithms
Machine Learning
Digital Image Processing Algorithm
NE10 (it should not belong to the algorithm. It is here for the time being)
4. Platform
Common android APIs, ios private APIs and common APIs, source code of the in-house purchase cracking tool, and pc Implementation of mobile Assistant
5. Debug
Advanced debugging skills and implementation principles
6. Mode
Posa, gof
7. encryption and decryption
8. Operating System
Windows kernel, linux kernel source code, android operating system source code, darwin source code, and linux environment programming
9. Network
TCP/IP three-volume, ace two-volume, windows Network Programming, linux network programming, nginx server, tomcat source code, posa common Network Model
10. Database
Mysql development, mysql source code, database implementation principles (implementing a small database management system), pay special attention to various database locks, indexes, stored procedures, and SQL Optimization
11. Processes and threads
12. Memory Pool Algorithm
12. Miscellaneous
Scaleform source code and other open-source flash or as resolution rendering engines
Certificate ----------------------------------------------------------------------------------------------------------------------------------------------------------------
For the time being, let's write so much. In fact, there are a lot of things, but they will be eliminated if you don't study, and I don't like to be eliminated.
Well, after planning, first, work-related things must have the highest priority, second, interest-related, and second, internal training-related preparation.
The red-hot scenes are all things that must be learned and mastered this year! So don't talk to others! Don't worry about the unit sb! Hurry up and hurry up! In the future, you will have to get up at every day. Even if you stay up late until, you will have to get up before. On weekends, in addition to working overtime and accompanying your wife, all the other time is used to read books!
Certificate ----------------------------------------------------------------------------------------------------------------------------------------------------------------
Cocos2d-x, genesis-3d, n3, mygui are work needs, read-through source code should be not a problem. Since the android so is being optimized recently, the loading and linker are given the highest priority. This week we will take a look at this book. (Linking and loading are really good books !)
Other priorities:
Link and load => [3.20 ~ 3.23]
Socket (simple implementation, blocking, and non-blocking Models Related to win32 and linux clients, so I am not going to study network protocols, iocp, epoll, and other complex things for the moment) => [3.24 ~ 3.30]
Lua-related source code (excluding debug) => Lua source code [3.31 ~ 4.27], tolua ++ source code [4.28 ~ 5.18], luajit source code [5.19 ~ 6.1]
Processes and threads (mainly win32 threads and pthreads) => [6.2 ~ 6.29]
Memory Pool algorithm (learning efficient memory management) => [6.30 ~ 7.13]
Common android APIs, common ios APIs, and private APIs (mainly for the technical support of the platform or related tools) => [7.14 ~ 8.31]
3d game engine architecture (design ideas and necessary modules) => [9.1 ~ 9.21]
3d graphics (mainly to manually deduce each formula, combined with Kazmath) => [9.22 ~ 11.23]
OpenGL Red and Blue Books (combined with mesa source code) => [11.24 ~ 12.28]
You can study algorithms and design patterns during work hours. In any case, you need to prepare for training.
Linux programming and network programming both need to be learned. Otherwise, some server personnel in the Organization will make you uncomfortable. Who makes you a client and a server, f ** k. There are also tcp and web servers in the middle of 2015. 3d projects will be launched at the end of the year. A year ago, we must have done something about 3D. The specific learning plan will be finalized at that time. There will be a lot of 3D things, and the project requirements will be settled at that time.
Well, I said that this year, if you don't eat or go to bed, you won't be the top 100 game programmers in China, but you can do the top 1000 ~ Cheer yourself up ~~~~~~