Generating Entities from Layouts
?
?

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:01Recap and set the stage for the day
🗩
0:01Recap and set the stage for the day
🗩
0:01Recap and set the stage for the day
🗩
0:58Demo our procedurally laid-out overworld
🏃
0:58Demo our procedurally laid-out overworld
🏃
0:58Demo our procedurally laid-out overworld
🏃
4:38Generate a new map, with the determination to place environmental entities respecting the connectivity graph
🏃
4:38Generate a new map, with the determination to place environmental entities respecting the connectivity graph
🏃
4:38Generate a new map, with the determination to place environmental entities respecting the connectivity graph
🏃
5:29Environment generation: 1) Using the connection line literally
🏃
5:29Environment generation: 1) Using the connection line literally
🏃
5:29Environment generation: 1) Using the connection line literally
🏃
6:58Environment generation: 2) "Jankifying" or making the lines meander
🏃
6:58Environment generation: 2) "Jankifying" or making the lines meander
🏃
6:58Environment generation: 2) "Jankifying" or making the lines meander
🏃
8:02Determine to start by following the lines literally
🏃
8:02Determine to start by following the lines literally
🏃
8:02Determine to start by following the lines literally
🏃
9:41Consider the performance of our entity structure
🏃
9:41Consider the performance of our entity structure
🏃
9:41Consider the performance of our entity structure
🏃
10:30Prepare to generate our connected forest, encompassed by an impenetrable wall
🏃
10:30Prepare to generate our connected forest, encompassed by an impenetrable wall
🏃
10:30Prepare to generate our connected forest, encompassed by an impenetrable wall
🏃
12:15Pull up the code for CreateWorld()
📖
12:15Pull up the code for CreateWorld()
📖
12:15Pull up the code for CreateWorld()
📖
12:27We could generate stuff in the other room types
🏃
12:27We could generate stuff in the other room types
🏃
12:27We could generate stuff in the other room types
🏃
12:37Make CreateItemRoom() call GenerateRoom()
12:37Make CreateItemRoom() call GenerateRoom()
12:37Make CreateItemRoom() call GenerateRoom()
12:59Our item rooms are not close enough to be paged in
🏃
12:59Our item rooms are not close enough to be paged in
🏃
12:59Our item rooms are not close enough to be paged in
🏃
13:23Let CreateOrphanage() generate a far larger room
13:23Let CreateOrphanage() generate a far larger room
13:23Let CreateOrphanage() generate a far larger room
13:48There's a nav room in our orphanage
🏃
13:48There's a nav room in our orphanage
🏃
13:48There's a nav room in our orphanage
🏃
13:56Make CreateNavRoom() call GenerateRoom()
13:56Make CreateNavRoom() call GenerateRoom()
13:56Make CreateNavRoom() call GenerateRoom()
14:17Our nav room is generated, but offset
🏃
14:17Our nav room is generated, but offset
🏃
14:17Our nav room is generated, but offset
🏃
14:57Reacquaint ourselves with CreateNavRoom() and PlaceDebugMarker()
📖
14:57Reacquaint ourselves with CreateNavRoom() and PlaceDebugMarker()
📖
14:57Reacquaint ourselves with CreateNavRoom() and PlaceDebugMarker()
📖
16:03Our nav rooms are shifted inconsistently
🏃
16:03Our nav rooms are shifted inconsistently
🏃
16:03Our nav rooms are shifted inconsistently
🏃
16:47Wonder if we have a scaling disparity between the debug marker drawing and entity placement
🏃
16:47Wonder if we have a scaling disparity between the debug marker drawing and entity placement
🏃
16:47Wonder if we have a scaling disparity between the debug marker drawing and entity placement
🏃
18:19Reacquaint ourselves with the debug marker drawing in UpdateAndRenderWorld(), to see it is done in a RenderGroup
📖
18:19Reacquaint ourselves with the debug marker drawing in UpdateAndRenderWorld(), to see it is done in a RenderGroup
📖
18:19Reacquaint ourselves with the debug marker drawing in UpdateAndRenderWorld(), to see it is done in a RenderGroup
📖
18:54Expect our room markers to shift with the simulation region
🏃
18:54Expect our room markers to shift with the simulation region
🏃
18:54Expect our room markers to shift with the simulation region
🏃
19:40Try to disable boundaries by making CreateOrphanage() set RoomSpec.Outdoors to true
19:40Try to disable boundaries by making CreateOrphanage() set RoomSpec.Outdoors to true
19:40Try to disable boundaries by making CreateOrphanage() set RoomSpec.Outdoors to true
20:16We still have boundary trees
🏃
20:16We still have boundary trees
🏃
20:16We still have boundary trees
🏃
20:31Try to disable tree creation by making GenerateRoom() set OnEdge to false
20:31Try to disable tree creation by making GenerateRoom() set OnEdge to false
20:31Try to disable tree creation by making GenerateRoom() set OnEdge to false
20:48Our room markers do not shift with the simulation region
🏃
20:48Our room markers do not shift with the simulation region
🏃
20:48Our room markers do not shift with the simulation region
🏃
22:34Reconsider it to be a scaling disparity
📖
22:34Reconsider it to be a scaling disparity
📖
22:34Reconsider it to be a scaling disparity
📖
24:49Our debug markers and grid edits occur in totally different spaces
📖
24:49Our debug markers and grid edits occur in totally different spaces
📖
24:49Our debug markers and grid edits occur in totally different spaces
📖
26:17Determine to line up our debug markers and grid edits
📖
26:17Determine to line up our debug markers and grid edits
📖
26:17Determine to line up our debug markers and grid edits
📖
27:39Change PlaceDebugMarker() to position it using ChunkPositionFromTilePosition()
27:39Change PlaceDebugMarker() to position it using ChunkPositionFromTilePosition()
27:39Change PlaceDebugMarker() to position it using ChunkPositionFromTilePosition()
30:51Our map is maybe too big
🏃
30:51Our map is maybe too big
🏃
30:51Our map is maybe too big
🏃
31:03Make PlaceDebugMarker() scale the positions by 0.5
31:03Make PlaceDebugMarker() scale the positions by 0.5
31:03Make PlaceDebugMarker() scale the positions by 0.5
31:30Our map is probably more what we want
🏃
31:30Our map is probably more what we want
🏃
31:30Our map is probably more what we want
🏃
31:44Move the scaling factor from PlaceDebugMarker() out to LayoutOverworld()
31:44Move the scaling factor from PlaceDebugMarker() out to LayoutOverworld()
31:44Move the scaling factor from PlaceDebugMarker() out to LayoutOverworld()
33:31We now produce over-long and, again, obstructed connections
🏃
33:31We now produce over-long and, again, obstructed connections
🏃
33:31We now produce over-long and, again, obstructed connections
🏃
34:15Fix LayoutOverworld() to apply the Scale to GeneratorRadius
34:15Fix LayoutOverworld() to apply the Scale to GeneratorRadius
34:15Fix LayoutOverworld() to apply the Scale to GeneratorRadius
35:57Generate maps
🏃
35:57Generate maps
🏃
35:57Generate maps
🏃
36:12Generate a buggy map
🏃
36:12Generate a buggy map
🏃
36:12Generate a buggy map
🏃
36:33Wonder if LayoutOverworld() gave up in a loop
📖
36:33Wonder if LayoutOverworld() gave up in a loop
📖
36:33Wonder if LayoutOverworld() gave up in a loop
📖
36:54Decrease the Scale from 1 to 0.5 in LayoutOverworld()
36:54Decrease the Scale from 1 to 0.5 in LayoutOverworld()
36:54Decrease the Scale from 1 to 0.5 in LayoutOverworld()
37:10Our map is much tighter, but we still generate obstructed connections
🏃
37:10Our map is much tighter, but we still generate obstructed connections
🏃
37:10Our map is much tighter, but we still generate obstructed connections
🏃
37:34Wonder if making PlaceDebugMarker() use ChunkPositionFromTilePosition() caused our obstructed connection generation
📖
37:34Wonder if making PlaceDebugMarker() use ChunkPositionFromTilePosition() caused our obstructed connection generation
📖
37:34Wonder if making PlaceDebugMarker() use ChunkPositionFromTilePosition() caused our obstructed connection generation
📖
38:22Revert PlaceDebugMarker() to not use ChunkPositionFromTilePosition()
38:22Revert PlaceDebugMarker() to not use ChunkPositionFromTilePosition()
38:22Revert PlaceDebugMarker() to not use ChunkPositionFromTilePosition()
38:44Generate maps
🏃
38:44Generate maps
🏃
38:44Generate maps
🏃
38:51Generate a buggy map
🏃
38:51Generate a buggy map
🏃
38:51Generate a buggy map
🏃
39:46Scour CreateWorld() for any uninitialised values
📖
39:46Scour CreateWorld() for any uninitialised values
📖
39:46Scour CreateWorld() for any uninitialised values
📖
41:33Scour LayoutOverworld() for a cause of our obstructed connections
📖
41:33Scour LayoutOverworld() for a cause of our obstructed connections
📖
41:33Scour LayoutOverworld() for a cause of our obstructed connections
📖
43:09Generate maps, and manage to get a buggy one on startup
🏃
43:09Generate maps, and manage to get a buggy one on startup
🏃
43:09Generate maps, and manage to get a buggy one on startup
🏃
44:06Scour the AddWorldConnection() loop in LayoutOverworld() for bugs
📖
44:06Scour the AddWorldConnection() loop in LayoutOverworld() for bugs
📖
44:06Scour the AddWorldConnection() loop in LayoutOverworld() for bugs
📖
45:00Scour DistanceBetweenLineSegmentAndPointSq() for bugs
📖
45:00Scour DistanceBetweenLineSegmentAndPointSq() for bugs
📖
45:00Scour DistanceBetweenLineSegmentAndPointSq() for bugs
📖
47:10Scan through LayoutOverworld(), describing the white and purple line colouring, and AddWorldConnection()
📖
47:10Scan through LayoutOverworld(), describing the white and purple line colouring, and AddWorldConnection()
📖
47:10Scan through LayoutOverworld(), describing the white and purple line colouring, and AddWorldConnection()
📖
48:12Seek a pattern in our buggy map generation
🏃
48:12Seek a pattern in our buggy map generation
🏃
48:12Seek a pattern in our buggy map generation
🏃
49:49Wonder if our rooms got moved after connection
📖
49:49Wonder if our rooms got moved after connection
📖
49:49Wonder if our rooms got moved after connection
📖
51:20Try disabling the if(Viable) check in LayoutOverworld() to aid debugging our obstructed connection generation
51:20Try disabling the if(Viable) check in LayoutOverworld() to aid debugging our obstructed connection generation
51:20Try disabling the if(Viable) check in LayoutOverworld() to aid debugging our obstructed connection generation
52:03Check out our rejected, red connection lines
🏃
52:03Check out our rejected, red connection lines
🏃
52:03Check out our rejected, red connection lines
🏃
53:22Check out our rejected, red connection lines on a buggy map
🏃
53:22Check out our rejected, red connection lines on a buggy map
🏃
53:22Check out our rejected, red connection lines on a buggy map
🏃
53:52Try toggling off the connection removal of unnecessary nav rooms in LayoutOverworld()
53:52Try toggling off the connection removal of unnecessary nav rooms in LayoutOverworld()
53:52Try toggling off the connection removal of unnecessary nav rooms in LayoutOverworld()
55:11Generate a plethora of non-buggy maps
🏃
55:11Generate a plethora of non-buggy maps
🏃
55:11Generate a plethora of non-buggy maps
🏃
55:43Wonder if there actually is a room 0
📖
55:43Wonder if there actually is a room 0
📖
55:43Wonder if there actually is a room 0
📖
55:51Generate another plethora of non-buggy maps
🏃
55:51Generate another plethora of non-buggy maps
🏃
55:51Generate another plethora of non-buggy maps
🏃
56:23Investigate how setting the two rooms to 0 can generate obstructed connections
📖
56:23Investigate how setting the two rooms to 0 can generate obstructed connections
📖
56:23Investigate how setting the two rooms to 0 can generate obstructed connections
📖
58:48It is an indexing bug: Setting LocA->Type to WorldLoc_None, thus not creating a room, throws the connection indices off-by-1
📖
58:48It is an indexing bug: Setting LocA->Type to WorldLoc_None, thus not creating a room, throws the connection indices off-by-1
📖
58:48It is an indexing bug: Setting LocA->Type to WorldLoc_None, thus not creating a room, throws the connection indices off-by-1
📖
1:00:35Leave the connection removal of unnecessary nav rooms toggled off, and add a TODO to track indices correctly
1:00:35Leave the connection removal of unnecessary nav rooms toggled off, and add a TODO to track indices correctly
1:00:35Leave the connection removal of unnecessary nav rooms toggled off, and add a TODO to track indices correctly
1:03:36Enable LayoutOverworld() to scale the map after the fact
1:03:36Enable LayoutOverworld() to scale the map after the fact
1:03:36Enable LayoutOverworld() to scale the map after the fact
1:04:39Generate a map
🏃
1:04:39Generate a map
🏃
1:04:39Generate a map
🏃
1:04:44Decrease the WorldScale from 1 to 0.5 in LayoutOverworld()
1:04:44Decrease the WorldScale from 1 to 0.5 in LayoutOverworld()
1:04:44Decrease the WorldScale from 1 to 0.5 in LayoutOverworld()
1:04:55Our world is now more smooshed
🏃
1:04:55Our world is now more smooshed
🏃
1:04:55Our world is now more smooshed
🏃
1:05:09Introduce TileFromPoint() to line up the debug markers and grid edits coordinate systems
1:05:09Introduce TileFromPoint() to line up the debug markers and grid edits coordinate systems
1:05:09Introduce TileFromPoint() to line up the debug markers and grid edits coordinate systems
1:07:45Make CreateOrphanage() use TileFromPoint()
1:07:45Make CreateOrphanage() use TileFromPoint()
1:07:45Make CreateOrphanage() use TileFromPoint()
1:08:47Our orphanage remains lined up
🏃
1:08:47Our orphanage remains lined up
🏃
1:08:47Our orphanage remains lined up
🏃
1:08:53Make CreateItemRoom(), CreateMonsterGenerator() and CreateDungeon() use TileFromPoint()
1:08:53Make CreateItemRoom(), CreateMonsterGenerator() and CreateDungeon() use TileFromPoint()
1:08:53Make CreateItemRoom(), CreateMonsterGenerator() and CreateDungeon() use TileFromPoint()
1:09:45Our rooms' generated entities all line up with their debug markers
🏃
1:09:45Our rooms' generated entities all line up with their debug markers
🏃
1:09:45Our rooms' generated entities all line up with their debug markers
🏃
1:10:13Determine to fill in the connective tissue between rooms
🏃
1:10:13Determine to fill in the connective tissue between rooms
🏃
1:10:13Determine to fill in the connective tissue between rooms
🏃
1:15:17Consider subdividing the map into a coarse grid and rasterising each populated region
🏃
1:15:17Consider subdividing the map into a coarse grid and rasterising each populated region
🏃
1:15:17Consider subdividing the map into a coarse grid and rasterising each populated region
🏃
1:16:14Make LayoutOverworld() compute the union between all locations, for CreateWorld() to generate as a world room, augmenting world_generator with WorldBounds
1:16:14Make LayoutOverworld() compute the union between all locations, for CreateWorld() to generate as a world room, augmenting world_generator with WorldBounds
1:16:14Make LayoutOverworld() compute the union between all locations, for CreateWorld() to generate as a world room, augmenting world_generator with WorldBounds
1:22:45Hit a read access violation in CreateWorld()
🏃
1:22:45Hit a read access violation in CreateWorld()
🏃
1:22:45Hit a read access violation in CreateWorld()
🏃
1:23:12Fix CreateWorld() to call EndWorldGen() at the very end
1:23:12Fix CreateWorld() to call EndWorldGen() at the very end
1:23:12Fix CreateWorld() to call EndWorldGen() at the very end
1:23:24Our map is now outlined
🏃
1:23:24Our map is now outlined
🏃
1:23:24Our map is now outlined
🏃
1:23:36Increase the WorldScale from 0.5 to 0.7 in LayoutOverworld()
1:23:36Increase the WorldScale from 0.5 to 0.7 in LayoutOverworld()
1:23:36Increase the WorldScale from 0.5 to 0.7 in LayoutOverworld()
1:23:58We now have a perimeter within which we may march and generate entities
🏃
1:23:58We now have a perimeter within which we may march and generate entities
🏃
1:23:58We now have a perimeter within which we may march and generate entities
🏃
1:24:43Determine to march through and rasterise everything
🏃
1:24:43Determine to march through and rasterise everything
🏃
1:24:43Determine to march through and rasterise everything
🏃
1:25:46Reduce CreateNavRoom(), CreateItemRoom(), CreateMonsterGenerator() and CreateDungeon() to only call PlaceDebugMarker()
1:25:46Reduce CreateNavRoom(), CreateItemRoom(), CreateMonsterGenerator() and CreateDungeon() to only call PlaceDebugMarker()
1:25:46Reduce CreateNavRoom(), CreateItemRoom(), CreateMonsterGenerator() and CreateDungeon() to only call PlaceDebugMarker()
1:26:25Our rooms are no longer filled in
🏃
1:26:25Our rooms are no longer filled in
🏃
1:26:25Our rooms are no longer filled in
🏃
1:26:31Introduce GenerateBlock() to generate environmental entities throughout the block, for CreateOrphanage() to call
1:26:31Introduce GenerateBlock() to generate environmental entities throughout the block, for CreateOrphanage() to call
1:26:31Introduce GenerateBlock() to generate environmental entities throughout the block, for CreateOrphanage() to call
1:39:54Hit our !World->UnpackedIsOpen assertion in EnsureRegionIsUnpacked()
🏃
1:39:54Hit our !World->UnpackedIsOpen assertion in EnsureRegionIsUnpacked()
🏃
1:39:54Hit our !World->UnpackedIsOpen assertion in EnsureRegionIsUnpacked()
🏃
1:40:01Make GenerateBlock() call EndGridEdit() at the very end
1:40:01Make GenerateBlock() call EndGridEdit() at the very end
1:40:01Make GenerateBlock() call EndGridEdit() at the very end
1:40:27The camera begins not set to anything
🏃
1:40:27The camera begins not set to anything
🏃
1:40:27The camera begins not set to anything
🏃
1:40:34Make GenerateBlock() put the camera somewhere
1:40:34Make GenerateBlock() put the camera somewhere
1:40:34Make GenerateBlock() put the camera somewhere
1:41:21We have a patch of grass as the orphanage
🏃
1:41:21We have a patch of grass as the orphanage
🏃
1:41:21We have a patch of grass as the orphanage
🏃
1:41:42Make GenerateBlock() place trees on non-walkable tiles, using IsOnEdge() as the IsWalkable() test
1:41:42Make GenerateBlock() place trees on non-walkable tiles, using IsOnEdge() as the IsWalkable() test
1:41:42Make GenerateBlock() place trees on non-walkable tiles, using IsOnEdge() as the IsWalkable() test
1:42:39Trees are placed around the edge
🏃
1:42:39Trees are placed around the edge
🏃
1:42:39Trees are placed around the edge
🏃
1:42:54Make GenerateBlock() use the room locations and connection lines as its IsWalkable() tests, to generate environmental entities there
1:42:54Make GenerateBlock() use the room locations and connection lines as its IsWalkable() tests, to generate environmental entities there
1:42:54Make GenerateBlock() use the room locations and connection lines as its IsWalkable() tests, to generate environmental entities there
1:46:50Our orphanage remains as a patch of grass
🏃
1:46:50Our orphanage remains as a patch of grass
🏃
1:46:50Our orphanage remains as a patch of grass
🏃
1:47:05Make CreateWorld() rather than CreateOrphanage() call GenerateBlock()
1:47:05Make CreateWorld() rather than CreateOrphanage() call GenerateBlock()
1:47:05Make CreateWorld() rather than CreateOrphanage() call GenerateBlock()
1:47:47nickito97 I'm scared of doing anything with enough tomato in a seasoned wok
🗪
1:47:47nickito97 I'm scared of doing anything with enough tomato in a seasoned wok
🗪
1:47:47nickito97 I'm scared of doing anything with enough tomato in a seasoned wok
🗪
1:47:57Make CreateWorld() subdivide the world into blocks, on which to call GenerateBlock()
1:47:57Make CreateWorld() subdivide the world into blocks, on which to call GenerateBlock()
1:47:57Make CreateWorld() subdivide the world into blocks, on which to call GenerateBlock()
1:52:28Crash in AddEntity()
🏃
1:52:28Crash in AddEntity()
🏃
1:52:28Crash in AddEntity()
🏃
1:52:45Compile in -Od
1:52:45Compile in -Od
1:52:45Compile in -Od
1:53:02Hit the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
1:53:02Hit the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
1:53:02Hit the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
1:53:21Check EndGridEdit() for bugs related to AcquireUnpackedEntitySlot()
📖
1:53:21Check EndGridEdit() for bugs related to AcquireUnpackedEntitySlot()
📖
1:53:21Check EndGridEdit() for bugs related to AcquireUnpackedEntitySlot()
📖
1:54:20Investigate our InvalidCodePath hit in AcquireUnpackedEntitySlot()
🏃
1:54:20Investigate our InvalidCodePath hit in AcquireUnpackedEntitySlot()
🏃
1:54:20Investigate our InvalidCodePath hit in AcquireUnpackedEntitySlot()
🏃
1:57:48Break on the CountExceeded check in EnsureRegionIsUnpacked()
🏃
1:57:48Break on the CountExceeded check in EnsureRegionIsUnpacked()
🏃
1:57:48Break on the CountExceeded check in EnsureRegionIsUnpacked()
🏃
1:59:05Try unsuccessfully to break on the IsOutsideVolume assertion in EnsureRegionIsUnpacked() before hitting the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
1:59:05Try unsuccessfully to break on the IsOutsideVolume assertion in EnsureRegionIsUnpacked() before hitting the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
1:59:05Try unsuccessfully to break on the IsOutsideVolume assertion in EnsureRegionIsUnpacked() before hitting the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
2:01:59Fix CreateWorld() to subdivide the world into different blocks to pass to GenerateBlock()
2:01:59Fix CreateWorld() to subdivide the world into different blocks to pass to GenerateBlock()
2:01:59Fix CreateWorld() to subdivide the world into different blocks to pass to GenerateBlock()
2:02:30Run successfully without hitting an InvalidCodePath
🏃
2:02:30Run successfully without hitting an InvalidCodePath
🏃
2:02:30Run successfully without hitting an InvalidCodePath
🏃
2:02:53Fix CreateWorld() to offset the block subdivisions by MinTileI
2:02:53Fix CreateWorld() to offset the block subdivisions by MinTileI
2:02:53Fix CreateWorld() to offset the block subdivisions by MinTileI
2:03:14filiadelski Everyone is fired
🗪
2:03:14filiadelski Everyone is fired
🗪
2:03:14filiadelski Everyone is fired
🗪
2:03:16thesandvichmaker Just throw any leftover vegetables in
🗪
2:03:16thesandvichmaker Just throw any leftover vegetables in
🗪
2:03:16thesandvichmaker Just throw any leftover vegetables in
🗪
2:03:19Our room connections are filled with environmental entities, but entities do not get streamed in
🏃
2:03:19Our room connections are filled with environmental entities, but entities do not get streamed in
🏃
2:03:19Our room connections are filled with environmental entities, but entities do not get streamed in
🏃
2:04:02Uncomment the hero's head light in AddPlayer()
2:04:02Uncomment the hero's head light in AddPlayer()
2:04:02Uncomment the hero's head light in AddPlayer()
2:04:45Our room connections remain filled correctly, only lacking entity streaming
🏃
2:04:45Our room connections remain filled correctly, only lacking entity streaming
🏃
2:04:45Our room connections remain filled correctly, only lacking entity streaming
🏃
2:06:59Decrease BlockDim from 32 to 16 in CreateWorld()
2:06:59Decrease BlockDim from 32 to 16 in CreateWorld()
2:06:59Decrease BlockDim from 32 to 16 in CreateWorld()
2:07:24Hit a write access violation on AcquireUnpackedEntitySlot() upon moving between sim regions
🏃
2:07:24Hit a write access violation on AcquireUnpackedEntitySlot() upon moving between sim regions
🏃
2:07:24Hit a write access violation on AcquireUnpackedEntitySlot() upon moving between sim regions
🏃
2:07:56Run in -Od and hit the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
2:07:56Run in -Od and hit the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
2:07:56Run in -Od and hit the InvalidCodePath in AcquireUnpackedEntitySlot()
🏃
2:08:47End it there
🗩
2:08:47End it there
🗩
2:08:47End it there
🗩
2:09:02Compile in -O2, and consider removing the 3rd dimension
2:09:02Compile in -O2, and consider removing the 3rd dimension
2:09:02Compile in -O2, and consider removing the 3rd dimension
2:09:18Traverse our forest
🏃
2:09:18Traverse our forest
🏃
2:09:18Traverse our forest
🏃
2:09:55Inflate our WorldBounds in LayoutOverworld()
2:09:55Inflate our WorldBounds in LayoutOverworld()
2:09:55Inflate our WorldBounds in LayoutOverworld()
2:10:26Traverse our forest
🏃
2:10:26Traverse our forest
🏃
2:10:26Traverse our forest
🏃
2:10:38Determine to remove Z next week
🗩
2:10:38Determine to remove Z next week
🗩
2:10:38Determine to remove Z next week
🗩
2:10:50Consider our start-up performance to be good
🏃
2:10:50Consider our start-up performance to be good
🏃
2:10:50Consider our start-up performance to be good
🏃
2:11:46sagian2005 Is there going to be a stream next week? I actually try to plan my Sunday around the stream
🗪
2:11:46sagian2005 Is there going to be a stream next week? I actually try to plan my Sunday around the stream
🗪
2:11:46sagian2005 Is there going to be a stream next week? I actually try to plan my Sunday around the stream
🗪
2:11:54Plug the Molly Movie Club1 stream here2 on Friday 30th September 2022
🗩
2:11:54Plug the Molly Movie Club1 stream here2 on Friday 30th September 2022
🗩
2:11:54Plug the Molly Movie Club1 stream here2 on Friday 30th September 2022
🗩
2:13:21Determine to remove Z and update entity streaming next week
🗩
2:13:21Determine to remove Z and update entity streaming next week
🗩
2:13:21Determine to remove Z and update entity streaming next week
🗩
You have arrived at the (current) end of Handmade Hero