Basic 2D Vectors

?

?

W, K, P / S, J, N Jump to previous / next marker

t / T Toggle theatre / SUPERtheatre mode

z Toggle filter mode V Revert filter to original state

X, ShiftSpace Toggle category and focus previous

v Invert topics / media as per focus

# Keyboard Navigation

## Global Keys

[, < / ], > Jump to previous / next episodeW, K, P / S, J, N Jump to previous / next marker

t / T Toggle theatre / SUPERtheatre mode

z Toggle filter mode V Revert filter to original state

## Menu toggling

q Quotes r References f Filter c Credits## In-Menu Movement

a

w

s

s

d

h
j
k
l

←

↑

↓

↓

→

## Quotes and References Menus

Enter Jump to timecode## Quotes, References and Credits Menus

o Open URL (in new tab)## Filter Menu

x, Space Toggle category and focus nextX, ShiftSpace Toggle category and focus previous

v Invert topics / media as per focus

## Credits Menu

Enter Open URL (in new tab)⏫

Previous: 'Overview of the Types of Math Used in Games'

⏫

00:00Intro

00:00Intro

00:00Intro

00:22Character movement code.

00:22Character movement code.

00:22Character movement code.

01:45Recap

01:45Recap

01:45Recap

2:50Issues with current character movement code.

2:50Issues with current character movement code.

2:50Issues with current character movement code.

4:25What we want to do with the movement code.

4:25What we want to do with the movement code.

4:25What we want to do with the movement code.

4:53What makes a game engaging.

4:53What makes a game engaging.

4:53What makes a game engaging.

6:30Reason for vector math.

6:30Reason for vector math.

6:30Reason for vector math.

7:00What to start fixing.

7:00What to start fixing.

7:00What to start fixing.

7:35Vector math intro.

7:35Vector math intro.

7:35Vector math intro.

11:36Sketches

11:36Sketches

11:36Sketches

19:06A scalar problem for the viewer.

19:06A scalar problem for the viewer.

19:06A scalar problem for the viewer.

24:53Correcting player's diagonal motion.

24:53Correcting player's diagonal motion.

24:53Correcting player's diagonal motion.

26:10Transitioning to vectors.

26:10Transitioning to vectors.

26:10Transitioning to vectors.

30:30Vector notation

30:30Vector notation

30:30Vector notation

33:13Basic Vector Operations

33:13Basic Vector Operations

33:13Basic Vector Operations

37:46Multiplication in Vector Space

37:46Multiplication in Vector Space

37:46Multiplication in Vector Space

43:30Adding vector routines to the code

43:30Adding vector routines to the code

43:30Adding vector routines to the code

48:25Replacing scalar code with vector code.

48:25Replacing scalar code with vector code.

48:25Replacing scalar code with vector code.

1:01:53Q&A

🗩

1:01:53Q&A

🗩

1:01:53Q&A

🗩

1:02:28How do union types work in C++ and what are the drawbacks?

1:02:28How do union types work in C++ and what are the drawbacks?

1:02:28How do union types work in C++ and what are the drawbacks?

1:04:42About vector conventions

1:04:42About vector conventions

1:04:42About vector conventions

1:05:07In the first version of vector, weren't you just missing an anonymous struct in the union?

1:05:07In the first version of vector, weren't you just missing an anonymous struct in the union?

1:05:07In the first version of vector, weren't you just missing an anonymous struct in the union?

1:07:23How do you remember all these commands?

1:07:23How do you remember all these commands?

1:07:23How do you remember all these commands?

1:08:47Is there a performance reason not to use constructors for v2?

1:08:47Is there a performance reason not to use constructors for v2?

1:08:47Is there a performance reason not to use constructors for v2?

1:10:16When would the fact that objects members are private or public come in to play?

1:10:16When would the fact that objects members are private or public come in to play?

1:10:16When would the fact that objects members are private or public come in to play?

1:12:04You should be able to have compound assignments outside the object.

1:12:04You should be able to have compound assignments outside the object.

1:12:04You should be able to have compound assignments outside the object.

1:14:02If you're using vertical bars for vectors, how would you notate the determinant?

1:14:02If you're using vertical bars for vectors, how would you notate the determinant?

1:14:02If you're using vertical bars for vectors, how would you notate the determinant?

1:14:02If you're using vertical bars for vectors, how would you notate the determinant?

1:14:02If you're using vertical bars for vectors, how would you notate the determinant?

1:14:02If you're using vertical bars for vectors, how would you notate the determinant?

1:15:23Can't you make the whole vector struct an union?

1:15:23Can't you make the whole vector struct an union?

1:15:23Can't you make the whole vector struct an union?

1:16:30Does the altered v2 work now if you comment out the constructor?

1:16:30Does the altered v2 work now if you comment out the constructor?

1:16:30Does the altered v2 work now if you comment out the constructor?

1:18:09What libs are you using?

1:18:09What libs are you using?

1:18:09What libs are you using?

1:18:17Just tested the v2 struct in llvm and it compiles fine.

1:18:17Just tested the v2 struct in llvm and it compiles fine.

1:18:17Just tested the v2 struct in llvm and it compiles fine.

1:18:40If I remember correctly, both gcc and llvm complains about the union struct

1:18:40If I remember correctly, both gcc and llvm complains about the union struct

1:18:40If I remember correctly, both gcc and llvm complains about the union struct

1:19:33Do you have any book recommandations for vector math?

1:19:33Do you have any book recommandations for vector math?

1:19:33Do you have any book recommandations for vector math?

1:22:14Will you define vector and scalar addition?

1:22:14Will you define vector and scalar addition?

1:22:14Will you define vector and scalar addition?

1:25:15Any particular reason to not supporting both vector-scalar and scalar-vector operators?

1:25:15Any particular reason to not supporting both vector-scalar and scalar-vector operators?

1:25:15Any particular reason to not supporting both vector-scalar and scalar-vector operators?

1:26:19The earlier struct-syntax is C99

1:26:19The earlier struct-syntax is C99

1:26:19The earlier struct-syntax is C99

1:26:37Does not returning real32 instead of v2 in *= operator trim your y-value?

1:26:37Does not returning real32 instead of v2 in *= operator trim your y-value?

1:26:37Does not returning real32 instead of v2 in *= operator trim your y-value?

1:28:25In C++11 you can do (v2){5, 2} as v2{5, 3}

1:28:25In C++11 you can do (v2){5, 2} as v2{5, 3}

1:28:25In C++11 you can do (v2){5, 2} as v2{5, 3}

1:29:43Don't you need some graphics library to place stuff not in a console?

1:29:43Don't you need some graphics library to place stuff not in a console?

1:29:43Don't you need some graphics library to place stuff not in a console?

1:31:20It's time to upgrade your copyright notice!

1:31:20It's time to upgrade your copyright notice!

1:31:20It's time to upgrade your copyright notice!

1:32:19Do you have use for constants like v2up, v2down etc?

1:32:19Do you have use for constants like v2up, v2down etc?

1:32:19Do you have use for constants like v2up, v2down etc?

1:33:50Copyright should cover all years in which content was contributed

1:33:50Copyright should cover all years in which content was contributed

1:33:50Copyright should cover all years in which content was contributed

1:34:48How about adding const references to function parameters to avoid copy by value

1:34:48How about adding const references to function parameters to avoid copy by value

1:34:48How about adding const references to function parameters to avoid copy by value

1:35:53Doesn't const help the compiler optimize?

1:35:53Doesn't const help the compiler optimize?

1:35:53Doesn't const help the compiler optimize?

⏬

Next: 'The Equations of Motion'

⏬