Adding Entity Placement to the World Generator
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
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 and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

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:04Recap and set the stage for the day
🗩
0:04Recap and set the stage for the day
🗩
0:04Recap and set the stage for the day
🗩
0:40Run the game as a giant, misaligned cat, with a view to implementing the ability to place cats in the world
🏃
0:40Run the game as a giant, misaligned cat, with a view to implementing the ability to place cats in the world
🏃
0:40Run the game as a giant, misaligned cat, with a view to implementing the ability to place cats in the world
🏃
8:00Separating the world generation into room-generation and character-placement phases
🗩
8:00Separating the world generation into room-generation and character-placement phases
🗩
8:00Separating the world generation into room-generation and character-placement phases
🗩
13:32Consider how to approach character-placement
🗩
13:32Consider how to approach character-placement
🗩
13:32Consider how to approach character-placement
🗩
17:20Change the gen_orphanage struct to contain a single array of pointers to gen_room structs, and introduce PlaceCat()
17:20Change the gen_orphanage struct to contain a single array of pointers to gen_room structs, and introduce PlaceCat()
17:20Change the gen_orphanage struct to contain a single array of pointers to gen_room structs, and introduce PlaceCat()
25:44Thoughts on randomly picking a room from a list
🗩
25:44Thoughts on randomly picking a room from a list
🗩
25:44Thoughts on randomly picking a room from a list
🗩
28:10Introduce gen_option struct as a store of character-placement criteria in rooms
28:10Introduce gen_option struct as a store of character-placement criteria in rooms
28:10Introduce gen_option struct as a store of character-placement criteria in rooms
34:27Introduce PushOption(), IterateOptions() and related functions for PlaceCat() to locate a room to place a cat
34:27Introduce PushOption(), IterateOptions() and related functions for PlaceCat() to locate a room to place a cat
34:27Introduce PushOption(), IterateOptions() and related functions for PlaceCat() to locate a room to place a cat
49:55Revert gen_orphanage to its original state, and introduce gen_entity, AddEntity(), PlaceEntity() and AddTag()
49:55Revert gen_orphanage to its original state, and introduce gen_entity, AddEntity(), PlaceEntity() and AddTag()
49:55Revert gen_orphanage to its original state, and introduce gen_entity, AddEntity(), PlaceEntity() and AddTag()
58:34Rename PushOption() and AddOption() and make CreateOrphanage() call it on various rooms we'd like cats to reside
58:34Rename PushOption() and AddOption() and make CreateOrphanage() call it on various rooms we'd like cats to reside
58:34Rename PushOption() and AddOption() and make CreateOrphanage() call it on various rooms we'd like cats to reside
1:01:45Run the game and crash on the AddTag() call in CreateWorld()
🏃
1:01:45Run the game and crash on the AddTag() call in CreateWorld()
🏃
1:01:45Run the game and crash on the AddTag() call in CreateWorld()
🏃
1:02:32Fix AddOption() to put the option in the array
1:02:32Fix AddOption() to put the option in the array
1:02:32Fix AddOption() to put the option in the array
1:03:22Run the game with our cats requested, but unplaced
🏃
1:03:22Run the game with our cats requested, but unplaced
🏃
1:03:22Run the game with our cats requested, but unplaced
🏃
1:03:44Introduce AddCat() based on AddMonstar() for GenerateRoom() to place requested cats
1:03:44Introduce AddCat() based on AddMonstar() for GenerateRoom() to place requested cats
1:03:44Introduce AddCat() based on AddMonstar() for GenerateRoom() to place requested cats
1:17:00Run the game to see that cats are getting placed
🏃
1:17:00Run the game to see that cats are getting placed
🏃
1:17:00Run the game to see that cats are getting placed
🏃
1:18:33Make CreateWorld() place and tag each cat, Hannah, Fred and Molly
1:18:33Make CreateWorld() place and tag each cat, Hannah, Fred and Molly
1:18:33Make CreateWorld() place and tag each cat, Hannah, Fred and Molly
1:20:32Run the game to see all three cats
🏃
1:20:32Run the game to see all three cats
🏃
1:20:32Run the game to see all three cats
🏃
1:20:45Add to the gen_entity struct a gen_create_entity function pointer for the Creator function
1:20:45Add to the gen_entity struct a gen_create_entity function pointer for the Creator function
1:20:45Add to the gen_entity struct a gen_create_entity function pointer for the Creator function
1:24:00Create handmade_entity_gen.cpp and .h to contain the entity generation code
1:24:00Create handmade_entity_gen.cpp and .h to contain the entity generation code
1:24:00Create handmade_entity_gen.cpp and .h to contain the entity generation code
1:25:39Run the game with the placement phase in place
🏃
1:25:39Run the game with the placement phase in place
🏃
1:25:39Run the game with the placement phase in place
🏃
1:26:06Pop over to the entity construction phase, making AddCat() resize and elevate the cats
1:26:06Pop over to the entity construction phase, making AddCat() resize and elevate the cats
1:26:06Pop over to the entity construction phase, making AddCat() resize and elevate the cats
1:27:27Run the game to see the more reasonably sized and positioned cats
🏃
1:27:27Run the game to see the more reasonably sized and positioned cats
🏃
1:27:27Run the game to see the more reasonably sized and positioned cats
🏃
1:28:21Make AddCat() elevate and shrink the head in comparison to the body
1:28:21Make AddCat() elevate and shrink the head in comparison to the body
1:28:21Make AddCat() elevate and shrink the head in comparison to the body
1:30:00Run the game to see the more correctly placed cat
🏃
1:30:00Run the game to see the more correctly placed cat
🏃
1:30:00Run the game to see the more correctly placed cat
🏃
1:31:25Enable UpdateAndRenderEntities() to render ghosts with some transparency
1:31:25Enable UpdateAndRenderEntities() to render ghosts with some transparency
1:31:25Enable UpdateAndRenderEntities() to render ghosts with some transparency
1:33:21Run the game to see translucent cats
🏃
1:33:21Run the game to see translucent cats
🏃
1:33:21Run the game to see translucent cats
🏃
1:34:04Set up to correlate incoming asset sizes with their resultant rendering
🗩
1:34:04Set up to correlate incoming asset sizes with their resultant rendering
🗩
1:34:04Set up to correlate incoming asset sizes with their resultant rendering
🗩
1:39:47Q&A
🗩
1:39:47Q&A
🗩
1:39:47Q&A
🗩
1:40:21Jim0_o Q: Would / could you add the values of the cat pieces into the debug-data-list and from there drag the values to live edit the cats? (I think you already made those features long ago)
🗪
1:40:21Jim0_o Q: Would / could you add the values of the cat pieces into the debug-data-list and from there drag the values to live edit the cats? (I think you already made those features long ago)
🗪
1:40:21Jim0_o Q: Would / could you add the values of the cat pieces into the debug-data-list and from there drag the values to live edit the cats? (I think you already made those features long ago)
🗪
1:40:37pulp_user Q: Do you have a video where you talk in depth about the construction of Meow hash? I didn't find anything on YouTube
🗪
1:40:37pulp_user Q: Do you have a video where you talk in depth about the construction of Meow hash? I didn't find anything on YouTube
🗪
1:40:37pulp_user Q: Do you have a video where you talk in depth about the construction of Meow hash? I didn't find anything on YouTube
🗪
1:41:01bouke285 Q: Are you offended that we named our cat Muratori?
🗪
1:41:01bouke285 Q: Are you offended that we named our cat Muratori?
🗪
1:41:01bouke285 Q: Are you offended that we named our cat Muratori?
🗪
1:41:45jessef Q: Could you talk about some of your plans on the AI of entities and what options you're considering?
🗪
1:41:45jessef Q: Could you talk about some of your plans on the AI of entities and what options you're considering?
🗪
1:41:45jessef Q: Could you talk about some of your plans on the AI of entities and what options you're considering?
🗪
1:43:06blastofcynicism Q: Are you offended that they missed the opportunity to name the cat Purratori?
🗪
1:43:06blastofcynicism Q: Are you offended that they missed the opportunity to name the cat Purratori?
🗪
1:43:06blastofcynicism Q: Are you offended that they missed the opportunity to name the cat Purratori?
🗪
1:43:23vateferfout Catsey Purratori is a great name
🗪
1:43:23vateferfout Catsey Purratori is a great name
🗪
1:43:23vateferfout Catsey Purratori is a great name
🗪
1:43:50General thoughts on AI vs arcade-style patterning in games
🗩
1:43:50General thoughts on AI vs arcade-style patterning in games
🗩
1:43:50General thoughts on AI vs arcade-style patterning in games
🗩
1:47:01joesweeney Q: I'm watching from the beginning, and you're fairly optimistic in your expectations for the series saying you don't expect to be done for two years. What are some of the topics that have taken longer than you expected?
🗪
1:47:01joesweeney Q: I'm watching from the beginning, and you're fairly optimistic in your expectations for the series saying you don't expect to be done for two years. What are some of the topics that have taken longer than you expected?
🗪
1:47:01joesweeney Q: I'm watching from the beginning, and you're fairly optimistic in your expectations for the series saying you don't expect to be done for two years. What are some of the topics that have taken longer than you expected?
🗪
1:48:45xxthebigfoxx Q: Sorry if I'm repeating the question from the pre-stream, but how would you approach redrawing of small parts of the screen, without having to redraw the whole thing in a non-immediate-mode GUI application?
🗪
1:48:45xxthebigfoxx Q: Sorry if I'm repeating the question from the pre-stream, but how would you approach redrawing of small parts of the screen, without having to redraw the whole thing in a non-immediate-mode GUI application?
🗪
1:48:45xxthebigfoxx Q: Sorry if I'm repeating the question from the pre-stream, but how would you approach redrawing of small parts of the screen, without having to redraw the whole thing in a non-immediate-mode GUI application?
🗪
1:50:29joesweeney Q: Follow up, the goals you state are trying to inspire the next generation of game engine programmers. How successful do you feel the series has been on this front?
🗪
1:50:29joesweeney Q: Follow up, the goals you state are trying to inspire the next generation of game engine programmers. How successful do you feel the series has been on this front?
🗪
1:50:29joesweeney Q: Follow up, the goals you state are trying to inspire the next generation of game engine programmers. How successful do you feel the series has been on this front?
🗪
1:51:48toxificated Q: Could you please explain again what does volatile do?
🗪
1:51:48toxificated Q: Could you please explain again what does volatile do?
🗪
1:51:48toxificated Q: Could you please explain again what does volatile do?
🗪
1:57:10pulp_user Q: With the explaining Meow hash question, I aimed less at the implementation, but the thought process that goes on behind: Do you know a good resource to read up on how hashes are generally constructed, how you design them so they produce low collision rates, how you quality-check them, and so on?
🗪
1:57:10pulp_user Q: With the explaining Meow hash question, I aimed less at the implementation, but the thought process that goes on behind: Do you know a good resource to read up on how hashes are generally constructed, how you design them so they produce low collision rates, how you quality-check them, and so on?
🗪
1:57:10pulp_user Q: With the explaining Meow hash question, I aimed less at the implementation, but the thought process that goes on behind: Do you know a good resource to read up on how hashes are generally constructed, how you design them so they produce low collision rates, how you quality-check them, and so on?
🗪
2:07:07quickshift_ Q: Do you happen to know how different is embedded C programming compared to "simple" C programming?
🗪
2:07:07quickshift_ Q: Do you happen to know how different is embedded C programming compared to "simple" C programming?
🗪
2:07:07quickshift_ Q: Do you happen to know how different is embedded C programming compared to "simple" C programming?
🗪
2:08:26pajpiart Q: Would adding a fund section on Handmade Network be a viable short-term solution? I for one would really really like to see CDbg get funded1
🗪
2:08:26pajpiart Q: Would adding a fund section on Handmade Network be a viable short-term solution? I for one would really really like to see CDbg get funded1
🗪
2:08:26pajpiart Q: Would adding a fund section on Handmade Network be a viable short-term solution? I for one would really really like to see CDbg get funded1
🗪
2:09:15toxificated Q: I understand, thanks. I just wasn't sure because the wiki says: Do not use [volatile] for inter-thread communication
🗪
2:09:15toxificated Q: I understand, thanks. I just wasn't sure because the wiki says: Do not use [volatile] for inter-thread communication
🗪
2:09:15toxificated Q: I understand, thanks. I just wasn't sure because the wiki says: Do not use [volatile] for inter-thread communication
🗪
2:10:43lorymaster Q: So a really good lossy compressor could be a decent hash function?
🗪
2:10:43lorymaster Q: So a really good lossy compressor could be a decent hash function?
🗪
2:10:43lorymaster Q: So a really good lossy compressor could be a decent hash function?
🗪
2:11:04longboolean Q: You mention many times that you are not a game designer and that it would be ideal if Jon Blow would design the game. Do you plan on having him on in an episode or two to talk about gameplay related stuff, specifically related to the design of Handmade Hero? If he has time, that is. He seems to be a very busy person and I imagine proper game design does not just happen in a day or two
🗪
2:11:04longboolean Q: You mention many times that you are not a game designer and that it would be ideal if Jon Blow would design the game. Do you plan on having him on in an episode or two to talk about gameplay related stuff, specifically related to the design of Handmade Hero? If he has time, that is. He seems to be a very busy person and I imagine proper game design does not just happen in a day or two
🗪
2:11:04longboolean Q: You mention many times that you are not a game designer and that it would be ideal if Jon Blow would design the game. Do you plan on having him on in an episode or two to talk about gameplay related stuff, specifically related to the design of Handmade Hero? If he has time, that is. He seems to be a very busy person and I imagine proper game design does not just happen in a day or two
🗪
2:12:59mmozeiko Q: There are attackers for non-crypto hashes: Hash table lookups can lead to denial-of-service attacks when the attacker can control data coming into the system (think web server)
🗪
2:12:59mmozeiko Q: There are attackers for non-crypto hashes: Hash table lookups can lead to denial-of-service attacks when the attacker can control data coming into the system (think web server)
🗪
2:12:59mmozeiko Q: There are attackers for non-crypto hashes: Hash table lookups can lead to denial-of-service attacks when the attacker can control data coming into the system (think web server)
🗪
2:14:24uplinkcoder Q: Meow hash is based on AES, right? So in a way it uses crypto-tech
🗪
2:14:24uplinkcoder Q: Meow hash is based on AES, right? So in a way it uses crypto-tech
🗪
2:14:24uplinkcoder Q: Meow hash is based on AES, right? So in a way it uses crypto-tech
🗪
2:15:54pulp_user Q: The smhasher GitHub repo2 talks about percentages of bias and distribution for a hash. What do those mean?
🗪
2:15:54pulp_user Q: The smhasher GitHub repo2 talks about percentages of bias and distribution for a hash. What do those mean?
🗪
2:15:54pulp_user Q: The smhasher GitHub repo2 talks about percentages of bias and distribution for a hash. What do those mean?
🗪
2:18:45iantjac Q: Jonathan Blow made an offhand remark that one should never use the stdio IO functions, but always use OS-specific IO functions. I do not know why, and I can't stop thinking about why it could be. Do you know what he could be talking about? Thanks
🗪
2:18:45iantjac Q: Jonathan Blow made an offhand remark that one should never use the stdio IO functions, but always use OS-specific IO functions. I do not know why, and I can't stop thinking about why it could be. Do you know what he could be talking about? Thanks
🗪
2:18:45iantjac Q: Jonathan Blow made an offhand remark that one should never use the stdio IO functions, but always use OS-specific IO functions. I do not know why, and I can't stop thinking about why it could be. Do you know what he could be talking about? Thanks
🗪
2:21:09Thank you, everyone
🗩
2:21:09Thank you, everyone
🗩
2:21:09Thank you, everyone
🗩