Generating Possible Room Volumes
?
?

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: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
🗪
2:44:45Wrap it up
🗩
2:44:45Wrap it up
🗩
2:44:45Wrap it up
🗩