From 343567bd41048f38800abde0c93b60efd9d5a541 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Mon, 13 Jun 2022 18:16:47 +0200 Subject: [PATCH 1/3] typos and errors --- .../challenges/145-ray-casting-2d/index.json | 212 +++++++++--------- .../146-rendering-ray-casting/index.json | 198 ++++++++-------- .../challenges/149-tic-tac-toe/index.json | 18 +- .../index.json | 18 +- .../videos/challenges/77-recursion/index.json | 4 +- 5 files changed, 227 insertions(+), 223 deletions(-) diff --git a/content/videos/challenges/145-ray-casting-2d/index.json b/content/videos/challenges/145-ray-casting-2d/index.json index ddab7891e..33d98a138 100644 --- a/content/videos/challenges/145-ray-casting-2d/index.json +++ b/content/videos/challenges/145-ray-casting-2d/index.json @@ -1,121 +1,121 @@ { - "title": "Ray Casting 2D", - "description": "In this video, I implement a basic ray casting engine with line segment \u201csurfaces\u201d and vector \u201crays.\u201d The result simulates a light source casting shadows in a 2D canvas.", - "videoNumber": "145", - "videoId": "TOEi6T2mtHo", - "date": "2019-05-08", - "languages": ["p5.js", "processing"], - "topics": [ - "ray casting", - "game development", - "2d ray casting", - "ray marching", - "line line intersection" - ], - "canContribute": true, - "relatedChallenges": [], - "timestamps": [ + "title": "Ray Casting 2D", + "description": "In this video, I implement a basic ray casting engine with line segment \u201csurfaces\u201d and vector \u201crays.\u201d The result simulates a light source casting shadows in a 2D canvas.", + "videoNumber": "145", + "videoId": "TOEi6T2mtHo", + "date": "2019-05-08", + "languages": ["p5.js", "processing"], + "topics": [ + "ray casting", + "game development", + "2d ray casting", + "ray marching", + "line line intersection" + ], + "canContribute": true, + "relatedChallenges": [], + "timestamps": [ + { + "time": "0:00:00", + "title": "Introduction" + }, + { + "time": "0:03:34", + "title": "Coding Starts" + }, + { + "time": "0:05:54", + "title": "Creating a Ray Class" + }, + { + "time": "0:09:16", + "title": "Casting Rays And Finding Intersections" + }, + { + "time": "0:19:56", + "title": "Casting Multiple Rays" + }, + { + "time": "0:24:41", + "title": "Adding Collision Detection For Every Ray" + }, + { + "time": "0:26:47", + "title": "Multiple Boundaries" + }, + { + "time": "0:31:23", + "title": "Moving With Perlin Noise" + }, + { + "time": "0:32:41", + "title": "Suggestions For Improvements" + } + ], + "codeExamples": [ + { + "title": "Raycasting Algorithm", + "description": "Implementation of a raycasting algorithm.", + "image": "raycasting_145.png", + "urls": { + "p5": "https://editor.p5js.org/codingtrain/sketches/Nqsq3DFv-", + "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/145_Ray_Casting/Processing/CC_145_Ray_Casting", + "other": "https://github.com/CodingTrain/Coding-Challenges/tree/main/145_Ray_Casting" + } + } + ], + "groupLinks": [ + { + "title": "References", + "links": [ { - "time": "0:00:00", - "title": "Introduction" + "icon": "🌞", + "title": "SIGHT & LIGHT by Nicky Case", + "url": "https://ncase.me/sight-and-light/", + "description": "Demonstration on how to create 2D visibility/shadow effects for your game." }, { - "time": "0:03:34", - "title": "Coding Starts" + "icon": "🌞", + "title": "2d Visibility from Red Blob Games", + "url": "https://www.redblobgames.com/articles/visibility/", + "description": "Discussion of how to calculate which areas are visible from a given point." }, { - "time": "0:05:54", - "title": "Creating a Ray Class" + "icon": "💾", + "title": "p5.collide2D", + "url": "https://github.com/bmoren/p5.collide2D", + "description": "A 2d collision detection library for p5.js." }, { - "time": "0:09:16", - "title": "Casting Rays And Finding Intersections" - }, - { - "time": "0:19:56", - "title": "Casting Multiple Rays" - }, - { - "time": "0:24:41", - "title": "Adding Collision Detection For Every Ray" - }, - { - "time": "0:26:47", - "title": "Multiple Boundaries" - }, - { - "time": "0:31:23", - "title": "Moving With Perlin Noise" - }, - { - "time": "0:32:41", - "title": "Suggestions For Improvements" + "icon": "🗄", + "title": "Line-line Intersection", + "url": "https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection", + "description": "Discussion of line-line intersection." } - ], - "codeExamples": [ + ] + }, + { + "title": "Videos", + "links": [ { - "title": "Raycasting Algorithm", - "description": "Implementation of a raycasting algorithm.", - "images": "raycasting_145.png", - "urls": { - "p5": "https://editor.p5js.org/codingtrain/sketches/Nqsq3DFv-", - "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/145_Ray_Casting/Processing/CC_145_Ray_Casting", - "other": "https://github.com/CodingTrain/Coding-Challenges/tree/main/145_Ray_Casting" - } - } - ], - "groupLinks": [ + "icon": "🎥", + "title": "Coding Adventure: Ray Marching", + "url": "https://youtu.be/Cp5WWtMoeKg", + "description": " Exploration of ray marching and signed distance functions to draw funky things." + }, { - "title": "References", - "links": [ - { - "icon": "🌞", - "title": "SIGHT & LIGHT by Nicky Case", - "url": "https://ncase.me/sight-and-light/", - "description": "Demonstration on how to create 2D visibility/shadow effects for your game." - }, - { - "icon": "🌞", - "title": "2d Visibility from Red Blob Games", - "url": "https://www.redblobgames.com/articles/visibility/", - "description": "Discussion of how to calculate which areas are visible from a given point." - }, - { - "icon": "💾", - "title": "p5.collide2D", - "url": "https://github.com/bmoren/p5.collide2D", - "description": "A 2d collision detection library for p5.js." - }, - { - "icon": "🗄", - "title": "Line-line Intersection", - "url": "https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection", - "description": "Discussion of line-line intersection." - } - ] + "icon": "🎥", + "title": "Matrix Math", + "url": "https://www.youtube.com/watch?v=uSzGdfdOoG8", + "description": "This video introduces the idea of Linear Algebra and explores the matrix math required for a simple neural network library." }, { - "title": "Videos", - "links": [ - { - "icon": "🎥", - "title": "Coding Adventure: Ray Marching", - "url": "https://youtu.be/Cp5WWtMoeKg", - "description": " Exploration of ray marching and signed distance functions to draw funky things." - }, - { - "icon": "🎥", - "title": "Matrix Math", - "url": "https://www.youtube.com/watch?v=uSzGdfdOoG8", - "description": "This video introduces the idea of Linear Algebra and explores the matrix math required for a simple neural network library." - }, - { - "icon": "🎥", - "title": "Coding Challenge: Rendering Ray Casting", - "url": "https://www.youtube.com/watch?v=vYgIKn7iDH8", - "description": "This video builds off of the 2D Ray Casting coding challenge to make a version of the original Wolfenstein 3D Raycasting engine and visualize the field of view of the moving particle." - } - ] + "icon": "🎥", + "title": "Coding Challenge: Rendering Ray Casting", + "url": "https://www.youtube.com/watch?v=vYgIKn7iDH8", + "description": "This video builds off of the 2D Ray Casting coding challenge to make a version of the original Wolfenstein 3D Raycasting engine and visualize the field of view of the moving particle." } - ] + ] + } + ] } diff --git a/content/videos/challenges/146-rendering-ray-casting/index.json b/content/videos/challenges/146-rendering-ray-casting/index.json index e1e095dc0..707a7d496 100644 --- a/content/videos/challenges/146-rendering-ray-casting/index.json +++ b/content/videos/challenges/146-rendering-ray-casting/index.json @@ -1,108 +1,108 @@ { - "title": "Rendering Ray Casting", - "description": "Building off of the previous coding challenge (2D Ray Casting) I attempt to make my own version the original Wolfenstein 3D Raycasting engine and visualize the \u201cfield of view\u201d of the moving particle.", - "videoNumber": "146", - "videoId": "vYgIKn7iDH8", - "date": "2019-05-10", - "languages": [], - "topics": [ - "ray casting", - "game development", - "2d ray casting", - "ray marching", - "wolfenstein 3d ray casting" - ], - "canContribute": true, - "relatedChallenges": [], - "timestamps": [ + "title": "Rendering Ray Casting", + "description": "Building off of the previous coding challenge (2D Ray Casting) I attempt to make my own version the original Wolfenstein 3D Raycasting engine and visualize the \u201cfield of view\u201d of the moving particle.", + "videoNumber": "146", + "videoId": "vYgIKn7iDH8", + "date": "2019-05-10", + "languages": [], + "topics": [ + "ray casting", + "game development", + "2d ray casting", + "ray marching", + "wolfenstein 3d ray casting" + ], + "canContribute": true, + "relatedChallenges": [], + "timestamps": [ + { + "time": "0:00:00", + "title": "Introduction" + }, + { + "time": "0:02:21", + "title": "Coding Starts" + }, + { + "time": "0:03:15", + "title": "Creating The Rendering Scene" + }, + { + "time": "0:09:22", + "title": "Adjusting The Perspective" + }, + { + "time": "0:11:02", + "title": "Adding Rotation" + }, + { + "time": "0:15:06", + "title": "Fixing The View and Brightness" + }, + { + "time": "0:20:55", + "title": "Changing The Field of View Dynamically" + }, + { + "time": "0:22:44", + "title": "Small Fixes and Maintenance" + }, + { + "time": "0:27:50", + "title": "Suggestions For Improvements" + } + ], + "codeExamples": [ + { + "title": "Rendering Ray Casting", + "description": "Implementation of 3d raycasting algorithm.", + "image": "raycasting.png", + "urls": { + "p5": "https://editor.p5js.org/codingtrain/sketches/yEzlR0_zq", + "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/146_Rendering_Ray_Casting/Processing/CC_146_Rendering_Ray_Casting", + "other": "https://github.com/CodingTrain/Coding-Challenges/tree/main/146_Rendering_Ray_Casting" + } + } + ], + "groupLinks": [ + { + "title": "Community Suggested References", + "links": [ { - "time": "0:00:00", - "title": "Introduction" - }, - { - "time": "0:02:21", - "title": "Coding Starts" - }, - { - "time": "0:03:15", - "title": "Creating The Rendering Scene" - }, - { - "time": "0:09:22", - "title": "Adjusting The Perspective" - }, - { - "time": "0:11:02", - "title": "Adding Rotation" - }, - { - "time": "0:15:06", - "title": "Fixing The View and Brightness" - }, - { - "time": "0:20:55", - "title": "Changing The Field of View Dynamically" - }, - { - "time": "0:22:44", - "title": "Small Fixes and Maintenance" - }, - { - "time": "0:27:50", - "title": "Suggestions For Improvements" - } - ], - "codeExamples": [ - { - "title": "Rendering Ray Casting", - "description": "Implementation of 3d raycasting algorithm.", - "image": "raycasting.png", - "urls": { - "p5": "https://editor.p5js.org/codingtrain/sketches/yEzlR0_zq", - "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/146_Rendering_Ray_Casting/Processing/CC_146_Rendering_Ray_Casting", - "other": "https://github.com/CodingTrain/Coding-Challenges/tree/main/146_Rendering_Ray_Casting" - } + "icon": "💾", + "title": "Code-It-Yourself! First Person Shooter (Quick and Simple C++)", + "url": "https://youtu.be/xW8skO7MFYw", + "description": " This video implements a 3D engine using nothing but ASCII at the Windows Command Prompt." } - ], - "groupLinks": [ + ] + }, + { + "title": "References", + "links": [ { - "title": "Community Suggested References", - "links": [ - { - "icon": "💾", - "title": "Code-It-Yourself! First Person Shooter (Quick and Simple C++)", - "url": "https://youtu.be/xW8skO7MFYw", - "description": " This video implements a 3D engine using nothing but ASCII at the Windows Command Prompt." - } - ] + "icon": "🌞", + "title": "Gustavo Pezzi's Raycast 3D", + "url": "http://www.gustavopezzi.com/projects/raycast3d/", + "description": "A course that teaches how to create a complete raycasting engine from scratch." }, { - "title": "References", - "links": [ - { - "icon": "🌞", - "title": "Gustavo Pezzi's Raycast 3D", - "url": "http://www.gustavopezzi.com/projects/raycast3d/", - "description": "A course that teaches how to create a complete raycasting engine from scratch." - }, - { - "icon": "🌞", - "title": "Lode's Raycasting Tutorial", - "url": "https://lodev.org/cgtutor/raycasting.html", - "description": "A computer graphics tutorial on raycasting." - } - ] - }, + "icon": "🌞", + "title": "Lode's Raycasting Tutorial", + "url": "https://lodev.org/cgtutor/raycasting.html", + "description": "A computer graphics tutorial on raycasting." + } + ] + }, + { + "title": "Videos", + "links": [ { - "title": "Videos", - "links": [ - { - "icons": "🎥", - "title": "Coding Challenge: 2D Ray Casting", - "url": "https://www.youtube.com/watch?v=TOEi6T2mtHo", - "description": "A basic ray casting engine is implemented with line segment surfaces and vector rays. The result simulates a light source casting shadows in a 2D canvas." - } - ] + "icon": "🎥", + "title": "Coding Challenge: 2D Ray Casting", + "url": "https://www.youtube.com/watch?v=TOEi6T2mtHo", + "description": "A basic ray casting engine is implemented with line segment surfaces and vector rays. The result simulates a light source casting shadows in a 2D canvas." } - ] + ] + } + ] } diff --git a/content/videos/challenges/149-tic-tac-toe/index.json b/content/videos/challenges/149-tic-tac-toe/index.json index 1a998eadf..9a43c8e34 100644 --- a/content/videos/challenges/149-tic-tac-toe/index.json +++ b/content/videos/challenges/149-tic-tac-toe/index.json @@ -5,19 +5,23 @@ "videoId": "GTWrWM1UsnA", "date": "2019-07-24", "languages": ["p5.js"], - "topics": [ - "For beginners" - ], + "topics": ["For beginners"], "canContribute": true, - "relatedChallenges": ["164-tic-tac-toe-minimax"], + "relatedChallenges": [], "timestamps": [ { "time": "0:00", "title": "Welcome!" }, { "time": "0:54", "title": "Start Coding" }, { "time": "3:50", "title": "Drawing X and O" }, { "time": "5:00", "title": "Let's diagram this!" }, - { "time": "8:46", "title": "Randomly choose the first player at the start of round" }, + { + "time": "8:46", + "title": "Randomly choose the first player at the start of round" + }, { "time": "10:18", "title": "Drawing the grid" }, - { "time": "10:58", "title": "Each player places their symbol on a random spot" }, + { + "time": "10:58", + "title": "Each player places their symbol on a random spot" + }, { "time": "15:00", "title": "Check for a winner" }, { "time": "18:44", "title": "Checking for equality of three elements" }, { "time": "19:50", "title": "More bugs" }, @@ -58,4 +62,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/content/videos/challenges/17-fractal-trees-space-colonization/index.json b/content/videos/challenges/17-fractal-trees-space-colonization/index.json index 85f406f8c..b83cd2fe4 100644 --- a/content/videos/challenges/17-fractal-trees-space-colonization/index.json +++ b/content/videos/challenges/17-fractal-trees-space-colonization/index.json @@ -9,16 +9,16 @@ "canContribute": true, "timestamps": [], "codeExamples": [ - { - "title": "Fractal Trees - Space Colonization", - "description": "This sketch creates a tree generator.", - "image": "space.png", - "urls": { - "p5.js": "https://editor.p5js.org/codingtrain/sketches/r9pxis9g-", - "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/017_SpaceColonizer/Processing", - "other": "https://github.com/CodingTrain/Coding-Challenges/tree/main/017_SpaceColonizer" - } + { + "title": "Fractal Trees - Space Colonization", + "description": "This sketch creates a tree generator.", + "image": "space.png", + "urls": { + "p5": "https://editor.p5js.org/codingtrain/sketches/r9pxis9g-", + "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/017_SpaceColonizer/Processing", + "other": "https://github.com/CodingTrain/Coding-Challenges/tree/main/017_SpaceColonizer" } + } ], "groupLinks": [ { diff --git a/content/videos/challenges/77-recursion/index.json b/content/videos/challenges/77-recursion/index.json index 300ad3b4c..47ee35e98 100644 --- a/content/videos/challenges/77-recursion/index.json +++ b/content/videos/challenges/77-recursion/index.json @@ -10,7 +10,7 @@ { "title": "Recursion", "description": "Implementation of recursion to create fractal patterns.", - "images": "recursion.png", + "image": "recursion.png", "urls": { "p5": "https://editor.p5js.org/codingtrain/sketches/pseBrWaMm", "processing": "https://github.com/CodingTrain/Coding-Challenges/tree/main/077_Recursion/Processing", @@ -23,7 +23,7 @@ "title": "References", "links": [ { - "icons": "📙", + "icon": "📙", "title": "The Fractal Geometry of Nature", "description": "The essential guide that introduced fractals to the world by Benoit Mandlebrot", "url": "http://amzn.to/2xiVwht" From f879686db9e2799c2dd1381f27f06ab5ebe3a703 Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Mon, 13 Jun 2022 18:31:00 +0200 Subject: [PATCH 2/3] trivial change to restart tests and deployment --- content/videos/challenges/149-tic-tac-toe/index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/videos/challenges/149-tic-tac-toe/index.json b/content/videos/challenges/149-tic-tac-toe/index.json index 9a43c8e34..43231f434 100644 --- a/content/videos/challenges/149-tic-tac-toe/index.json +++ b/content/videos/challenges/149-tic-tac-toe/index.json @@ -10,7 +10,7 @@ "relatedChallenges": [], "timestamps": [ { "time": "0:00", "title": "Welcome!" }, - { "time": "0:54", "title": "Start Coding" }, + { "time": "0:54", "title": "Start coding" }, { "time": "3:50", "title": "Drawing X and O" }, { "time": "5:00", "title": "Let's diagram this!" }, { From c01b0e7eecdac2602b963e74ab624c3454552edb Mon Sep 17 00:00:00 2001 From: Daniel Shiffman Date: Mon, 13 Jun 2022 22:20:42 +0200 Subject: [PATCH 3/3] trying fast build --- gatsby-config.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gatsby-config.js b/gatsby-config.js index 87833b62b..3f8f6aba9 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -6,7 +6,8 @@ module.exports = { 'All aboard the Coding Train with Daniel Shiffman, a YouTube channel dedicated to beginner-friendly creative coding tutorials and challenges.' }, flags: { - DEV_SSR: true + DEV_SSR: true, + FAST_DEV: true }, plugins: [ `gatsby-plugin-gatsby-cloud`,