Explicitly Placed Room Connections
?
?

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)
0:05Recap and set the stage for the day manually laying out rooms to nail down the room placement API
🗩
0:05Recap and set the stage for the day manually laying out rooms to nail down the room placement API
🗩
0:05Recap and set the stage for the day manually laying out rooms to nail down the room placement API
🗩
2:29Describe our conceptualisation of min / max in gen_volume
📖
2:29Describe our conceptualisation of min / max in gen_volume
📖
2:29Describe our conceptualisation of min / max in gen_volume
📖
4:17Fill Rules for Tile Maps
🖌
4:17Fill Rules for Tile Maps
🖌
4:17Fill Rules for Tile Maps
🖌
11:33Correctly picking our fill rules
🖌
11:33Correctly picking our fill rules
🖌
11:33Correctly picking our fill rules
🖌
14:46Consider the clipping asymmetry in PlaceRoom()
📖
14:46Consider the clipping asymmetry in PlaceRoom()
📖
14:46Consider the clipping asymmetry in PlaceRoom()
📖
17:44Compare our room placement with and without the +1 minimum apron clipping
🏃
🖮
17:44Compare our room placement with and without the +1 minimum apron clipping
🏃
🖮
17:44Compare our room placement with and without the +1 minimum apron clipping
🏃
🖮
18:16Redefine Min and Max from gen_volume to include their bounds, introducing gen_point struct and GetDim() for IsMinimumDimensionsForRoom() to call
18:16Redefine Min and Max from gen_volume to include their bounds, introducing gen_point struct and GetDim() for IsMinimumDimensionsForRoom() to call
18:16Redefine Min and Max from gen_volume to include their bounds, introducing gen_point struct and GetDim() for IsMinimumDimensionsForRoom() to call
32:41Make GenerateRoom() and IsInVolume() obey the new fill rule, pulling the room generation code out into handmade_gen_math.h and .cpp
32:41Make GenerateRoom() and IsInVolume() obey the new fill rule, pulling the room generation code out into handmade_gen_math.h and .cpp
32:41Make GenerateRoom() and IsInVolume() obey the new fill rule, pulling the room generation code out into handmade_gen_math.h and .cpp
39:15Fix up PlaceRoom() to obey our new fill rule
39:15Fix up PlaceRoom() to obey our new fill rule
39:15Fix up PlaceRoom() to obey our new fill rule
42:47Step in to PlaceRoomInVolume() to see what it produces
🏃
42:47Step in to PlaceRoomInVolume() to see what it produces
🏃
42:47Step in to PlaceRoomInVolume() to see what it produces
🏃
43:45Make Layout() obey the fill rule for the initial room placement
43:45Make Layout() obey the fill rule for the initial room placement
43:45Make Layout() obey the fill rule for the initial room placement
44:37Step in to GenerateRoom(), then see that the world is correctly created
🏃
44:37Step in to GenerateRoom(), then see that the world is correctly created
🏃
44:37Step in to GenerateRoom(), then see that the world is correctly created
🏃
46:11Orphanage Architecture
🖌
46:11Orphanage Architecture
🖌
46:11Orphanage Architecture
🖌
50:59Setup CreateOrphanage() to explicitly connect rooms
50:59Setup CreateOrphanage() to explicitly connect rooms
50:59Setup CreateOrphanage() to explicitly connect rooms
53:06Articulating connections around a room
🖌
53:06Articulating connections around a room
🖌
53:06Articulating connections around a room
🖌
54:18Determine to introduce an extended version of Connect()
🗩
54:18Determine to introduce an extended version of Connect()
🗩
54:18Determine to introduce an extended version of Connect()
🗩
55:40Refined Orphanage Architecture
🖌
55:40Refined Orphanage Architecture
🖌
55:40Refined Orphanage Architecture
🖌
57:31Make CreateOrphanage() connect our rooms as per the diagram
57:31Make CreateOrphanage() connect our rooms as per the diagram
57:31Make CreateOrphanage() connect our rooms as per the diagram
1:00:17Rearticulating connections as Y-low to Y-high (not counterclockwise)
🖌
1:00:17Rearticulating connections as Y-low to Y-high (not counterclockwise)
🖌
1:00:17Rearticulating connections as Y-low to Y-high (not counterclockwise)
🖌
1:02:37Continue to make CreateOrphanage() connect our rooms
1:02:37Continue to make CreateOrphanage() connect our rooms
1:02:37Continue to make CreateOrphanage() connect our rooms
1:04:45Consider prescribing the size of our rooms
🗩
1:04:45Consider prescribing the size of our rooms
🗩
1:04:45Consider prescribing the size of our rooms
🗩
1:06:24Introduce SetSize() for CreateOrphanage() to call explicitly on all our rooms
1:06:24Introduce SetSize() for CreateOrphanage() to call explicitly on all our rooms
1:06:24Introduce SetSize() for CreateOrphanage() to call explicitly on all our rooms
1:10:57Implement a version of Connect() that connects A explicitly to B
1:10:57Implement a version of Connect() that connects A explicitly to B
1:10:57Implement a version of Connect() that connects A explicitly to B
1:13:47Implement SetSize(), augmenting gen_room to contain a gen_v3 RequiredDim
1:13:47Implement SetSize(), augmenting gen_room to contain a gen_v3 RequiredDim
1:13:47Implement SetSize(), augmenting gen_room to contain a gen_v3 RequiredDim
1:19:26Determine to rewrite Layout() such that we can place adjoining rooms
🗩
1:19:26Determine to rewrite Layout() such that we can place adjoining rooms
🗩
1:19:26Determine to rewrite Layout() such that we can place adjoining rooms
🗩
1:22:24Enable Layout() to place all unplaced neighbouring rooms, introducing PlaceRoomsAlongEdge() and GetDirectionForRoom()
1:22:24Enable Layout() to place all unplaced neighbouring rooms, introducing PlaceRoomsAlongEdge() and GetDirectionForRoom()
1:22:24Enable Layout() to place all unplaced neighbouring rooms, introducing PlaceRoomsAlongEdge() and GetDirectionForRoom()
1:32:53Implement GetDirectionForRoom() for CouldGoDirection() to call
1:32:53Implement GetDirectionForRoom() for CouldGoDirection() to call
1:32:53Implement GetDirectionForRoom() for CouldGoDirection() to call
1:35:23Implement PlaceRoomsAlongEdge(), introducing GetBoxIndexFromDirMask() and a version of CouldGoDirection() that takes a TestMask instead of Dim and Side
1:35:23Implement PlaceRoomsAlongEdge(), introducing GetBoxIndexFromDirMask() and a version of CouldGoDirection() that takes a TestMask instead of Dim and Side
1:35:23Implement PlaceRoomsAlongEdge(), introducing GetBoxIndexFromDirMask() and a version of CouldGoDirection() that takes a TestMask instead of Dim and Side
1:48:37Aligning rooms to the min and max edges
🖌
1:48:37Aligning rooms to the min and max edges
🖌
1:48:37Aligning rooms to the min and max edges
🖌
1:49:38Enable PlaceRoomsAlongEdge() to align rooms to the min and max edges
1:49:38Enable PlaceRoomsAlongEdge() to align rooms to the min and max edges
1:49:38Enable PlaceRoomsAlongEdge() to align rooms to the min and max edges
1:56:44Run the game and hit an assertion in GetOtherRoom()
🏃
1:56:44Run the game and hit an assertion in GetOtherRoom()
🏃
1:56:44Run the game and hit an assertion in GetOtherRoom()
🏃
1:58:24Fix up a Connect() call in CreateOrphanage()
1:58:24Fix up a Connect() call in CreateOrphanage()
1:58:24Fix up a Connect() call in CreateOrphanage()
1:58:36Run the game and hit our assertion in PlaceRoomsAlongEdge()
🏃
1:58:36Run the game and hit our assertion in PlaceRoomsAlongEdge()
🏃
1:58:36Run the game and hit our assertion in PlaceRoomsAlongEdge()
🏃
1:59:43Remove that invalid assertion from PlaceRoomsAlongEdge()
1:59:43Remove that invalid assertion from PlaceRoomsAlongEdge()
1:59:43Remove that invalid assertion from PlaceRoomsAlongEdge()
2:00:00Run the game to see that it does run properly
🏃
2:00:00Run the game to see that it does run properly
🏃
2:00:00Run the game to see that it does run properly
🏃
2:00:27Q&A
🗩
2:00:27Q&A
🗩
2:00:27Q&A
🗩
2:00:53vateferfout Q: Your edge axis is wrong. It gives the direction of the connection, not the axis the connected rooms should align to
🗪
2:00:53vateferfout Q: Your edge axis is wrong. It gives the direction of the connection, not the axis the connected rooms should align to
🗪
2:00:53vateferfout Q: Your edge axis is wrong. It gives the direction of the connection, not the axis the connected rooms should align to
🗪
2:02:05Fix PlaceRoomsAlongEdge() to correctly set the EdgeAxis and AxisA
2:02:05Fix PlaceRoomsAlongEdge() to correctly set the EdgeAxis and AxisA
2:02:05Fix PlaceRoomsAlongEdge() to correctly set the EdgeAxis and AxisA
2:03:29areriff Q: Can the connection be fashion in such a way it forms a long empty corridor / stair up or down to connect two rooms?
🗪
2:03:29areriff Q: Can the connection be fashion in such a way it forms a long empty corridor / stair up or down to connect two rooms?
🗪
2:03:29areriff Q: Can the connection be fashion in such a way it forms a long empty corridor / stair up or down to connect two rooms?
🗪
2:03:54pajpiart Q: You mentioned a few streams ago that the xbox 360 controller has a crap potentiometer. Do you have an example of a controller with a good one?
🗪
2:03:54pajpiart Q: You mentioned a few streams ago that the xbox 360 controller has a crap potentiometer. Do you have an example of a controller with a good one?
🗪
2:03:54pajpiart Q: You mentioned a few streams ago that the xbox 360 controller has a crap potentiometer. Do you have an example of a controller with a good one?
🗪
2:04:24datoh Q: Have you thought to use a constraint solver algo for room layout?
🗪
2:04:24datoh Q: Have you thought to use a constraint solver algo for room layout?
🗪
2:04:24datoh Q: Have you thought to use a constraint solver algo for room layout?
🗪
2:04:41areriff Q: Can the Hero have the ability to "Dig" the ground and fall through the floor to the room below it?
🗪
2:04:41areriff Q: Can the Hero have the ability to "Dig" the ground and fall through the floor to the room below it?
🗪
2:04:41areriff Q: Can the Hero have the ability to "Dig" the ground and fall through the floor to the room below it?
🗪
2:05:26Wrap it up
🗩
2:05:26Wrap it up
🗩
2:05:26Wrap it up
🗩