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=<
1. Computer Science
> { - 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