IS50B Game Development Programming Week 1
We wrote some easy linear algebra functions that will give you a nice toolset when writing video games in C++. We covered:
*vector length - computes how far apart two points are
*vector normalization - sets a vector to length 1
*dotproduct - takes two vectors as input, returns a number from -1 to 1, with 1 meaning they are pointed the same way, -1 meaning they are pointed in opposite directions, and 0 meaning they're orthogonal.
*scalar crossproduct - takes two vectors as input, returns a number from -1 to 1 with 0 meaning they're parallel, and negative numbers meaning the second vector is to the right of the first vector, and positive if it is to the left
*Voroni map generation that scatters cities on a map, and colors tiles on the map based on which city is closest to them.
*Lloyd's algorithm for Voroni relaxation to smooth out cells in a Voroni diagram and create more rounded countries in our map generator
I talked a fair bit about writing AI code for pedestrians to detect if they're going to get run over by a car so that they behave more realistically than in Cyberpunk 2077
Other Videos By Bill Kerney
2021-01-22 | CSCI 1 Week 1 Day 1 - Syllabus and Intro |
2021-01-22 | IS50A Week 2 Day 1 - The Vocabulary of Game Development |
2021-01-21 | CSCI 45 Week 2 Day 2 - Caching and the Memory Hierarchy |
2021-01-20 | CSCI 41 - Week 2 Day 1 - "Proper" class design |
2021-01-19 | IS50A Week 2 Day 1 - Game Design & Intro to UE4 |
2021-01-19 | CSCI45 Week 2 Day 1 - Architecture and coding functions, if statements, and loops in ARM32 assembly |
2021-01-19 | CSCI 41 Week 1 Day 1 - Welcome to CSCI 41 |
2021-01-19 | CSCI 45 Week 1 Day 1 - Welcome to ARM32 Assembly Programming |
2021-01-19 | IS50A Week 1 Day 1 - Welcome to Game Development |
2021-01-19 | CSCI 45 Week 1 Day 2 - If/Else in ARM32 Assembly |
2021-01-16 | IS50B Game Development Programming Week 1 |