[video 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]