2020-05-09 20:59:36 +00:00
|
|
|
[video output=day076 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Entity Heights and Collision Detection" vod_platform=youtube id=0mGWYcE6yG8 annotator=dspecht annotator=Miblo]
|
2017-12-06 22:26:13 +00:00
|
|
|
[2:34][Start everything up, make sure it's all still working and plan for the day]
|
|
|
|
[6:21][handmade_sim_region.cpp: Consider confining collision detection to the entities' Z neighbourhood]
|
|
|
|
[9:41][Blackboard: Extending Minkowsi collision into the third dimension]
|
|
|
|
[11:49][handmade_sim_region.cpp: Check Rel.Z against the MinCorner and MaxCorner]
|
|
|
|
[12:58][Run the game and find that we're passing through everything]
|
|
|
|
[13:17][Debugger: Step in and inspect the MinCorner and MaxCorner]
|
|
|
|
[14:59][handmade.cpp: Give the wall and other entities some height]
|
|
|
|
[16:58][Run the game and find that we now stop correctly]
|
|
|
|
[18:00][win32_handmade.cpp: Ensure that we're not passing WS_EX_LAYERED to CreateWindowExA]
|
|
|
|
[19:45][Blackboard: Conceptualising TileSideInMeters]
|
|
|
|
[24:09][Blackboard: Conceptualising WorldChunk]
|
|
|
|
[28:27][handmade_world.cpp: Pass in TileDepthInMeters to InitializeWorld]
|
|
|
|
[29:36][Blackboard: Competing Gathers]
|
|
|
|
[32:29][handmade_world.cpp: Update ChunkPositionFromTilePosition to reflect our new Tile dimensions]
|
|
|
|
[34:57][Postpone this until we have debug visualisations]
|
|
|
|
[35:43][Run the game and double check that it's working properly]
|
|
|
|
[36:18][handmade.cpp: Specify the height of things]
|
|
|
|
[37:45][handmade_math.h: See what RectanglesIntersect does]
|
|
|
|
[38:50][Blackboard: Inclusion tests]
|
|
|
|
[42:04][Blackboard: Checking overlaps]
|
|
|
|
[43:48][handmade_math.h: Change the tests in RectanglesIntersect]
|
|
|
|
[44:55][Run the game and find that we are unexpectedly still working properly]
|
|
|
|
[45:35][Investigate what's happening with the stairs]
|
|
|
|
[46:59][Blackboard: Understanding entity placement]
|
|
|
|
[48:55][handmade_sim_region.cpp: Take a look at where Dim is being used]
|
|
|
|
[49:59][handmade.cpp: Introduce AddGroundedEntity]
|
|
|
|
[53:00][Pass AddGroundedEntity to AddWall]
|
|
|
|
[54:08][Run the game and double check that it worked]
|
|
|
|
[54:37][handmade.cpp: Pass AddGroundedEntity to AddStair, AddPlayer, AddMonstar and AddFamiliar]
|
|
|
|
[58:06][Run the game and see where we're at]
|
|
|
|
[58:40][Debugger: Step into AddGroundedEntity]
|
|
|
|
[59:27][handmade.cpp: Consider fixing the drawing code]
|
2018-03-07 21:48:09 +00:00
|
|
|
[1:01:56][Q&A][:speech]
|
2017-12-06 22:26:13 +00:00
|
|
|
[1:03:02][Q: That kid you just created is around two foot tall]
|
|
|
|
[1:03:30][Q: Better data is at halls.md[ref
|
|
|
|
site="Moose & Doc"
|
|
|
|
page="Children's Growth Charts of height weight and body mass index for boys and girls"
|
|
|
|
url="http://halls.md/growthchart-boys-girls-height-weight/"]]
|
|
|
|
[1:04:03][Q: I was wondering, why do you have two windows open and not just one?]
|
|
|
|
[1:04:53][Q: Over four feet seems right for a seven year old]
|
|
|
|
[1:05:42][handmade.cpp: Make the Hero 1.2 metres tall]
|
|
|
|
[1:06:32][Q: What apps are you using for the dev environment?]
|
|
|
|
[1:07:55][Q: Any recommendations for tracking down heap corruption bugs?]
|
|
|
|
[1:16:08][Q: If you're not allocating memory as the game goes, are you allocating a bunch at the start? How does that work?]
|
|
|
|
[1:17:13][Q: What are the Linux equivalents to these functions?]
|
|
|
|
[1:17:53][Q: How far along are we in developing the game?]
|
|
|
|
[1:19:48][Q: munmap is another Linux equivalent call]
|
|
|
|
[1:20:02][Q: Is this in C++?]
|
|
|
|
[1:21:11][Q: Does C++ compiler generate hidden code like constructors, copy constructors, etc., in the way that you structuring the game?]
|
|
|
|
[1:22:54][Q: Do you use the STL at all in your code?]
|
2018-03-07 21:48:09 +00:00
|
|
|
[1:24:18][Call it][:speech]
|
2017-12-06 22:26:13 +00:00
|
|
|
[/video]
|