diff --git a/game-programmer.dot b/game-programmer.dot
index 179bfa7..3fa456c 100644
--- a/game-programmer.dot
+++ b/game-programmer.dot
@@ -24,7 +24,8 @@ digraph {
{
node [shape="box", style="rounded,filled", fixedsize=true, width=3, height=0.75, fontsize=15]
- cs [color="#eac7c7", label="1. Computer Science"]
+ kid [color="#edc5ce", label=<0. Game Programming
for Kids>]
+ cs [color="#edc5c5", label="1. Computer Science"]
proglang [color="#eddac5", label="2. Programming Languages"]
softwaredev [color="#ebebc6", label="3. Software Development"]
math [color="#d9ebc6", label=<4. Mathematics for
Game Porgramming>]
@@ -32,25 +33,63 @@ digraph {
gameengine [color="#c5ede1", label=<6. Game Engine
Development>]
cg [color="#c5e1ed", label="7. Computer Graphics"]
audio [color="#c5cbed", label="8. Game Audio"]
- phyanim [color="#d7c5ed", label=<9. Game Physics and
Animation>]
+ phyanim [color="#d7c5ed", label=<9. Game Physics
and Animation>]
ai [color="#edc5ed", label=<10. Game Artificial
Intelligence>]
- gameserver [label=<11. Game Server
Programming>]
+ multiplayer [color="#edc5d7", label=<11. Multiplayer Game
Programming>]
}
- cs -> proglang -> softwaredev -> math -> gameprog -> gameengine
- cg -> audio -> phyanim -> ai -> gameserver [style=invis]
- gameengine -> { cg; phyanim; ai; audio; gameserver }
+ kid -> cs -> proglang -> softwaredev -> math -> gameprog -> gameengine
+ cg -> audio -> phyanim -> ai -> multiplayer[style=invis]
+ gameengine -> { cg; phyanim; ai; audio; multiplayer}
cg -> audio [style=invis]
- toctop -> cs [style=invis]
- gameserver -> tocbottom [style=invis]
+ toctop -> kid [style=invis]
+ multiplayer-> tocbottom [style=invis]
+ }
+
+ subgraph cluster_kid {
+ fillcolor="#f9ecef"
+ label=<
0. Game Programming for Kids |
>
+
+ {
+ node [shape="box", style="rounded,filled" color="#edc5ce"]
+ age5 [label="Beginning from Age of 5"]
+ age8 [label="Beginning from Age of 8"]
+ kidintermediate [label="Intermediate Game Programming for Kids"]
+ }
+
+ scratchjr [label=< |
The Official ScratchJr Book (2015) |
>]
+
+ codinggamesinscratch [label=< |
Coding Games in Scratch (2015) |
>]
+ superscratchprogadv [label=< |
Super Scratch Programming Adventure! (2013) |
>]
+ learntoprogramwithscratch [label=< |
Learn to Program with Scratch (2014) |
>]
+ helpyoukidswithcomputercoding [label=< |
Help Your Kids with Computer Coding (2015) |
>]
+
+ inventgamepython3 [label=< |
Invent Your Own Computer Games with Python 3rd Ed (2015) |
>]
+ makinggamespython [label=< |
Making Games with Python & Pygame (2012) |
>]
+ learntoprogramwithminecraft [label=< |
Learn to Program with Minecraft (2015) |
>]
+ adventuresinminecraft [label=< |
Adventures in Minecraft (2014) |
>]
+ "3dgpforkids" [label=< |
3D Game Programming for Kids (2013) |
>]
+
+ age5 -> scratchjr -> age8
+ age8 -> codinggamesinscratch -> helpyoukidswithcomputercoding -> kidintermediate [penwidth=2, arrowhead=normal]
+ age8 -> superscratchprogadv -> learntoprogramwithscratch -> kidintermediate
+
+ kidintermediate -> inventgamepython3 -> makinggamespython
+ kidintermediate -> learntoprogramwithminecraft -> adventuresinminecraft
+ kidintermediate -> "3dgpforkids"
+
+ kidtop [fixedsize=true,width=8,height=0.1,style=invis, label=""]
+ kidbottom [fixedsize=true,width=8,height=0.1,style=invis,label=""]
+ kidtop -> age5 [style=invis]
+ adventuresinminecraft -> kidbottom [style=invis]
}
subgraph cluster_cs {
- fillcolor="#f8ecec"
+ fillcolor="#f9ecec"
label=<>
{
- node [shape="box", style="rounded,filled" color="#eac7c7"]
+ node [shape="box", style="rounded,filled" color="#edc5c5"]
rank=same
foundation [label="CS Foundation"]
algorithm [label="Algorithm"]
@@ -100,6 +139,7 @@ digraph {
tcpppl4 [label=< |
The C++ Programming Language 4th Ed (2014) |
>]
cppstandardlibrary2 [label=< |
The C++ Standard Library 2nd Ed (2012) |
>]
boostcpplibraries2 [label=< |
The Boost C++ Libraries 2nd Ed (2014) |
>]
+ cppconcurrencyinaction [label=< |
C++ Concurrency in Action (2012) |
>]
effectivestl [label=< |
Effective STL (2001) |
>]
@@ -132,9 +172,11 @@ digraph {
cppbegin -> tcpppl4
cppprimer5 -> cpplibrary [penwidth=2, arrowhead=normal]
tcpppl4 -> cpplibrary
+
cpplibrary -> cppstandardlibrary2 [penwidth=2, arrowhead=normal]
cppstandardlibrary2 -> effectivestl
- cppstandardlibrary2 -> boostcpplibraries2
+ cppstandardlibrary2 -> boostcpplibraries2 -> cppconcurrencyinaction
+
cpppractice -> effectivecpp3 -> moreeffectivecpp3 -> effectivemoderncpp [penwidth=2, arrowhead=normal]
effectivemoderncpp -> optimizedcpp -> cppadvance
cpppractice -> exceptionalcpp -> moreexceptionalcpp -> exceptionalcppstyle -> cppcodingstandard
@@ -247,7 +289,6 @@ digraph {
gamecodingcomplete4 [label=< |
Game Coding Complete 4th Ed (2012) |
>]
gpalgorithmstechniques [label=< |
Game Programming Algorithms and Techniques (2013) |
>]
gameprogrammingpatterns [label=< |
Game Programming Patterns (2014) |
>]
- multiplayergp [label=< |
Multiplayer Game Programming (2015) |
>]
crossplatformgp [label=< |
Cross-Platform Game Programming (2005) |
>]
introtogdprodev [label=< |
Introduction to Game Design, Prototyping, and Development (2014) |
>]
@@ -288,7 +329,7 @@ digraph {
cocos2dx -> cocos2dxbyexample2 -> gpintermediate
gpintermediate -> gpalgorithmstechniques -> gameprogrammingpatterns -> gpmisc [penwidth=2, arrowhead=normal]
- gpintermediate -> { multiplayergp; crossplatformgp }
+ gpintermediate -> crossplatformgp
gpmisc -> gpgemsbest [penwidth=2, arrowhead=normal]
gpgemsbest -> gpgems
@@ -601,9 +642,34 @@ digraph {
gameaipro2 -> aibottom [style=invis]
}
+ subgraph cluster_multiplayer {
+ fillcolor="#f3d8e5"
+ label=<11. Multiplayer Game Programming |
>
+
+ {
+ node [shape="box", style="rounded,filled" color="#edc5d7"]
+ multiplayerbegin [label="Beginning Multiplayer Game Programming"]
+ multiplayermisc [label="Multiplayer Game Articles"]
+ }
+
+ multiplayergp [label=< |
Multiplayer Game Programming (2015) |
>]
+ massivelymultiplayergd [label=< |
Massively Multiplayer Game Development (2003) |
>]
+ massivelymultiplayergd2 [label=< |
Massively Multiplayer Game Development 2 (2005) |
>]
+
+ multiplayerbegin -> multiplayergp -> multiplayermisc
+
+ multiplayermisc -> massivelymultiplayergd -> massivelymultiplayergd2
+
+ multiplayertop [fixedsize=true,width=8,height=0.1,style=invis,label=""]
+ multiplayerbottom [fixedsize=true,width=8,height=0.1,style=invis,label=""]
+ multiplayertop -> multiplayerbegin [style=invis]
+ massivelymultiplayergd2 -> multiplayerbottom [style=invis]
+ }
+
{
edge [style=invis]
- tocbottom -> cstop
+ tocbottom -> kidtop
+ kidbottom -> cstop
csbottom -> progtop
progbottom -> setop
sebottom -> mathtop
@@ -613,5 +679,6 @@ digraph {
cgbottom -> audiotop
audiobottom -> phytop
phybottom -> aitop
+ aibottom -> multiplayertop
}
}
diff --git a/images/3dgpforkids.jpg b/images/3dgpforkids.jpg
new file mode 100644
index 0000000..e2f8278
Binary files /dev/null and b/images/3dgpforkids.jpg differ
diff --git a/images/adventuresinminecraft.jpg b/images/adventuresinminecraft.jpg
new file mode 100644
index 0000000..14291cc
Binary files /dev/null and b/images/adventuresinminecraft.jpg differ
diff --git a/images/codinggamesinscratch.jpg b/images/codinggamesinscratch.jpg
new file mode 100644
index 0000000..4c0b72a
Binary files /dev/null and b/images/codinggamesinscratch.jpg differ
diff --git a/images/cppconcurrencyinaction.jpg b/images/cppconcurrencyinaction.jpg
new file mode 100644
index 0000000..adeb454
Binary files /dev/null and b/images/cppconcurrencyinaction.jpg differ
diff --git a/images/helpyoukidswithcomputercoding.jpg b/images/helpyoukidswithcomputercoding.jpg
new file mode 100644
index 0000000..9d6fcd4
Binary files /dev/null and b/images/helpyoukidswithcomputercoding.jpg differ
diff --git a/images/inventgamepython3.jpg b/images/inventgamepython3.jpg
new file mode 100644
index 0000000..19c395b
Binary files /dev/null and b/images/inventgamepython3.jpg differ
diff --git a/images/learntoprogramwithminecraft.jpg b/images/learntoprogramwithminecraft.jpg
new file mode 100644
index 0000000..e1ae656
Binary files /dev/null and b/images/learntoprogramwithminecraft.jpg differ
diff --git a/images/learntoprogramwithscratch.jpg b/images/learntoprogramwithscratch.jpg
new file mode 100644
index 0000000..3830215
Binary files /dev/null and b/images/learntoprogramwithscratch.jpg differ
diff --git a/images/makinggamespython.jpg b/images/makinggamespython.jpg
new file mode 100644
index 0000000..8551c9b
Binary files /dev/null and b/images/makinggamespython.jpg differ
diff --git a/images/massivelymultiplayergd.jpg b/images/massivelymultiplayergd.jpg
new file mode 100644
index 0000000..1b41d5a
Binary files /dev/null and b/images/massivelymultiplayergd.jpg differ
diff --git a/images/massivelymultiplayergd2.jpg b/images/massivelymultiplayergd2.jpg
new file mode 100644
index 0000000..e043e4e
Binary files /dev/null and b/images/massivelymultiplayergd2.jpg differ
diff --git a/images/scratchjr.jpg b/images/scratchjr.jpg
new file mode 100644
index 0000000..2f194a5
Binary files /dev/null and b/images/scratchjr.jpg differ
diff --git a/images/superscratchprogadv.jpg b/images/superscratchprogadv.jpg
new file mode 100644
index 0000000..20a7a44
Binary files /dev/null and b/images/superscratchprogadv.jpg differ