@@ -25,7 +25,7 @@ digraph {
2525
2626            toctop [fixedsize =true,width =8, height =3, shape =plaintext ,label =<
2727                <TABLE BORDER=" 0"  >
28- <TR><TD><FONT FACE=" Futura"   POINT-SIZE=" 40"  >游戏程序员的</FONT></TD></TR><TR><TD><FONT FACE=" Futura"   POINT-SIZE=" 40"  >学习之路</FONT></TD></TR>                <TR><TD><FONT FACE=" Futura"   POINT-SIZE=" 20"  >Milo Yip<br/>2016/12/18 </FONT></TD></TR>
28+ <TR><TD><FONT FACE=" Futura"   POINT-SIZE=" 40"  >游戏程序员的</FONT></TD></TR><TR><TD><FONT FACE=" Futura"   POINT-SIZE=" 40"  >学习之路</FONT></TD></TR>                <TR><TD><FONT FACE=" Futura"   POINT-SIZE=" 20"  >Milo Yip<br/>2016/12/20 </FONT></TD></TR>
2929                <TR><TD>https:// github.com/miloyip/game-programmer</TD></TR>
3030                </TABLE>
3131            > URL =" https://github.com/miloyip/game-programmer"  ]
@@ -91,12 +91,12 @@ digraph {
9191        }
9292
9393        scratchjr [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/scratchjr.jpg"  /></TD></TR><TR><TD>The Official<br/>ScratchJr Book (2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593276710/"  ]
94- 
94+          
9595        codinggamesinscratch [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/codinggamesinscratch.jpg"  /></TD></TR><TR><TD>Coding Games<br/>in Scratch<br/>(2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1465439358/"  ]
9696        superscratchprogadv [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/superscratchprogadv.jpg"  /></TD></TR><TR><TD>Super Scratch<br/>Programming Adventure!<br/>(2013)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593275315/"  ]
9797        learntoprogramwithscratch [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/learntoprogramwithscratch.jpg"  /></TD></TR><TR><TD>Learn to Program<br/> with Scratch<br/>(2014)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593275439/"  ]
9898        helpyoukidswithcomputercoding [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/helpyoukidswithcomputercoding.jpg"  /></TD></TR><TR><TD>Help Your Kids<br/>with Computer Coding<br/>(2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/146541956X/"  ]
99- 
99+          
100100        inventgamepython3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/inventgamepython3.jpg"  /></TD></TR><TR><TD>Invent Your Own<br/>Computer Games with<br/>Python 3rd Ed (2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1503212300/"  ]
101101        makinggamespython [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/makinggamespython.jpg"  /></TD></TR><TR><TD>Making Games with<br/>Python & Pygame (2012)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1469901730/"  ]
102102        learntoprogramwithminecraft [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/learntoprogramwithminecraft.jpg"  /></TD></TR><TR><TD>Learn to Program<br/>with Minecraft (2015)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1593276702/"  ]
@@ -133,10 +133,10 @@ digraph {
133133        csapp3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/csapp3.jpg"  /></TD></TR><TR><TD>深入理解计算机系统<br/>(原书第3版)<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26912767/"  ]
134134        caaqa5 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/caaqa5.jpg"  /></TD></TR><TR><TD>计算机体系结构<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/20452387/"  ]
135135        mos4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/mos4.jpg"  /></TD></TR><TR><TD>现代操作系统(第3版)<br/>(2009)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/3852290/"  ]
136- 
136+          
137137        clrs3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/clrs3.jpg"  /></TD></TR><TR><TD>算法导论(原书第3版)<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/20432061/"  ]
138138        algorithms4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/algorithms4.jpg"  /></TD></TR><TR><TD>算法(第4版)<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/19952400/"  ]
139- 
139+          
140140        concretemaths2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/concretemaths2.jpg"  /></TD></TR><TR><TD>具体数学<br/>(2013)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/21323941/"  ]
141141        computationalscieng [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/computationalscieng.jpg"  /></TD></TR><TR><TD>Computational Science<br/>and Engineering (2007)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0961408812/"  ]
142142
@@ -174,7 +174,7 @@ digraph {
174174        tcpl2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/tcpl2.jpg"  /></TD></TR><TR><TD>C程序设计语言<br/>(2004)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/1139336/"  ]
175175
176176        cppprimer5 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/cppprimer5.jpg"  /></TD></TR><TR><TD>C++ Primer 中文版<br/>(第 5 版)<br/>(2013)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/25708312/"  ]
177-         tcpppl4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/tcpppl4.jpg"  /></TD></TR><TR><TD>C++ 程序设计语言<br/> (原书第 4 版)<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26857943/"  ]
177+         tcpppl4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/tcpppl4.jpg"  /></TD></TR><TR><TD>C++ 程序设计语言(原书第 4 版)<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26857943/"  ]
178178        cppstandardlibrary2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/cppstandardlibrary2.jpg"  /></TD></TR><TR><TD>C++标准库(第2版)<br/>(2015)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26419721/"  ]
179179        boostcpplibraries2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/boostcpplibraries2.jpg"  /></TD></TR><TR><TD>The Boost C++<br/>Libraries 2nd Ed (2014)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1937434362/"  ]
180180        cppconcurrencyinaction [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/cppconcurrencyinaction.jpg"  /></TD></TR><TR><TD>C++并发编程实战<br/>(2015)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26386925/"  ]
@@ -212,7 +212,7 @@ digraph {
212212        cppbegin ->  tcpppl4
213213        cppprimer5 ->  cpplibrary [arrowhead =normal, style =solid]
214214        tcpppl4 ->  cpplibrary
215- 
215+          
216216        cpplibrary ->  cppstandardlibrary2 [arrowhead =normal, style =solid]
217217        cppstandardlibrary2 ->  effectivestl
218218        cppstandardlibrary2 ->  cppconcurrencyinaction ->  boostcpplibraries2
@@ -272,7 +272,7 @@ digraph {
272272        codecomplete2 ->  apidesignforcpp
273273
274274        dp ->  agilesoftwaredev ->  designpatterns [arrowhead =normal, style =solid]
275-         agilesoftwaredev  ->  headfirstdesignpatterns ->  designpatterns 
275+         dp  ->  headfirstdesignpatterns ->  agilesoftwaredev 
276276
277277        uml ->  umldistilled3 ->  umluserguide2 ->  ooadwa3
278278
@@ -340,7 +340,7 @@ digraph {
340340
341341        windowsgp2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/windowsgp2.jpg"  /></TD></TR><TR><TD>Windows游戏编程大师技巧<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/20282993/"  ]
342342        gamecodingcomplete4 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/gamecodingcomplete4.jpg"  /></TD></TR><TR><TD>游戏编程权威指南<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26787109/"  ]
343- 
343+   
344344        introtogdprodev [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/introtogdprodev.jpg"  /></TD></TR><TR><TD>Introduction to Game<br/>Design, Prototyping,<br/>and Development (2014)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0321933168/"  ]
345345        unityinaction [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/unityinaction.jpg"  /></TD></TR><TR><TD>Unity5实战<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26877872/"  ]
346346
@@ -395,13 +395,13 @@ digraph {
395395        cocos2dx ->  cocos2dxbyexample2 ->  gpintermediate
396396
397397        gpintermediate ->  gpalgorithmstechniques ->  gameprogrammingpatterns [arrowhead =normal, style =solid]
398-         gameprogrammingpatterns ->  gpgoldenrules ->  gpmisc
398+         gameprogrammingpatterns ->  gpgoldenrules ->  gpmisc  
399399        gpintermediate ->  crossplatformgp ->  androidndkgdcookbook
400400        gpintermediate ->  buildingfpsgameunity ->  unityvrprojects
401401        gpintermediate ->  agumentedreality ->  practicalaugmentedreality
402402
403403        {
404-             rank =same ; gpgoldenrules; gpmisc
404+             rank =same ; gpgoldenrules; gpmisc  
405405        }
406406        gpmisc ->  gpgemsbest
407407        gpgemsbest ->  gpgems
@@ -435,11 +435,11 @@ digraph {
435435            " 3dgameenginearchitecture"   [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/3dgameenginearchitecture.jpg"  /></TD></TR><TR><TD>3D Game Engine<br/>Architecture<br/>(2004)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/012229064X/"  ]
436436            gameenginedesign2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginedesign2.jpg"  /></TD></TR><TR><TD>3D Game Engine<br/>Design<br/>2nd Ed (2006)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0122290631/"  ]
437437        }
438- 
438+          
439439        gameenginegems1 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginegems1.jpg"  /></TD></TR><TR><TD>Game Engine<br/>Gems 1 (2010)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/0763778885/"  ]
440440        gameenginegems2 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginegems2.jpg"  /></TD></TR><TR><TD>Game Engine<br/>Gems 2 (2011)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1568814372/"  ]
441441        gameenginegems3 [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/gameenginegems3.jpg"  /></TD></TR><TR><TD>Game Engine<br/>Gems 3 (2016)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1498755658/"  ]
442- 
442+          
443443        gamescriptingmastery [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/gamescriptingmastery.jpg"  /></TD></TR><TR><TD>游戏脚本高级编程<br/>(2006)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/1927405/"  ]
444444        languageimplpatterns [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/languageimplpatterns.jpg"  /></TD></TR><TR><TD>编程语言实现模式<br/>(2012)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/10482195/"  ]
445445        garbagecollectionhandbook [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" ./images-zh-cn/garbagecollectionhandbook.jpg"  /></TD></TR><TR><TD>垃圾回收算法手册:<br/>自动内存管理的艺术<br/>(2016)</TD></TR></TABLE>> URL =" https://book.douban.com/subject/26740958/"  ]
@@ -548,7 +548,7 @@ digraph {
548548
549549        magiccg [label =<<TABLE BORDER=" 0"   CELLSPACING=" 0"  ><TR><TD WIDTH=" 100"   HEIGHT=" 100"   FIXEDSIZE=" TRUE"  ><IMG SCALE=" TRUE"   SRC=" images/magiccg.jpg"  /></TD></TR><TR><TD>The Magic of<br/>Computer Graphics (2011)</TD></TR></TABLE>> URL =" https://www.amazon.com/dp/1568815778/"  ]
550550
551-         cgbegin ->  " 3dgpdx12" 
551+         cgbegin ->  " 3dgpdx12"   
552552        cgbegin ->  { rt3drendering; oglguide9 }
553553
554554        { " 3dgpdx12"  ; rt3drendering; oglguide9 } ->  cgtheory
@@ -582,7 +582,7 @@ digraph {
582582        lod ->  " 3denginedesignvirtualglobes" 
583583        texturingmodeling3 ->  polygonmeshprocessing ->  isosurfaces
584584        npr ->  npcg
585- 
585+          
586586        polygonmeshprocessing ->  npr [style =invis]
587587
588588        {
@@ -712,7 +712,7 @@ digraph {
712712        aibegin ->  { aiforgd; proggameaibyexample; unityaigp2 } ->  aiintermediate
713713        aiintermediate ->  behavioralmathforgameai ->  aimisc
714714        aima3 ->  aimisc
715-         aimisc ->  aigpwisdom
715+         aimisc ->  aigpwisdom  
716716        aigpwisdom ->  aigpwisdom2 ->  aigpwisdom3 ->  aigpwisdom4
717717        aigpwisdom4 ->  gameaipro ->  gameaipro2
718718
@@ -757,7 +757,7 @@ digraph {
757757        multiplayergp ->  networkprog
758758        multiplayergp ->  multiplayermisc
759759
760-         serverprog ->  progposixthreads ->  advancedprogunixenv3 ->  linuxsystemprog2
760+         serverprog ->  progposixthreads ->  advancedprogunixenv3 ->  linuxsystemprog2  
761761        networkprotocol ->  tcpipillustratedv1_2 ->  tcpipillustratedv2 ->  tcpipillustratedv3
762762        networkprog ->  unixnetworkprogv1_3 ->  unixnetworkprogv2_2 ->  linuxnetworkinternals
763763
0 commit comments