From c9c7c7c333126ed36b69a4f8064709217eb3ac81 Mon Sep 17 00:00:00 2001 From: Nicky Case Date: Sun, 15 Apr 2018 17:24:22 -0400 Subject: [PATCH] IN THE FINISHING LAP --- css/PatrickHand-Regular.ttf | Bin 0 -> 214772 bytes css/index.css | 20 +- index.html | 334 ++++++++++++------ .../{0_Introduction.js => 1_Introduction.js} | 4 +- js/chapters/{1_Networks.js => 2_Networks.js} | 0 ...ple_Contagion.js => 3_Simple_Contagion.js} | 0 ...ex_Contagion.js => 4_Complex_Contagion.js} | 4 +- ..._Bridging.js => 5_Bonding_And_Bridging.js} | 78 +--- js/chapters/6_Conclusion.js | 36 -- js/chapters/6_Small_World.js | 118 +++++++ js/chapters/{5_Sandbox.js => 7_Sandbox.js} | 1 - js/chapters/8_Conclusion.js | 84 +++++ js/chapters/{7_Credits.js => 9_Credits.js} | 0 js/lib/helpers.js | 9 +- js/main.js | 2 +- js/sim/Connection.js | 54 ++- js/sim/Peep.js | 63 +++- js/sim/Simulations.js | 42 ++- js/slideshow/Navigation.js | 2 +- js/slideshow/SandboxUI.js | 9 +- 20 files changed, 606 insertions(+), 254 deletions(-) create mode 100755 css/PatrickHand-Regular.ttf rename js/chapters/{0_Introduction.js => 1_Introduction.js} (55%) rename js/chapters/{1_Networks.js => 2_Networks.js} (100%) rename js/chapters/{2_Simple_Contagion.js => 3_Simple_Contagion.js} (100%) rename js/chapters/{3_Complex_Contagion.js => 4_Complex_Contagion.js} (99%) rename js/chapters/{4_Bonding_And_Bridging.js => 5_Bonding_And_Bridging.js} (70%) delete mode 100644 js/chapters/6_Conclusion.js create mode 100644 js/chapters/6_Small_World.js rename js/chapters/{5_Sandbox.js => 7_Sandbox.js} (96%) create mode 100644 js/chapters/8_Conclusion.js rename js/chapters/{7_Credits.js => 9_Credits.js} (100%) diff --git a/css/PatrickHand-Regular.ttf b/css/PatrickHand-Regular.ttf new file mode 100755 index 0000000000000000000000000000000000000000..fb45ccdbd344ab7f9f4ae98792521405e48cda3e GIT binary patch literal 214772 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%0AISm&OeRj9HPv@D< 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

