[, < / ], >Jump to previous / next episode W, K, P / S, J, NJump to previous / next timestamp t / TToggle theatre / SUPERtheatre mode VRevert filter to original stateYSelect link (requires manual Ctrl-c)
Menu toggling
qQuotesrReferencesfFilteryLinkcCredits
In-Menu and Index Controls
a
w s
d
hjkl
←
↑ ↓
→
EscClose menu / unfocus timestamp
Quotes and References Menus and Index
EnterJump to timestamp
Quotes, References and Credits Menus
oOpen URL (in new tab)
Filter Menu
x, SpaceToggle category and focus next X, ShiftSpaceToggle category and focus previous vInvert topics / media as per focus
0:02Recap and set the stage for the day generating possible room volumes
🗩
0:02Recap and set the stage for the day generating possible room volumes
🗩
0:02Recap and set the stage for the day generating possible room volumes
🗩
1:52Describe our current world layout code in CreateOrphanage() with a note that we are using an undirected graph
📖
1:52Describe our current world layout code in CreateOrphanage() with a note that we are using an undirected graph
📖
1:52Describe our current world layout code in CreateOrphanage() with a note that we are using an undirected graph
📖
4:15Run the game to show our current world
🏃
4:15Run the game to show our current world
🏃
4:15Run the game to show our current world
🏃
5:03A few words on starting to devise solutions and to open black boxes
🗩
5:03A few words on starting to devise solutions and to open black boxes
🗩
5:03A few words on starting to devise solutions and to open black boxes
🗩
7:25Inter-room Layout
🖌
7:25Inter-room Layout
🖌
7:25Inter-room Layout
🖌
9:29Dynamically resizable rooms
🖌
9:29Dynamically resizable rooms
🖌
9:29Dynamically resizable rooms
🖌
12:39Recall dad's work at DEC around the time of the DEC Alpha1, chip layout, and "rip up and replace"
📖
12:39Recall dad's work at DEC around the time of the DEC Alpha1, chip layout, and "rip up and replace"
📖
12:39Recall dad's work at DEC around the time of the DEC Alpha1, chip layout, and "rip up and replace"
📖
18:47Speculative layout, and the notion of starting off with a totally brute force solution, before trying to reduce the search space of that solution
🖌
18:47Speculative layout, and the notion of starting off with a totally brute force solution, before trying to reduce the search space of that solution
🖌
18:47Speculative layout, and the notion of starting off with a totally brute force solution, before trying to reduce the search space of that solution
🖌
26:30Setup to tackle our layout problem with an eye toward impermanence
🖌
26:30Setup to tackle our layout problem with an eye toward impermanence
🖌
26:30Setup to tackle our layout problem with an eye toward impermanence
🖌
29:01Specify our world generation rules for Layout() to follow
📖
29:01Specify our world generation rules for Layout() to follow
📖
29:01Specify our world generation rules for Layout() to follow
📖
31:47Introduce gen_room_stack for Layout() to use, with a few words on the use of the compiler's vs our own stack management by recursive functions
31:47Introduce gen_room_stack for Layout() to use, with a few words on the use of the compiler's vs our own stack management by recursive functions
31:47Introduce gen_room_stack for Layout() to use, with a few words on the use of the compiler's vs our own stack management by recursive functions
45:30Introduce GetOtherRoom() for Layout() to call
45:30Introduce GetOtherRoom() for Layout() to call
45:30Introduce GetOtherRoom() for Layout() to call
49:52Determine to enable Layout() to figure out where to place and connect rooms in a trial-and-error fashion, with four connections per room, connecting two rooms after both are placed
🗩
49:52Determine to enable Layout() to figure out where to place and connect rooms in a trial-and-error fashion, with four connections per room, connecting two rooms after both are placed
🗩
49:52Determine to enable Layout() to figure out where to place and connect rooms in a trial-and-error fashion, with four connections per room, connecting two rooms after both are placed
🗩
54:10Continue enabling Layout() to place and connect rooms in separate passes, introducing PushConnectedRooms()
54:10Continue enabling Layout() to place and connect rooms in separate passes, introducing PushConnectedRooms()
54:10Continue enabling Layout() to place and connect rooms in separate passes, introducing PushConnectedRooms()
1:00:28Enumerating shapes of rooms that satisfy connections
🖌
1:00:28Enumerating shapes of rooms that satisfy connections
🖌
1:00:28Enumerating shapes of rooms that satisfy connections
🖌
1:10:26Union and intersection
🖌
1:10:26Union and intersection
🖌
1:10:26Union and intersection
🖌
1:16:08Determining the largest rectangle that touches other rectangles in our union
🖌
1:16:08Determining the largest rectangle that touches other rectangles in our union
🖌
1:16:08Determining the largest rectangle that touches other rectangles in our union
🖌
1:19:42Metropolis–Hastings algorithm2
📖
1:19:42Metropolis–Hastings algorithm2
📖
1:19:42Metropolis–Hastings algorithm2
📖
1:25:28The problem of stably iterating over multiple, changeable brute force possibilities
🗩
1:25:28The problem of stably iterating over multiple, changeable brute force possibilities
🗩
1:25:28The problem of stably iterating over multiple, changeable brute force possibilities
🗩
1:26:42Enable Layout() to unionise our rooms, clipping that union to the largest spaces to accommodate a connecting room and placing a room there using PlaceRoom()
1:26:42Enable Layout() to unionise our rooms, clipping that union to the largest spaces to accommodate a connecting room and placing a room there using PlaceRoom()
1:26:42Enable Layout() to unionise our rooms, clipping that union to the largest spaces to accommodate a connecting room and placing a room there using PlaceRoom()
1:28:34“I also kind of want to do a grow operation on this here, and not the kind where the feds come because you're using U.V. lights”α
🗩
1:28:34“I also kind of want to do a grow operation on this here, and not the kind where the feds come because you're using U.V. lights”α
🗩
1:28:34“I also kind of want to do a grow operation on this here, and not the kind where the feds come because you're using U.V. lights”α
🗩
1:28:46Enable Layout() to expand the volume by an apron
1:28:46Enable Layout() to expand the volume by an apron
1:28:46Enable Layout() to expand the volume by an apron
1:39:22Minimum / maximum bounding rectangle room requirements to satisfy connections
🖌
1:39:22Minimum / maximum bounding rectangle room requirements to satisfy connections
🖌
1:39:22Minimum / maximum bounding rectangle room requirements to satisfy connections
🖌
1:43:23Remove the union gathering phase from Layout(), in favour of room clipping based on the dimensions stored in gen_volume, introducing IsMinimumDimensionsForRoom()
1:43:23Remove the union gathering phase from Layout(), in favour of room clipping based on the dimensions stored in gen_volume, introducing IsMinimumDimensionsForRoom()
1:43:23Remove the union gathering phase from Layout(), in favour of room clipping based on the dimensions stored in gen_volume, introducing IsMinimumDimensionsForRoom()
1:57:44Constraining our possible room placements
🖌
1:57:44Constraining our possible room placements
🖌
1:57:44Constraining our possible room placements
🖌
1:59:20Enable PlaceRoom() to clip our rooms in all dimensions
1:59:20Enable PlaceRoom() to clip our rooms in all dimensions
1:59:20Enable PlaceRoom() to clip our rooms in all dimensions
2:08:49Introduce InfinityVolume() containing the whole world for Layout() to call before PlaceRoom() clips out our desired region
2:08:49Introduce InfinityVolume() containing the whole world for Layout() to call before PlaceRoom() clips out our desired region
2:08:49Introduce InfinityVolume() containing the whole world for Layout() to call before PlaceRoom() clips out our desired region
2:14:37Introduce GetMaximumVolumeFor(), and consider using a room spec to constrain our dimensions
2:14:37Introduce GetMaximumVolumeFor(), and consider using a room spec to constrain our dimensions
2:14:37Introduce GetMaximumVolumeFor(), and consider using a room spec to constrain our dimensions
2:18:05Min / Max Intervals for Reasonable Length Picking
🖌
2:18:05Min / Max Intervals for Reasonable Length Picking
🖌
2:18:05Min / Max Intervals for Reasonable Length Picking
🖌
2:22:05Enable PlaceRoom() to pick reasonable room dimensions
2:22:05Enable PlaceRoom() to pick reasonable room dimensions
2:22:05Enable PlaceRoom() to pick reasonable room dimensions
2:28:49#if 0 most of today's code, with a view to getting the existing code to work with our newly formulated notion of parameterised room volumes
2:28:49#if 0 most of today's code, with a view to getting the existing code to work with our newly formulated notion of parameterised room volumes
2:28:49#if 0 most of today's code, with a view to getting the existing code to work with our newly formulated notion of parameterised room volumes
2:34:06Run the game to see that all is okay
🏃
2:34:06Run the game to see that all is okay
🏃
2:34:06Run the game to see that all is okay
🏃
2:34:34Q&A
🗩
2:34:34Q&A
🗩
2:34:34Q&A
🗩
2:35:20LongBoolean Q: I think one of your >= should be <=, also some < to >, around line 180, 190-ish, I think...
🗪
2:35:20LongBoolean Q: I think one of your >= should be <=, also some < to >, around line 180, 190-ish, I think...
🗪
2:35:20LongBoolean Q: I think one of your >= should be <=, also some < to >, around line 180, 190-ish, I think...
🗪
2:38:40Fix PlaceRoom() to correctly clip our new room
2:38:40Fix PlaceRoom() to correctly clip our new room
2:38:40Fix PlaceRoom() to correctly clip our new room
2:41:42bigmofo1 Q: Why you did not place important rooms randomly, then generate more rooms to join them? This seems more efficient than generating all the rooms upfront before placing them
🗪
2:41:42bigmofo1 Q: Why you did not place important rooms randomly, then generate more rooms to join them? This seems more efficient than generating all the rooms upfront before placing them
🗪
2:41:42bigmofo1 Q: Why you did not place important rooms randomly, then generate more rooms to join them? This seems more efficient than generating all the rooms upfront before placing them