[video output=day283 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Making Standing-on a More Rigorous Concept" vod_platform=youtube id=tZSwGCgo-uE annotator=Miblo]
[4:06][@thesizik][Do you have any favorite insects?]
[4:31][@Miblo][Good evening, Casey! Had a bit of an "uh-oh" moment today while annotating as you went to the episode guide to double-check what Day it was, but the expected previous day was not there...]
[6:18][@andrewjdr][If there are multiple GL contexts in use at the same time, and both have workloads simultaneously, how does the GPU / GPU driver decide to schedule those workloads? I noticed that windows seems to prioritize the active window's OpenGL context if you happen to have multiple OpenGL apps open at the same time (i.e. the active window will perform much better), so that's kind of interesting...]
[8:21][@killermanxp][What are your thoughts on flowchart-based programming, and do you think they are effective in game programming?]
[9:04][@nullsquared][What's your opinion on the Vulcan API?]
[9:22][@killermanxp][I'm thinking more along the lines of what UE4 implements in the form of blueprint]
[11:21][@ejgremlin][What do you think about structured editors?]
[12:12][@pseudonym73][I think that the main use case of boxes-and-arrows-type programming is to convince non-programmers that they're not programming]
[12:30][@qwindoo][Where are we on the Handmade Hero todo? Seems like a long time since we last updated it]
[13:09][Stream Begins Now]
[14:46][Run the game and set the stage for the day]
[18:43][Blackboard: Atomic Hop and Floating position]
[24:27]["I forgot there's a me down there"][quote 482]
[30:18][Blackboard: The problem with merry-go-rounds and potential decapitation]
[39:14][handmade_entity.h: Introduce traversable_reference and add two of those to entity]
[42:47][handmade_sim_region.cpp: Introduce LoadTraversableReference and StoreTraversableReference]
[45:27][handmade_sim_region.cpp: Move GetClosestTraversable in from handmade_world_mode.cpp and make it record the Index]
[54:28][handmade_entity.h: Make entity track the traversable that we're on]
[56:49][handmade_world_mode.cpp: Make AddPlayer take a traversable_reference and create players on the closest traversable]
[57:45]["I don't want them to start invalid"][quote 483]
[1:02:00][Run the game to see what we have wrought, and hit the Assert in GetSimSpaceTraversable]
[1:04:38][Debugger: Hit that Assert and find that Head->StandingOn is NULL]
[1:07:16][handmade_world.cpp: Do all of the edits in PackEntityIntoChunk]
[1:10:03][Run the game and successfully hop around]
[1:10:15][handmade_world_mode.cpp: Make the HeroBody recover its position, and introduce AddFloatyThing]
[1:14:28][handmade_world_mode.cpp: Make the FloatyThingForNow move up and down]
[1:15:54][Run the game and try standing on the FloatyThingForNow]
[1:16:50][handmade_world_mode.cpp: Make AddStandardRoom add only the FloatyThingForNow at its location]
[1:18:06][Run the game and try again to stand on the FloatyThingForNow]
[1:19:35][Q&A][:speech]
[1:20:22][@Miblo][This sounds like a job for hysteresis, if I understand it right]
[1:21:04][@ejgremlin][They implemented a structured editor for greenfoot]
[1:21:41][@connor_rentz][So, we are planning to have the head detached forever?]
[1:22:09][@abner][Where are the gloves? You will program in custom glove movement, right?]
[1:22:27][@ChronalDragon][Any idea when you plan on adding in the correct-perspective art so that the hero looks less strange?]
[1:22:51][@longboolean][So in theory you could test this by adding a second hero with the xbox controller and making sure they don't stand on the same tile?]
[1:23:24][Close this down][:speech]
[/video]
