Handmade Hero»Episode Guide
Basic Tile Map Collision Checking
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
2:30Review of what's currently been done
2:30Review of what's currently been done
2:30Review of what's currently been done
3:17Clearing the screen to black and offsetting the drawable area
3:17Clearing the screen to black and offsetting the drawable area
3:17Clearing the screen to black and offsetting the drawable area
6:49Player collision with the tilemap
6:49Player collision with the tilemap
6:49Player collision with the tilemap
17:23Moving player initial position inside the map
17:23Moving player initial position inside the map
17:23Moving player initial position inside the map
20:31Clearing only the parts of the screen not drawn on
20:31Clearing only the parts of the screen not drawn on
20:31Clearing only the parts of the screen not drawn on
23:10Function for checking if a point is occupied and tile_map struct
23:10Function for checking if a point is occupied and tile_map struct
23:10Function for checking if a point is occupied and tile_map struct
27:05Accessing tilemap data as 1-dimensional array
27:05Accessing tilemap data as 1-dimensional array
27:05Accessing tilemap data as 1-dimensional array
35:16Adding player width to the collision
35:16Adding player width to the collision
35:16Adding player width to the collision
37:50Making player change the map when walking through a door
37:50Making player change the map when walking through a door
37:50Making player change the map when walking through a door
43:56About storing all tilemaps in one big structure
43:56About storing all tilemaps in one big structure
43:56About storing all tilemaps in one big structure
50:28Start on storing and accessing multiple tilemaps and the world struct
50:28Start on storing and accessing multiple tilemaps and the world struct
50:28Start on storing and accessing multiple tilemaps and the world struct
1:01:00Short recap on where we are
1:01:00Short recap on where we are
1:01:00Short recap on where we are
1:02:16Q&A
🗩
1:02:16Q&A
🗩
1:02:16Q&A
🗩
1:03:10John Blow points out we haven't initialised the world struct members
1:03:10John Blow points out we haven't initialised the world struct members
1:03:10John Blow points out we haven't initialised the world struct members
1:03:43Question: Why does player sometimes stop a pixel before the wall?
1:03:43Question: Why does player sometimes stop a pixel before the wall?
1:03:43Question: Why does player sometimes stop a pixel before the wall?
1:14:36Question: Are your variables for tilemaps too similar to each other or am I just easily confused?
1:14:36Question: Are your variables for tilemaps too similar to each other or am I just easily confused?
1:14:36Question: Are your variables for tilemaps too similar to each other or am I just easily confused?
1:16:12Question: Is there an advantage on using bool32 instead of using bool 8-bit?
1:16:12Question: Is there an advantage on using bool32 instead of using bool 8-bit?
1:16:12Question: Is there an advantage on using bool32 instead of using bool 8-bit?
1:17:07Question: Can you go over briefly how to encode the tile data in a single uint32?
1:17:07Question: Can you go over briefly how to encode the tile data in a single uint32?
1:17:07Question: Can you go over briefly how to encode the tile data in a single uint32?
1:17:55Question: Why does left and right side collision work but not the top and bottom?
1:17:55Question: Why does left and right side collision work but not the top and bottom?
1:17:55Question: Why does left and right side collision work but not the top and bottom?
1:20:43Question: Why save TileWidth and Height if those values never change?
1:20:43Question: Why save TileWidth and Height if those values never change?
1:20:43Question: Why save TileWidth and Height if those values never change?
1:21:02Question: What are the differences between structs and classes?
1:21:02Question: What are the differences between structs and classes?
1:21:02Question: What are the differences between structs and classes?
1:23:14Question: Do you always put int32 or can you use only int?
1:23:14Question: Do you always put int32 or can you use only int?
1:23:14Question: Do you always put int32 or can you use only int?
1:24:45Question: So int32 is because you want to make the game for 32bit computers?
1:24:45Question: So int32 is because you want to make the game for 32bit computers?
1:24:45Question: So int32 is because you want to make the game for 32bit computers?
1:26:05The player moves faster diagonally than it's supposed to. Are you planning on fixing that?
1:26:05The player moves faster diagonally than it's supposed to. Are you planning on fixing that?
1:26:05The player moves faster diagonally than it's supposed to. Are you planning on fixing that?
1:27:10Question: I'm not familiar with #define, what is it used for?
1:27:10Question: I'm not familiar with #define, what is it used for?
1:27:10Question: I'm not familiar with #define, what is it used for?
1:28:34Question: When you use int32 does it have a different influence on the code than normal ints?
1:28:34Question: When you use int32 does it have a different influence on the code than normal ints?
1:28:34Question: When you use int32 does it have a different influence on the code than normal ints?
1:30:05Making the platform header C compliant
1:30:05Making the platform header C compliant
1:30:05Making the platform header C compliant