+0bv5 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 B)w%!x literal 0 HcmV?d00001 diff --git a/css/index.css b/css/index.css index c8ff4cb..71a8d3a 100644 --- a/css/index.css +++ b/css/index.css @@ -1,3 +1,13 @@ +/* FONT FACE */ +@font-face { + font-family: "PatrickHand"; + font-style: normal; + font-weight: 400; + src: url(PatrickHand-Regular.ttf) format('truetype'); + /*unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;*/ +} + +/* HTML & BODY */ html, body{ width:100%; height:100%; @@ -7,9 +17,10 @@ html, body{ body{ margin:0; - font-family: "FuturaHandwritten"; - font-size: 20px; + font-family: "PatrickHand"; + font-size: 23px; line-height: 1.5em; + } /* fake bold */ b, strong{ @@ -62,6 +73,7 @@ b, strong{ background-image: url(../sprites/button_large.png); background-size: 100% auto; text-align: center; + line-height: 25px; } #slideshow .next_button:hover{ background-position: 0 -100px; @@ -114,6 +126,7 @@ b, strong{ } .sandbox_ui input[type="range"]{ width: 100%; + cursor: none; } .choose_one{ overflow: hidden; @@ -199,8 +212,6 @@ b, strong{ color: #222; } #navigation > div > span:nth-child(1){ - position: relative; - top: 1px; display: block; } #navigation > div > span:nth-child(2){ @@ -237,7 +248,6 @@ b, strong{ color: #fff; text-align: center; border-radius: 20px; - font-size: 18px; width: 220px; padding: 6px 0; diff --git a/index.html b/index.html index 38a3767..2e02252 100644 --- a/index.html +++ b/index.html @@ -51,36 +51,40 @@ Cursor is allowed to flow EVERYWHERE though...
- 0 - 0. Introduction + 1 + 1. Introduction
- 1 - 1. Connections + 2 + 2. Connections
- 2 - 2. Contagions + 3 + 3. Contagions
- 3 - 3. Complex Contagions + 4 + 4. Complex Contagions
- 4 - 4. Bonding & Bridging + 5 + 5. Bonding & Bridging +
+
+ 6 + 6. It's A Small World
- 5 - 5. Sandbox Mode + 7 + 7. Sandbox Mode
- 6 - 6. In Conclusion... + 8 + 8. In Conclusion...
- 7 - 7. Credits + 9 + 9. Credits
@@ -92,9 +96,22 @@ Cursor is allowed to flow EVERYWHERE though... Bonus Boxes! (Notes)
- * + * References
+
+ A + Translations +
AHHHHHH @@ -137,7 +154,7 @@ Cursor is allowed to flow EVERYWHERE though...
-


+

Sir Isaac Newton was pretty sure he was a smart cookie. I mean, after inventing calculus and a theory of gravity, @@ -310,7 +327,7 @@ Cursor is allowed to flow EVERYWHERE though... Some misinformation. "Fake news", as the cool kids say. And every day, that person spreads the rumor to their friends. And they spread it to their friends. And so on. -

+
Run the simulation, step-by-step ↓ (p.s: you can't draw while the sim's running) @@ -345,8 +362,8 @@ Cursor is allowed to flow EVERYWHERE though... Mr. Newton fell for such a cascade in 1720. The world's financial institutions fell for such a cascade in 2008. But so what? You already knew ideas spread. - However, network scientists recently found a new, strange kind of contagion. - And they're called... + However, network scientists have found a new, strange kind of contagion. + They're called... @@ -356,69 +373,71 @@ Cursor is allowed to flow EVERYWHERE though... + - Truth may be stranger than fiction, but it doesn't sell as well. + Truth may be stranger than fiction, but it doesn't sell as well. -

+
- Simple contagions, like juicy rumors or hot takes, - only need one "infected" friend to spread. - That doesn't mean the contagion will spread, - just that one exposure can be enough to spread. - This, by the way, is how biological contagions like viruses work. + Simple contagions, like juicy rumors or hot takes, + only need one "infected" friend to spread. + That doesn't mean the contagion will spread, + just that one exposure can be enough to spread. + This, by the way, is how biological contagions (like bacteria & viruses) work. -

+
- Complex contagions are weirder. - Some things -- like norms, habits and hard-to-accept ideas -- - need more social encouragement. - They need not a minimum number of friends to spread, - but a minimum percentage of friends to spread!(*) + Complex contagions are weirder. + Some things -- like norms, habits and hard-to-accept ideas -- + need more social encouragement. + They need not a minimum number of friends to spread, + but a minimum percentage of friends to spread!(*) -

+
- On the right, a person needs AT LEAST 25% of their friends to - adopt a complex fact (img) before they do. - Try "infecting" them all with wisdom! + On the right, a person needs AT LEAST 25% of their friends to + adopt a complex fact (img) before they do. + Try "infecting" them all with wisdom! +
+ - CAUTION: - just because an idea/behavior is "complex" doesn't mean it's good, - (e.g. conspiracy theories) - and just because it's "simple" doesn't mean it's bad! - (e.g. cute cat videos) + CAUTION: + just because an idea/behavior is "complex" doesn't mean it's good, + (e.g. conspiracy theories) + and just because it's "simple" doesn't mean it's bad! + (e.g. cute cat videos) -

- - Think of it this way: - simple contagions are weeds, complex contagions are trees, - and a network is an ecosystem. - Sometimes weeds are good, sometimes trees are bad. - But if your ecosystem can only support weeds, - something's very wrong. +
+ + Think of it this way: + simple contagions are weeds, complex contagions are trees, + and a network is an ecosystem. + Sometimes weeds are good, sometimes trees are bad. + But if your ecosystem can only support weeds, + something's very wrong. -

+
- (BONUS: OTHER KINDS OF CONTAGIONS) + (BONUS: OTHER KINDS OF CONTAGIONS) -

+
- So, how do we make sure our social ecosystem is healthy? - Let's revisit... + So, how do we make sure our social ecosystem is healthy? + Let's revisit... - ...the cascade puzzle! + ...the cascade puzzle! +
You did this before, but now, with a complex contagion (img), it'll be tougher... -
- (note: feel free to just hit 'start' and try as many solutions as you want) -
- "Infect" everyone with complex wisdom! ↓ + Try to "infect" everyone with complex wisdom! ↓ + (feel free to just hit 'start' and try as many solutions as you want)
@@ -468,14 +487,15 @@ Cursor is allowed to flow EVERYWHERE though... The immediate cause: it was too cold that morning. -

+
The less immediate cause: the managers ignored the engineers' warnings. Why? Because of groupthink(*). When a group is too closely knit, (as they tend to be at the top of institutions) - they become resistant to hard-to-accept information. + they become resistant to hard-to-accept information + that challenges one's beliefs or ego. -

+
So, that's how to get crowd madness. But how can we "design" for crowd wisdom? @@ -501,7 +521,7 @@ Cursor is allowed to flow EVERYWHERE though...
- This is called bonding social capital, + This is called bonding social capital(*), the strength of the connections within a single group. But what about the connections... ...between groups? @@ -517,9 +537,8 @@ Cursor is allowed to flow EVERYWHERE though... Like bonding, bridging social capital has a sweet spot. - (optional challenge: draw a bridge so thick that the complex contagion + (bonus challenge: try drawing a bridge so thick that the complex contagion can't pass through it!) -

Now that we know how to "design" connections within and between groups, let's... ...do BOTH. →
@@ -529,30 +548,62 @@ Cursor is allowed to flow EVERYWHERE though... FINAL PUZZLE!
Draw connections within groups (bonding) and between groups (bridging) - however you want, to spread wisdom to everyone: + to spread wisdom to everyone:
- derp derp - derp derp → - - // "SMALL WORLD" - // e pluribus unum - // unity in diversity? - // examples - // JFK story in footnote + You just drew a very special kind of network! + Networks with high bonding and bridging + are profoundly important, and they're called... + “Small World Networks” → - + + + "Unity without uniformity". "Diversity without division". "E Pluribus Unum: out of many, one". +
+ No matter how it's phrased, + people -- across times and cultures -- have often arrived at the same piece of wisdom: + + a healthy society needs both tight bonds within groups + and thick bridges between groups. + + +
+ + That is, not this... +
+ (because ideas can't spread) +
+ + nor this... +
+ (because you'll get groupthink) +
+ + ...but THIS: + + + + Network scientists now have a mathematical definition for this ancient wisdom: + the small world network(*). This optimal mix of bonding+bridging describes how + our neurons interact(*), gives rise to collective creativity and problem-solving(*), + and, at one point, has even helped us (barely) avoid full-out nuclear war!(*) + So, yeah, small worlds are a big deal. + + + + And finally, if you'd like to make a whole network from scratch, let's check out... + The Sandbox Mode → - NOTE: "Sandbox Mode" is totally optional. - Feel free to skip it, or play around!(*) - When you're done, let's recap... + NOTE: "Sandbox Mode" is totally optional! + Feel free to skip it, or play around.(*) + Whenever you're done, let's recap... what we learnt today! @@ -607,25 +658,107 @@ Cursor is allowed to flow EVERYWHERE though... - IN CONCLUSION: - Contagion & Connections. - derp + +
+ IN CONCLUSION: it's all about... +
+
+ Contagions & Connections +
+ +
+ Contagions: + Like how neurons pass signals in a brain, + people pass beliefs & behaviors in a society. + Not only do we influence our friends, + we also influence our friends' friends, and even our friends' friends' friends!(*) + (“be the change you wanna see in the world” etc etc) + But, like neurons, it's not just signals that matter, it's also... +
+ +
+ Connections: + Too few connections and complex ideas can't spread. + Too many connections and complex ideas get crushed by groupthink. + The trick is to build a small world network, the optimal mix of + bonding and bridging: e pluribus unum. +

+ (BONUS: missing) +
+ +
+ so, what about our question from the very beginning? + why do some crowds turn to... +
+
+ ...wisdom and/or madness? +
+
-
- in the final circle - recap all stories, - HUMAN BRAIN. - derp +
+ +
+ From Newton to NASA to network science, we've covered a lot here today. + Long story short, the madness of crowds is not necessarily due to the + individual people, but how we're trapped in a network's sticky web. + +

+ + That does NOT mean abandoning personal responsibility, + for we're also the weavers of that web. + So, improve your contagions: + be skeptical of ideas that flatter you(*), + spend time understanding complex ideas. + And, improve your connections: bond with similar folk, + but also build bridges across cultural/political divides. + +

+ + We can weave a wise web. + Sure, it's harder than drawing lines on a screen... + ...but so, so worth it. +
-
- GOOD OMENS QUOTE. - derp -
+ + “The great triumphs and tragedies of history are caused, + not by people being fundamentally good or fundamentally bad, + but by people being fundamentally people.” + +
+ ~ Neil Gaiman & Terry Pratchett + <3
@@ -706,14 +839,15 @@ Cursor is allowed to flow EVERYWHERE though... - - - - - - - - + + + + + + + + + diff --git a/js/chapters/0_Introduction.js b/js/chapters/1_Introduction.js similarity index 55% rename from js/chapters/0_Introduction.js rename to js/chapters/1_Introduction.js index 903434a..8f962e6 100644 --- a/js/chapters/0_Introduction.js +++ b/js/chapters/1_Introduction.js @@ -3,8 +3,8 @@ // FOR REUSE: var SPLASH_NETWORK = { "contagion":0, - "peeps":[[-432,-121,0],[308,-101,0],[401,-224,0],[-226,392,0],[-217,-397,0],[303,356,0],[-70,-439,0],[280,-373,0],[35,-322,0],[125,299,0],[-549,-108,0],[489,118,0],[387,78,0],[189,385,0],[-425,-214,0],[69,602,0],[214,244,0],[305,108,0],[15,436,0],[389,236,0],[-271,-178,0],[-100,-308,0],[-106,440,0],[-346,4,0],[172,-372,0],[-575,-257,0],[457,-131,0],[-215,-242,0],[-318,-58,0],[22,323,0],[122,475,0],[388,461,0],[-492,27,0],[114,-303,0],[307,-252,0],[487,-347,0],[264,187,0],[231,-226,0],[-181,269,0],[-68,317,0],[-333,399,0],[-437,289,0],[-286,259,0],[-265,186,0],[-571,201,0],[-317,66,0],[618,35,0],[587,190,0],[574,-217,0],[-259,546,0],[-296,-307,0],[-618,53,0],[-127,-531,0],[489,336,0],[324,-9,0],[261,551,0],[-275,-535,0],[-396,-444,0],[-447,-333,0],[477,-26,0],[-406,486,0],[22,-464,0],[-3,-619,0],[-86,587,0],[382,-457,0],[266,-556,0],[119,-529,0],[-421,168,0]], - "connections":[[24,37,0],[37,1,0],[1,2,0],[26,1,0],[34,1,0],[13,9,0],[9,30,0],[30,29,0],[29,9,0],[9,18,0],[18,29,0],[18,30,0],[30,13,0],[13,29,0],[18,13,0],[36,19,0],[19,5,0],[19,12,0],[19,16,0],[17,19,0],[11,19,0],[14,25,0],[10,25,0],[10,14,0],[28,20,0],[20,0,0],[0,32,0],[8,21,0],[6,8,0],[21,27,0],[4,21,0],[4,27,0],[21,6,0],[39,3,0],[3,38,0],[38,22,0],[22,39,0],[39,38,0],[22,3,0],[6,4,0],[23,32,0],[42,40,0],[40,41,0],[41,42,0],[37,7,0],[37,33,0],[45,43,0],[47,46,0],[55,31,0],[57,56,0],[58,50,0],[59,54,0],[60,49,0],[62,52,0],[62,61,0],[63,15,0],[64,65,0],[65,66,0],[44,51,0],[48,35,0],[67,43,0],[67,45,0],[61,52,0],[23,0,0],[28,0,0]] + "peeps":[[-408,-115,0],[290,-143,0],[400,-221,0],[-221,373,0],[-214,-378,0],[358,357,0],[-86,-420,0],[269,-369,0],[6,-324,0],[124,299,0],[-550,-119,0],[469,137,0],[366,80,0],[176,381,0],[-452,-217,0],[43,597,0],[238,276,0],[300,120,0],[22,416,0],[373,226,0],[-275,-172,0],[-113,-303,0],[-117,419,0],[-324,5,0],[156,-375,0],[-580,-250,0],[416,-111,0],[-215,-243,0],[-316,-65,0],[33,322,0],[112,456,0],[363,487,0],[-455,13,0],[95,-310,0],[302,-268,0],[507,-313,0],[254,200,0],[207,-249,0],[-177,271,0],[-77,315,0],[-357,387,0],[-462,305,0],[-332,261,0],[-258,195,0],[-556,184,0],[-312,87,0],[600,19,0],[593,158,0],[562,-188,0],[-249,534,0],[-318,-295,0],[-592,55,0],[-99,-541,0],[528,282,0],[322,-31,0],[241,542,0],[-244,-540,0],[-356,-469,0],[-435,-359,0],[456,-11,0],[-382,507,0],[22,-475,0],[14,-611,0],[-89,571,0],[396,-446,0],[284,-521,0],[152,-537,0],[-399,172,0]], + "connections":[[24,37,0],[37,1,0],[1,2,0],[26,1,0],[34,1,0],[13,9,0],[9,30,0],[30,29,0],[29,9,0],[9,18,0],[18,29,0],[18,30,0],[30,13,0],[13,29,0],[18,13,0],[36,19,0],[19,5,0],[19,12,0],[19,16,0],[17,19,0],[11,19,0],[14,25,0],[10,25,0],[10,14,0],[28,20,0],[20,0,0],[0,32,0],[8,21,0],[6,8,0],[21,27,0],[4,21,0],[4,27,0],[21,6,0],[39,3,0],[3,38,0],[38,22,0],[22,39,0],[39,38,0],[22,3,0],[6,4,0],[23,32,0],[42,40,0],[40,41,0],[41,42,0],[37,7,0],[37,33,0],[45,43,0],[47,46,0],[55,31,0],[57,56,0],[58,50,0],[59,54,0],[60,49,0],[62,52,0],[62,61,0],[63,15,0],[64,65,0],[65,66,0],[44,51,0],[48,35,0],[67,43,0],[67,45,0],[61,52,0],[23,0,0],[28,0,0],[53,47,0]] }; SLIDES.push( diff --git a/js/chapters/1_Networks.js b/js/chapters/2_Networks.js similarity index 100% rename from js/chapters/1_Networks.js rename to js/chapters/2_Networks.js diff --git a/js/chapters/2_Simple_Contagion.js b/js/chapters/3_Simple_Contagion.js similarity index 100% rename from js/chapters/2_Simple_Contagion.js rename to js/chapters/3_Simple_Contagion.js diff --git a/js/chapters/3_Complex_Contagion.js b/js/chapters/4_Complex_Contagion.js similarity index 99% rename from js/chapters/3_Complex_Contagion.js rename to js/chapters/4_Complex_Contagion.js index 9186dba..4775845 100644 --- a/js/chapters/3_Complex_Contagion.js +++ b/js/chapters/4_Complex_Contagion.js @@ -249,10 +249,10 @@ SLIDES.push( setTimeout(function(){ //boxes.showChildByID("end", true); sim.win(); - },500); + },350); setTimeout(function(){ slideshow.next(); - },1250); + },1100); } diff --git a/js/chapters/4_Bonding_And_Bridging.js b/js/chapters/5_Bonding_And_Bridging.js similarity index 70% rename from js/chapters/4_Bonding_And_Bridging.js rename to js/chapters/5_Bonding_And_Bridging.js index 5b19c9f..abe89e7 100644 --- a/js/chapters/4_Bonding_And_Bridging.js +++ b/js/chapters/5_Bonding_And_Bridging.js @@ -1,4 +1,3 @@ -// 0 - INTRODUCTION SLIDES.push( { @@ -160,81 +159,6 @@ SLIDES.push( } -}, - -{ - chapter: "BB-Both", - clear:true, - - add:[ - - // Sim - // use a DRAWING to impose SOFT CONSTRAINTS - { - type:"sim", - x:150, y:0, - fullscreen: true, - network: { - "contagion":0.25, - "peeps":[[485,50,1],[581,97,0],[389,101,0],[579,200,0],[399,193,0],[487,243,0],[290,312,0],[201,358,0],[196,446,0],[278,509,0],[381,374,0],[367,469,0],[596,370,0],[680,315,0],[778,354,0],[784,454,0],[700,506,0],[604,459,0]], - "connections":[] - }, - options:{ - infectedFrame: 3, - scale: 1, - startUncuttable: true - } - }, - - // UI for the simulation - { - type:"box", - id:"ui", - x:70, y:190, - sim_ui:"blue" - }, - - - // Words - { - type:"box", - text:"bb_1", - x:0, y:10, w:350, h:170 - }, - - // Words - { - id:"end", - type:"box", - text:"bb_2", - x:0, y:310, w:300, h:230, - //hidden: true - } - - ], - - onupdate:function(slideshow, state){ - - // If ALL infected... - var sim = slideshow.simulations.sims[0]; - var peepCount = 0; - sim.peeps.forEach(function(peep){ - if(peep.infected) peepCount++; - }); - - // Win - if(!state.ended){ - if(peepCount==sim.peeps.length){ - var boxes = slideshow.boxes; - boxes.showChildByID("end", true); - state.ended = true; - sim.win(); - } - } - - } - -}, - +} ); \ No newline at end of file diff --git a/js/chapters/6_Conclusion.js b/js/chapters/6_Conclusion.js deleted file mode 100644 index 431da98..0000000 --- a/js/chapters/6_Conclusion.js +++ /dev/null @@ -1,36 +0,0 @@ -// 0 - INTRODUCTION -SLIDES.push( -/*{ - chapter: "Conclusion", - clear:true -}*/ - -{ - chapter: "Conclusion", - clear:true, - - add:[ - - // Splash - { - type:"sim", - x:960/2, y:540/2, - fullscreen: true, - network: SPLASH_NETWORK, - options:{ - splash: true, - randomStart: 20 - } - }, - - // Words - { - type:"box", - text:"conclusion_2", x:210, y:0, w:540, h:540, align:"center" - }, - - ] - -}, - -); \ No newline at end of file diff --git a/js/chapters/6_Small_World.js b/js/chapters/6_Small_World.js new file mode 100644 index 0000000..c082984 --- /dev/null +++ b/js/chapters/6_Small_World.js @@ -0,0 +1,118 @@ +SLIDES.push( + +{ + chapter: "SmallWorld", + clear:true, + + add:[ + + // Sim + // use a DRAWING to impose SOFT CONSTRAINTS + { + type:"sim", + x:150, y:0, + fullscreen: true, + network: { + "contagion":0.25, + "peeps":[[485,50,1],[581,97,0],[389,101,0],[579,200,0],[399,193,0],[487,243,0],[290,312,0],[201,358,0],[196,446,0],[278,509,0],[381,374,0],[367,469,0],[596,370,0],[680,315,0],[778,354,0],[784,454,0],[700,506,0],[604,459,0]], + "connections":[[13,12,0],[12,17,0],[17,16,0],[16,15,0],[15,14,0],[14,13,0],[12,14,0],[14,17,0],[17,13,0],[13,15,0],[15,12,0],[12,16,0],[16,14,0],[13,16,0],[15,17,0],[7,6,0],[6,10,0],[10,11,0],[11,9,0],[9,8,0],[8,7,0],[7,10,0],[10,9,0],[9,7,0],[6,9,0],[8,11,0],[11,6,0],[6,8,0],[7,11,0],[10,8,0]] + }, + options:{ + infectedFrame: 3, + scale: 1, + startUncuttable: true + } + }, + + // UI for the simulation + { + type:"box", + id:"ui", + x:70, y:180, + sim_ui:"blue" + }, + + + // Words + { + type:"box", + text:"bb_1", + x:0, y:10, w:350, h:170 + }, + + // Words + { + id:"end", + type:"box", + text:"bb_2", + x:0, y:310, w:300, h:230, + hidden: true + } + + ], + + onupdate:function(slideshow, state){ + + // If ALL infected... + var sim = slideshow.simulations.sims[0]; + var peepCount = 0; + sim.peeps.forEach(function(peep){ + if(peep.infected) peepCount++; + }); + + // Win + if(!state.ended){ + if(peepCount==sim.peeps.length){ + var boxes = slideshow.boxes; + boxes.showChildByID("end", true); + state.ended = true; + sim.win(); + } + } + + } + +}, + +{ + chapter: "SmallWorld-Explanation", + clear:true, + add:[ + + // Words + { + type:"box", + text:"bb_small_world_1", x:0, y:0, w:960, h:120, + }, + { + type:"box", + text:"bb_small_world_2", x:0, y:120, w:320, h:50, + fontSize:"19px", lineHeight:"21px", + align:"center" + }, + { + type:"box", + text:"bb_small_world_3", x:320, y:120, w:320, h:50, + fontSize:"19px", lineHeight:"21px", + align:"center" + }, + { + type:"box", + text:"bb_small_world_4", x:640, y:130, w:320, h:40, + fontSize:"30px", lineHeight:"30px", + align:"center" + }, + { + type:"box", + text:"bb_small_world_5", x:0, y:360, w:640, h:180, + }, + { + type:"box", + text:"bb_small_world_end", x:640, y:360, w:320, h:180, + align:"center" + } + + ] +} + +); \ No newline at end of file diff --git a/js/chapters/5_Sandbox.js b/js/chapters/7_Sandbox.js similarity index 96% rename from js/chapters/5_Sandbox.js rename to js/chapters/7_Sandbox.js index 8648128..e459db8 100644 --- a/js/chapters/5_Sandbox.js +++ b/js/chapters/7_Sandbox.js @@ -1,4 +1,3 @@ -// 0 - INTRODUCTION SLIDES.push( { chapter: "Sandbox", diff --git a/js/chapters/8_Conclusion.js b/js/chapters/8_Conclusion.js new file mode 100644 index 0000000..102900d --- /dev/null +++ b/js/chapters/8_Conclusion.js @@ -0,0 +1,84 @@ +// 0 - INTRODUCTION +SLIDES.push( + +{ + chapter: "Conclusion", + clear:true, + + add:[ + + // Words + { + type:"box", + id:"conclusion_1", + text:"conclusion_1", x:0, y:0, w:960, h:540 + } + + ] + +}, + +{ + chapter: "Conclusion-Splash", + clear:true, + + add:[ + + // Splash + { + type:"sim", + x:960/2, y:540/2, + fullscreen: true, + network: SPLASH_NETWORK, + options:{ + splash: true, + randomStart: 20 + } + }, + + // Words + { + type:"box", + id:"conclusion_2", + text:"conclusion_2", x:210, y:0, w:540, h:540, align:"center" + }, + + ] + +}, + +{ + + remove:[ + {type:"box", id:"conclusion_2"} + ], + add:[ + { + type:"box", + id:"conclusion_3", + text:"conclusion_3", x:210, y:160, w:540, h:220, align:"center" + } + ] + +}, + +{ + remove:[ + {type:"box", id:"conclusion_3"} + ], + onstart: function(slideshow, state){ + // splash animation, then auto-next to CREDITS. + var splash = slideshow.simulations.sims[0]; + splash.options.CONCLUSION = true; + splash.options.CONCLUSION_GLOW_RADIUS = 0; + setTimeout(function(){ + slideshow.next(); + },7000); + }, + onupdate: function(slideshow, state){ + var splash = slideshow.simulations.sims[0]; + splash.options.CONCLUSION_GLOW_RADIUS += 3; + } +} + +); \ No newline at end of file diff --git a/js/chapters/7_Credits.js b/js/chapters/9_Credits.js similarity index 100% rename from js/chapters/7_Credits.js rename to js/chapters/9_Credits.js diff --git a/js/lib/helpers.js b/js/lib/helpers.js index e34d18d..8ed1b66 100644 --- a/js/lib/helpers.js +++ b/js/lib/helpers.js @@ -72,7 +72,7 @@ function fadeOut(container, dom){ } // Tween position -function tweenPosition(from, to, callback){ +function tweenPosition(from, to, callback, ease, speed){ var x1 = from.x; var y1 = from.y; var x2 = to.x; @@ -80,10 +80,12 @@ function tweenPosition(from, to, callback){ var dx = x2-x1; var dy = y2-y1; var t = 0; + ease = ease || easeInOutSine; + speed = speed || 3/60; var handle = subscribe("update", function(){ // Time - t += 3/60; + t += speed; if(t>=1){ from.x = x2; from.y = y2; @@ -118,6 +120,9 @@ function tweenPosition(from, to, callback){ function easeInOutSine(t) { return -1/2 * (Math.cos((Math.TAU/2)*t) - 1); }; +function easeLinear(t){ + return t; +} // Get Bounding Box of points function getBoundsOfPoints(points){ diff --git a/js/main.js b/js/main.js index 119a17e..955e470 100644 --- a/js/main.js +++ b/js/main.js @@ -29,6 +29,6 @@ window.onload = function(){ window.requestAnimationFrame(update); // First slide! - slideshow.gotoChapter("Sandbox"); + slideshow.gotoChapter("Conclusion"); } \ No newline at end of file diff --git a/js/sim/Connection.js b/js/sim/Connection.js index 3094399..ebc66ae 100644 --- a/js/sim/Connection.js +++ b/js/sim/Connection.js @@ -8,7 +8,7 @@ function Connection(config){ self.uncuttable = config.uncuttable || false; self.sim = config.sim; - // Sprite + // Line Sprite self.sprite = new Sprite({ src: "sprites/line.png", frames:1, sw:300, sh:20, @@ -16,6 +16,15 @@ function Connection(config){ self.sprite.pivotX = 2.8; self.sprite.pivotY = 10; + // Dot Sprite + self.dotSprite = new Sprite({ + src: "sprites/peeps.png", + frames:6, sw:200, sh:200, + }); + self.dotSprite.pivotX = 100; + self.dotSprite.pivotY = 100; + self.dotSprite.scale = 0.1; + // Update self.update = function(){}; @@ -37,6 +46,15 @@ function Connection(config){ self.sprite.draw(ctx); ctx.restore(); + // DRAW CONTAGION DOT + if(self.contagionDot){ + var infectedFrame = self.sim.options.infectedFrame || 1; + self.dotSprite.x = self.contagionDot.x; + self.dotSprite.y = self.contagionDot.y; + self.dotSprite.gotoFrame(infectedFrame); + self.dotSprite.draw(ctx); + } + }; // Hit Test with a LINE SEGMENT @@ -66,4 +84,38 @@ function Connection(config){ }; + // Animate + self.contagionDot = null; + self.animate = function(){ + + // Infection? + var cFrom, cTo; + if(self.from.infected && (!self.to.infected && self.to.isPastThreshold)){ + cFrom = self.from; + cTo = self.to; + } + if(self.to.infected && (!self.from.infected && self.from.isPastThreshold)){ + cFrom = self.to; + cTo = self.from; + } + + // boop! + if(cFrom && cTo){ + + // ANIMATE IT + cFrom = { x:cFrom.x, y:cFrom.y }; + cTo = { x:cTo.x, y:cTo.y }; + tweenPosition(cFrom, cTo, function(point){ + self.contagionDot = point; + }, easeLinear); + + // Then, goodbye later + setTimeout(function(){ + self.contagionDot = null; + },333); + + } + + }; + } \ No newline at end of file diff --git a/js/sim/Peep.js b/js/sim/Peep.js index 28134b6..19dad28 100644 --- a/js/sim/Peep.js +++ b/js/sim/Peep.js @@ -73,24 +73,29 @@ function Peep(config){ y: 0 - self.y }); var gravityScale = getVectorLength(self)*0.00012; + if(self.sim.options.CONCLUSION){ + gravityScale *= 2; + } gravity = multiplyVector(gravity, gravityScale); self.velocity = addVectors(self.velocity, gravity); // If within the ring, push OUT. - var RADIUS = 325; - var distanceFromCenter = getVectorLength(self); - if(distanceFromCenter=0){ + var shake = Math.sin(self._shakeAnim*10)*3; + ctx.translate(shake, 0); + self._shakeAnim -= 0.05; + } + var bgColor = "#ddd"; var uiColor = "#333"; // Say: Infected/Friends (% then n/n) ctx.translate(0,-43); - ctx.font = '9px FuturaHandwritten'; + ctx.font = '12px PatrickHand'; ctx.fillStyle = uiColor; ctx.textBaseline = "middle"; ctx.fontWeight = "bold"; @@ -289,4 +318,10 @@ function Peep(config){ self.infected = true; }; + // Shake + self._shakeAnim = -1; + self.shake = function(){ + self._shakeAnim = 1; + }; + } diff --git a/js/sim/Simulations.js b/js/sim/Simulations.js index 4a66be4..48d3dea 100644 --- a/js/sim/Simulations.js +++ b/js/sim/Simulations.js @@ -281,7 +281,7 @@ function Sim(config){ ctx.globalAlpha = alpha; } - ctx.font = '80px FuturaHandwritten'; + ctx.font = '100px PatrickHand'; ctx.fillStyle = "#000"; ctx.textBaseline = "middle"; ctx.fontWeight = "bold"; @@ -376,16 +376,44 @@ function Sim(config){ self.contagion = contagionLevel; }; + self._dontStepAgain = false; self.nextStep = function(){ - self.STEP++; + if(self._dontStepAgain) return; + self._dontStepAgain = true; + setTimeout(function(){ + self.STEP++; + self._dontStepAgain = false; + },420); // just in case... // "Infect" the peeps who need to get infected - // TODO: Connection animation - self.peeps.filter(function(peep){ - return peep.isPastThreshold; - }).forEach(function(peep){ - peep.infect(); + + // CONNECTIONS: IF one is INFECTED and the other is PAST THRESHOLD, then ANIMATE + self.connections.forEach(function(c){ + c.animate(); + }); + + // PEEPS: If not already infected & past threshold, infect + self.peeps.forEach(function(peep){ + if(!peep.infected && peep.isPastThreshold){ + // timeout for animation + setTimeout(function(){ + peep.infect(); + },333); + } + }); + + // PEEPS: If NOT infected, NOT past threshold, and a friend IS INFECTED, then SHAKE + self.peeps.forEach(function(peep){ + if(!peep.infected && !peep.isPastThreshold){ + var friends = self.getFriendsOf(peep); + var infectedFriends = friends.filter(function(f){ + return f.infected; + }); + if(infectedFriends.length>0){ + peep.shake(); + } + } }); }; diff --git a/js/slideshow/Navigation.js b/js/slideshow/Navigation.js index 0c0ced8..8579c76 100644 --- a/js/slideshow/Navigation.js +++ b/js/slideshow/Navigation.js @@ -52,7 +52,7 @@ function Navigation(){ var _showBubble = function(nav){ var offset = nav.getBoundingClientRect().x - $("#navigation").getBoundingClientRect().x; - var label = nav.querySelector("span:nth-child(2)").innerHTML; + var label = nav.children[1].innerHTML; bubble.style.left = offset - (220/2) + (36/2); bubble.innerHTML = label; diff --git a/js/slideshow/SandboxUI.js b/js/slideshow/SandboxUI.js index 23e6827..8d4c354 100644 --- a/js/slideshow/SandboxUI.js +++ b/js/slideshow/SandboxUI.js @@ -44,11 +44,9 @@ function SandboxUI(container){ // Choose Color of Peeps // /////////////////////////// - var GAP = "0.5em"; - var colorChooserLabel = document.createElement("div"); colorChooserLabel.innerHTML = getWords("sandbox_color_chooser"); - colorChooserLabel.style.marginTop = GAP; + colorChooserLabel.style.marginTop = "0.5em"; var colorChooser = new ChooseOne({ options:[ 1, // red @@ -77,7 +75,7 @@ function SandboxUI(container){ var toolChooserLabel = document.createElement("div"); toolChooserLabel.innerHTML = getWords("sandbox_tool_chooser"); - toolChooserLabel.style.marginTop = "0.25em"; //GAP; + toolChooserLabel.style.marginTop = "0.25em"; var tools = [ "pencil", "add", @@ -124,7 +122,8 @@ function SandboxUI(container){ var shortcutsLabel = document.createElement("div"); shortcutsLabel.innerHTML = getWords("sandbox_shortcuts_label"); shortcutsLabel.id = "sandbox_shortcuts_label"; - shortcutsLabel.style.marginTop = GAP; + shortcutsLabel.style.marginTop = "0.5em"; + shortcutsLabel.style.lineHeight = "1.2em"; var shortcuts = document.createElement("div"); shortcuts.innerHTML = getWords("sandbox_shortcuts"); shortcuts.id = "sandbox_shortcuts";