@@ -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