Blog Source: www.cnblogs.com/clayman/archive/2009/05/17/1459001.html
Clayman
Compared to playing games, writing games to complicate the shuffling, in addition to the need to master the general programming skills, but also a considerable graphics, physics, mathematics, especially in the domestic, because of the lack of relevant information, it is to let beginners do not know. The following summarizes some of the introductory methods and easier to start with.
First you must be proficient in a high-level language, the preferred language for PC gaming is C + +. Secondly, we should have good English reading ability. English reading ability is one of the most important and basic tools for game developers, because most of the resources you meet will be in English, not always waiting for others to translate for you. Slowly try to read the English material, you will find that it is not so difficult:)
Next, select a graphics API, such as DirectX or OpenGL. If you consider cross-platform, then Opengl,opengl ES (mobile platform) is preferred. If only on the MS platform, then DX is preferred. I do not know OGL very much, so the following large department information is related to DX. Of course, as part of the preparation, you first need to go to DirectX Develop Center to download the latest version of the DirectX SDK.
Update (2013.3.19) Note that the DirectX Library is now integrated into the Windows SDK, and some of the tools are also integrated into vs2012 and no longer have a separate DirectX SDK. But many examples are still only available in the previous DX SDK, the last version of the June 2010 release.
Introductory books are very important, recommended <<introduction to 3D Game programming with DirectX 9.0>> (as if the Chinese version last year) is the legendary Dragon book, this can be said to be the best dx introductory textbook, Frank Luna discusses all aspects of DX from the shallow into the deep. Also with <<directx 9 Graphics the definitive guide to Direct3d>>, although the title is definitive, but actually belongs to the basic Book of entry. After reading these two books, you are basically familiar with DirectX.
Update (2010.11.6): <<introduction to 3D Game programming with DirectX 9.0>> second Edition, "xxx, A Shader approach" can also be found.
Update (2013.3.19): "Introduction to 3D Game programming with DirectX xx" The DX10 and DX11 editions of this book are now easy to find.
Update (2011.10.23): Learn DX11 's Advanced books <<practical Rendering & computation with Direct3D 11>>, the best DX11 reference book.
Do not start to read the Book of graphics, this time you do not have a basic knowledge of graphics programming, so probably look at the foggy. Do not take online tutorials and forum questions as the main way to learn, find a good book, system learning, all kinds of examples are realized, the efficiency is highest. Don't look at the examples in the SDK right away, many of the fundamentals of graphics are simply not understood by reading the code. Some of the books that are too old are best * not * to see, such as <<windows game programming Master Tips >> <<3d Game Programming master Tricks >>. Some people say that basic ideas are always the same, but for modern GPUs, many early techniques and optimization techniques are obsolete. Only the software rasterizer section of these two books is more valuable, but for beginners, quickly use the modern API to implement some examples, but also to quickly establish a graphics rendering technology understanding.
Well, getting started is the stage where you consolidate and broaden your horizons. Now look at computer graphics is more appropriate. Vomiting blood recommended <<real-time-rendering>> This book is a must-read and reference manual for all graphic programmers, so be sure to look at the third edition. Recently the third edition (update: Already available in electronic version). All the other books in the country that have been named for graphics have one thing in common: boredom and obsolescence. Just take a look at one of the two-dimensional transformations and the part of the curved surface representation. If you find that you did not learn maths at this time, the following math books are tailored for game programmers and cover virtually all common mathematical and geometrical problems:
<<3d Math Primer for Graphics and Game development>>
<<mathematics for 3D Game programming and Computer Graphics 3rd>>
<<essential Mathematics Guide 2nd edition>>
<<geometric Tools for Computer graphics>>
Update (2010.11.6) after reading the above introductory books, you should take some time to read the DirectX document and some sample, deepen the understanding of the whole DX system, function. You will find that 60% of the questions in the General forum are in the documentation.
In fact, after the introduction, there is no fixed learning route, it is best to follow the direction you are interested in learning.
Shader aspects :
"Cg_tutorial" and "The Complete Effect and HLSL Guide" are good introductory materials and, of course, the SDK documentation. <<shaders for Game programmers and artists>> have a number of introductory examples. <<advanced Lighting and materials with shaders>> details the various lighting models and techniques. <<gpu Gems>> is definitely a must-read, although there are 1, 2 have Chinese version, but some translation is not very ideal, it is strongly recommended to read the English version directly. The Shaderx series is also a classic series, published every year, including the latest real-time rendering technology, now out of the 6th book. But you can only find the book on the Internet. 1, 2 volumes most of the shader are written in ASM, but it is not difficult to understand the principle and convert to HLSL. The Nvidia SDK and the ATI SDK are also important resources for learning shader. Finally, there are just out of the << programming Vertex, Geometry, and Pixel shaders>>
Update (2010.4.30): Shaderx has published the 7th book, the subsequent version for copyright reasons, renamed GPU pro:advanced Rendering techniques, still published annually. Update (2010.11.6): The wisdom of the people of the celestial world is limitless, and many new books of graphics can be printed on Taobao, including Shaderx, GPU Pro system, etc...
Update (2010.11.6): About Shaderx and GPU gems I am often asked if my older volumes value is not worth seeing, and what to do. Here is my personal opinion, for reference only: Shaderx and GPU gems are all in the forefront of technology, although there is no continuity between each, but a lot of technology is based on the previous method. If you have time, suggest starting with the first one. Both books belong to the proceedings, and there is not much continuity between the chapters, so you don't have to see the last page from the first page and select the part you're interested in. For example, if you are interested in shadows, just look at the relevant chapters of the shadow, and you can see that the entire shadow technology has been developing, changing, and valuable for nearly 10 years. In addition, many of the book's Cutting-edge, experimental technology, due to hardware limitations, usually 2, 3 years later, it is possible to popularize, now look at the former volumes is not too "outdated." Finally, the content of such a book involves the method of graphics, 2d,3d, image processing, AI, game architecture, GPGPU and so on, the scope is too wide, especially GPU gems compared to shaderx more emphasis on academic research, a lot of technology may not actually be applied to the product in the end, Some chapters do not understand also belong to the normal phenomenon.
Terrain:
<<real time 3D Terrain Engines Using C + + and dx9>> a very comprehensive discussion of various techniques for terrain rendering, at least the 5th to 9th chapter should be browsed through. You can then access the latest terrain rendering techniques in virtual terrain.
Update (2010.11.6): Often try to use the PIX to analyze games on your computer, terrain rendering is often the easiest part to analyze, and allows you to immediately understand the current popular terrain rendering methods.
Model Import and Animation:
<<advanced Animation with Directx>> this one is enough.
Update (2010.5.5): <<character Animation with direct3d>> has been easy to find, this book introduces the latest game animation technology, the author is xbox360 masterpiece Alan The developer of Wake can replace the one mentioned above completely.
Physical:
<<game physics>> and <<game Physics Engine development>> are good. <<real-time Collision Detection>> is the best book for collision detection. : <<3d Game engine Design, 2nd>> 8, 9 chapter is also worth a look, in addition, is a variety of open source collision engine, such as bullet
LOD:
<<level of Detail for 3D graphics>>
Ray Tracing:
<< physical-based rendering-from theory to implementation>>
Update (2010.4.30): A free introductory tutorial another Introduction to Ray tracing
Update (2011.10.23): This book has a second edition and has an electronic version.
engine design:
To be honest, there are no particularly good books in this area, probably the more core content, the less people will want to write about it. <<3d Game Engine Architecture Engineering real-time applications with Wild magic>> only the third chapter is worth reading. <<3d Game Engine programming>> can take a look at some of the chapters of interest, but generally speaking is relatively shallow.
Updated: <<3d game engine Design, Second edition>> out of a photocopy, this book is <<3d game engine Architecture Engineering >> updated version, highly recommended.
recently found <<pro OGRE 3D programming>> is also very good, more than 200 pages short and capable, but allows readers to quickly understand an existing engine design and architecture.
Updated (2010.7.15): The new Game Engine Architecture is very good, note the version of Jason Gregory. If you only recommend a book on the engine, it is definitely this, highly recommended!!
Update (2010.6.28): <<game engine gems>> is a new series on the design of engines, similar to Shaderx, and is a yearly one, and has already published the first book, which has an electronic version
AI & Game Programming
<<programming Game AI by example>> very good, as if there is also the Chinese version, alternative <<artificial Intelligence for games>> (already have a second edition). Of course <<ai Programming Wisdom>> series is also required to read the works, but the network is only one and a.
Update (2010.5.28): <<ai Game engine programming>> has been relatively easy to find, although it is a book of a misnomer, and does not fully introduce a "one for all" type of engine, there is no specific algorithm discussion, But for a variety of different types of game AI design is described in detail, can be used as a reference guide book selection reading.
network : mai%25##&% ... (I network idiot +_+ ...)
Comprehensive:
<<game Programming Gems>> series, but because the content is too extensive, the article quality is uneven, selective reading can be. Over the years, GDC, Gamefest,siggraph and other large-scale conferences paper also should be concerned about. As for those "all in one" or n days more than you write a FPS game book do not read, this kind of common problems are all said, the result of nothing to say clearly.
In addition to the book, we recommend some good network resources:
http://www.gamedev.net/In addition to a lot of tutorials, the forum has accumulated over the years content of Paul Vientiane. Make good use of the forum search, you will send no matter how strong you, there are always some stronger than you have a long time ago met with you the same problem, and gave a solution.
The developer Center for Nvidia and ATI
http://www.gamasutra.com/is similar to GameDev
http://www.beyond3d.com/here In addition to the discussion software, you can see the analysis of the hardware architecture
Of course, do not forget to collect the blog of the Big Forum Cattle People:)
Finally, just by reading is not enough, write more practice is the kingly way.
PS: The above books, in addition to the special note, are available through the network or bookstore start. Don't ask me for ebook, I can find, I believe you can find, you can't find, I certainly have no:)
PPS: If you want to transfer this article, at least you should keep the original link and the author .....
"Go" game programmer develop plan