[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Entity Movement in Camera Space" vod_platform=youtube id=TfZUAFh-WJg annotator=csnover annotator=debiatan annotator=theinternetftw] [0:00][Intro] [1:40][Recap] [3:12][Thinking about removing the tile map and making tiles entities] [5:27][Test entities against every other entity (O(n*n))] [6:17][Update MovePlayer to perform collisions on active entities] [9:14][Relative position between entities] [11:04][Thinking about different actions for different types of collisions] [14:34][Implementing walking on “stairs”] [17:42][Fixing compiler errors] [19:28][Implementing ChangeEntityResidence] [22:00][Thinking about entity types using a cache to keep high/dormant entity positions consistent] [25:00][An aside on programming technique (rant)] [26:20][Recalculating the position into tile space on entity update] [29:26][Mapping entities into camera space] [31:40][Exploring the code in debugger] [35:20][Changing residence of entities when higher residence is requested] [39:30][Debugging entity collisions] [42:05][Debugging sticky collisions] [44:57][Restoring camera movement] [50:58][Todos for tomorrow] [53:23][Q&A][:speech] [54:13][Why can't infrequent entity updates happen in the entity's update logic?] [56:57][Why do you want to use a 3D vector for position when the Z value is always going to be an integer?] [1:01:25][Does Minkowski collision detection have to be axis-aligned?] [1:03:06][Didn't you just implement a bare-bones relational database? Do you think that's a good mental model for understanding today's code?] [1:05:57][I noticed your characters do not collide with each-other. I thought you changed that?] [1:07:08][How good is this addressing scheme for the cache?] [1:08:02][When jumping you just need x, y, z coordinates to make it happen? \[code changes\]] [1:16:23][Will we switch to some kind of sparse storage for example for the high res entities?] [1:16:54][How would you handle jumping on a ledge or surface to adopt a new base height?] [1:18:19][What do you think about physics for character or mob movement in a platformer game, meaning that I press right but it starts to accelerate instead of just move?] [1:19:16][Now make him jump through the ceiling into the next floor.] [1:19:54][Why is he so huge?] [1:20:27][Will the floor area of the zones be flat or will it have slopes and 3D zones a.k.a. hills?] [1:22:09][Can you change the yellow tile beneath his feet quickly and easily to be greyish and round so it looks like a jumping shadow? Completely not required but why not! \[code change\]] [1:26:21][If you add walls in the middle of rooms would they be handled as entities for the purpose of collision detection or separately?] [1:27:04][Too fast!] [1:30:35][How much has changing the rectangle to a bitmap instead of a rectangle impacted your player-on-player collision calculation?] [1:30:53][How many zombie DLCs will there be?] [1:32:02][Shouldn't you be doing this blending in a linear color space?] [1:33:06][When does the core mechanics of the game come into play? Earlier or later in the dev cycle?] [1:35:19][Is there an easy way to translate from circle to ellipse collision detection?] [1:35:50][Do you recommend learning to make a game engine rather than using engines like Unity or Unreal for people new to game development?] [1:37:50][The rectangle box which you have alpha assigned, is that the same box you would assign hit points to in case the character is injured by enemies or obstacles?] [1:39:05][How common or practical is pixel by pixel collision check vs overall shapes collision check? Which one is more interesting to you?] [1:39:50][What are your thoughts on the Allegro library?] [1:40:00][Stream end][:speech] [/video]