I think that when I wrote this article to read Mr. Hou Jie's "Let's get down to MFC", I suddenly felt that I had some experience in game programming in the past few years in college, so I wrote this article, this section describes the tickets and source code references of game programmers in my eyes. First, it serves as a memorandum of understanding about your learning objectives for the next two years. Second, it may be of reference value to others. My principle is to write only the materials I have studied or prepared for the study. Therefore, the content is not suspected to be subject to strong personal preferences, such as being completely irrelevant to important aspects such as networks and databases. Because I mainly use 3D graphics engines, artificial intelligence algorithms, script systems, and anti-plug-ins (Anti-plug-ins? ^-^. This semester, computers are not connected to the Internet. Even this article has to be written in the Electronic Reading Room (movie screening room?) of the school library during the retreat of Yuelu Mountains (^-^ ?) Upload, the content is mostly written in memory,
If any error exists, please correct it. Programmers should iterate over and over again in theoretical learning and practical programming, so learning materials is one thing. It is better to believe in books than to have no books.
I. Books:
Algorithm and data structure:
Data structure (C language version)-yan Weimin and Wu Weimin Tsinghua Press
I think its related exercise set is even more valuable than the original book, and every difficult question is worth doing.
"Introduction to algorithms" Second Edition Chinese name "Introduction to algorithms"
According to the algorithm standard learning materials and engineering reference manual, the translation version of csdn was named the top 20 technology bestsellers of the year on the website last year, at the same time, "programmers" magazine opened the "algorithm middleware" column, these actions are traced back to the source, the so-called "it" industry, which is so impetuous in China, has produced a glimmer of hope. I can afford this thick book at a discount. Although he has made thousands of pages, he is easy to understand and understand. It can be seen that classic books are more readable than normal books. You can also find the MIT video tutorial. In the first class, the old professor smiled and followed by a long-haired ta class.
A selection of hundreds of skills in the C language name and question -- Yan jingguang Machinery Industry Press
The author spent a year collecting a variety of very skillful programming methods for common C program segments. The content is very promising and provides detailed references. For example, a common number of Fibonacci provides non-recursive solutions, rapid algorithms, and extended algorithms. The number of such algorithms goes deep step by step until there are several non-oily files that can be squeezed. For a game programmer whose speed is like life, and a common floating point number is converted to an integer, how can this problem be avoided?
Computer Algorithm BASICS (second edition) -- MA xiangxuan and other Huazhong University Press
I have seen some graduate students use it as teaching materials (it's a joke that graduate students only use algorithms ). This book is thin. In the words of the author, it is also "brilliant ". In fact, this book is the abbreviation of fundamentals of computer algorithms, but the original book has been published for too long and I cannot find it anyway.
The art of computer programming Volume 1-3
The author Donald E. knuth is one of the four masters in my mind tied to Feng nuoman, Dijkstra, and Shannon. This book was written by the author since I was a bachelor's degree and has been written as a doctor for ten years. Can be used as the core of computer technology-the ultimate reference manual for algorithms and data structures. There are also a lot of innovations, such as the common shell sorting, which puts forward the available (3i-1)/2 interval in the book, which makes it a little faster than O (N1. 5 ). Of course, this set of books is highly mathematical, so I am afraid that ordinary people (Me ?) It is best to read a Preliminary Mathematical book concrete mathematics? ^-^. Unfortunately, this set of books came out to the third volume and did not cover all common algorithm contents. However, for game programmers,
The more common algorithms are used, the less serious the loss is.
STL source code analysis-hou Jie Huazhong University Press
Hou Jie does not need to introduce it. The flagship of Chinese technical writers says it has a world-class level. I think this book is a sunflower collection of C ++ and data structures ). That is to say, it is hard to understand at least a few layers of hell, because it requires too much preparation knowledge, for example, STL, data structures, generic programming, and memory management must be solid (do you have to look at the book "Small memory software" called the memory management design pattern ?), But once you understand it, it will be invincible.
Data Structures for game programmers
Every data structure routine is a small game, and an algorithm demonstration system is implemented using the SDL library. Although the content is missing, at least people understand the role of data structures in the game.
Its real game programs are not more special than other programs, and even require more solid basic skills. Therefore, it is of great benefit to spend time doing exercises that seem unrelated to practical applications. In addition, some algorithms that are widely used, such as the * Algorithm and its variants, involve the search traveling and branch-Restriction Methods of graphs, i'm afraid I have to read some difficult papers to fully understand the application, such as Donald E. knuth's an analysis of alpha-beta cutoffs. In fact, there are many such good books, such as data structures and algorithms in C ++, programming pearls, and more
Programming pearls (algorithm pearl) and so on, I thought I had to read a more rigorous book, and then read a more casual book.
Assembly:
IBM-PC Assembly Language Program Design (2)
Classic textbooks in China.
The art of Assembly Language
This book has 1600 pages, oh!
C language:
The C programming language version 2
Although the length is short, every routine is classic. (Our teacher started to use it as a teaching material, and later it was replaced by Tan Xiaoqiang's C language book. The reason is: the example is full of text processing. I am bored. Isn't modern computer programs spending a lot of time on string and text processing ?)
C ++:
I have studied C language and C ++ again. Let's take a look at the abbreviated version of C ++ Primer:
Essential C ++
Get started with C ++.
C ++ common knowledge: essential intermediate Programming
There won't be any important knowledge points completely overwhelmed. Next
The C ++ standard library: a tutorial and reference
The standard library, of course, mainly refers to the standard learning Reference Manual of the standard template library, and then it is best to write programs while learning.
Aggressive C ++
I mean those books with Adjectives + C ++ with seven or eight books. Let's take a look. Rome was not built on a day.
("Essential C ++", "valid C ++", "more effective C ++", "accelerated C ++", "valid STL", and "predictional C ++ ", more than tional C ++, imperfect C ++, although the title format is similar, every book is not sloppy .)
Who said that C ++ programs are slower than C programs? Take a look at the following:
The design and evolution of c ++
Only by knowing its past can we know its future and use it.
Inside the C ++ Object Model
Expose the C ++ compiler model.
Efficient C ++ performance Programming Techniques
When algorithm optimization has reached the limit, you can finally look at this book before using assembly. Sometimes, both advanced and low levels can achieve the same thing.
There are also two special books:
Modern C ++ design: Generic programming and design patterns applied
The author wants to combine the design pattern with generic programming and write a Loki library that tries to provide everything for implementation. However, his point of view has not received a general response from the C ++ community. Even so, this book is still a model of combining cutting-edge ideology with practical technology.
C ++ template metaprogramming
Use the compiler as a calculator? This book introduces the MPL template metabase of the boost library. Of course, when talking about the boost library, game programmers can't help but mention the graph library, which can be viewed in the book "The boost graph library. In addition, the python library, known as the first commercial 3D graphics engine in China, uses the boost-Python library. To be honest, I think the starting engine is quite good. Although the self-made 3D editor has a simple interface, its functions are quite complete, and it is also good to use it as a teaching content for the game school. There is also a complete set of online game solutions, known as China's first self-developed online game solution. I saw the 3D editor. I thought this was not a foreign editor named freeworld3d? Although a little biased, I have tried to crack it before. The English interface is also simplified, probably
You can use the resource modification software such as exclusive. I wondered why I was looking for a freeworld3d editor that was not very powerful? Is it just because it is cheap to dozens of dollars? The only thing special about it is that it supports exporting the scenario format of the Ogre graphics engine. In this way, you can't help but doubt the "autonomy" of its graphics engine. This kind of "independent" R & D is really shameful, as long as there is no SourceForge website in China (it is said that it was previously blocked with FreeBSD website ?), Chinese people can develop independently.
Some people will also recommend books such as C ++ primer, thinking in C ++, and the c ++ programming language. It is true that these books are also good, but I always think they are too big. It is better to spend more time looking at good source code abroad.
Windows Programming
Operating System Concepts version 5
Some Operating System tutorials in China are actually abbreviated versions.
Windows 95 system programming secrets
I have thoroughly analyzed the various types of Windows operating systems. Some people love to read the Linux kernel complete notes, and others love to read the lyrical books like writing an operating system by yourself, however, as a commercial operating system, I want to analyze the Windows kernel to this point.
Programming applications for Microsoft Windows Version 4
First Process threads, then virtual memory management, and then dynamically link to the database. The message mechanism can be discussed at most. The author said in the preface: "I don't talk about ActiveX, COM, and so on, because when you understand these basics, those things will soon understand !" It can be used as a prerequisite for programming windows.
Computer System:
Computer systems: a programmer's perspective
In my mind, the art of computer programming and the art of computer are two great books in the history of computers. The principles of computer composition, operating systems, compilation, and compilation are as follows, computer networks and other courses are integrated into this huge book, because computers are a whole in the eyes of the author.
Open-source reading:
Code Reading: The Open Source perspective
Zhang dasheng copied several hundred pieces of Shi Tao's landscape in the Ming Dynasty, and painted the landscape in disorder. Later, he went to Dunhuang to copy the landscape for a few years. Then he came back to see great changes and eventually became a great family. In fact, Programmers spend 0% of their time reading others' source code. Mr. Hou Jie said, "There is no secret in front of the source code." He also said, "The world is a huge event, and it must be fine ", you can refer to his "yellow spring, source tracing experience.
MFC:
In-depth introduction to MFC
I really thought that most people who have not read Mr Hou Jie's "Let's get down to the source of MFC" would not understand MFC programming. In fact, I plan to write a three-dimensional editor for the game artist over a year, by the way, as my graduation plan. Use MFC for the graphics library. You have no choice. If you want to use wxWidgets, it is nothing more than a curious version, but it is not a flip version of MFC, of course, it is cross-platform. Just as the resistance hacker knows the parts of his firearms well, if you want to use MFC to write a non-toy program, you must understand its internal structure. Another book, called MFC, is not the same.
IDE:
Microsoft Visual Studio 2005 unleashed
To do well, you must first sharpen your tools. Of course, I think it is better to use your own brain with code readers and graphical tools like source insight, slick edit, and code visualizer. However, if the source code is too slow, you can use visual program X. If you are always writing similar code, you can use code Smith. Cppunit can be used for unit testing, and the testing framework in the boost library is also good. If you are in a mood, you can use Visual Studio's external intel compiler, which is embedded with stlport, but it is not a big project. If you do not need to perform performance analysis, use vtune.
Programmer's path:
Game journey-my programming sentiment (# Add is not good)
Cloud wind brother. In my mind, game programmers are the first to push the card mark abroad, and the first to push the cloud in China. Maybe two years later, I will go to Netease as an Assistant Programmer of Yunfeng. It's my dream. (^-^) he wrote this book only based on what he understood, so the content won't be cool and new, but believe me, every time I read it, there are new gains, but they are not knowledge-based. because knowledge is endless, it is better to teach people to fish than to teach people to fish. spiritual inspiration is a long term. As Yao zhuangxian, the main programmer and art guide of the classic game "Legend of the legend" Yao zhuangxian ", said in the preface, the entire Chinese national game industry will be promoted by knowledge.
Proverbs of programming experts (# Poor add)
Liang zhaoxin is the author of Haojie's super solutions. What every qualified Programmer (programmer rather than CODER) should master is now the exclusive rumor of a programming guru. I don't know whether it is the luck of the author or the sorrow of the Chinese IT industry. There are still a lot of knowledge points, but there are some microwords about the status of MFC. I really think that the reputation of MFC is something that people who don't know how to use it stink. However, the author's complaints are also excited. Every creative programmer should not like the framework.
Masters of Doom: how two guys created an empire and transformed pop culture
The names of these games have always been names. (Now camark has been focusing on rocket manufacturing, and luros has his wife and his home for seclusion.) If it weren't for the honors of camark and Abraham, the graphics master, maybe I still don't know why in the current game. Undoubtedly, the history of the computer industry is promoted by heroes. This book truly records the thoughts of these worldly heroes.
As a programmer, I am also very interested in these planning and art books. I used to program the 3DS MAX plug-in for a year or two. I think maxscript is better than maxsdk, after all, most of the data in game development is imported and exported in model scenarios.
Planning:
Creating emotion in games: the craft and art of emotioneering
What else do we need to grasp the players' hearts behind the magnificent 3D world with magnificent targets and the brutal killing and exciting plots? Right, that is, emotion. What is truly touching is deep in the bone marrow.
Ultimate Game Design: building game worlds
From the name, we can see that the building of outdoor natural scenes is quite desirable for level designers, especially those who talk about outdoor natural scenes.
Developing online games: an insider's Guide
Just like an anti-pattern book about software team operations, this book talks about commercial operations more than technology. A game programmer who has experienced great hardships and now has translated this book.
Artist:
Digital cinematography & directing
Digital photography Director, whenever you place a camera in a 3D creative software such as 3DS MAX or Maya to design its motion track, have you ever thought that you are also standing in the director's position?
The animator's getting Val Kit
Reading this book about the movements of cartoon characters produces the idea of studying "cats and mice, while continuing to show contempt for a recent report on a computer-generated auto-cartoon animation software in China, the report said the move could greatly accelerate the production of Chinese cartoon cartoons. I do not discuss technically whether it is being placed on a satellite. (In fact, I know very well that I have prepared the cartoon animation-Assisted Software for a year or two ), but how can computer mechanical animation replace human spiritual creations?
The dark side of game texturing
Using Photoshop to make texture maps is a bit of learning.
3D graphics:
In 3D graphics, we should first look at the textbooks for analytic ry, linear algebra, and computational ry in a down-to-earth manner. There should be no less exercise. Domestic mathematics books are quite good. The computation ry by Master Su buqing is a world-class design. Unfortunately, Chinese CAD macros have been compromised by piracy. It's time for us to take over the baton. It's time!
Computer Graphics geometrical tools
There are many algorithms and many leaks in "detailed explanation of computer graphics geometric tools and algorithms.
3D math primer for graphics and Game Development
Simple, can be used as a "fast food" for three-dimensional mathematics.
Mathematics for 3D game programming & Computer Graphics Version 2
It is more in-depth than the above one, proving that the mathematical spirit of reasoning is also more intense. It can be used as a bridge between professional mathematical books and programming practices. Wide-ranging content, ray tracing, light computing, visual cropping, collision detection, Polygon technology, shadow algorithm, rigid body physics, fluid water waves, numerical methods, curve and surface, which is rich enough.
Vector game math Processors
If you want to learn MMX and SSE, let's take a look at it. But from the basics, be patient.
DirectX:
Introduction to 3D game programming with DirectX 9.0
The simple example framework written by the author of the Dragon book getting started with DirectX. I will simply use the state mode to tie all the examples together.
Beginning direct3d game programming
After obtaining a lawyer's degree, the author became a game programmer. It's really strange. Although this book is positioned as an entry-level book, its content has unique merits. It uses the dxsdk sample framework instead of the currently accepted dxut. There are two ways to compile, one is to rewrite it into dxut. Second, find the old sample framework. I am too lazy to download the entire early version of DirectX for an example framework. Later I found it in NVIDIA SDK 9.5.
Advanced animation with DirectX
DirectX advanced animation technology. Skeleton system, gradient Key Frame Animation, doll technology, facial expression deformation, particle system, cloth softening, dynamic material, not all. I often think about the effects exported from 3D creative software, which are converted into a pile of text or binary files, encrypted, compressed, packaged, unwrapped, unzipped, and decrypted, and then re-built a lite animation System Using game programs, gaming programmers are also really hard.
OpenGL:
Nehe OpenGL tutorials
Although it is a Web tutorial, it is no better than a formal book. Learning OpenGL is nothing more than reading hundreds of C function documents. If the basic knowledge of graphics is solid.
OpenGL shading Language
OpenGL supports the latest graphics technology, which relies on hotfix and makeup extension.
NVIDIA OpenGL extension specifications
Let's see.
Focus on 3D Models
Focus on 3D terrain Programming
Focus on curves and surfaces
As the name suggests, although the three articles are not very deep, we still need to look at them before performing reverse engineering on the unknown 3D model format and studying the geomipmapping terrain algorithm paper before CAD, if you haven't gotten the basics from somewhere else.
Script:
First look
Game scripting mastery
After understanding the structure of the virtual machine, you can design a simple script to explain the execution system.
Check the manuals of Python, Lua, and Ruby. It will take half a second.
Programming role playing games with DirectX 8.0
While teaching, I used DirectX to write a gamecore library, which was initially engine-oriented.
Isometric game programming with DirectX 7.0
3D is also based on two dimensions. This is why this book is worth reading.
Modeling and Implementation of Visual C ++ online games
Written by lianzhong's programmers, he has a solid skill in programming chess and card games, especially UML modeling and rotional rose.
Object-oriented Game Development
Use someone's words: "I like this book ."
Shader:
For more information, see
Shaders for game programmers and artists
This article describes how to write shader in rendermonkey using HLSL advanced coloring language.
Check again
Direct3d shaderx: vertex and pixel shander tips and tricks
Uses the Assembly coloring language, the sterling silver chijin.
Three Treasures:
Game programming gems
I only saw 1-6 books. It is said that 7th and 8 books have also come out? The accompanying source code often has bugs, but it cannot be concealed. This annual technical collection of the world's top game programmers involves various aspects of game development. I think developers with rich development experience can find resonance in it.
All five copies of graphics gems
Graphics programming Bible. After reading this set of books, you will understand the differences between scientists and engineers in the computer field. Scientists always say this is theoretically feasible. Engineers will say that to solve the problem within the time limit of logn, I can only give up and simplify the problem.
Two GPU gems releases
NVIDIA convened a graphic written by gurus. On the day I understood it, I also ran to the Siggraph International graphics conference to submit an article for luck.
Game Engine programming:
3D Game Engine Programming
It is an explanation of the zfxengine design philosophy. It is very plain, and there are too many surprises.
3D Game Engine Design
The theoretical knowledge of mathematics and physics is explained a lot. This is enough. Can you expect more?
Artificial Intelligence:
AI techniques for game programming
Genetic Algorithms and artificial neural networks are mainly used in-place arrays and graph algorithms. The prototype of the book is based on the content posted by the author on the gamedev.net forum.
AI game programming wisdom
It is equivalent to gems for AI programming.
PC game programming (man-machine game)
Based on the chess program, this paper introduces many search algorithms, except common extreme minimum Algorithm and its improved negative maximum algorithm, as well as deep priority search. It also provides a variety of improved algorithms, such as alpha-Beta, fail-soft alpha-Beta, aspiration search, minimal window search, Zobrist hash, iterative deepening, history heuristic, killer heuristic, SSS *, dual *, MFD and more. it is rare to see a wide array of data.
Plug-ins:
Data encryption and decryption (version 2)
Is the cracking serial number related to the anti-plug-in? However, which two things in the world are irrelevant?
UML Distilled Martin Fowler
Many people did not really understand UML until they read this book.
Martin Fowler is a real master. From the early analysis model to the essence of UML, he proposed revolutionary reconstruction. Later, he wrote a book on enterprise model. I am now leading a software development consulting company. He came to China as an expert at the javaone China conference last year. Personal Website: martinfowler.com
Three muskeys in the design mode:
Design Patterns elements of reusable object-oriented software
Design Patterns explained
Head first design patterns
Restructuring the three axes:
Refactoring: improving the design of existing code
Refactoring to patterns
Refactoring workbook
Software Engineering:
Extreme Programming explained: Embrace change Version 2
Among them, the value of simplicity is really confusing, which is why I like lightweight.
Agile Software development principles, patterns, and practices
Agility is really hot enough, and even companies are agile enough to say, but the Masters won't be so advertising.
Code complete version 2
Famous Books.
Mathematics:
Loss of mathematics and certainty M. Klein
It turns out that mathematics is nothing more than human invention and speculation, and it is not necessary to enter the temple. I think that so many scientists (mostly mathematicians) who don't eat human fireworks in history think they have discovered the mysteries of cosmic operation, it's time to go down the altar.
Physical:
General physics book 1 + = physics for game developers
I think that's all about physics. I can use the Newton engine and Ode to make full use of physx when the PPU of the physical card is popularized, I have watched the latest cell division game demo, where thousands of Box crazy collide players are drooling while touching their wallets.
Ii. Open source code:
Irrlicht
The famous ghost engine was first seen two years ago. This lightweight 3D graphics engine liked it. The source code is elegant, efficient, and straightforward. It is worth reading by every C ++ programmer, not limited to graphic programmers. There are also a lot of lightweight things around it. Such as lightfeather extension engine, ice, irrlichtrpg, irrwizard. irredit, irrklang, and irrxml are available. (This may be because of efficiency. Many open-source authors prefer to write their own XML parsing libraries, such as the irrxml library above, even if the existing tinyxml library is available. This will really make Tomcat plug axis and axis plug juddi, like Java of Russian doll toys
Web Service coder .)
Ogre
The No. 1 Open-Source graphics engine, of course, has a large scale and a large number of surrounding areas. In addition to ogrestudio written in C #, ofusion embedding 3DS MAX as a wyswyg-style 3D editor is also awesome, especially in some of its scenarios and terrain plug-ins. So that the book "Pro ogre 3D programming" focuses on its usage. Sohu's tianlong Babu game uses it as a graphics engine. Of course, it has also developed an engine plug-in. I knew that there was a Chinese programmer in the Ogre development group who had done traditional software programming for many years. The error message of the graphic module of tianlong Babu game contains a list of working directories of a programmer. A folder named "thank you"
According to the English name, I infer that Xie programmer is the main process of Sohu Beijing. It seems that China has contributed a lot to the open-source business. Wang's efforts will not be wasted! (^-^) However, some of my detection methods are similar to website database brute-force attacks.
Raknet
The Udi-based network library also supports sound transmission. We will try it out with openvision later.
Blender
The most prestigious open-source 3D animation software has brought a game engine. Although the operation is driven by shortcuts, it requires hundreds of shortcuts to be used. But as a light cavalry threatening 3D business giants from commercial code to open source, after ten years of tempering, the code can reach millions of lines. This code should only be available in the sky, how can it not be used as a long-term source code reference?
Fengsoul
Two-dimensional graphics library. The famous masterpiece of Yunfeng. Although it does not represent its highest level (the highest level is saved as the commercial code in the Svn of Netease interaction in Guangzhou), you can also admire it.
Legend of the holy sword
2d RPG. Several authors have become the main programmers of Chengdu jintian. Jin Tian's boss has made a fortune from 1 million, and has been worth more than million yuan in three years. This code can also be used as a student's work a few years ago, because a project is well-rounded and doesn't have to be a brilliant module. I don't have time to write such a stuff. I can't even find an artist. I can only think about cracking others' resources all day (^-^ ).
Boost
C ++ quasi-standard library. I want to learn more about its source code.
Yake
The best lightweight game framework I 've ever met. I used to change the graphics engine in a project from irrlicht to ogre. In my opinion, the ogre peripheral project is very swollen, and it looks similar to the Linux kernel without comprehensive documentation. However, this yake engine is quite popular. It uses an FSM finite state machine as the scheduling core of real-time programs, and then each module provides an interface for physics, graphics, networks, scripts, guis, input, and so on, interfaces are then provided to each Open Source engine, and then connected to the specific engine. Through this layer-by-layer abstraction, you can connect to the Newton engine, Ode or pysx, or the ogre or Crystal
Either space or irrlicht can be used; either raknet or libcurl can be used; python, Lua, or Ruby can be used, cegui or others, OIS or others, can't remember others. Therefore, yake is not the periphery of ogre. Although all the people who use neoengine turned to it, the version is still very early. In particular, I think that this abstraction must be included in the study. The interfaces of interfaces open the thinking from the specific binding, while the abstraction must be limited during development, as Cai xuexiao said in "Java sleep", oooo (object-oriented allergic obsessive-compulsive disorder) can also be used too frequently ).
Quake doom Series
It is said to be classic, and the open-source hacker spirit such as camark is worthy of approval. Release the commercial source code and follow the path of innovation to let others pursue it. However, the 3D editor of quake and Unreal Engine is the first of all the editors.
Nvidia sdk 9.x
A treasure of Three-dimensional graphics programming. These examples of diret3d and OpenGL are used to demonstrate their latest graphics technology. Hardware vendors often don't care much about software products. The source code shows you how to use things for you. After learning it, you have to buy my hardware. The intel compiler and physx physical engine are similar. Will Havok give its Havok physical engine free of charge to others? Not to mention the trial version, not even a demo can be seen. Therefore, the content of this SDK is much more cool than those of the entry-level examples in the MS DirectX SDK. I was lucky enough to know what it was like in March. However, the video card must be so-so. Two or three of my geforce 6600 cannot run well.
Iii. Website:
Www.csdn.net
Programmers base camp. Soft articles and new technology shows are annoying. Blogs and communities are the essence.
Www.gameres.com
The game programmer base has something in the document library. Will the recipient seabug of the contribution be the same person as the master seabug of the hero of the holy sword? Is there time for a master in Chengdu to maintain the website? I don't know.
"How to play games" website
The name is personalized, And the webmaster came out after years of development in the industry.
Www.66rpg.com
There are a lot of two-dimensional game image resources. You can also play rpgmaker software, which is promoted by Liu, the webmaster. But it cannot be taken seriously by professional developers.
Www.gamedev.net
There are many enthusiastic foreign experts in the Forum.
Www.sourceforge.net
Needless to say, the world's largest open-source code library, how can I return to Kingsoft empty-handed? The foreign student projects are just as elegant as they are. (DirectX is a student program in the UK. It is still regarded as unqualified at school .)
Www.koders.com
The source code search engine supports regular expressions, which are also available in Google lab. When you cannot write a function, you can check how the open source code is written. Of course, it is only for reference. The open source code may not have the strength of production grade. When it comes to Google, you can read Google power tools Bible, and you will find that many Google products have been widely used.
After writing this article for a full day and a half, I couldn't help but admire the long-term hard work of technical writers like Hou Jie. It seems that books or software should respect the intellectual work of the author or programmer.