Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
Vectors & Dot Product • Math for Game Devs [Part 1]Freya Holmér2020-11-09 | Welcome to my four part lecture on essential math for game developers 💖 I hope you'll find this useful in your game dev journey!
This course will have assignments throughout, if you want to maximize your learning, I recommend doing them!
If you are enjoying this series, please consider supporting me on Patreon! 🧡 patreon.com/acegikmo
00:00:00 - Intro 00:07:05 - Why math? 00:12:59 - 1D vectors 00:36:13 - 2D vectors 01:09:35 - Vector normalization 01:15:23 - Direction to point 01:23:11 - Length 01:31:49 - Distance 01:44:14 - Point along direction 02:00:45 - Radial trigger 02:26:21 - Dot product 02:44:30 - Examples from my game 03:03:13 - Assignments 03:03:29 - Asgmt. 1 (Radial trigger) 03:05:49 - Asgmt. 2 (Look-at trigger) 03:10:03 - Asgmt. 3 (Space transformation)
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Stelly: twitter.com/stelly47050876Game dev student interview + audience Q&A [w. @thenonconformistt]Freya Holmér2024-08-02 | Talking game dev w. @thenonconformistt, who's currently studying multimedia and got into games! Note that in case there's a gazillion questions during the Q&A section I'll prioritize super chats because im super greedy like thatLerp smoothing is brokenFreya Holmér2024-05-29 | a journey through decay and delta time (I had to learn differential equations for this oh boy)
Slides: patreon.com/posts/105228270 for my patreon supporters 💞 The slides are much nicer in person!! like, the AV team on site had me lower the refresh rate on my laptop because we couldn't get it to work otherwise, and on top of that, video compression on youtube is now ruining everything as usual ;-;
Anyway, first, a big thanks to the organizers at Guadalindie for inviting me and letting me publish the recording!
Second - I've been working on a blog post about lerp smoothing in the background, this talk is like a distilled version of half of that yet-to-be-published blog, so keep an eye out for that if you want to dig deeper! There's a whole side of this topic involving approximations to lerp smoothing, but it kind of exploded into a whole thing, which would take up another hour on top of what I already covered, so I couldn't fit it in!
Lastly - if you want to stay in touch and in the know whenever I release new videos, blog posts or unity plugins, be sure to sign up to my mailing list! ✉️ Mailing list ❱ acegikmo.substack.com
Recorded at Guadalindie 2024, May 3rd
Timestamps: 00:00 Start 00:20 How to lerp smooth 02:07 The problem of framerate dependence 03:49 Linear motion 10:55 What is lerp? 12:32 The non-linear behavior of lerp smoothing 18:40 Finding continuity 20:23 Unraveling recursion 28:51 Going framerate independent 40:00 Half-Life 47:21 Summary 49:37 tldr (the useful part you want to copy/paste) 51:00 Q: How important is experimenting with math? 54:30 Bonus slide: Differential calculus 55:33 Bonus slide: Spring physics 56:39 Outro
Timestamps: 00:00 Intro 04:34 Talk Start 05:17 Anatomy of a Vector 06:09 Products 09:14 Numbers of different kinds 13:32 Complex Numbers 18:10 Code for complex numbers 19:10 Complex multiplication visualized 20:22 Multiplying Vectors (an attempt) 24:08 Frustration 24:36 A Leap of Faith 25:36 A divine axiomatic truth 26:40 Squaring Basis Vectors 27:46 The Diagonal of Bases 29:09 Vector multiplication unraveling 29:36 Dot/Cross Byproducts 30:32 Complex Byproduct 31:17 Quaternionic Byproduct 31:52 The Answer 32:52 Beyond the Algebra 33:29 Basis Bivectors 35:06 Conceptualizing Vectors & Bivectors 37:08 Wedge Product 38:46 Curvature Bivector 40:59 Mental Gymnastics 41:56 Geometric Algebra & Multivectors 43:19 What does the multiplication represent? 44:10 Outro 45:53 Q: When is this useful? 48:11 Q: Does your math lib support geometric algebra? 49:22 Q: Do you plan on making tools for other engines? 50:53 AV team kicking us out
This project grew much larger in scope than I had originally intended, and burnout made it impossible for me to do more with it. It was already getting incredibly unwieldy, so I apologize in advance for not covering non-uniform splines, and the general jankiness of some parts. There are also quite a lot of places where I just talk about something without *showing* it, but since I couldn't animate it all, I opted to keep that information in rather than remove it altogether
• Lots of love to 💛 Jazz "queenjazz" Mickle for music & sounds ❱ queenjazz.bandcamp.com 🐈 our children, Thor, Salad & Toast, for helping me out during recording
• How was this video made? 🔨 I made it in Unity, the game engine ⭕ Using Shapes, my vector graphics plugin ❱ https://u3d.as/1W37 📈 Using Mathfs, my math library ❱ github.com/FreyaHolmer/Mathfs ...along with a bunch of hacky, partially broken, procedural animation tools I made specifically for this video 💡 Striped studio skybox by ProAssets: assetstore.unity.com/packages/2d/textures-materials/sky/studio-lighting-hdri-pack-55154 🎥 Final editing in DaVinci Resolve
00:09:37 CHAPTER 2 - Bézier Splines 00:10:00 Cubic Bézier Spline 00:10:21 Spline Parameterization 00:11:01 The Anatomy of a Spline 00:11:32 Knot Values & Knot Intervals 00:12:21 Local Control 00:14:03 The flexibility of the Cubic Bézier 00:14:28 Tangent Points
00:15:07 CHAPTER 3 - Continuity 00:15:28 C⁰ (Positional Continuity) 00:16:12 Spline Derivatives 00:17:32 C¹ (Velocity Continuity) 00:20:25 C² (Acceleration Continuity) 00:21:48 Cascading Loss of Local Control 00:23:46 C³ (Jolt Continuity) 00:24:49 C∞ Continuity 00:25:19 Parametric Continuity Summary
00:26:20 CHAPTER 4 - Geometric Continuity 00:26:50 G¹ (Tangent Continuity) 00:27:46 G² (Curvature Continuity) 00:28:05 The Reflection Test 00:28:56 Seams in Circular Arcs 00:29:43 Angle Analysis 00:30:47 Curvature & The Osculating Circle 00:32:26 Curvature Combs 00:32:48 G¹ (Algebraically) 00:33:27 G² (Algebraically) 00:34:52 Geometric Continuity Summary 00:36:30 Continuity Summarized 00:38:06 Cusps
00:39:25 CHAPTER 5: The Extended Universe 00:39:40 Hermite Spline 00:43:35 Hermite ⇔ Bézier Conversion 00:44:09 Linear Spline 00:45:17 Cardinal Spline 00:48:20 Catmull-Rom Spline 00:49:33 Investigating Basis Functions 00:51:02 Basis Function Continuity Analysis 00:51:31 In Search of a C² Spline 00:53:15 B-Spline 00:56:35 Quiz Time! 00:57:12 Cubic Trajectory 00:57:37 Uniform Cubic Splines 00:59:09 Splines & Their Use Cases 01:01:37 Outro 01:02:16 NURBS 01:02:56 Color Spline 01:03:52 Credits & Freya Rambles 01:13:26 Cats helping me w. recordingMath for Game Devs [2022, part 10] • Abstract Algebra, Procedural Animation & SplinesFreya Holmér2022-11-04 | Primarily for my students at FutureGames - I will only read chat/superchats during breaks!
0:00:00 Intro 0:11:06 Lecture Start 0:18:24 Smoothing & Easing functions 0:54:00 Deriving Hermite Interpolation 1:20:00 Splines 1:29:12 i (imaginary unit) 1:39:12 Complex Plane 1:42:05 Complex Numbers 1:50:38 Euler’s Formula & Identity 1:56:00 e (the constant) 2:07:03 Dual Numbers 2:10:43 Why use quaternions in games? 2:17:27 Vector Algebra (an alternate perspective) 2:24:30 Multiplying vectors? 2:30:00 2D Bivectors & the wedge product 2:34:40 Geometric Product 2:43:00 Multivector & Bases 2:48:03 3D Geometric Algebra 2:52:49 Full 3D Multivector 2:57:56 The generality of GA 3:00:26 Quaternions (from a GA perspective) 3:05:05 4D Games 3:07:28 Why quaternions rotate well 3:09:21 Q&A Outro & how I animate in UnityMath for Game Devs [2022, part 9] • Solutions to the final assignmentsFreya Holmér2022-11-04 | Primarily for my students at FutureGames - I will only read chat/superchats during breaks!
(timestamps courtesy of @manuvaad from the comments! thank u)
0:00:00 Intro 0:24:40 Number line, vector fundamentals 1:05:26 2D Vectors 1:29:14 Vector length (magnitude) 1:42:12 Vector normalization 1:52:04 Q: "Is there a term for vector that fits in a square instead of circle?" 1:55:33 Vector length (code version) 2:09:27 Vector multiplication 2:17:08 Dot product use cases 2:42:10 Practice 2:54:21 Note about scalar projection 2:55:00 Vector projection 3:01:46 Assignments 3:20:00 QuestionsEmbers of the Wilds Ep26: Roots [D&D w. koibu & lusterly]Freya Holmér2022-05-09 | Embers of the Wilds, a live D&D campaign, airing weekly on Sundays 19:00 CET/CEST at twitch.tv/acegikmo 💗
🎲 Neal Pass Erickson aka Koibu, our DM (twitch.tv/koibu) 🔥 Pearl Riverdale, the Tabaxi Sorceress played by Freya Holmér 🎵 Tristelle, the Half-Elf Bard played by Autumn Rose Taylor (twitter.com/lusterly_)
Recap narrated by Layla Ellis, written by Christiaan Ellis feat. music from tabletopaudio.com
00:00:00 Recap 00:02:57 Intro 00:07:27 Nov 28th 00:59:28 Nov 29th 01:03:46 Dec 1st 01:10:24 Dec 2nd 01:30:07 Dec 3rd 01:46:26 Dec 8th 01:52:38 Dec 15th 03:21:51 Outro 03:26:14 Kittencuddles
They're used for animation, text rendering, and all sorts of curved shapes! But how do they actually work? well, like, that's what the video is about, so, watch it to find out etc!!
• Lots of love to 💛 Jazz "queenjazz" Mickle for making the music ❱ queenjazz.bandcamp.com 💙 Grant "3Blue1Brown" Sanderson for pushing me to finally do this ❱ youtube.com/3blue1brown 🐦 Pomax for their wonderful writeup on Bézier curves ❱ pomax.github.io/bezierinfo 🐈 Thor the cat for.. hanging out.. when I was trying to record audio with no interruptions 🇫🇷 French subtitles by @damqui on Twitter
• How was this video made? 🔨 Created in the Unity game engine ⭕ Using Shapes, my vector graphics plugin ❱ https://u3d.as/1W37 📈 Using Mathfs, my math library ❱ github.com/FreyaHolmer/Mathfs ...along with a bunch of hacky, partially broken, procedural animation tools I made specifically for this video
🎲 Neal Pass Erickson aka Koibu, our DM (twitch.tv/koibu) 🛡 Kyra, the Human Fighter played by Ashley Hauck (twitter.com/khyperia) 🎵 Tristelle, the Half-Elf Bard played by Autumn Rose Taylor (twitter.com/lusterly_) 🔥 Pearl Riverdale, the Tabaxi Sorceress played by Freya Holmér
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Stelly: twitter.com/stelly47050876Healthbars, SDFs & Lighting • Shaders for Game Devs [Part 2]Freya Holmér2021-02-26 | where we take a look at creating the healthbar from the assignment, and learn about SDFs and lighting!
If you are enjoying this series, please consider supporting me on Patreon! 🧡 patreon.com/acegikmo
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Stelly: twitter.com/stelly47050876Shader Basics, Blending & Textures • Shaders for Game Devs [Part 1]Freya Holmér2021-02-26 | Welcome to my three part lecture on shader coding for game devs 💖 I hope you'll find this useful in your game dev journey!
If you are enjoying this series, please consider supporting me on Patreon! 🧡 patreon.com/acegikmo
00:00:00 - What are shaders? 00:03:00 - Case study/screenshots from FFXIV, Overwatch & more 00:37:42 - The Structure of a Shader 00:42:49 - Vertex shader 00:47:09 - Fragment shader 00:49:32 - Shader vs Material 00:51:29 - A first look at shader code 01:02:17 - Vertex Normals 01:06:17 - Interpolators 01:15:59 - Data types (fixed vs half vs float) 01:21:32 - Fragment shader output 01:24:31 - Swizzling 01:33:48 - Passing data from vertex shader to fragment shader 01:42:04 - Space transformation w. Matrices 01:47:07 - UV coordinates & manipulation 01:53:34 - Gradients 02:01:06 - Values outside of 0 to 1 02:09:20 - Triangle waves using math 02:12:04 - Preprocessor constants 02:25:28 - Pattern manipulation 02:31:48 - Blending Modes 02:39:42 - Depth buffer & depth testing (ZTest) 02:56:40 - Waves, ripples & vertex offsetting 03:12:07 - Textures 03:20:33 - World space coordinates 03:28:04 - Texture masking 03:37:33 - Isotropic mip maps 03:42:17 - Anisotropic mip maps 03:44:36 - Point vs bilinear vs trilinear filtering 03:49:54 - Final questions
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Stelly: twitter.com/stelly47050876Interpolation & Velocity • Math for Game Devs [Part 4]Freya Holmér2020-11-09 | last but not least, we'll be talking about the ever present lerp and its friends, along with a quick overview of rotations & point velocity!
If you enjoyed this series, please consider supporting me on Patreon! 🧡 patreon.com/acegikmo
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Stelly: twitter.com/stelly47050876Trigonometry • Math for Game Devs [Part 3]Freya Holmér2020-11-09 | triangles - are they for you? find out in this angular journey through trigonometry
If you are enjoying this series, please consider supporting me on Patreon! 🧡 patreon.com/acegikmo
00:00:00 - Intro 00:01:10 - Asgmt. 4 solution (Bouncing laser) 00:09:36 - Asgmt. 5 solution (Mesh surface area) 00:30:28 - Asgmt. 6 solution (The turret) 00:44:31 - Angles 00:50:43 - Radians 01:01:47 - Cosine & sine 01:20:14 - Tangent 01:47:24 - Angle to vector 01:51:17 - Vector to angle 02:04:07 - Angle between vectors 02:25:31 - Questions 02:31:46 - Solving triangles 02:38:48 - Camera FoV example in unity 02:52:19 - Determinant
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
Originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Stelly: twitter.com/stelly47050876DDR Workout & Political Discourse™ (stream compilation)Freya Holmér2020-10-02 | 3 days of attempting to get back into Shape after I've been in self-quarantine since April, with varying results~ Also, I ramble a lot while walking through Stockholm so be warned I totally get too political etc.
Day 1: 00:00 - DDR 01:55 - Walking home 02:11 - Too many stairs
Day 2: 03:05 - DDR 09:29 - Walking home 10:23 - Emotional openness & honesty in groups 12:23 - Understanding the core of opposing viewpoints 13:55 - People who refuse to change & JK Rowling 16:56 - "Both-sidesing" issues & equivocating 17:29 - The least interesting castle in Europe 17:33 - Rejecting political/moral allies for minor disagreements & ContraPoints 18:24 - The self-criticism of the left 19:20 - Voting for the lesser evil / Trump vs Biden 21:46 - Jesus guy & my edgy atheist past 23:20 - Unjustified criticism/attacks and moral consistency 25:27 - Inconsistencies as a way to clarify and discover moral beliefs 26:30 - (not) Dealing with trolls 26:50 - My (bad) emotional detachment from discussions 27:40 - Platforming harmful ideas
Day 3: 28:47 - On debating 29:05 - Strongly held unjustified beliefs 29:39 - Whether or not I'd be good at public debating 30:07 - Who would I even debate? (and how my empathy makes me less effective) 30:39 - The purpose of debating & changing minds 32:27 - Starting with easy debates - harder ones quickly go deeply into philosophy 33:19 - Political labels & the political leaning of me and my community 34:12 - Why I'd prefer debating people to the right of me & the issues with political labels 35:04 - The "Twitter left" vs my real enemies 35:35 - Fake radicals used as information warfare 36:15 - Is Bernie Sanders a socialist? 36:45 - Feminism vs "Egalitarianism"
oh, also, I recently taught a math class, the edited videos of that will be coming up soon, so stay tuned!
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Vondrel: twitter.com/DenislavYanaki1Stream Shenans (twitch clip compilation)Freya Holmér2020-09-03 | a compilation of shenanigans from whatever my stream is~ (I promise my stream is mostly game/tool dev and art okay)
Extra thanks to Vondrel for putting this video together! It's the first clip compilation style video from my stream, I think it's neat for those who never watch the stream!
Should we do more of these in the future? I think it might be neat!
Also, my polygon triangulation video is still in the works, it's coming! I'm just polishing it up to an unnecessary degree but, hopefully you'll like it in the end! (in the meantime you can join my discord below if you want to yell at me to get it done already)
✫ Video Production by Higher Vision: ➥ twitter.com/HigherVision1 ➤ Edited by Vondrel: twitter.com/DenislavYanaki1 ➤ Thumbnail by Todness: twitter.com/Todness1Reach (drawing timelapse)Freya Holmér2020-08-30 | Learning how to draw has been my 2020 new years resolution, and while I've done studies and unfinished pieces before, this is my first fully complete one. I'm really happy with how it turned out! Throughout this drawing, I was looking at my own hands as reference, to practice both life drawing as well as, well, hands~
0:00:00 - Interview Start 0:01:51 - What is Shapes? 0:05:29 - Why is Shapes not already native? 0:08:33 - That Hologram looking thing on Twitter 0:09:52 - Why I'm not Good At Math™ 0:12:04 - What is Budget Cuts? 0:15:56 - Scope Creep & Project Planning 0:22:35 - My Game Project Plans 0:25:54 - TheMessyCoder trying out Shapes 0:50:40 - How much money did Budget Cuts make? 0:51:59 - Why did you leave Neat Corp? 0:56:38 - Burnout & Crunch Culture 1:05:46 - Toxic Workplace Culture 1:08:09 - Crunch Part 2 1:14:02 - Planning when working solo 1:15:31 - Why did Unity not buy Shader Forge? 1:24:00 - Why I stopped working on Shader Forge 1:25:57 - Messy's shapes-based pac-man game 1:26:49 - Are memes just a fad? 1:30:38 - Unreal, Unmechanical & How to get into Games 1:41:43 - Vector Graphics & Unity's Priorities 1:50:16 - Shapes in Unreal? 1:55:33 - Working Alone, Motivation & Luck 2:06:44 - Messys' Thoughts on Shapes / Interview End 2:12:06 - What's next, after Shapes? 2:14:02 - Freya's Book of Math 2:21:35 - Educating vs Sounding Smart 2:24:41 - YouTube AMA videoShapes (release showcase)Freya Holmér2020-07-03 | Shapes, my vector graphics library for Unity is now available!! 💗 Get Shapes ❱ http://u3d.as/1W37 More Info ❱ http://acegikmo.com/shapes
this was originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
0:00:00 - Intro 0:00:22 - Code Changes for Tangent space 0:03:01 - Multiselecting Prefabs in GUI 0:13:46 - Randomizing Prefabs 0:19:03 - Struct vs Class 0:21:21 - Randomizing Prefabs (continued) 0:34:11 - Fixing Preview Lighting 0:37:57 - Prep Scene for Obstruction Testing 0:39:06 - Obstruction Testing 0:46:08 - How To Bounding Box (or not) 0:51:18 - Setting up SpawnablePrefab data 0:58:44 - Implementing the Obstruction Test 1:05:21 - Thor Turns off the Stream 1:06:09 - Displaying Invalid Prefabs 1:06:47 - Creating a Hologram Shader 1:19:09 - Implementing the Holograms 1:24:18 - Showcase of Tools in Budget Cuts 1:43:40 - Book Recommendations? (lack thereof) 1:44:13 - Any Flowstorm Dev Streams Soon? 1:45:15 - Tool Dev's Similarities with Game Dev 1:46:03 - Final WordsIntro to Tool Dev in Unity [part 3/4]Freya Holmér2020-05-07 | 🔽 click for timestamps & info!
part three! this was originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
also, apologies for the mic issues - my cable has been glitching out as of late, but hey, I *just* got a new cable today! so future videos (after part 4) will be fine~
0:00:00 - Overview of assignments from last time 0:01:10 - Creating Prefabs 0:03:40 - Referencing a Prefab 0:06:58 - Pressing a button to spawn 0:13:17 - Refactoring positioning code 0:19:36 - Spawning Prefabs 0:23:40 - Tangent Space 0:25:00 - Rotations 0:29:57 - Transform Hierarchy & Performance 0:31:04 - What is the biggest fear of T people? 0:32:06 - Random Rotation & Rock Prefab 0:33:45 - Random Rotation Implementation 0:40:06 - Randomizing Random Rotations 0:41:29 - Mesh Placement Previews 0:50:09 - Mesh Preview Rotation 0:50:09 - Mesh Preview Rotation 0:54:43 - Advanced Mesh Previews 1:01:10 - My Cursed Photoshop Problem 1:04:04 - Matrices 1:12:31 - Implementing Matrices 1:18:04 - Fixing Spazzy Rotations 1:28:00 - Prefab Select Buttons 1:48:23 - Thor 1:49:37 - Assignments! 1:57:59 - High School Students vs FutureGames Students 1:58:33 - Thoughts on ECSIntro to Tool Dev in Unity [part 2/4]Freya Holmér2020-04-18 | 🔽 click for timestamps & info!
part second! this was originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
0:00:00 - Intro (Twitch Partner Chatting) 0:01:32 - Changing Grid Size 0:12:21 - Drawing a Cartesian Grid 0:30:39 - Gizmo Selection 0:35:06 - UI Events 0:37:17 - Tool Dev Tip: Read Unity's Source 0:43:13 - Position Handle 0:49:41 - Drawing a Polar Grid 1:19:33 - Snapping to a Polar Grid 1:38:55 - Saving Data Between Sessions 1:46:50 - Saving In Files 1:54:52 - Making a Prop Placement Tool 2:00:39 - Setting up the Editor Window 2:05:55 - Scene View Raycasting 2:12:04 - Spawn Radius, Count & Repaint Caveats 2:18:03 - Random Points in Disc 2:39:06 - What is Tangent Space? 2:47:42 - Cat Ears 2:48:35 - Design Patterns Rant 2:51:38 - Spawn Count Refresh 2:53:13 - Range Limiting 2:58:12 - Raycasting Points to Surface 3:05:51 - UI Deselection & Mouse Events 3:09:37 - Raycast from Cursor in Scene View 3:13:48 - Mouse Wheel to Change Radius 3:24:27 - Modifier Keys, Bitfields & Enum Flags 3:37:44 - Assignments! 3:41:32 - Making the Circle Match the Ground 3:51:59 - Outro 3:53:29 - Bad TeacherIntro to Tool Dev in Unity - An Improvised Live Course [part 1/4]Freya Holmér2020-04-15 | 🔽 click for timestamps & info!
this was originally streamed as a course for students at http://futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
this is the recording of a remote math class I held for programming students at http://futuregames.se/, a game dev school in Stockholm, Sweden! this is part of two of two, the first one was unfortunately lost due to a broken recording, but, hopefully this might be useful nonetheless!
this was publicly streamed on twitch, so during breaks I also talked to twitch chat, but mostly focused on the students!
Hbomberguy was playing Budget Cuts on his stream! Having just finished his campaign, I joined in to have a chat with him to distract him from being able to play the Arcade levels properly
This was a very impromptu conversation, so audio quality and such isn't great, apologies for that! Anyhow, I very much enjoyed it, even though I was super nervous at first, heckity~
00:00 - Intro 03:02 - Content Index 04:12 - Pre-Stream Chatting 12:38 - Structure of a Mesh 15:04 - Generating a Quad 1:08:48 - Generating a Quad Ring 3:00:20 - Béziér Curves in Flowstorm 3:15:26 - Béziér Control Points & Gizmos 3:24:45 - Constructing a Béziér Curve 3:51:12 - Béziér Space Coordinates 4:00:14 - Creating a 2D Mesh Format 4:41:32 - Extruding Along the CurveSine and Cosine - A Visual ExplanationFreya Holmér2019-08-18 | 🔽 Click
These functions are super fundamental to trigonometry, as well as incredibly useful! Here's an example of how you can construct a 2D vector pointing at a given angle using trigonometry. Note that in this case it will always have a length of 1, also known as unit length, which means that by definition it's a normalized vector!
This is a several hours long improvised live introductory course to shader coding in Unity! It has been slightly edited in the beginning to remove useless info and me messing around with the mic. The rest is the stream in its fullest!
Part 3: Specular Lighting 2:30:30 - View Vector & World Position 2:48:38 - Phong BRDF & View Reflection 3:00:58 - Gloss & Interpolators
Part 4: Manipulating Values 3:26:36 - Cel Shading & Thresholding 3:31:40 - Lerp, Inverse Lerp & Posterization 3:55:13 - Passing Data to Shaders 4:07:30 - Waves & Time
Part 5: Showcase 4:31:29 - Water in Garden of the Sea 4:37:03 - SDF Raytracing in Garden of the Sea 4:41:53 - SDF Raytracing of a Fractal 4:48:40 - Flowstorm Gameplay 4:50:24 - Flowstorm Level EditorSpecular Lighting - A Visual ExplanationFreya Holmér2019-08-06 | 🔽 Click
The theory behind the Phong specular lighting model, clipped from the intro to shader stream. Full video going up soon! Turns out - video editing takes time~
Clipped from the super long shaders for beginners stream of two days ago!
Note that this is for two normalized vectors, it's a bit different if only one or none of them are normalized. Regardless - the case of two normalized vectors is very common in shaders!
For example, Lambert shading is the dot product of the light direction and the surface normal
Here, have some partially derivative content. Clipped from the stream! If you want more stuff like this, feel free to follow me on Twitch to catch my live tutorials and whatnot!
A timelapse of two live stream sessions, during which I did the first proper art-pass for the snowy environment in Flowstorm, to get as sense of the general colors and shape of things to come!
Reflections on what I would consider to be a rhythm game. Clipped from the stream a few days ago! I'm considering making a proper video essay on this at some point, as I find it an interesting topic. Also, in the video I mention Geometry Dash, I don't think that game fits in as well as the others in my divide between these two types, easy to say in hindsight, but, just thought I'd mention it!