[video output=day079 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Defining the Ground" vod_platform=youtube id=HMW1fsXzW-o annotator=Miblo annotator=dspecht annotator=Kelimion]
[3:56][handmade.h: Check the TODO list]
[4:51][Blackboard: The Ground]
[5:45][Blackboard: Quake vs. Unreal]
[9:01][Blackboard: Quake's "Constructive Solid Geometry" Paradigm]
[10:39][Blackboard: Unreal's "Constructive Solid Geometry" Paradigm]
[12:21][Blackboard: The difference between these two models]
[14:25][Blackboard: Robustness vs. Efficiency]
[16:55][Blackboard: Propose not talking about "Ground" or "Floors", but "Rooms"]
[31:46][Blackboard: What happens when you step off a ledge?]
[35:16][handmade_sim_region.h: Add EntityType_Space entity_type]
[36:17][handmade.cpp: Implement the ability to create an EntityType_Space]
[40:41][handmade.cpp: Introduce AddSpace]
[47:04][handmade.cpp: Rename AddSpace to AddStandardRoom and add EntityFlag_Traversable]
[50:49][Blackboard: No overlap between adjacent rooms]
[51:40][Run the game and see some giant rectangleS]
[52:23][handmade.cpp: Turn off AddStandardRoom]
[53:15][handmade.cpp: Correct the sim_entity_flags settings]
[54:02][handmade_sim_region.cpp: Check EntityFlag_Collides in CanCollide]
[54:42][Run the game and find that we now correctly don't collide with the StandardRooms]
[54:50][handmade.cpp: Introduce PushRectOutline]
[56:37][Blackboard: Drawing out the PushRectOutline]
[57:38][handmade.cpp: Continue writing PushRectOutline]
[59:13][Run the game and find that we cannot see the outline]
[59:26][handmade.cpp: Increase the thickness of PushRectOutline]
[59:50][Run the game and find that we're only drawing one line]
[1:00:07][Debugger: Step into PushRectOutline]
[1:02:10][handmade.cpp: Multiply the Dim by half]
[1:02:59][Run the game and see our correctly drawing outline]
[1:03:45][Q&A][:speech]
[1:05:07][@nigna][What setup do you use for debugging on Linux?]
[1:07:01][@t3amkill3r][Can you upload the videos somewhere else? YouTube is blocked in China. I would like to watch from the beginning]
[1:07:44][@l4t33d][When doing the vertical movement, would it be reasonable to take two measurements: one at current position, then one at "final moved" position, and average the movement?]
[1:08:27][@ishytarus][Are walls going to be entities, or just byproducts of the subtracting of the room volume?]
[1:09:00][@zuurr_][LLDB works better than GDB, if you can deal with the command line interface]
[1:09:40][@djohnstone8][Should you have been able to jump up to a level above the player now that you have a .9 value for the Space Z volume?]
[1:10:24][@zamar037][Will the entities not at the player's Z level always be at the same alpha transparency or will they be slightly less visible to show that they are on a different Z level?]
[1:11:54][@rexterrawtf][Why should anyone trust you to annotate a game when you have no published success preparing a full-fledged commercial game?]
[1:12:48][@h_y_p_e_r][If you were a software programmer, how many apps could you have done in the same amount of time you have put into this?]
[1:13:51][@blah238][Will there be water, and how would it affect movement?]
[1:14:46][Reminder: Water that you can swim in, maybe with currents too?]
[1:15:16][@quikligames][Does the system used for the ground now make it harder to have things like moving platforms the player can stand on?]
[1:15:30][Reminder: Moving platforms the player can stand on]
[1:15:55][@hdudley][Was the use of calculus involved in your programming?[ref
    site="Handmade Hero Episode Guide"
    page="Handmade Hero Day 043 - The Equations of Motion"
    url="https://hero.handmade.network/episode/code/day043"]]
[1:16:42][@brblackmer][For this scheme, will the room geometries need to overlap in order to move between rooms, or can they just abut?]
[1:17:24][@stiegosaurus][Can you illustrate how they do the level editors / world layouts in modern engines now?]
[1:19:08][@dkilmer][Are you going to use files to store levels? If so, will they be custom format?]
[1:19:33][@h_y_p_e_r][Would the combat algorithm in a 2D game differ from a 3D game?]
[1:20:05][@poohshoes][How can I work with other programmers when our coding styles clash?]
[1:21:06][@rpdublee][Should there be walls around stairwells now, or will we still just use the collision rules from before?]
[1:21:29][@zenatsu][Are you going to procedurally build levels, or pre-defined levels?]
[1:21:43][@marksands][Will wee see stuff like light sources, ray tracing, surface mapping, etc. at some point in this stream?]
[1:22:21][@nigna][Have we started doing collision detection and handling? If no, how detailed will it have to be?]
[1:22:46][@dkilmer][What do you think about storing game data in code?]
[1:23:59][@protongaming][So you will continue complaining about Windows while making money programming with it and Visual Studio?]
[1:30:30][@panic00][Can you rename the stream to Casey's Little Kindergarten?]
[1:30:58][@protongaming][One day you said you lost hope in Microsoft, and now you say you complain so they can fix it?]
[1:33:58][@dasmehdi][Was git an example, or do you feel there are problems with it? Curious to hear]
[1:35:42][Call it there][:speech]
[/video]
