[video output=day222 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Laying Out Cutscenes" vod_platform=youtube id=UHQSoeR6c_Y annotator=Miblo] [0:32][Recap yesterday's work on the cutscene] [1:28][handmade_cutscene.cpp: Introduce struct layered_scene to hold all of the cutscene data] [3:15][handmade_cutscene.cpp: Introduce RenderLayeredScene] [4:25][handmade_cutscene.cpp: Define the layered_scene] [6:07][On solving the problem and then generalising from that, i.e. compression oriented programming] [7:05][handmade_cutscene.cpp: Clean up a few things] [7:58][handmade_cutscene.cpp: Introduce scene_layer and scene_layer_flags] [11:32][Run the game and see our scene] [11:58][handmade_cutscene.h: Move in our structs from handmade_cutscene.cpp] [12:34][handmade_cutscene.cpp: Setup to compose further shots] [14:08][handmade_cutscene.cpp: Encode the Z-movement in CameraStart and CameraEnd] [16:03][handmade_cutscene.cpp: Compose Shot 2] [21:24][Missing snowflakes...][quote 332] [22:30][handmade_cutscene.cpp: Compose Shot 3] [25:45][handmade_cutscene.h: Add CounterCameraX and CounterCameraY to scene_layer_flags] [27:17][Compile and see that everything should change, apparently] [27:55][handmade_cutscene.cpp: Do the Z-case] [28:14][handmade_cutscene.cpp: Continue composing Shot 3] [44:09][handmade_cutscene.cpp: Compose Shot 4] [47:19][Missing children][quote 333] [49:11][On misplacing children][quote 334] [50:52][handmade_cutscene.h: Add MinTime and MaxTime to scene_layer and Transient to scene_layer_flags] [51:44][handmade_cutscene.cpp: Set Transient layers] [53:37][Watch the animated version] [54:11][handmade_cutscene.cpp: Compose Shot 5] [55:11][The money shot][quote 335] [58:01]["That is video games"][quote 336] [58:43][handmade_cutscene.cpp: Compose Shot 6] [59:33][When Krampus comes into the picture][quote 337] [1:05:21][Q&A][:speech] [1:05:52][@Fyoucon][Why not pass how long each cutscene is instead of it being the same for all cutscenes?] [1:06:26][@graeme7][For the weird camera movement scene what do you think about interpolating against a curve instead of linearly?] [1:07:08][@ttbjm][Yangtian's art is awesome!] [1:07:40][@Fyoucon][Please do more][quote 338] [1:08:06][handmade_cutscene.cpp: Compose Shot 7] [1:10:56][handmade_cutscene.cpp: Compose Shot 8] [1:16:01][handmade_cutscene.h: Add v2 Param to scene_layer] [1:17:31][handmade_cutscene.cpp: Continue composing Shot 8] [1:20:24][handmade_cutscene.cpp: Compose Shot 9] [1:25:04][@kknewkles][Do you enjoy the screaming of the linker lamenting and writhing in Sisyphean agony that he can't write to the .exe?] [1:25:21][@Ikkir_Isth][Do you have someone lined up for voice acting?] [1:25:51][@ttbjm][The first scene with a glove it was a left hand glove and the next it's a right hand glove] [1:27:15][@insofaras][The door was open in the first scene but closed before Krampus enters] [1:27:45][@blah238][Way back on Shot 2 I noticed a gap at the top of the window. Is that still there?] [1:28:37][@cubercaleb][Can I adopt one of the children?] [1:28:53][@Ikkir_Isth][Try the community for voice acting? Quite a few of us would be willing / have good mics] [1:29:12][@ttbjm][Will this game have support for left handed people?] [1:29:37][@erdomina][Could you explain the fading for animation] [1:29:45][@kknewkles][Sorry to put you on the spot, but we didn't have anything special on 200th day. Anything planned for 256th?] [1:29:55][@OsmanTheBlack][What's the best way to get my repo blessed on GitHub? I know it's kinda random, but the current blessed Rust repo hasn't been updated in 3 months] [1:30:11][@bkboggy][You should add a little bit of snow on that one, to add depth] [1:31:05][@insofaras][We still need our own trig functions so we can stop sin()'ing by using the C standard library] [1:32:18][@erdomina][You mentioned earlier that we could make the animation sequence smoother by fading. For example when Santa put a hat on the hero. I was wondering what that would look like] [1:32:41][@blah238][I noticed the cutscene bitmaps don't scale with the window size. Why is that?] [1:33:08][win32_handmade.cpp: Temporarily switch to using a smaller backbuffer] [1:34:28][@Mr4thDimention][Floor and Ceil are difficult?] [1:35:39][@actbinary][Why do we want to redo sin()?] [1:37:17][Call it a night][:speech] [/video]