[video output=day042 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Basic 2D Vectors" vod_platform=youtube id=eE-D_wSUd0g annotator=abnercoimbre annotator=schme annotator=theinternetftw] [00:00][Intro] [00:22][Character movement code.] [01:45][Recap] [2:50][Issues with current character movement code.] [4:25][What we want to do with the movement code.] [4:53][What makes a game engaging.] [6:30][Reason for vector math.] [7:00][What to start fixing.] [7:35][Vector math intro.] [11:36][Sketches] [19:06][A scalar problem for the viewer.] [24:53][Correcting player's diagonal motion.] [26:10][Transitioning to vectors.] [30:30][Vector notation] [33:13][Basic Vector Operations] [37:46][Multiplication in Vector Space] [43:30][Adding vector routines to the code] [48:25][Replacing scalar code with vector code.] [1:01:53][Q&A][:speech] [1:02:28][How do union types work in C++ and what are the drawbacks?] [1:04:42][About vector conventions] [1:05:07][In the first version of vector, weren't you just missing an anonymous struct in the union?] [1:07:23][How do you remember all these commands?] [1:08:47][Is there a performance reason not to use constructors for v2?] [1:10:16][When would the fact that objects members are private or public come in to play?] [1:12:04][You should be able to have compound assignments outside the object.] [1:14:02][If you're using vertical bars for vectors, how would you notate the determinant?] [1:15:23][Can't you make the whole vector struct an union?] [1:16:30][Does the altered v2 work now if you comment out the constructor?] [1:18:09][What libs are you using?] [1:18:17][Just tested the v2 struct in llvm and it compiles fine.] [1:18:40][If I remember correctly, both gcc and llvm complains about the union struct] [1:19:33][Do you have any book recommandations for vector math?] [1:22:14][Will you define vector and scalar addition?] [1:25:15][Any particular reason to not supporting both vector-scalar and scalar-vector operators?] [1:26:19][The earlier struct-syntax is C99] [1:26:37][Does not returning real32 instead of v2 in *= operator trim your y-value?] [1:28:25][In C++11 you can do (v2){5, 2} as v2{5, 3}] [1:29:43][Don't you need some graphics library to place stuff not in a console?] [1:31:20][It's time to upgrade your copyright notice!] [1:32:19][Do you have use for constants like v2up, v2down etc?] [1:33:50][Copyright should cover all years in which content was contributed] [1:34:48][How about adding const references to function parameters to avoid copy by value] [1:35:53][Doesn't const help the compiler optimize?] [/video]