Stubbing Out the World Generator
?
?

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:06Recap and set the stage for the day
🗩
0:06Recap and set the stage for the day
🗩
0:06Recap and set the stage for the day
🗩
1:18Run the game with a few words on the art, camera and world construction
🏃
1:18Run the game with a few words on the art, camera and world construction
🏃
1:18Run the game with a few words on the art, camera and world construction
🏃
8:02Explain the existing world struct
📖
8:02Explain the existing world struct
📖
8:02Explain the existing world struct
📖
10:45Introduce world_room stuct
10:45Introduce world_room stuct
10:45Introduce world_room stuct
14:31Camera Behavior per Room
🖌
14:31Camera Behavior per Room
🖌
14:31Camera Behavior per Room
🖌
17:16Run the game and consider co-op camera behaviour
🏃
17:16Run the game and consider co-op camera behaviour
🏃
17:16Run the game and consider co-op camera behaviour
🏃
20:44Introduce world_room_camera enum for world_room to contain, and add an array of world_room in world
20:44Introduce world_room_camera enum for world_room to contain, and add an array of world_room in world
20:44Introduce world_room_camera enum for world_room to contain, and add an array of world_room in world
23:33Run the game, noting that a debug visualisation of all generated rooms could be helpful
🏃
23:33Run the game, noting that a debug visualisation of all generated rooms could be helpful
🏃
23:33Run the game, noting that a debug visualisation of all generated rooms could be helpful
🏃
25:09Setup AddStandardRoom() to initialise a WorldRoom
25:09Setup AddStandardRoom() to initialise a WorldRoom
25:09Setup AddStandardRoom() to initialise a WorldRoom
31:50Introduce AddWorldRoom(), with a few words on Asserting even on things that we expect to replace before shipping
31:50Introduce AddWorldRoom(), with a few words on Asserting even on things that we expect to replace before shipping
31:50Introduce AddWorldRoom(), with a few words on Asserting even on things that we expect to replace before shipping
34:22Run the game with the determination to draw debug visualisation for every generated room
🏃
34:22Run the game with the determination to draw debug visualisation for every generated room
🏃
34:22Run the game with the determination to draw debug visualisation for every generated room
🏃
35:57Make UpdateAndRenderWorld() draw debug visualisation lines around all our generated rooms
35:57Make UpdateAndRenderWorld() draw debug visualisation lines around all our generated rooms
35:57Make UpdateAndRenderWorld() draw debug visualisation lines around all our generated rooms
42:13Run the game to see that we're nearly correct
🏃
42:13Run the game to see that we're nearly correct
🏃
42:13Run the game to see that we're nearly correct
🏃
42:33Fix typo in the AddWorldRoom() call in AddStandardRoom()
42:33Fix typo in the AddWorldRoom() call in AddStandardRoom()
42:33Fix typo in the AddWorldRoom() call in AddStandardRoom()
43:03Run the game to see all our room debug visualisation lines, considering switching to infinite far clip-plane
🏃
43:03Run the game to see all our room debug visualisation lines, considering switching to infinite far clip-plane
🏃
43:03Run the game to see all our room debug visualisation lines, considering switching to infinite far clip-plane
🏃
45:02Determine to make our current camera code zoom to rooms better
🏃
45:02Determine to make our current camera code zoom to rooms better
🏃
45:02Determine to make our current camera code zoom to rooms better
🏃
47:03Create handmade_world_gen.h for all of our existing world generation code
47:03Create handmade_world_gen.h for all of our existing world generation code
47:03Create handmade_world_gen.h for all of our existing world generation code
50:48Run the game and crash immediately because there's no world
🏃
50:48Run the game and crash immediately because there's no world
🏃
50:48Run the game and crash immediately because there's no world
🏃
51:37Introduce CreateWorld() for PlayWorld() to call
51:37Introduce CreateWorld() for PlayWorld() to call
51:37Introduce CreateWorld() for PlayWorld() to call
53:22Run the game to see our existing world
🏃
53:22Run the game to see our existing world
🏃
53:22Run the game to see our existing world
🏃
53:35Determine to build up our world generation code from the usage code backwards
🗩
53:35Determine to build up our world generation code from the usage code backwards
🗩
53:35Determine to build up our world generation code from the usage code backwards
🗩
55:58Introduce CreateOrphanage()
55:58Introduce CreateOrphanage()
55:58Introduce CreateOrphanage()
58:12Room
🖌
58:12Room
🖌
58:12Room
🖌
1:01:03Continue to implement CreateOrphanage() calling our fictitious GenRoom() function1
1:01:03Continue to implement CreateOrphanage() calling our fictitious GenRoom() function1
1:01:03Continue to implement CreateOrphanage() calling our fictitious GenRoom() function1
1:05:03Room Connectedness, and cycles
🖌
1:05:03Room Connectedness, and cycles
🖌
1:05:03Room Connectedness, and cycles
🖌
1:08:17Add BackDoorPath and SideAlley in CreateOrphanage(), and connect them up in such a way as to create a cycle
1:08:17Add BackDoorPath and SideAlley in CreateOrphanage(), and connect them up in such a way as to create a cycle
1:08:17Add BackDoorPath and SideAlley in CreateOrphanage(), and connect them up in such a way as to create a cycle
1:11:02Introduce the notion of a gen_room_spec for CreateOrphanage() to use
1:11:02Introduce the notion of a gen_room_spec for CreateOrphanage() to use
1:11:02Introduce the notion of a gen_room_spec for CreateOrphanage() to use
1:16:07Introduce CreateWorld() to call CreateOrphanage() and the currently fictitious Layout(), GenerateWorld() and EndWorldgen(), and gen_orphanage that specifies room connections
1:16:07Introduce CreateWorld() to call CreateOrphanage() and the currently fictitious Layout(), GenerateWorld() and EndWorldgen(), and gen_orphanage that specifies room connections
1:16:07Introduce CreateWorld() to call CreateOrphanage() and the currently fictitious Layout(), GenerateWorld() and EndWorldgen(), and gen_orphanage that specifies room connections
1:19:58Reflect on having constructed our API from the usage code backwards
🗩
1:19:58Reflect on having constructed our API from the usage code backwards
🗩
1:19:58Reflect on having constructed our API from the usage code backwards
🗩
1:22:31Implement our world generation types and functions, with an eye on later differentiating between the world's specification and its generation from that spec
1:22:31Implement our world generation types and functions, with an eye on later differentiating between the world's specification and its generation from that spec
1:22:31Implement our world generation types and functions, with an eye on later differentiating between the world's specification and its generation from that spec
1:28:25Check out our current memory arena allocation code
📖
1:28:25Check out our current memory arena allocation code
📖
1:28:25Check out our current memory arena allocation code
📖
1:30:41Consider the sheer amount of memory available these days
🗩
1:30:41Consider the sheer amount of memory available these days
🗩
1:30:41Consider the sheer amount of memory available these days
🗩
1:33:00Stub out GenSpec(), GenRoom(), Connect(), BeginWorldGen() and EndWorldgen() with memory management and return values, fixing Clear() to correctly skip the last remaining block2
1:33:00Stub out GenSpec(), GenRoom(), Connect(), BeginWorldGen() and EndWorldgen() with memory management and return values, fixing Clear() to correctly skip the last remaining block2
1:33:00Stub out GenSpec(), GenRoom(), Connect(), BeginWorldGen() and EndWorldgen() with memory management and return values, fixing Clear() to correctly skip the last remaining block2
1:39:08Make CreateWorld() call our new CreateWorld() routine
1:39:08Make CreateWorld() call our new CreateWorld() routine
1:39:08Make CreateWorld() call our new CreateWorld() routine
1:39:48Run the game and step through our new CreateWorld(), CreateOrphanage(), etc. routine
🏃
1:39:48Run the game and step through our new CreateWorld(), CreateOrphanage(), etc. routine
🏃
1:39:48Run the game and step through our new CreateWorld(), CreateOrphanage(), etc. routine
🏃
1:42:21Close "Bug in Clear(memory_arena *)"3
🗹
1:42:21Close "Bug in Clear(memory_arena *)"3
🗹
1:42:21Close "Bug in Clear(memory_arena *)"3
🗹
1:42:57Q&A
🗩
1:42:57Q&A
🗩
1:42:57Q&A
🗩
1:43:14sonoftheright Q: Any thoughts on Mike Acton joining the Unity dev team?
🗪
1:43:14sonoftheright Q: Any thoughts on Mike Acton joining the Unity dev team?
🗪
1:43:14sonoftheright Q: Any thoughts on Mike Acton joining the Unity dev team?
🗪
1:46:15unknown_20 Q: Is the parenthesis around the returned value used for debugging or just a habit?
🗪
1:46:15unknown_20 Q: Is the parenthesis around the returned value used for debugging or just a habit?
🗪
1:46:15unknown_20 Q: Is the parenthesis around the returned value used for debugging or just a habit?
🗪
1:48:08kiitos420 Q: Is it a good idea to use events?
🗪
1:48:08kiitos420 Q: Is it a good idea to use events?
🗪
1:48:08kiitos420 Q: Is it a good idea to use events?
🗪
1:49:22frostyninja Q: Are we going to see the new art assets soon now? Today was exciting. I can’t wait for worldgen. Should be interesting
🗪
1:49:22frostyninja Q: Are we going to see the new art assets soon now? Today was exciting. I can’t wait for worldgen. Should be interesting
🗪
1:49:22frostyninja Q: Are we going to see the new art assets soon now? Today was exciting. I can’t wait for worldgen. Should be interesting
🗪
1:49:33vtlmks Q: Off-topic if you run out of other questions. In C, is there a way to make something similar to function overloading?
🗪
1:49:33vtlmks Q: Off-topic if you run out of other questions. In C, is there a way to make something similar to function overloading?
🗪
1:49:33vtlmks Q: Off-topic if you run out of other questions. In C, is there a way to make something similar to function overloading?
🗪
1:50:15unknown_20 handmade_hero I read somewhere you can #define return and log all your returns that happen
🗪
1:50:15unknown_20 handmade_hero I read somewhere you can #define return and log all your returns that happen
🗪
1:50:15unknown_20 handmade_hero I read somewhere you can #define return and log all your returns that happen
🗪
1:50:29suburbanfilth Q: What do you think of Golang?
🗪
1:50:29suburbanfilth Q: What do you think of Golang?
🗪
1:50:29suburbanfilth Q: What do you think of Golang?
🗪
1:50:46vaualbus Q: Just as side note on that Nvidia fiasco you had. I found out that in my case I can get Nsight graphics to crash in the same way if I use raw input to get PS4 controller data. As soon as I remove the call that registers raw controllers, Nsight work. Any idea on why that could happen? Maybe Nsight is using something to intercept user input?
🗪
1:50:46vaualbus Q: Just as side note on that Nvidia fiasco you had. I found out that in my case I can get Nsight graphics to crash in the same way if I use raw input to get PS4 controller data. As soon as I remove the call that registers raw controllers, Nsight work. Any idea on why that could happen? Maybe Nsight is using something to intercept user input?
🗪
1:50:46vaualbus Q: Just as side note on that Nvidia fiasco you had. I found out that in my case I can get Nsight graphics to crash in the same way if I use raw input to get PS4 controller data. As soon as I remove the call that registers raw controllers, Nsight work. Any idea on why that could happen? Maybe Nsight is using something to intercept user input?
🗪
1:52:06x13pixels Q: I know you did a video on interpolation. Do you know of any good resources for cubic B-splines?
🗪
1:52:06x13pixels Q: I know you did a video on interpolation. Do you know of any good resources for cubic B-splines?
🗪
1:52:06x13pixels Q: I know you did a video on interpolation. Do you know of any good resources for cubic B-splines?
🗪
1:56:00Bezier curves, and B-spline orders
🖌
1:56:00Bezier curves, and B-spline orders
🖌
1:56:00Bezier curves, and B-spline orders
🖌
2:00:41Daisy-chaining Bezier curves to produce more complex curves
🖌
2:00:41Daisy-chaining Bezier curves to produce more complex curves
🖌
2:00:41Daisy-chaining Bezier curves to produce more complex curves
🖌
2:04:03Orders of discontinuity
🖌
2:04:03Orders of discontinuity
🖌
2:04:03Orders of discontinuity
🖌
2:06:05Cubic B-spline curves
🖌
2:06:05Cubic B-spline curves
🖌
2:06:05Cubic B-spline curves
🖌
2:08:06krismeld Q: I really like the look of the lighting you have implemented. Will the system be working with many light points?
🗪
2:08:06krismeld Q: I really like the look of the lighting you have implemented. Will the system be working with many light points?
🗪
2:08:06krismeld Q: I really like the look of the lighting you have implemented. Will the system be working with many light points?
🗪
2:08:41longboolean Q: So if I am on the same page, if we wanted to make sure that two rooms never touch each other we would still use Connect() plus passing a flag of some kind. Or would you do something else?
🗪
2:08:41longboolean Q: So if I am on the same page, if we wanted to make sure that two rooms never touch each other we would still use Connect() plus passing a flag of some kind. Or would you do something else?
🗪
2:08:41longboolean Q: So if I am on the same page, if we wanted to make sure that two rooms never touch each other we would still use Connect() plus passing a flag of some kind. Or would you do something else?
🗪
2:09:36schoenhs Q: Are there any plans to write tools to author rooms or will everything be done in code?
🗪
2:09:36schoenhs Q: Are there any plans to write tools to author rooms or will everything be done in code?
🗪
2:09:36schoenhs Q: Are there any plans to write tools to author rooms or will everything be done in code?
🗪
2:10:13Wrap it up for today
🗩
2:10:13Wrap it up for today
🗩
2:10:13Wrap it up for today
🗩