From e91d92a64ce243f839dad651a02206c16935d97c Mon Sep 17 00:00:00 2001 From: Yaukey Date: Sun, 19 Mar 2017 19:31:31 +0800 Subject: [PATCH] Update zh-cn version of book link to amazon. --- game-programmer-zh-cn.dot | 1586 ++++++++++++++++++------------------- 1 file changed, 793 insertions(+), 793 deletions(-) diff --git a/game-programmer-zh-cn.dot b/game-programmer-zh-cn.dot index 2c1c725..d4c623e 100644 --- a/game-programmer-zh-cn.dot +++ b/game-programmer-zh-cn.dot @@ -1,793 +1,793 @@ -digraph { - compound=true - fontname="Futura" - fontsize=20 - margin="0,0" - ranksep=0.25 - nodesep=0.15 - penwidth=0.5 - labeljust="left" - bgcolor="#666666" - - style="rounded,filled" - color="none" - fillcolor="" - node [fontname="Helvetica-Light", fontsize=10, shape=none, penwidth=0.5] - edge [fontname="Helvetica-Light", fontsize=10, arrowhead=vee, arrowsize=0.75] - - subgraph cluster_toc { - style=invis; - - edge [color="#cccccc"] - - { - node [fontcolor=white] - - toctop [fixedsize=true,width=8, height=3, shape=plaintext,label=< - - - -
游戏程序员的
学习之路
Milo Yip
2016/12/20
https://github.com/miloyip/game-programmer
- > URL="https://github.com/miloyip/game-programmer"] - tocbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - } - - { - node [shape="box", style="rounded,filled", fixedsize=true, width=3, height=0.5, fontname="Futura", fontsize=10] - - kid [color="#edc5ce", label=< 0. 编程学前班>] - cs [color="#edc5c5", label=" 1. 计算机科学"] - proglang [color="#eddac5", label=" 2. 编程语言"] - softwaredev [color="#ebebc6", label=" 3. 软件开发"] - math [color="#d9ebc6", label=< 4. 游戏程序员的数学课>] - gameprog [color="#c5edc5", label=" 5. 游戏编程"] - gameengine [color="#c5ede1", label=< 6. 游戏引擎开发>] - cg [color="#c5e1ed", label=" 7. 计算机图形学(CG)"] - audio [color="#c5cbed", label=" 8. 游戏音效"] - phyanim [color="#d7c5ed", label=< 9. 游戏物理和动画>] - ai [color="#edc5ed", label=< 10. 游戏人工智能(AI)>] - multiplayer [color="#edc5d7", label=< 11. 多人游戏编程>] - } - kid -> cs -> proglang -> softwaredev -> math -> gameprog -> gameengine - gameengine -> cg -> audio -> phyanim -> ai -> multiplayer[style=invis] - gameengine -> { cg; phyanim; ai; audio; multiplayer} [tailport=e, headport=e, constraint=false] - - toctop -> kid [style=invis] - multiplayer -> tocbottom [style=invis] - } - - edge [style=dotted] - - subgraph cluster_legend { - fillcolor="#dddddd" - label=<
Legends
> - node [shape=none, fixedsize=true, width=2, height=0.25] - - legendA1 [label="推荐路线"] - legendB1 [label="可选路线"] - legendA2 [label="", height=0.01] - legendB2 [label="", height=0.01] - legendA1 -> legendA2 [minlen=2,arrowhead=normal, style=solid] - legendB1 -> legendB2 [minlen=2] - - legendtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - legendbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - legendtop -> { legendA1; legendB1 } [style=invis] - { legendA2; legendB2 } -> legendbottom [style=invis] - } - - subgraph cluster_kid { - fillcolor="#f9ecef" - label=<
0. 编程学前班
> - - { - node [shape="box", style="rounded,filled" color="#edc5ce"] - { - rank=same - age5 [label="从5岁开始"] - age8 [label="从8岁开始"] - } - kidintermediate [label="中级孩童游戏编程"] - } - - scratchjr [label=<
The Official
ScratchJr Book (2015)
> URL="https://www.amazon.com/dp/1593276710/"] - - codinggamesinscratch [label=<
Coding Games
in Scratch
(2015)
> URL="https://www.amazon.com/dp/1465439358/"] - superscratchprogadv [label=<
Super Scratch
Programming Adventure!
(2013)
> URL="https://www.amazon.com/dp/1593275315/"] - learntoprogramwithscratch [label=<
Learn to Program
with Scratch
(2014)
> URL="https://www.amazon.com/dp/1593275439/"] - helpyoukidswithcomputercoding [label=<
Help Your Kids
with Computer Coding
(2015)
> URL="https://www.amazon.com/dp/146541956X/"] - - inventgamepython3 [label=<
Invent Your Own
Computer Games with
Python 3rd Ed (2015)
> URL="https://www.amazon.com/dp/1503212300/"] - makinggamespython [label=<
Making Games with
Python & Pygame (2012)
> URL="https://www.amazon.com/dp/1469901730/"] - learntoprogramwithminecraft [label=<
Learn to Program
with Minecraft (2015)
> URL="https://www.amazon.com/dp/1593276702/"] - adventuresinminecraft [label=<
零基础学Minecraft编程
(2015)
> URL="https://book.douban.com/subject/26613247/"] - "3dgpforkids" [label=<
3D Game Programming
for Kids (2013)
> URL="https://www.amazon.com/dp/1937785440/"] - - age5 -> scratchjr -> age8 - age8 -> codinggamesinscratch -> helpyoukidswithcomputercoding -> kidintermediate [arrowhead=normal, style=solid] - age8 -> superscratchprogadv -> learntoprogramwithscratch -> kidintermediate - - kidintermediate -> inventgamepython3 -> makinggamespython - kidintermediate -> learntoprogramwithminecraft -> adventuresinminecraft - kidintermediate -> "3dgpforkids" - - kidtop [fixedsize=true,width=8,height=0.01,style=invis, label=""] - kidbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - kidtop -> {age5; age8} [style=invis] - adventuresinminecraft -> kidbottom [style=invis] - } - - subgraph cluster_cs { - fillcolor="#f9ecec" - label=<
1. 计算机科学
> - - { - node [shape="box", style="rounded,filled" color="#edc5c5"] - rank=same - foundation [label="计算机基础"] - algorithm [label="算法"] - csmath [label="计算机数学"] - } - - sicp2 [label=<
计算机程序的构造和解释
(2004)
> URL="https://book.douban.com/subject/1148282/"] - csapp3 [label=<
深入理解计算机系统
(原书第3版)
(2016)
> URL="https://book.douban.com/subject/26912767/"] - caaqa5 [label=<
计算机体系结构
(2012)
> URL="https://book.douban.com/subject/20452387/"] - mos4 [label=<
现代操作系统(第3版)
(2009)
> URL="https://book.douban.com/subject/3852290/"] - - clrs3 [label=<
算法导论(原书第3版)
(2012)
> URL="https://book.douban.com/subject/20432061/"] - algorithms4 [label=<
算法(第4版)
(2012)
> URL="https://book.douban.com/subject/19952400/"] - - concretemaths2 [label=<
具体数学
(2013)
> URL="https://book.douban.com/subject/21323941/"] - computationalscieng [label=<
Computational Science
and Engineering (2007)
> URL="https://www.amazon.com/dp/0961408812/"] - - foundation -> { sicp2; csapp3 } -> { caaqa5; mos4 } [arrowhead=normal, style=solid] - algorithm -> clrs3 [arrowhead=normal, style=solid] - algorithm -> algorithms4 -> clrs3 - csmath -> concretemaths2 -> computationalscieng - - cstop [fixedsize=true,width=8,height=0.01,style=invis, label=""] - csbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - cstop -> { foundation; csmath; algorithm } [style=invis] - caaqa5 -> csbottom [style=invis] - } - - subgraph cluster_proglang { - fillcolor="#f9f3ec" - label=<
2. 编程语言
> - - { - node [shape="box", style="rounded,filled" color="#eddac5"] - - { - rank=same - cbegin [label="C"] - lua [label="Lua"] - csharp [label="C#"] - } - - cppbegin [label="C++ 新手"] - cpppractice [label="C++ 实践"] - cpplibrary [label="C++ 标准库"] - cppadvance [label="C++ 进阶"] - } - - tcpl2 [label=<
C程序设计语言
(2004)
> URL="https://book.douban.com/subject/1139336/"] - - cppprimer5 [label=<
C++ Primer 中文版
(第 5 版)
(2013)
> URL="https://book.douban.com/subject/25708312/"] - tcpppl4 [label=<
C++ 程序设计语言(原书第 4 版)
(2016)
> URL="https://book.douban.com/subject/26857943/"] - cppstandardlibrary2 [label=<
C++标准库(第2版)
(2015)
> URL="https://book.douban.com/subject/26419721/"] - boostcpplibraries2 [label=<
The Boost C++
Libraries 2nd Ed (2014)
> URL="https://www.amazon.com/dp/1937434362/"] - cppconcurrencyinaction [label=<
C++并发编程实战
(2015)
> URL="https://book.douban.com/subject/26386925/"] - - effectivestl [label=<
Effective STL中文版
(2013)
> URL="https://book.douban.com/subject/24534868/"] - - exceptionalcpp [label=<
Exceptional C++(中文版)
(2012)
> URL="https://book.douban.com/subject/10785602/"] - moreexceptionalcpp [label=<
More Exceptional C++
中文版
(2002)
> URL="https://book.douban.com/subject/1244943/"] - exceptionalcppstyle [label=<
Exceptional C++ Style
中文版
(2006)
> URL="https://book.douban.com/subject/1470842/"] - cppcodingstandard [label=<
C++编程规范
(2010)
> URL="https://book.douban.com/subject/5348095/"] - - effectivecpp3 [label=<
Effective C++
(2006)
> URL="https://book.douban.com/subject/1842426/"] - moreeffectivecpp3 [label=<
More Effective C++
(中文版)
(2011)
> URL="https://book.douban.com/subject/5908727/"] - effectivemoderncpp [label=<
Effective Modern
C++ (2014)
> URL="https://www.amazon.com/dp/1491903996/"] - optimizedcpp [label=<
Optimized C++
(2016)
> URL="https://www.amazon.com/dp/1491922060/"] - - insidecppobjectmodel [label=<
深度探索C++对象模型
(2012)
> URL="https://book.douban.com/subject/10427315/"] - imperfectcpp [label=<
Imperfect C++中文版
(2006)
> URL="https://book.douban.com/subject/1470838/"] - cpptemplates [label=<
C++ Templates中文版
(2013)
> URL="https://book.douban.com/subject/23780707/"] - elementsofprogramming [label=<
编程原本
(2012)
> URL="https://book.douban.com/subject/7564093/"] - frommathtogeneric [label=<
From Mathematics
to Generic Programming
(2014)
> URL="https://www.amazon.com/dp/0321942043/"] - moderncppdesign [label=<
C++设计新思维
(2003)
> URL="https://book.douban.com/subject/1103566/"] - - programminginlua4 [label=<
LUA程序设计(第2版)
(2008)
> URL="https://book.douban.com/subject/3076942/"] - luaprogramminggems [label=<
Lua Programming
Gems (2008)
> URL="https://www.amazon.com/dp/8590379841/"] - - mvcsharpstepbystep8 [label=<
Visual C#从入门到精通(第8版) 
(2016)
> URL="https://book.douban.com/subject/26937762/"] - csharpindepth3 [label=<
深入理解C#(第3版)
(2014)
> URL="https://book.douban.com/subject/25843328/"] - clrviacsharp4 [label=<
CLR via C#(第4版)
(2015)
> URL="https://book.douban.com/subject/26285940/"] - - cbegin -> tcpl2 -> cppbegin [arrowhead=normal, style=solid] - - cppbegin -> cppprimer5 -> cpppractice [arrowhead=normal, style=solid] - - cppbegin -> tcpppl4 - cppprimer5 -> cpplibrary [arrowhead=normal, style=solid] - tcpppl4 -> cpplibrary - - cpplibrary -> cppstandardlibrary2 [arrowhead=normal, style=solid] - cppstandardlibrary2 -> effectivestl - cppstandardlibrary2 -> cppconcurrencyinaction -> boostcpplibraries2 - - cpppractice -> effectivecpp3 -> effectivemoderncpp -> cppcodingstandard [arrowhead=normal, style=solid] - effectivecpp3 -> moreeffectivecpp3 -> effectivemoderncpp - effectivemoderncpp -> optimizedcpp -> cppadvance - cpppractice -> exceptionalcpp -> moreexceptionalcpp -> exceptionalcppstyle -> cppcodingstandard -> cppadvance - cppadvance -> elementsofprogramming -> frommathtogeneric - cppadvance -> { insidecppobjectmodel; cpptemplates } - insidecppobjectmodel -> imperfectcpp - cpptemplates -> moderncppdesign - - lua -> programminginlua4 -> luaprogramminggems - - csharp -> mvcsharpstepbystep8 -> csharpindepth3 -> clrviacsharp4 - - progtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - progbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - progtop -> { cbegin; csharp; lua } [style=invis] - moderncppdesign -> progbottom [style=invis] - } - - subgraph cluster_se { - fillcolor="#f8f8ec" - label=<
3. 软件开发
> - - { - node [shape="box", style="rounded,filled", color="#ebebc6"] - sebegin [label="软件开发新手"] - sepractice [label="实践"] - dp [label="设计模式"] - uml [label="UML"] - } - - mythicalmanmonth2 [label=<
人月神话
(2007)
> URL="https://book.douban.com/subject/2230248/"] - - codecomplete2 [label=<
代码大全
(2007)
> URL="https://book.douban.com/subject/2208626/"] - apidesignforcpp [label=<
C++ API设计
(2013)
> URL="https://book.douban.com/subject/24869855/"] - - agilesoftwaredev [label=<
敏捷软件开发
(2008)
> URL="https://book.douban.com/subject/2347790/"] - designpatterns [label=<
设计模式
(2007)
> URL="https://book.douban.com/subject/2111801/"] - headfirstdesignpatterns [label=<
Head First 设计模式(中文版)
(2007)
> URL="https://book.douban.com/subject/2243615/"] - practiceofprogramming [label=<
程序设计实践
(2011)
> URL="https://book.douban.com/subject/6524000/"] - cleancode [label=<
编码整洁之道
(2012)
> URL="https://book.douban.com/subject/11602008/"] - refactoring [label=<
重构
(2010)
> URL="https://book.douban.com/subject/4262627/"] - workingeffectivelylegacycode [label=<
修改代码的艺术
(2014)
> URL="https://book.douban.com/subject/25904007/"] - - umldistilled3 [label=<
UML精粹
(2012)
> URL="https://book.douban.com/subject/10798193/"] - umluserguide2 [label=<
UML用户指南
(2006)
> URL="https://book.douban.com/subject/1837454/"] - ooadwa3 [label=<
面向对象分析与设计
(2012)
> URL="https://book.douban.com/subject/11509672/"] - - sebegin -> mythicalmanmonth2 -> { sepractice; dp } [arrowhead=normal, style=solid] - mythicalmanmonth2 -> uml - - sepractice -> practiceofprogramming -> refactoring -> codecomplete2 -> { cleancode; workingeffectivelylegacycode } [arrowhead=normal, style=solid] - codecomplete2 -> apidesignforcpp - - dp -> agilesoftwaredev -> designpatterns [arrowhead=normal, style=solid] - dp -> headfirstdesignpatterns -> agilesoftwaredev - - uml -> umldistilled3 -> umluserguide2 -> ooadwa3 - - setop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - sebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - setop -> sebegin [style=invis] - workingeffectivelylegacycode -> sebottom [style=invis] - } - - subgraph cluster_math { - fillcolor="#f2f8ec" - label=<
4. 游戏程序员的数学课
> - - { - node [shape="box", style="rounded,filled", color="#d9ebc6"] - mathbegin [label="游戏编程数学初阶"] - mathadvanced [label="游戏编程数学进阶"] - } - - foundationsgedmath [label=<
Foundations of Game
Engine Development,
Vol 1: Mathematics
(2016)
> URL="https://www.amazon.com/dp/0985811749/"] - math3dcpcg3 [label=<
3D游戏与计算机图形学
中的数学方法(第3版)
(2016)
> URL="https://book.douban.com/subject/26864861/"] - "3dmathprimer2" [label=<
3D Math Primer for
Graphics and Game
Development 2nd Ed (2011)
> URL="https://www.amazon.com/dp/1568817231/"] - essentialmaths3 [label=<
Essential Mathematics
for Games and
Interactive Applications
3rd Ed (2011)
> URL="https://www.amazon.com/dp/1482250926/"] - - geometricalgebra [label=<
Geometric Algebra for
Computer Science (2007)
> URL="https://www.amazon.com/dp/0123749425/"] - geometrictools [label=<
计算机图形学
几何工具算法详解
(2005)
> URL="https://book.douban.com/subject/1224798/"] - computationalgeometry [label=<
计算几何
(2009)
> URL="https://book.douban.com/subject/3893574/"] - visualizingquaternions [label=<
Visualizing Quaternions
(2006)
> URL="https://www.amazon.com/dp/0120884003/"] - divgradcurl4 [label=<
散度、旋度、梯度释义
(2015)
> URL="https://book.douban.com/subject/26688502/"] - - mathbegin -> foundationsgedmath - mathbegin -> math3dcpcg3 -> mathadvanced [arrowhead=normal, style=solid] - mathbegin -> "3dmathprimer2" - mathbegin -> essentialmaths3 - - { foundationsgedmath; "3dmathprimer2"; essentialmaths3 } -> mathadvanced - - mathadvanced -> geometrictools -> computationalgeometry [arrowhead=normal, style=solid] - mathadvanced -> geometricalgebra - mathadvanced -> visualizingquaternions - mathadvanced -> divgradcurl4 - - mathtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - mathbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - mathtop -> mathbegin [style=invis] - computationalgeometry -> mathbottom [style=invis] - } - - subgraph cluster_gameprog { - fillcolor="#ecf9ec" - label=<
5. 游戏编程
> - - { - node [shape="box", style="rounded,filled", color="#c5edc5"] - gpbegin [label="开始游戏编程"] - scratch [label="使用Windows/DirectX"] - unity [label="使用Unity"] - unreal [label="使用Unreal"] - cocos2dx [label="使用Cocos2d-X"] - gpintermediate [label="中级游戏编程"] - gpmisc [label="游戏编程文选"] - } - - windowsgp2 [label=<
Windows游戏编程大师技巧
(2012)
> URL="https://book.douban.com/subject/20282993/"] - gamecodingcomplete4 [label=<
游戏编程权威指南
(2016)
> URL="https://book.douban.com/subject/26787109/"] - - introtogdprodev [label=<
Introduction to Game
Design, Prototyping,
and Development (2014)
> URL="https://www.amazon.com/dp/0321933168/"] - unityinaction [label=<
Unity5实战
(2016)
> URL="https://book.douban.com/subject/26877872/"] - - learninguegd [label=<
Learning Unreal Engine
Game Development
(2015)
> URL="https://www.amazon.com/dp/1784398152/"] - blueprintsvisualscripting [label=<
Blueprints Visual Scripting
for Unreal Engine (2015)
> URL="https://www.amazon.com/dp/1785286013/"] - - cocos2dxbyexample2 [label=<
Cocos2d-X
by Example (2015)
> URL="https://www.amazon.com/dp/1785288857/"] - - gpalgorithmstechniques [label=<
Game Programming
Algorithms and
Techniques (2013)
> URL="https://www.amazon.com/dp/0321940156/"] - gameprogrammingpatterns [label=<
游戏编程模式
(2016)
> URL="https://book.douban.com/subject/26880704/"] - gpgoldenrules [label=<
Game Programming
Golden Rules (2004)
> URL="https://www.amazon.com/dp/1584503068/"] - crossplatformgp [label=<
Cross-Platform Game
Programming (2005)
> URL="https://www.amazon.com/dp/1584503793/"] - androidndkgdcookbook [label=<
Android NDK Game
Development Cookbook
(2013)
> URL="https://www.amazon.com/dp/1782167781/"] - buildingfpsgameunity [label=<
Building an FPS
Game with Unity (2015)
> URL="https://www.amazon.com/dp/178217480X/"] - unityvrprojects [label=<
Unity Virtual
Reality Projects (2015)
> URL="https://www.amazon.com/dp/178398855X/"] - agumentedreality [label=<
Augmented Reality
(2016)
> URL="https://www.amazon.com/dp/0321883578/"] - practicalaugmentedreality [label=<
Practical Augmented
Reality (2016)
> URL="https://www.amazon.com/dp/0134094239/"] - - { - rank=same - gpgemsbest [label=<
Best of Game
Programming
Gems (2008)
> URL="https://www.amazon.com/dp/1584505710/"] - beginninggp [label=<
Beginning Game
Programming (2009)
> URL="https://www.amazon.com/dp/159863805X/"] - advancedgp [label=<
Advanced Game
Programming (2009)
> URL="https://www.amazon.com/dp/1598638068/"] - } - - { - rank=same - gpgems [label=<
游戏编程精粹 1
(2004)
> URL="https://book.douban.com/subject/1231195/"] - gpgems2 [label=<
游戏编程精粹2
(2003)
> URL="https://book.douban.com/subject/1146281/"] - gpgems3 [label=<
游戏编程精粹3
(2003)
> URL="https://book.douban.com/subject/1125738/"] - gpgems4 [label=<
游戏编程精粹4
(2005)
> URL="https://book.douban.com/subject/1435923/"] - } - { - rank=same - gpgems5 [label=<
游戏编程精粹5
(2007)
> URL="https://book.douban.com/subject/2248414/"] - gpgems6 [label=<
游戏编程精粹6
(2007)
> URL="https://book.douban.com/subject/2305250/"] - gpgems7 [label=<
游戏编程精粹7
(2010)
> URL="https://book.douban.com/subject/4903976/"] - gpgems8 [label=<
Game Programming
Gems (2010)
> URL="https://www.amazon.com/dp/1584507020/"] - } - - gpbegin -> { scratch; unity; unreal; cocos2dx } - scratch -> gamecodingcomplete4 [arrowhead=normal, style=solid, tailport=se] - gamecodingcomplete4 -> gpintermediate [arrowhead=normal, style=solid] - scratch -> windowsgp2 - - windowsgp2 -> gamecodingcomplete4[style=invis] - - unity -> introtogdprodev -> unityinaction -> gpintermediate - - unreal -> learninguegd -> blueprintsvisualscripting -> gpintermediate - - cocos2dx -> cocos2dxbyexample2 -> gpintermediate - - gpintermediate -> gpalgorithmstechniques -> gameprogrammingpatterns [arrowhead=normal, style=solid] - gameprogrammingpatterns -> gpgoldenrules -> gpmisc - gpintermediate -> crossplatformgp -> androidndkgdcookbook - gpintermediate -> buildingfpsgameunity -> unityvrprojects - gpintermediate -> agumentedreality -> practicalaugmentedreality - - { - rank=same; gpgoldenrules; gpmisc - } - gpmisc -> gpgemsbest - gpgemsbest -> gpgems - gpmisc -> beginninggp -> advancedgp - gpgems -> gpgems2 -> gpgems3 -> gpgems4 - gpgems4 -> gpgems5 - gpgems5 -> gpgems6 -> gpgems7 -> gpgems8 - - gametop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - gamebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - gametop -> { gpbegin; unity } [style=invis] - gpgems7 -> gamebottom [style=invis] - } - - subgraph cluster_engine { - fillcolor="#ecf9f5" - label=<
6. 游戏引擎开发
> - - { - node [shape="box", style="rounded,filled", color="#c5ede1"] - gebegin [label="游戏引擎开发新手"] - gearticles [label="游戏引擎文选"] - gescript [label="脚本引擎"] - geoptimization [label="优化"] - getool [label="工具开发"] - } - - { - rank=same - gameenginearchitecture2 [label=<
游戏引擎架构
(2014)
> URL="https://book.douban.com/subject/25815142/"] - "3dgameenginearchitecture" [label=<
3D Game Engine
Architecture
(2004)
> URL="https://www.amazon.com/dp/012229064X/"] - gameenginedesign2 [label=<
3D Game Engine
Design
2nd Ed (2006)
> URL="https://www.amazon.com/dp/0122290631/"] - } - - gameenginegems1 [label=<
Game Engine
Gems 1 (2010)
> URL="https://www.amazon.com/dp/0763778885/"] - gameenginegems2 [label=<
Game Engine
Gems 2 (2011)
> URL="https://www.amazon.com/dp/1568814372/"] - gameenginegems3 [label=<
Game Engine
Gems 3 (2016)
> URL="https://www.amazon.com/dp/1498755658/"] - - gamescriptingmastery [label=<
游戏脚本高级编程
(2006)
> URL="https://book.douban.com/subject/1927405/"] - languageimplpatterns [label=<
编程语言实现模式
(2012)
> URL="https://book.douban.com/subject/10482195/"] - garbagecollectionhandbook [label=<
垃圾回收算法手册:
自动内存管理的艺术
(2016)
> URL="https://book.douban.com/subject/26740958/"] - - unity5gameoptimization [label=<
Unity 5 Game
Optimization (2015)
> URL="https://www.amazon.com/dp/1785884581/"] - videogameoptimization [label=<
Video Game
Optimization (2010)
> URL="https://www.amazon.com/dp/1598634356/"] - hackersdelight2 [label=<
算法心得:高效算法的奥秘(原书第2版)
(2014)
> URL="https://book.douban.com/subject/25837031/"] - modernx86assembly [label=<
Modern X86
Assembly Language
Programming (2014)
> URL="https://www.amazon.com/dp/1484200659/"] - gpgpu [label=<
GPGPU Programming
for Games and Science
(2014)
> URL="https://www.amazon.com/dp/1466595353/"] - vectorgamemathprocessors [label=<
Vector Games
Math Processors
(2002)
> URL="https://www.amazon.com/dp/1556229216/"] - - gamedevtools [label=<
Game Development
Tools (2011)
> URL="https://www.amazon.com/dp/1568814321/"] - designinguxgamedevtools [label=<
Designing the User
Experience of Game
Development Tools (2015)
> URL="https://www.amazon.com/dp/148224019X/"] - - gebegin -> gameenginearchitecture2 [arrowhead=normal, style=solid] - gameenginearchitecture2 -> { gearticles; gescript; geoptimization; getool } - - gameenginearchitecture2 -> "3dgameenginearchitecture" -> gameenginedesign2 - gearticles -> gameenginegems1 -> gameenginegems2 -> gameenginegems3 - gescript -> gamescriptingmastery -> languageimplpatterns -> garbagecollectionhandbook - geoptimization -> videogameoptimization -> unity5gameoptimization -> hackersdelight2 -> { modernx86assembly; gpgpu; vectorgamemathprocessors} - getool -> gamedevtools -> designinguxgamedevtools - - getop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - gebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - getop -> gebegin [style=invis] - gpgpu -> gebottom [style=invis] - } - - subgraph cluster_cg { - fillcolor="#ecf5f9" - label=<
7. 计算机图形学(CG)
> - - { - node [shape="box", style="rounded,filled", color="#c5e1ed"] - cgbegin [label="游戏图形学初级"] - cgtheory [label="图形学理论初级"] - cgadvanced [label="图形学进阶"] - realtimerendering [label="实时渲染"] - offlinerendering [label="离线渲染"] - d3d [label="Direct3D"] - ogl [label="OpenGL"] - cgtech [label="图形学技术"] - cgmisc [label="图形学文选"] - } - - rt3drendering [label=<
Real-Time 3D
Rendering with DirectX
and HLSL (2014)
> URL="https://www.amazon.com/dp/0321962729/"] - "3dgpdx12" [label=<
DirectX 9.0 3D游戏开发编程基础
(2007)
> URL="https://book.douban.com/subject/2111771/"] - oglguide9 [label=<
OpenGL编程指南(原书第8版)
(2014)
> URL="https://book.douban.com/subject/26220248/"] - - fundamentalscg4 [label=<
计算机图形学
(2007)
> URL="https://book.douban.com/subject/2116178/"] - cgpp3 [label=<
计算机图形学原理及实践:
C语言描述(原书第2版)
(2004)
> URL="https://book.douban.com/subject/1230412/"] - pdis [label=<
Principles of Digital
Image Synthesis
(PODIS) (1995)
> URL="https://www.amazon.com/dp/1558602763/"] - digitalimageprocessing3 [label=<
数字图像处理
(2010)
> URL="https://book.douban.com/subject/4285832/"] - - graphicsshaders2 [label=<
图形着色器
(2013)
> URL="https://book.douban.com/subject/23858154/"] - glsl3 [label=<
OpenGL着色语言
(2006)
> URL="https://book.douban.com/subject/1911849/"] - oglsuper7 [label=<
OpenGL Super Bible
7th Ed (2015)
> URL="https://www.amazon.com/dp/0672337479/"] - ogles3guide2 [label=<
OpenGL ES 3.0编程指南
(2015)
> URL="https://book.douban.com/subject/26414014/"] - oglinsights [label=<
OpenGL Insights (2012)
> URL="https://www.amazon.com/dp/1439893764/"] - vulkanguide [label=<
Vulkan Programming
Guide (2016)
> URL="https://www.amazon.com/dp/0134464540/"] - - practiald3d11 [label=<
Practical Rendering
and Computation
with Direct3D 11 (2011)
> URL="https://www.amazon.com/dp/1568817207/"] - - rtr3 [label=<
实时计算机图形学
(2004)
> URL="https://book.douban.com/subject/1231141/"] - tricks3dgpgurus [label=<
3D游戏编程大师技巧
(2005)
> URL="https://book.douban.com/subject/1321769/"] - realtimeshadows [label=<
实时阴影技术
(2013)
> URL="https://book.douban.com/subject/25908680/"] - rtvolumegraphics [label=<
Real-Time Volume
Graphics (2006)
> URL="https://www.amazon.com/dp/1568812663/"] - graphicsprogrammingmethods [label=<
Graphics Programming
Methods (2003)
> URL="https://www.amazon.com/dp/1584502991/"] - gpugems [label=<
GPU精粹
(2006)
> URL="https://book.douban.com/subject/1480239/"] - gpugems2 [label=<
GPU精粹2
(2007)
> URL="https://book.douban.com/subject/2144796/"] - gpugems3 [label=<
GPU精粹3
(2010)
> URL="https://book.douban.com/subject/4851196/"] - gpupro [label=<
GPU Pro (2010)
> URL="https://www.amazon.com/dp/1568814720/"] - gpupro2 [label=<
GPU Pro 2 (2011)
> URL="https://www.amazon.com/dp/1568817185/"] - gpupro3 [label=<
GPU Pro 3 (2012)
> URL="https://www.amazon.com/dp/1439887829/"] - gpupro4 [label=<
GPU Pro 4 (2013)
> URL="https://www.amazon.com/dp/1466567430/"] - gpupro5 [label=<
GPU Pro 5 (2014)
> URL="https://www.amazon.com/dp/1482208636/"] - gpupro6 [label=<
GPU Pro 6 (2015)
> URL="https://www.amazon.com/dp/1482264617/"] - gpupro7 [label=<
GPU Pro 7 (2016)
> URL="https://www.amazon.com/dp/149874253X/"] - - pbrt3 [label=<
Physically Based
Rendering (PBRT)
3rd Ed (2016)
> URL="https://www.amazon.com/dp/0128006455/"] - raytracingfromgroundup [label=<
光线跟踪算法技术
(2011)
> URL="https://book.douban.com/subject/6028258/"] - advancedgi2 [label=<
Advanced
Global Illumination
2nd Ed (2006)
> URL="https://www.amazon.com/dp/1568813074/"] - productionvolumerendering [label=<
Production Volume
Rendering (2012)
> URL="https://www.amazon.com/dp/156881724X/"] - - texturingmodeling3 [label=<
Texturing and Modeling
(2002)
> URL="https://www.amazon.com/dp/1558608486/"] - lod [label=<
Level of Detail
for 3D Graphics (2002)
> URL="https://www.amazon.com/dp/0123991811/"] - "3denginedesignvirtualglobes" [label=<
3D Engine Design
for Virtual Globes (2011)
> URL="https://www.amazon.com/dp/1568817118/"] - polygonmeshprocessing [label=<
Polygon Mesh
Processing (2010)
> URL="https://www.amazon.com/dp/1568814267/"] - isosurfaces [label=<
Isosurfaces (2013)
> URL="https://www.amazon.com/dp/1466570970/"] - npr [label=<
Non-Photorealistic
Rendering (2001)
> URL="https://www.amazon.com/dp/1568811330/"] - npcg [label=<
Non-Photorealistic
Computer Graphics
(2002)
> URL="https://www.amazon.com/dp/1558607870/"] - - graphicsgems [label=<
Graphics Gems (1990)
> URL="https://www.amazon.com/dp/0122861655/"] - graphicsgems2 [label=<
Graphics Gems II (1991)
> URL="https://www.amazon.com/dp/0120644819/"] - graphicsgems3 [label=<
Graphics Gems III (1994)
> URL="https://www.amazon.com/dp/0124096735/"] - graphicsgems4 [label=<
Graphics Gems IV (1994)
> URL="https://www.amazon.com/dp/0123361559/"] - graphicsgems5 [label=<
Graphics Gems V (1995)
> URL="https://www.amazon.com/dp/0125434553/"] - - blinn1 [label=<
Jim Blinn's Corner:
A Trip Down
the Graphics Pipeline (1997)
> URL="https://www.amazon.com/dp/1558603875/"] - blinn2 [label=<
Jim Blinn's Corner:
Dirty Pixels (1998)
> URL="https://www.amazon.com/dp/1558604553/"] - blinn3 [label=<
Jim Blinn's Corner:
Notation, Notation,
Notation (2002)
> URL="https://www.amazon.com/dp/B01FGPKA62/"] - - glassenernotebook1 [label=<
Andrew Glassner's
Notebook (1999)
> URL="https://www.amazon.com/dp/1558605983/"] - glassenernotebook2 [label=<
Andrew Glassner's
Other Notebook (2002)
> URL="https://www.amazon.com/dp/1568811713/"] - - magiccg [label=<
The Magic of
Computer Graphics (2011)
> URL="https://www.amazon.com/dp/1568815778/"] - - cgbegin -> "3dgpdx12" - cgbegin -> { rt3drendering; oglguide9 } - - { "3dgpdx12"; rt3drendering; oglguide9 } -> cgtheory - - cgtheory -> fundamentalscg4 [arrowhead=normal, style=solid] - cgtheory-> { cgpp3; pdis; digitalimageprocessing3 } - - { fundamentalscg4; cgpp3; pdis; digitalimageprocessing3} -> cgadvanced - - cgadvanced -> { realtimerendering; offlinerendering; cgtech;} - - realtimerendering -> rtr3 [arrowhead=normal, style=solid] - realtimerendering -> tricks3dgpgurus - rtr3 -> graphicsprogrammingmethods -> gpugems -> gpugems2 -> gpugems3 -> gpupro -> gpupro2 -> gpupro3 -> gpupro4 -> gpupro5 -> gpupro6 -> gpupro7 - { rank=same;rtr3; rtvolumegraphics } - rtr3 -> { realtimeshadows; rtvolumegraphics } - realtimeshadows -> graphicsprogrammingmethods [style=invis] - tricks3dgpgurus -> realtimeshadows [style=invis] - - rtr3 -> { d3d; ogl } - d3d -> practiald3d11 - ogl -> oglsuper7 -> { graphicsshaders2; glsl3 } -> ogles3guide2 -> oglinsights -> vulkanguide - - offlinerendering -> pbrt3 [arrowhead=normal, style=solid] - offlinerendering -> raytracingfromgroundup - raytracingfromgroundup -> pbrt3 -> advancedgi2 -> productionvolumerendering - - productionvolumerendering -> cgtech [style=invis] - - cgtech -> { cgmisc; texturingmodeling3; lod; npr; } - lod -> "3denginedesignvirtualglobes" - texturingmodeling3 -> polygonmeshprocessing -> isosurfaces - npr -> npcg - - polygonmeshprocessing -> npr [style=invis] - - { - rank=same; glassenernotebook2; magiccg - } - cgmisc -> graphicsgems -> graphicsgems2 -> graphicsgems3 -> graphicsgems4 -> graphicsgems5 - cgmisc -> blinn1 -> blinn2 -> glassenernotebook1 -> blinn3 -> glassenernotebook2 -> magiccg - - vulkanguide -> cgmisc [style=invis] - - cgtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - cgbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - cgtop -> cgbegin [style=invis] - glassenernotebook2 -> cgbottom [style=invis] - } - - subgraph cluster_audio { - fillcolor="#eceef9" - label=<
8. 游戏音效
> - - { - node [shape="box", style="rounded,filled", color="#c5cbed"] - audiobegin [label="游戏音频编程"] - } - - gameaudioprogramming [label=<
Game Audio
Programming (2016)
> URL="https://www.amazon.com/dp/149874673X/"] - gettingstartedcppaudio [label=<
Getting Started
with C++ Audio Programming
for Game Development (2013)
> URL="https://www.amazon.com/dp/1849699097/"] - - audiobegin -> { gameaudioprogramming; gettingstartedcppaudio } - - audiotop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - audiobottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - audiotop -> audiobegin [style=invis] - { gameaudioprogramming; gettingstartedcppaudio } -> audiobottom [style=invis] - } - - subgraph cluster_physics { - fillcolor="#f2ecf9" - label=<
9. 游戏物理和动画
> - - { - node [shape="box", style="rounded,filled",color="#d7c5ed"] - animbegin [label="游戏动画初阶"] - animadvanced [label="游戏动画进阶"] - phybegin [label="游戏物理初阶"] - phyadvanced [label="游戏物理进阶"] - fluid [label="流体动画/模拟"] - } - - natureofcode [label=<
代码本色:用编程模拟自然系统
(2014)
> URL="https://book.douban.com/subject/26264736/"] - characteranimation [label=<
Character Animation
with Direct3D (2011)
> URL="https://www.amazon.com/dp/1584505702/"] - rt3dcharacteranimation [label=<
Real-time 3D
Character Animation
with Visual C++ (2001)
> URL="https://www.amazon.com/dp/0240516648/"] - computeranimation3 [label=<
Computer Animation
3rd Ed (2012)
> URL="https://www.amazon.com/dp/0124158420/"] - gameik [label=<
Game Inverse
Kinematics (2013)
> URL="https://www.amazon.com/dp/1484922328/"] - physicsbasedanimation [label=<
Physics Based
Animation (2005)
> URL="https://www.amazon.com/dp/1584503807/"] - rtcameras [label=<
Real-Time Cameras
(2009)
> URL="https://www.amazon.com/dp/0123116341/"] - - physicsforgameprogrammers [label=<
Physics for Game
Programmers (2003)
> URL="https://www.amazon.com/dp/159059472X/"] - physicsforgamedevelopers2 [label=<
游戏开发物理学 第2版
(2015)
> URL="https://book.douban.com/subject/26394564/"] - physicsmodeling [label=<
Physics Modeling
for Game Programmers (2004)
> URL="https://www.amazon.com/dp/1592000932/"] - - gamephysicsenginedev2 [label=<
游戏物理引擎开发
(2013)
> URL="https://book.douban.com/subject/25821830/"] - gamephysics2 [label=<
Game Physics 2nd Ed (2010)
> URL="https://www.amazon.com/dp/0123749034/"] - collisiondetection3denv [label=<
Collision Detection
in Interactive 3D
Environments (2003)
> URL="https://www.amazon.com/dp/155860801X/"] - rtcollisiondetection [label=<
实时碰撞检测算法技术
(2010)
> URL="https://book.douban.com/subject/4861957/"] - gamephysicspearls [label=<
Game Physics Pearls
(2010)
> URL="https://www.amazon.com/dp/1568814747/"] - - taofluidanimation [label=<
The Art of
Fluid Animation (2015)
> URL="https://www.amazon.com/dp/1498700209/"] - fluidsimulationforcg2 [label=<
Fluid Simulation
for Computer Graphics
2nd Ed (2015)
> URL="https://www.amazon.com/dp/1482232839/"] - - animbegin -> { characteranimation; rt3dcharacteranimation } -> computeranimation3 -> animadvanced - animadvanced -> { gameik; physicsbasedanimation; rtcameras} - gameik -> rtcameras [style=invis] - - phybegin -> physicsforgameprogrammers - phybegin -> physicsforgamedevelopers2 - physicsforgameprogrammers -> physicsforgamedevelopers2 -> phyadvanced - physicsforgameprogrammers -> physicsmodeling -> phyadvanced - - { animbegin; phybegin } -> natureofcode - - phyadvanced -> gamephysicspearls - gamephysicspearls -> collisiondetection3denv -> rtcollisiondetection - gamephysicspearls -> gamephysicsenginedev2 -> gamephysics2 - - { animadvanced; phyadvanced } -> fluid -> taofluidanimation -> fluidsimulationforcg2 - - phytop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - phybottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - phytop -> { animbegin; phybegin } [style=invis] - fluidsimulationforcg2 -> phybottom [style=invis] - } - - subgraph cluster_ai { - fillcolor="#f9ecf9" - label=<
10. 游戏人工智能(AI)
> - - { - node [shape="box", style="rounded,filled" color="#edc5ed"] - aibegin [label="游戏AI初阶"] - aiintermediate [label="中级游戏AI"] - aimisc [label="游戏AI文选"] - } - - aiforgames2 [label=<
Artificial Intelligence
for Games 2nd Ed (2009)
> URL="https://www.amazon.com/dp/0123747317/"] - aiforgd [label=<
游戏开发中的人工智能
(2006)
> URL="https://book.douban.com/subject/1899340/"] - proggameaibyexample [label=<
游戏人工智能编程
案例精粹
(2012)
> URL="https://book.douban.com/subject/19930152/"] - unityaigp2 [label=<
Unity人工智能游戏开发(第2版) 
(2016)
> URL="https://book.douban.com/subject/26911454/"] - - aima3 [label=<
人工智能
(2004)
> URL="https://book.douban.com/subject/1230487/"] - behavioralmathforgameai [label=<
Behavioral Mathematics
for Game AI (2009)
> URL="https://www.amazon.com/dp/1584506849/"] - - { - rank=same - aigpwisdom [label=<
AI Game Programming
Wisdom (2002)
> URL="https://www.amazon.com/dp//"] - aigpwisdom2 [label=<
AI Game Programming
Wisdom 2 (2003)
> URL="https://www.amazon.com/dp//"] - aigpwisdom3 [label=<
AI Game Programming
Wisdom 3 (2006)
> URL="https://www.amazon.com/dp//"] - aigpwisdom4 [label=<
AI Game Programming
Wisdom 4 (2008)
> URL="https://www.amazon.com/dp//"] - } - { - rank=same - gameaipro [label=<
Game AI Pro (2013)
> URL="https://www.amazon.com/dp//"] - gameaipro2 [label=<
Game AI Pro 2 (2015)
> URL="https://www.amazon.com/dp//"] - } - - aibegin -> aiforgames2 -> aiintermediate -> aima3 [arrowhead=normal, style=solid] - aibegin -> { aiforgd; proggameaibyexample; unityaigp2 } -> aiintermediate - aiintermediate -> behavioralmathforgameai -> aimisc - aima3 -> aimisc - aimisc -> aigpwisdom - aigpwisdom -> aigpwisdom2 -> aigpwisdom3 -> aigpwisdom4 - aigpwisdom4 -> gameaipro -> gameaipro2 - - aitop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - aibottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - aitop -> aibegin [style=invis] - gameaipro2 -> aibottom [style=invis] - } - - subgraph cluster_multiplayer { - fillcolor="#f9ebf2" - label=<
11. 多人游戏编程
> - - { - node [shape="box", style="rounded,filled" color="#edc5d7"] - multiplayerbegin [label="多人游戏编程初阶"] - multiplayermisc [label="多人游戏编程文选"] - serverprog [label="服务器编程"] - networkprotocol [label="网络协议"] - networkprog [label="网络编程"] - } - - multiplayergp [label=<
Multiplayer Game
Programming (2015)
> URL="https://www.amazon.com/dp/0134034309/"] - massivelymultiplayergd [label=<
大型多人在线游戏开发
(2006)
> URL="https://book.douban.com/subject/1940567/"] - massivelymultiplayergd2 [label=<
Massively Multiplayer
Game Development 2
(2005)
> URL="https://www.amazon.com/dp/1584503904/"] - - progposixthreads [label=<
POSIX多线程程序设计
(2003)
> URL="https://book.douban.com/subject/1236825/"] - advancedprogunixenv3 [label=<
UNIX环境高级编程(第3版)
(2014)
> URL="https://book.douban.com/subject/25900403/"] - linuxsystemprog2 [label=<
Linux 系统编程(第二版)
(2014)
> URL="https://book.douban.com/subject/25828773/"] - - tcpipillustratedv1_2 [label=<
TCP/IP详解
卷1:协议
(2016)
> URL="https://book.douban.com/subject/26825411/"] - tcpipillustratedv2 [label=<
TCP/IP详解
卷2:实现
(2004)
> URL="https://book.douban.com/subject/1087767/"] - tcpipillustratedv3 [label=<
TCP/IP详解
卷3:TCP事务协议、
HTTP、NNTP
和UNIX域协议
(2000)
> URL="https://book.douban.com/subject/1058634/"] - - unixnetworkprogv1_3 [label=<
UNIX网络编程
卷1:套接字联网API(第3版)
(2014)
> URL="https://book.douban.com/subject/26434583/"] - unixnetworkprogv2_2 [label=<
UNIX网络编程
卷2:进程间通信(第2版)
(2015)
> URL="https://book.douban.com/subject/26434599/"] - linuxnetworkinternals [label=<
深入理解
LINUX网络技术内幕
(2009)
> URL="https://book.douban.com/subject/4015134/"] - - multiplayerbegin -> multiplayergp [arrowhead=normal, style=solid] - multiplayergp -> serverprog - multiplayergp -> networkprotocol - multiplayergp -> networkprog - multiplayergp -> multiplayermisc - - serverprog -> progposixthreads -> advancedprogunixenv3 -> linuxsystemprog2 - networkprotocol -> tcpipillustratedv1_2 -> tcpipillustratedv2 -> tcpipillustratedv3 - networkprog -> unixnetworkprogv1_3 -> unixnetworkprogv2_2 -> linuxnetworkinternals - - multiplayermisc -> massivelymultiplayergd -> massivelymultiplayergd2 - - multiplayertop [fixedsize=true,width=8,height=0.01,style=invis,label=""] - multiplayerbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] - multiplayertop -> multiplayerbegin [style=invis] - { linuxsystemprog2; tcpipillustratedv3; linuxnetworkinternals } -> multiplayerbottom [style=invis] - } - - ccsa [fontcolor=white,fontsize=8,label=< - - -
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
> - URL = "https://creativecommons.org/licenses/by-sa/4.0/"] - - { - edge [style=invis] - tocbottom -> legendtop - legendbottom -> kidtop - kidbottom -> cstop - csbottom -> progtop - progbottom -> setop - sebottom -> mathtop - mathbottom -> gametop - gamebottom -> getop - gebottom -> cgtop - cgbottom -> audiotop - audiobottom -> phytop - phybottom -> aitop - aibottom -> multiplayertop - multiplayerbottom -> ccsa - } -} +digraph { + compound=true + fontname="Futura" + fontsize=20 + margin="0,0" + ranksep=0.25 + nodesep=0.15 + penwidth=0.5 + labeljust="left" + bgcolor="#666666" + + style="rounded,filled" + color="none" + fillcolor="" + node [fontname="Helvetica-Light", fontsize=10, shape=none, penwidth=0.5] + edge [fontname="Helvetica-Light", fontsize=10, arrowhead=vee, arrowsize=0.75] + + subgraph cluster_toc { + style=invis; + + edge [color="#cccccc"] + + { + node [fontcolor=white] + + toctop [fixedsize=true,width=8, height=3, shape=plaintext,label=< + + + +
游戏程序员的
学习之路
Milo Yip
2016/12/20
https://github.com/miloyip/game-programmer
+ > URL="https://github.com/miloyip/game-programmer"] + tocbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + } + + { + node [shape="box", style="rounded,filled", fixedsize=true, width=3, height=0.5, fontname="Futura", fontsize=10] + + kid [color="#edc5ce", label=< 0. 编程学前班>] + cs [color="#edc5c5", label=" 1. 计算机科学"] + proglang [color="#eddac5", label=" 2. 编程语言"] + softwaredev [color="#ebebc6", label=" 3. 软件开发"] + math [color="#d9ebc6", label=< 4. 游戏程序员的数学课>] + gameprog [color="#c5edc5", label=" 5. 游戏编程"] + gameengine [color="#c5ede1", label=< 6. 游戏引擎开发>] + cg [color="#c5e1ed", label=" 7. 计算机图形学(CG)"] + audio [color="#c5cbed", label=" 8. 游戏音效"] + phyanim [color="#d7c5ed", label=< 9. 游戏物理和动画>] + ai [color="#edc5ed", label=< 10. 游戏人工智能(AI)>] + multiplayer [color="#edc5d7", label=< 11. 多人游戏编程>] + } + kid -> cs -> proglang -> softwaredev -> math -> gameprog -> gameengine + gameengine -> cg -> audio -> phyanim -> ai -> multiplayer[style=invis] + gameengine -> { cg; phyanim; ai; audio; multiplayer} [tailport=e, headport=e, constraint=false] + + toctop -> kid [style=invis] + multiplayer -> tocbottom [style=invis] + } + + edge [style=dotted] + + subgraph cluster_legend { + fillcolor="#dddddd" + label=<
Legends
> + node [shape=none, fixedsize=true, width=2, height=0.25] + + legendA1 [label="推荐路线"] + legendB1 [label="可选路线"] + legendA2 [label="", height=0.01] + legendB2 [label="", height=0.01] + legendA1 -> legendA2 [minlen=2,arrowhead=normal, style=solid] + legendB1 -> legendB2 [minlen=2] + + legendtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + legendbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + legendtop -> { legendA1; legendB1 } [style=invis] + { legendA2; legendB2 } -> legendbottom [style=invis] + } + + subgraph cluster_kid { + fillcolor="#f9ecef" + label=<
0. 编程学前班
> + + { + node [shape="box", style="rounded,filled" color="#edc5ce"] + { + rank=same + age5 [label="从5岁开始"] + age8 [label="从8岁开始"] + } + kidintermediate [label="中级孩童游戏编程"] + } + + scratchjr [label=<
The Official
ScratchJr Book (2015)
> URL="https://www.amazon.com/dp/1593276710/"] + + codinggamesinscratch [label=<
Coding Games
in Scratch
(2015)
> URL="https://www.amazon.com/dp/1465439358/"] + superscratchprogadv [label=<
Super Scratch
Programming Adventure!
(2013)
> URL="https://www.amazon.com/dp/1593275315/"] + learntoprogramwithscratch [label=<
Learn to Program
with Scratch
(2014)
> URL="https://www.amazon.com/dp/1593275439/"] + helpyoukidswithcomputercoding [label=<
Help Your Kids
with Computer Coding
(2015)
> URL="https://www.amazon.com/dp/146541956X/"] + + inventgamepython3 [label=<
Invent Your Own
Computer Games with
Python 3rd Ed (2015)
> URL="https://www.amazon.com/dp/1503212300/"] + makinggamespython [label=<
Making Games with
Python & Pygame (2012)
> URL="https://www.amazon.com/dp/1469901730/"] + learntoprogramwithminecraft [label=<
Learn to Program
with Minecraft (2015)
> URL="https://www.amazon.com/dp/1593276702/"] + adventuresinminecraft [label=<
零基础学Minecraft编程
(2015)
> URL="https://book.douban.com/subject/26613247/"] + "3dgpforkids" [label=<
3D Game Programming
for Kids (2013)
> URL="https://www.amazon.com/dp/1937785440/"] + + age5 -> scratchjr -> age8 + age8 -> codinggamesinscratch -> helpyoukidswithcomputercoding -> kidintermediate [arrowhead=normal, style=solid] + age8 -> superscratchprogadv -> learntoprogramwithscratch -> kidintermediate + + kidintermediate -> inventgamepython3 -> makinggamespython + kidintermediate -> learntoprogramwithminecraft -> adventuresinminecraft + kidintermediate -> "3dgpforkids" + + kidtop [fixedsize=true,width=8,height=0.01,style=invis, label=""] + kidbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + kidtop -> {age5; age8} [style=invis] + adventuresinminecraft -> kidbottom [style=invis] + } + + subgraph cluster_cs { + fillcolor="#f9ecec" + label=<
1. 计算机科学
> + + { + node [shape="box", style="rounded,filled" color="#edc5c5"] + rank=same + foundation [label="计算机基础"] + algorithm [label="算法"] + csmath [label="计算机数学"] + } + + sicp2 [label=<
计算机程序的构造和解释
(2004)
> URL="https://book.douban.com/subject/1148282/"] + csapp3 [label=<
深入理解计算机系统
(原书第3版)
(2016)
> URL="https://book.douban.com/subject/26912767/"] + caaqa5 [label=<
计算机体系结构
(2012)
> URL="https://book.douban.com/subject/20452387/"] + mos4 [label=<
现代操作系统(第3版)
(2009)
> URL="https://book.douban.com/subject/3852290/"] + + clrs3 [label=<
算法导论(原书第3版)
(2012)
> URL="https://book.douban.com/subject/20432061/"] + algorithms4 [label=<
算法(第4版)
(2012)
> URL="https://book.douban.com/subject/19952400/"] + + concretemaths2 [label=<
具体数学
(2013)
> URL="https://book.douban.com/subject/21323941/"] + computationalscieng [label=<
Computational Science
and Engineering (2007)
> URL="https://www.amazon.com/dp/0961408812/"] + + foundation -> { sicp2; csapp3 } -> { caaqa5; mos4 } [arrowhead=normal, style=solid] + algorithm -> clrs3 [arrowhead=normal, style=solid] + algorithm -> algorithms4 -> clrs3 + csmath -> concretemaths2 -> computationalscieng + + cstop [fixedsize=true,width=8,height=0.01,style=invis, label=""] + csbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + cstop -> { foundation; csmath; algorithm } [style=invis] + caaqa5 -> csbottom [style=invis] + } + + subgraph cluster_proglang { + fillcolor="#f9f3ec" + label=<
2. 编程语言
> + + { + node [shape="box", style="rounded,filled" color="#eddac5"] + + { + rank=same + cbegin [label="C"] + lua [label="Lua"] + csharp [label="C#"] + } + + cppbegin [label="C++ 新手"] + cpppractice [label="C++ 实践"] + cpplibrary [label="C++ 标准库"] + cppadvance [label="C++ 进阶"] + } + + tcpl2 [label=<
C程序设计语言
(2004)
> URL="https://book.douban.com/subject/1139336/"] + + cppprimer5 [label=<
C++ Primer 中文版
(第 5 版)
(2013)
> URL="https://book.douban.com/subject/25708312/"] + tcpppl4 [label=<
C++ 程序设计语言(原书第 4 版)
(2016)
> URL="https://book.douban.com/subject/26857943/"] + cppstandardlibrary2 [label=<
C++标准库(第2版)
(2015)
> URL="https://book.douban.com/subject/26419721/"] + boostcpplibraries2 [label=<
The Boost C++
Libraries 2nd Ed (2014)
> URL="https://www.amazon.com/dp/1937434362/"] + cppconcurrencyinaction [label=<
C++并发编程实战
(2015)
> URL="https://book.douban.com/subject/26386925/"] + + effectivestl [label=<
Effective STL中文版
(2013)
> URL="https://book.douban.com/subject/24534868/"] + + exceptionalcpp [label=<
Exceptional C++(中文版)
(2012)
> URL="https://book.douban.com/subject/10785602/"] + moreexceptionalcpp [label=<
More Exceptional C++
中文版
(2002)
> URL="https://book.douban.com/subject/1244943/"] + exceptionalcppstyle [label=<
Exceptional C++ Style
中文版
(2006)
> URL="https://book.douban.com/subject/1470842/"] + cppcodingstandard [label=<
C++编程规范
(2010)
> URL="https://book.douban.com/subject/5348095/"] + + effectivecpp3 [label=<
Effective C++
(2006)
> URL="https://book.douban.com/subject/1842426/"] + moreeffectivecpp3 [label=<
More Effective C++
(中文版)
(2011)
> URL="https://book.douban.com/subject/5908727/"] + effectivemoderncpp [label=<
Effective Modern
C++ (2014)
> URL="https://www.amazon.com/dp/1491903996/"] + optimizedcpp [label=<
Optimized C++
(2016)
> URL="https://www.amazon.com/dp/1491922060/"] + + insidecppobjectmodel [label=<
深度探索C++对象模型
(2012)
> URL="https://book.douban.com/subject/10427315/"] + imperfectcpp [label=<
Imperfect C++中文版
(2006)
> URL="https://book.douban.com/subject/1470838/"] + cpptemplates [label=<
C++ Templates中文版
(2013)
> URL="https://book.douban.com/subject/23780707/"] + elementsofprogramming [label=<
编程原本
(2012)
> URL="https://book.douban.com/subject/7564093/"] + frommathtogeneric [label=<
From Mathematics
to Generic Programming
(2014)
> URL="https://www.amazon.com/dp/0321942043/"] + moderncppdesign [label=<
C++设计新思维
(2003)
> URL="https://book.douban.com/subject/1103566/"] + + programminginlua4 [label=<
LUA程序设计(第2版)
(2008)
> URL="https://book.douban.com/subject/3076942/"] + luaprogramminggems [label=<
Lua Programming
Gems (2008)
> URL="https://www.amazon.com/dp/8590379841/"] + + mvcsharpstepbystep8 [label=<
Visual C#从入门到精通(第8版) 
(2016)
> URL="https://book.douban.com/subject/26937762/"] + csharpindepth3 [label=<
深入理解C#(第3版)
(2014)
> URL="https://book.douban.com/subject/25843328/"] + clrviacsharp4 [label=<
CLR via C#(第4版)
(2015)
> URL="https://book.douban.com/subject/26285940/"] + + cbegin -> tcpl2 -> cppbegin [arrowhead=normal, style=solid] + + cppbegin -> cppprimer5 -> cpppractice [arrowhead=normal, style=solid] + + cppbegin -> tcpppl4 + cppprimer5 -> cpplibrary [arrowhead=normal, style=solid] + tcpppl4 -> cpplibrary + + cpplibrary -> cppstandardlibrary2 [arrowhead=normal, style=solid] + cppstandardlibrary2 -> effectivestl + cppstandardlibrary2 -> cppconcurrencyinaction -> boostcpplibraries2 + + cpppractice -> effectivecpp3 -> effectivemoderncpp -> cppcodingstandard [arrowhead=normal, style=solid] + effectivecpp3 -> moreeffectivecpp3 -> effectivemoderncpp + effectivemoderncpp -> optimizedcpp -> cppadvance + cpppractice -> exceptionalcpp -> moreexceptionalcpp -> exceptionalcppstyle -> cppcodingstandard -> cppadvance + cppadvance -> elementsofprogramming -> frommathtogeneric + cppadvance -> { insidecppobjectmodel; cpptemplates } + insidecppobjectmodel -> imperfectcpp + cpptemplates -> moderncppdesign + + lua -> programminginlua4 -> luaprogramminggems + + csharp -> mvcsharpstepbystep8 -> csharpindepth3 -> clrviacsharp4 + + progtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + progbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + progtop -> { cbegin; csharp; lua } [style=invis] + moderncppdesign -> progbottom [style=invis] + } + + subgraph cluster_se { + fillcolor="#f8f8ec" + label=<
3. 软件开发
> + + { + node [shape="box", style="rounded,filled", color="#ebebc6"] + sebegin [label="软件开发新手"] + sepractice [label="实践"] + dp [label="设计模式"] + uml [label="UML"] + } + + mythicalmanmonth2 [label=<
人月神话
(2007)
> URL="https://book.douban.com/subject/2230248/"] + + codecomplete2 [label=<
代码大全
(2007)
> URL="https://book.douban.com/subject/2208626/"] + apidesignforcpp [label=<
C++ API设计
(2013)
> URL="https://book.douban.com/subject/24869855/"] + + agilesoftwaredev [label=<
敏捷软件开发
(2008)
> URL="https://book.douban.com/subject/2347790/"] + designpatterns [label=<
设计模式
(2007)
> URL="https://book.douban.com/subject/2111801/"] + headfirstdesignpatterns [label=<
Head First 设计模式(中文版)
(2007)
> URL="https://book.douban.com/subject/2243615/"] + practiceofprogramming [label=<
程序设计实践
(2011)
> URL="https://book.douban.com/subject/6524000/"] + cleancode [label=<
编码整洁之道
(2012)
> URL="https://book.douban.com/subject/11602008/"] + refactoring [label=<
重构
(2010)
> URL="https://book.douban.com/subject/4262627/"] + workingeffectivelylegacycode [label=<
修改代码的艺术
(2014)
> URL="https://book.douban.com/subject/25904007/"] + + umldistilled3 [label=<
UML精粹
(2012)
> URL="https://book.douban.com/subject/10798193/"] + umluserguide2 [label=<
UML用户指南
(2006)
> URL="https://book.douban.com/subject/1837454/"] + ooadwa3 [label=<
面向对象分析与设计
(2012)
> URL="https://book.douban.com/subject/11509672/"] + + sebegin -> mythicalmanmonth2 -> { sepractice; dp } [arrowhead=normal, style=solid] + mythicalmanmonth2 -> uml + + sepractice -> practiceofprogramming -> refactoring -> codecomplete2 -> { cleancode; workingeffectivelylegacycode } [arrowhead=normal, style=solid] + codecomplete2 -> apidesignforcpp + + dp -> agilesoftwaredev -> designpatterns [arrowhead=normal, style=solid] + dp -> headfirstdesignpatterns -> agilesoftwaredev + + uml -> umldistilled3 -> umluserguide2 -> ooadwa3 + + setop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + sebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + setop -> sebegin [style=invis] + workingeffectivelylegacycode -> sebottom [style=invis] + } + + subgraph cluster_math { + fillcolor="#f2f8ec" + label=<
4. 游戏程序员的数学课
> + + { + node [shape="box", style="rounded,filled", color="#d9ebc6"] + mathbegin [label="游戏编程数学初阶"] + mathadvanced [label="游戏编程数学进阶"] + } + + foundationsgedmath [label=<
Foundations of Game
Engine Development,
Vol 1: Mathematics
(2016)
> URL="https://www.amazon.com/dp/0985811749/"] + math3dcpcg3 [label=<
3D游戏与计算机图形学
中的数学方法(第3版)
(2016)
> URL="https://book.douban.com/subject/26864861/"] + "3dmathprimer2" [label=<
3D Math Primer for
Graphics and Game
Development 2nd Ed (2011)
> URL="https://www.amazon.com/dp/1568817231/"] + essentialmaths3 [label=<
Essential Mathematics
for Games and
Interactive Applications
3rd Ed (2011)
> URL="https://www.amazon.com/dp/1482250926/"] + + geometricalgebra [label=<
Geometric Algebra for
Computer Science (2007)
> URL="https://www.amazon.com/dp/0123749425/"] + geometrictools [label=<
计算机图形学
几何工具算法详解
(2005)
> URL="https://book.douban.com/subject/1224798/"] + computationalgeometry [label=<
计算几何
(2009)
> URL="https://book.douban.com/subject/3893574/"] + visualizingquaternions [label=<
Visualizing Quaternions
(2006)
> URL="https://www.amazon.com/dp/0120884003/"] + divgradcurl4 [label=<
散度、旋度、梯度释义
(2015)
> URL="https://book.douban.com/subject/26688502/"] + + mathbegin -> foundationsgedmath + mathbegin -> math3dcpcg3 -> mathadvanced [arrowhead=normal, style=solid] + mathbegin -> "3dmathprimer2" + mathbegin -> essentialmaths3 + + { foundationsgedmath; "3dmathprimer2"; essentialmaths3 } -> mathadvanced + + mathadvanced -> geometrictools -> computationalgeometry [arrowhead=normal, style=solid] + mathadvanced -> geometricalgebra + mathadvanced -> visualizingquaternions + mathadvanced -> divgradcurl4 + + mathtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + mathbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + mathtop -> mathbegin [style=invis] + computationalgeometry -> mathbottom [style=invis] + } + + subgraph cluster_gameprog { + fillcolor="#ecf9ec" + label=<
5. 游戏编程
> + + { + node [shape="box", style="rounded,filled", color="#c5edc5"] + gpbegin [label="开始游戏编程"] + scratch [label="使用Windows/DirectX"] + unity [label="使用Unity"] + unreal [label="使用Unreal"] + cocos2dx [label="使用Cocos2d-X"] + gpintermediate [label="中级游戏编程"] + gpmisc [label="游戏编程文选"] + } + + windowsgp2 [label=<
Windows游戏编程大师技巧
(2012)
> URL="https://book.douban.com/subject/20282993/"] + gamecodingcomplete4 [label=<
游戏编程权威指南
(2016)
> URL="https://book.douban.com/subject/26787109/"] + + introtogdprodev [label=<
Introduction to Game
Design, Prototyping,
and Development (2014)
> URL="https://www.amazon.com/dp/0321933168/"] + unityinaction [label=<
Unity5实战
(2016)
> URL="https://book.douban.com/subject/26877872/"] + + learninguegd [label=<
Learning Unreal Engine
Game Development
(2015)
> URL="https://www.amazon.com/dp/1784398152/"] + blueprintsvisualscripting [label=<
Blueprints Visual Scripting
for Unreal Engine (2015)
> URL="https://www.amazon.com/dp/1785286013/"] + + cocos2dxbyexample2 [label=<
Cocos2d-X
by Example (2015)
> URL="https://www.amazon.com/dp/1785288857/"] + + gpalgorithmstechniques [label=<
Game Programming
Algorithms and
Techniques (2013)
> URL="https://www.amazon.com/dp/0321940156/"] + gameprogrammingpatterns [label=<
游戏编程模式
(2016)
> URL="https://book.douban.com/subject/26880704/"] + gpgoldenrules [label=<
Game Programming
Golden Rules (2004)
> URL="https://www.amazon.com/dp/1584503068/"] + crossplatformgp [label=<
Cross-Platform Game
Programming (2005)
> URL="https://www.amazon.com/dp/1584503793/"] + androidndkgdcookbook [label=<
Android NDK Game
Development Cookbook
(2013)
> URL="https://www.amazon.com/dp/1782167781/"] + buildingfpsgameunity [label=<
Building an FPS
Game with Unity (2015)
> URL="https://www.amazon.com/dp/178217480X/"] + unityvrprojects [label=<
Unity Virtual
Reality Projects (2015)
> URL="https://www.amazon.com/dp/178398855X/"] + agumentedreality [label=<
Augmented Reality
(2016)
> URL="https://www.amazon.com/dp/0321883578/"] + practicalaugmentedreality [label=<
Practical Augmented
Reality (2016)
> URL="https://www.amazon.com/dp/0134094239/"] + + { + rank=same + gpgemsbest [label=<
Best of Game
Programming
Gems (2008)
> URL="https://www.amazon.com/dp/1584505710/"] + beginninggp [label=<
Beginning Game
Programming (2009)
> URL="https://www.amazon.com/dp/159863805X/"] + advancedgp [label=<
Advanced Game
Programming (2009)
> URL="https://www.amazon.com/dp/1598638068/"] + } + + { + rank=same + gpgems [label=<
游戏编程精粹 1
(2004)
> URL="https://book.douban.com/subject/1231195/"] + gpgems2 [label=<
游戏编程精粹2
(2003)
> URL="https://book.douban.com/subject/1146281/"] + gpgems3 [label=<
游戏编程精粹3
(2003)
> URL="https://book.douban.com/subject/1125738/"] + gpgems4 [label=<
游戏编程精粹4
(2005)
> URL="https://book.douban.com/subject/1435923/"] + } + { + rank=same + gpgems5 [label=<
游戏编程精粹5
(2007)
> URL="https://book.douban.com/subject/2248414/"] + gpgems6 [label=<
游戏编程精粹6
(2007)
> URL="https://book.douban.com/subject/2305250/"] + gpgems7 [label=<
游戏编程精粹7
(2010)
> URL="https://book.douban.com/subject/4903976/"] + gpgems8 [label=<
Game Programming
Gems (2010)
> URL="https://www.amazon.com/dp/1584507020/"] + } + + gpbegin -> { scratch; unity; unreal; cocos2dx } + scratch -> gamecodingcomplete4 [arrowhead=normal, style=solid, tailport=se] + gamecodingcomplete4 -> gpintermediate [arrowhead=normal, style=solid] + scratch -> windowsgp2 + + windowsgp2 -> gamecodingcomplete4[style=invis] + + unity -> introtogdprodev -> unityinaction -> gpintermediate + + unreal -> learninguegd -> blueprintsvisualscripting -> gpintermediate + + cocos2dx -> cocos2dxbyexample2 -> gpintermediate + + gpintermediate -> gpalgorithmstechniques -> gameprogrammingpatterns [arrowhead=normal, style=solid] + gameprogrammingpatterns -> gpgoldenrules -> gpmisc + gpintermediate -> crossplatformgp -> androidndkgdcookbook + gpintermediate -> buildingfpsgameunity -> unityvrprojects + gpintermediate -> agumentedreality -> practicalaugmentedreality + + { + rank=same; gpgoldenrules; gpmisc + } + gpmisc -> gpgemsbest + gpgemsbest -> gpgems + gpmisc -> beginninggp -> advancedgp + gpgems -> gpgems2 -> gpgems3 -> gpgems4 + gpgems4 -> gpgems5 + gpgems5 -> gpgems6 -> gpgems7 -> gpgems8 + + gametop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + gamebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + gametop -> { gpbegin; unity } [style=invis] + gpgems7 -> gamebottom [style=invis] + } + + subgraph cluster_engine { + fillcolor="#ecf9f5" + label=<
6. 游戏引擎开发
> + + { + node [shape="box", style="rounded,filled", color="#c5ede1"] + gebegin [label="游戏引擎开发新手"] + gearticles [label="游戏引擎文选"] + gescript [label="脚本引擎"] + geoptimization [label="优化"] + getool [label="工具开发"] + } + + { + rank=same + gameenginearchitecture2 [label=<
游戏引擎架构
(2014)
> URL="https://book.douban.com/subject/25815142/"] + "3dgameenginearchitecture" [label=<
3D Game Engine
Architecture
(2004)
> URL="https://www.amazon.com/dp/012229064X/"] + gameenginedesign2 [label=<
3D Game Engine
Design
2nd Ed (2006)
> URL="https://www.amazon.com/dp/0122290631/"] + } + + gameenginegems1 [label=<
Game Engine
Gems 1 (2010)
> URL="https://www.amazon.com/dp/0763778885/"] + gameenginegems2 [label=<
Game Engine
Gems 2 (2011)
> URL="https://www.amazon.com/dp/1568814372/"] + gameenginegems3 [label=<
Game Engine
Gems 3 (2016)
> URL="https://www.amazon.com/dp/1498755658/"] + + gamescriptingmastery [label=<
游戏脚本高级编程
(2006)
> URL="https://book.douban.com/subject/1927405/"] + languageimplpatterns [label=<
编程语言实现模式
(2012)
> URL="https://book.douban.com/subject/10482195/"] + garbagecollectionhandbook [label=<
垃圾回收算法手册:
自动内存管理的艺术
(2016)
> URL="https://book.douban.com/subject/26740958/"] + + unity5gameoptimization [label=<
Unity 5 Game
Optimization (2015)
> URL="https://www.amazon.com/dp/1785884581/"] + videogameoptimization [label=<
Video Game
Optimization (2010)
> URL="https://www.amazon.com/dp/1598634356/"] + hackersdelight2 [label=<
算法心得:高效算法的奥秘(原书第2版)
(2014)
> URL="https://book.douban.com/subject/25837031/"] + modernx86assembly [label=<
Modern X86
Assembly Language
Programming (2014)
> URL="https://www.amazon.com/dp/1484200659/"] + gpgpu [label=<
GPGPU Programming
for Games and Science
(2014)
> URL="https://www.amazon.com/dp/1466595353/"] + vectorgamemathprocessors [label=<
Vector Games
Math Processors
(2002)
> URL="https://www.amazon.com/dp/1556229216/"] + + gamedevtools [label=<
Game Development
Tools (2011)
> URL="https://www.amazon.com/dp/1568814321/"] + designinguxgamedevtools [label=<
Designing the User
Experience of Game
Development Tools (2015)
> URL="https://www.amazon.com/dp/148224019X/"] + + gebegin -> gameenginearchitecture2 [arrowhead=normal, style=solid] + gameenginearchitecture2 -> { gearticles; gescript; geoptimization; getool } + + gameenginearchitecture2 -> "3dgameenginearchitecture" -> gameenginedesign2 + gearticles -> gameenginegems1 -> gameenginegems2 -> gameenginegems3 + gescript -> gamescriptingmastery -> languageimplpatterns -> garbagecollectionhandbook + geoptimization -> videogameoptimization -> unity5gameoptimization -> hackersdelight2 -> { modernx86assembly; gpgpu; vectorgamemathprocessors} + getool -> gamedevtools -> designinguxgamedevtools + + getop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + gebottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + getop -> gebegin [style=invis] + gpgpu -> gebottom [style=invis] + } + + subgraph cluster_cg { + fillcolor="#ecf5f9" + label=<
7. 计算机图形学(CG)
> + + { + node [shape="box", style="rounded,filled", color="#c5e1ed"] + cgbegin [label="游戏图形学初级"] + cgtheory [label="图形学理论初级"] + cgadvanced [label="图形学进阶"] + realtimerendering [label="实时渲染"] + offlinerendering [label="离线渲染"] + d3d [label="Direct3D"] + ogl [label="OpenGL"] + cgtech [label="图形学技术"] + cgmisc [label="图形学文选"] + } + + rt3drendering [label=<
Real-Time 3D
Rendering with DirectX
and HLSL (2014)
> URL="https://www.amazon.com/dp/0321962729/"] + "3dgpdx12" [label=<
DirectX 9.0 3D游戏开发编程基础
(2007)
> URL="https://book.douban.com/subject/2111771/"] + oglguide9 [label=<
OpenGL编程指南(原书第8版)
(2014)
> URL="https://book.douban.com/subject/26220248/"] + + fundamentalscg4 [label=<
计算机图形学
(2007)
> URL="https://book.douban.com/subject/2116178/"] + cgpp3 [label=<
计算机图形学原理及实践:
C语言描述(原书第2版)
(2004)
> URL="https://book.douban.com/subject/1230412/"] + pdis [label=<
Principles of Digital
Image Synthesis
(PODIS) (1995)
> URL="https://www.amazon.com/dp/1558602763/"] + digitalimageprocessing3 [label=<
数字图像处理
(2010)
> URL="https://book.douban.com/subject/4285832/"] + + graphicsshaders2 [label=<
图形着色器
(2013)
> URL="https://book.douban.com/subject/23858154/"] + glsl3 [label=<
OpenGL着色语言
(2006)
> URL="https://book.douban.com/subject/1911849/"] + oglsuper7 [label=<
OpenGL Super Bible
7th Ed (2015)
> URL="https://www.amazon.com/dp/0672337479/"] + ogles3guide2 [label=<
OpenGL ES 3.0编程指南
(2015)
> URL="https://book.douban.com/subject/26414014/"] + oglinsights [label=<
OpenGL Insights (2012)
> URL="https://www.amazon.com/dp/1439893764/"] + vulkanguide [label=<
Vulkan Programming
Guide (2016)
> URL="https://www.amazon.com/dp/0134464540/"] + + practiald3d11 [label=<
Practical Rendering
and Computation
with Direct3D 11 (2011)
> URL="https://www.amazon.com/dp/1568817207/"] + + rtr3 [label=<
实时计算机图形学
(2004)
> URL="https://book.douban.com/subject/1231141/"] + tricks3dgpgurus [label=<
3D游戏编程大师技巧
(2005)
> URL="https://book.douban.com/subject/1321769/"] + realtimeshadows [label=<
实时阴影技术
(2013)
> URL="https://book.douban.com/subject/25908680/"] + rtvolumegraphics [label=<
Real-Time Volume
Graphics (2006)
> URL="https://www.amazon.com/dp/1568812663/"] + graphicsprogrammingmethods [label=<
Graphics Programming
Methods (2003)
> URL="https://www.amazon.com/dp/1584502991/"] + gpugems [label=<
GPU精粹
(2006)
> URL="https://book.douban.com/subject/1480239/"] + gpugems2 [label=<
GPU精粹2
(2007)
> URL="https://book.douban.com/subject/2144796/"] + gpugems3 [label=<
GPU精粹3
(2010)
> URL="https://book.douban.com/subject/4851196/"] + gpupro [label=<
GPU Pro (2010)
> URL="https://www.amazon.com/dp/1568814720/"] + gpupro2 [label=<
GPU Pro 2 (2011)
> URL="https://www.amazon.com/dp/1568817185/"] + gpupro3 [label=<
GPU Pro 3 (2012)
> URL="https://www.amazon.com/dp/1439887829/"] + gpupro4 [label=<
GPU Pro 4 (2013)
> URL="https://www.amazon.com/dp/1466567430/"] + gpupro5 [label=<
GPU Pro 5 (2014)
> URL="https://www.amazon.com/dp/1482208636/"] + gpupro6 [label=<
GPU Pro 6 (2015)
> URL="https://www.amazon.com/dp/1482264617/"] + gpupro7 [label=<
GPU Pro 7 (2016)
> URL="https://www.amazon.com/dp/149874253X/"] + + pbrt3 [label=<
Physically Based
Rendering (PBRT)
3rd Ed (2016)
> URL="https://www.amazon.com/dp/0128006455/"] + raytracingfromgroundup [label=<
光线跟踪算法技术
(2011)
> URL="https://book.douban.com/subject/6028258/"] + advancedgi2 [label=<
Advanced
Global Illumination
2nd Ed (2006)
> URL="https://www.amazon.com/dp/1568813074/"] + productionvolumerendering [label=<
Production Volume
Rendering (2012)
> URL="https://www.amazon.com/dp/156881724X/"] + + texturingmodeling3 [label=<
Texturing and Modeling
(2002)
> URL="https://www.amazon.com/dp/1558608486/"] + lod [label=<
Level of Detail
for 3D Graphics (2002)
> URL="https://www.amazon.com/dp/0123991811/"] + "3denginedesignvirtualglobes" [label=<
3D Engine Design
for Virtual Globes (2011)
> URL="https://www.amazon.com/dp/1568817118/"] + polygonmeshprocessing [label=<
Polygon Mesh
Processing (2010)
> URL="https://www.amazon.com/dp/1568814267/"] + isosurfaces [label=<
Isosurfaces (2013)
> URL="https://www.amazon.com/dp/1466570970/"] + npr [label=<
Non-Photorealistic
Rendering (2001)
> URL="https://www.amazon.com/dp/1568811330/"] + npcg [label=<
Non-Photorealistic
Computer Graphics
(2002)
> URL="https://www.amazon.com/dp/1558607870/"] + + graphicsgems [label=<
Graphics Gems (1990)
> URL="https://www.amazon.com/dp/0122861655/"] + graphicsgems2 [label=<
Graphics Gems II (1991)
> URL="https://www.amazon.com/dp/0120644819/"] + graphicsgems3 [label=<
Graphics Gems III (1994)
> URL="https://www.amazon.com/dp/0124096735/"] + graphicsgems4 [label=<
Graphics Gems IV (1994)
> URL="https://www.amazon.com/dp/0123361559/"] + graphicsgems5 [label=<
Graphics Gems V (1995)
> URL="https://www.amazon.com/dp/0125434553/"] + + blinn1 [label=<
Jim Blinn's Corner:
A Trip Down
the Graphics Pipeline (1997)
> URL="https://www.amazon.com/dp/1558603875/"] + blinn2 [label=<
Jim Blinn's Corner:
Dirty Pixels (1998)
> URL="https://www.amazon.com/dp/1558604553/"] + blinn3 [label=<
Jim Blinn's Corner:
Notation, Notation,
Notation (2002)
> URL="https://www.amazon.com/dp/B01FGPKA62/"] + + glassenernotebook1 [label=<
Andrew Glassner's
Notebook (1999)
> URL="https://www.amazon.com/dp/1558605983/"] + glassenernotebook2 [label=<
Andrew Glassner's
Other Notebook (2002)
> URL="https://www.amazon.com/dp/1568811713/"] + + magiccg [label=<
The Magic of
Computer Graphics (2011)
> URL="https://www.amazon.com/dp/1568815778/"] + + cgbegin -> "3dgpdx12" + cgbegin -> { rt3drendering; oglguide9 } + + { "3dgpdx12"; rt3drendering; oglguide9 } -> cgtheory + + cgtheory -> fundamentalscg4 [arrowhead=normal, style=solid] + cgtheory-> { cgpp3; pdis; digitalimageprocessing3 } + + { fundamentalscg4; cgpp3; pdis; digitalimageprocessing3} -> cgadvanced + + cgadvanced -> { realtimerendering; offlinerendering; cgtech;} + + realtimerendering -> rtr3 [arrowhead=normal, style=solid] + realtimerendering -> tricks3dgpgurus + rtr3 -> graphicsprogrammingmethods -> gpugems -> gpugems2 -> gpugems3 -> gpupro -> gpupro2 -> gpupro3 -> gpupro4 -> gpupro5 -> gpupro6 -> gpupro7 + { rank=same;rtr3; rtvolumegraphics } + rtr3 -> { realtimeshadows; rtvolumegraphics } + realtimeshadows -> graphicsprogrammingmethods [style=invis] + tricks3dgpgurus -> realtimeshadows [style=invis] + + rtr3 -> { d3d; ogl } + d3d -> practiald3d11 + ogl -> oglsuper7 -> { graphicsshaders2; glsl3 } -> ogles3guide2 -> oglinsights -> vulkanguide + + offlinerendering -> pbrt3 [arrowhead=normal, style=solid] + offlinerendering -> raytracingfromgroundup + raytracingfromgroundup -> pbrt3 -> advancedgi2 -> productionvolumerendering + + productionvolumerendering -> cgtech [style=invis] + + cgtech -> { cgmisc; texturingmodeling3; lod; npr; } + lod -> "3denginedesignvirtualglobes" + texturingmodeling3 -> polygonmeshprocessing -> isosurfaces + npr -> npcg + + polygonmeshprocessing -> npr [style=invis] + + { + rank=same; glassenernotebook2; magiccg + } + cgmisc -> graphicsgems -> graphicsgems2 -> graphicsgems3 -> graphicsgems4 -> graphicsgems5 + cgmisc -> blinn1 -> blinn2 -> glassenernotebook1 -> blinn3 -> glassenernotebook2 -> magiccg + + vulkanguide -> cgmisc [style=invis] + + cgtop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + cgbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + cgtop -> cgbegin [style=invis] + glassenernotebook2 -> cgbottom [style=invis] + } + + subgraph cluster_audio { + fillcolor="#eceef9" + label=<
8. 游戏音效
> + + { + node [shape="box", style="rounded,filled", color="#c5cbed"] + audiobegin [label="游戏音频编程"] + } + + gameaudioprogramming [label=<
Game Audio
Programming (2016)
> URL="https://www.amazon.com/dp/149874673X/"] + gettingstartedcppaudio [label=<
Getting Started
with C++ Audio Programming
for Game Development (2013)
> URL="https://www.amazon.com/dp/1849699097/"] + + audiobegin -> { gameaudioprogramming; gettingstartedcppaudio } + + audiotop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + audiobottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + audiotop -> audiobegin [style=invis] + { gameaudioprogramming; gettingstartedcppaudio } -> audiobottom [style=invis] + } + + subgraph cluster_physics { + fillcolor="#f2ecf9" + label=<
9. 游戏物理和动画
> + + { + node [shape="box", style="rounded,filled",color="#d7c5ed"] + animbegin [label="游戏动画初阶"] + animadvanced [label="游戏动画进阶"] + phybegin [label="游戏物理初阶"] + phyadvanced [label="游戏物理进阶"] + fluid [label="流体动画/模拟"] + } + + natureofcode [label=<
代码本色:用编程模拟自然系统
(2014)
> URL="https://book.douban.com/subject/26264736/"] + characteranimation [label=<
Character Animation
with Direct3D (2011)
> URL="https://www.amazon.com/dp/1584505702/"] + rt3dcharacteranimation [label=<
Real-time 3D
Character Animation
with Visual C++ (2001)
> URL="https://www.amazon.com/dp/0240516648/"] + computeranimation3 [label=<
Computer Animation
3rd Ed (2012)
> URL="https://www.amazon.com/dp/0124158420/"] + gameik [label=<
Game Inverse
Kinematics (2013)
> URL="https://www.amazon.com/dp/1484922328/"] + physicsbasedanimation [label=<
Physics Based
Animation (2005)
> URL="https://www.amazon.com/dp/1584503807/"] + rtcameras [label=<
Real-Time Cameras
(2009)
> URL="https://www.amazon.com/dp/0123116341/"] + + physicsforgameprogrammers [label=<
Physics for Game
Programmers (2003)
> URL="https://www.amazon.com/dp/159059472X/"] + physicsforgamedevelopers2 [label=<
游戏开发物理学 第2版
(2015)
> URL="https://book.douban.com/subject/26394564/"] + physicsmodeling [label=<
Physics Modeling
for Game Programmers (2004)
> URL="https://www.amazon.com/dp/1592000932/"] + + gamephysicsenginedev2 [label=<
游戏物理引擎开发
(2013)
> URL="https://book.douban.com/subject/25821830/"] + gamephysics2 [label=<
Game Physics 2nd Ed (2010)
> URL="https://www.amazon.com/dp/0123749034/"] + collisiondetection3denv [label=<
Collision Detection
in Interactive 3D
Environments (2003)
> URL="https://www.amazon.com/dp/155860801X/"] + rtcollisiondetection [label=<
实时碰撞检测算法技术
(2010)
> URL="https://book.douban.com/subject/4861957/"] + gamephysicspearls [label=<
Game Physics Pearls
(2010)
> URL="https://www.amazon.com/dp/1568814747/"] + + taofluidanimation [label=<
The Art of
Fluid Animation (2015)
> URL="https://www.amazon.com/dp/1498700209/"] + fluidsimulationforcg2 [label=<
Fluid Simulation
for Computer Graphics
2nd Ed (2015)
> URL="https://www.amazon.com/dp/1482232839/"] + + animbegin -> { characteranimation; rt3dcharacteranimation } -> computeranimation3 -> animadvanced + animadvanced -> { gameik; physicsbasedanimation; rtcameras} + gameik -> rtcameras [style=invis] + + phybegin -> physicsforgameprogrammers + phybegin -> physicsforgamedevelopers2 + physicsforgameprogrammers -> physicsforgamedevelopers2 -> phyadvanced + physicsforgameprogrammers -> physicsmodeling -> phyadvanced + + { animbegin; phybegin } -> natureofcode + + phyadvanced -> gamephysicspearls + gamephysicspearls -> collisiondetection3denv -> rtcollisiondetection + gamephysicspearls -> gamephysicsenginedev2 -> gamephysics2 + + { animadvanced; phyadvanced } -> fluid -> taofluidanimation -> fluidsimulationforcg2 + + phytop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + phybottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + phytop -> { animbegin; phybegin } [style=invis] + fluidsimulationforcg2 -> phybottom [style=invis] + } + + subgraph cluster_ai { + fillcolor="#f9ecf9" + label=<
10. 游戏人工智能(AI)
> + + { + node [shape="box", style="rounded,filled" color="#edc5ed"] + aibegin [label="游戏AI初阶"] + aiintermediate [label="中级游戏AI"] + aimisc [label="游戏AI文选"] + } + + aiforgames2 [label=<
Artificial Intelligence
for Games 2nd Ed (2009)
> URL="https://www.amazon.com/dp/0123747317/"] + aiforgd [label=<
游戏开发中的人工智能
(2006)
> URL="https://book.douban.com/subject/1899340/"] + proggameaibyexample [label=<
游戏人工智能编程
案例精粹
(2012)
> URL="https://book.douban.com/subject/19930152/"] + unityaigp2 [label=<
Unity人工智能游戏开发(第2版) 
(2016)
> URL="https://book.douban.com/subject/26911454/"] + + aima3 [label=<
人工智能
(2004)
> URL="https://book.douban.com/subject/1230487/"] + behavioralmathforgameai [label=<
Behavioral Mathematics
for Game AI (2009)
> URL="https://www.amazon.com/dp/1584506849/"] + + { + rank=same + aigpwisdom [label=<
AI Game Programming
Wisdom (2002)
> URL="https://www.amazon.com/dp/1584500778/"] + aigpwisdom2 [label=<
AI Game Programming
Wisdom 2 (2003)
> URL="https://www.amazon.com/dp/1584502894/"] + aigpwisdom3 [label=<
AI Game Programming
Wisdom 3 (2006)
> URL="https://www.amazon.com/dp/1584504579/"] + aigpwisdom4 [label=<
AI Game Programming
Wisdom 4 (2008)
> URL="https://www.amazon.com/dp/1584505230/"] + } + { + rank=same + gameaipro [label=<
Game AI Pro (2013)
> URL="https://www.amazon.com/dp/1466565969/"] + gameaipro2 [label=<
Game AI Pro 2 (2015)
> URL="https://www.amazon.com/dp/1482254794/"] + } + + aibegin -> aiforgames2 -> aiintermediate -> aima3 [arrowhead=normal, style=solid] + aibegin -> { aiforgd; proggameaibyexample; unityaigp2 } -> aiintermediate + aiintermediate -> behavioralmathforgameai -> aimisc + aima3 -> aimisc + aimisc -> aigpwisdom + aigpwisdom -> aigpwisdom2 -> aigpwisdom3 -> aigpwisdom4 + aigpwisdom4 -> gameaipro -> gameaipro2 + + aitop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + aibottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + aitop -> aibegin [style=invis] + gameaipro2 -> aibottom [style=invis] + } + + subgraph cluster_multiplayer { + fillcolor="#f9ebf2" + label=<
11. 多人游戏编程
> + + { + node [shape="box", style="rounded,filled" color="#edc5d7"] + multiplayerbegin [label="多人游戏编程初阶"] + multiplayermisc [label="多人游戏编程文选"] + serverprog [label="服务器编程"] + networkprotocol [label="网络协议"] + networkprog [label="网络编程"] + } + + multiplayergp [label=<
Multiplayer Game
Programming (2015)
> URL="https://www.amazon.com/dp/0134034309/"] + massivelymultiplayergd [label=<
大型多人在线游戏开发
(2006)
> URL="https://book.douban.com/subject/1940567/"] + massivelymultiplayergd2 [label=<
Massively Multiplayer
Game Development 2
(2005)
> URL="https://www.amazon.com/dp/1584503904/"] + + progposixthreads [label=<
POSIX多线程程序设计
(2003)
> URL="https://book.douban.com/subject/1236825/"] + advancedprogunixenv3 [label=<
UNIX环境高级编程(第3版)
(2014)
> URL="https://book.douban.com/subject/25900403/"] + linuxsystemprog2 [label=<
Linux 系统编程(第二版)
(2014)
> URL="https://book.douban.com/subject/25828773/"] + + tcpipillustratedv1_2 [label=<
TCP/IP详解
卷1:协议
(2016)
> URL="https://book.douban.com/subject/26825411/"] + tcpipillustratedv2 [label=<
TCP/IP详解
卷2:实现
(2004)
> URL="https://book.douban.com/subject/1087767/"] + tcpipillustratedv3 [label=<
TCP/IP详解
卷3:TCP事务协议、
HTTP、NNTP
和UNIX域协议
(2000)
> URL="https://book.douban.com/subject/1058634/"] + + unixnetworkprogv1_3 [label=<
UNIX网络编程
卷1:套接字联网API(第3版)
(2014)
> URL="https://book.douban.com/subject/26434583/"] + unixnetworkprogv2_2 [label=<
UNIX网络编程
卷2:进程间通信(第2版)
(2015)
> URL="https://book.douban.com/subject/26434599/"] + linuxnetworkinternals [label=<
深入理解
LINUX网络技术内幕
(2009)
> URL="https://book.douban.com/subject/4015134/"] + + multiplayerbegin -> multiplayergp [arrowhead=normal, style=solid] + multiplayergp -> serverprog + multiplayergp -> networkprotocol + multiplayergp -> networkprog + multiplayergp -> multiplayermisc + + serverprog -> progposixthreads -> advancedprogunixenv3 -> linuxsystemprog2 + networkprotocol -> tcpipillustratedv1_2 -> tcpipillustratedv2 -> tcpipillustratedv3 + networkprog -> unixnetworkprogv1_3 -> unixnetworkprogv2_2 -> linuxnetworkinternals + + multiplayermisc -> massivelymultiplayergd -> massivelymultiplayergd2 + + multiplayertop [fixedsize=true,width=8,height=0.01,style=invis,label=""] + multiplayerbottom [fixedsize=true,width=8,height=0.01,style=invis,label=""] + multiplayertop -> multiplayerbegin [style=invis] + { linuxsystemprog2; tcpipillustratedv3; linuxnetworkinternals } -> multiplayerbottom [style=invis] + } + + ccsa [fontcolor=white,fontsize=8,label=< + + +
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
> + URL = "https://creativecommons.org/licenses/by-sa/4.0/"] + + { + edge [style=invis] + tocbottom -> legendtop + legendbottom -> kidtop + kidbottom -> cstop + csbottom -> progtop + progbottom -> setop + sebottom -> mathtop + mathbottom -> gametop + gamebottom -> getop + gebottom -> cgtop + cgbottom -> audiotop + audiobottom -> phytop + phybottom -> aitop + aibottom -> multiplayertop + multiplayerbottom -> ccsa + } +}