Adding a Basic Familiar Entity
?
?

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)
2:29Recap and plan for the day ahead
2:29Recap and plan for the day ahead
2:29Recap and plan for the day ahead
5:34handmade.h: Add EntityType_Familiar and EntityType_Monster
5:34handmade.h: Add EntityType_Familiar and EntityType_Monster
5:34handmade.h: Add EntityType_Familiar and EntityType_Monster
6:21handmade.cpp: Introduce AddMonster and update AddLowEntity
6:21handmade.cpp: Introduce AddMonster and update AddLowEntity
6:21handmade.cpp: Introduce AddMonster and update AddLowEntity
10:49Add a monster
10:49Add a monster
10:49Add a monster
12:04Run the game and see the monster
12:04Run the game and see the monster
12:04Run the game and see the monster
13:37Reiterate the fact that it is the SetCamera call that brings everything into the HighEntity set
13:37Reiterate the fact that it is the SetCamera call that brings everything into the HighEntity set
13:37Reiterate the fact that it is the SetCamera call that brings everything into the HighEntity set
14:29handmade.cpp: Write cases for drawing each EntityType
14:29handmade.cpp: Write cases for drawing each EntityType
14:29handmade.cpp: Write cases for drawing each EntityType
16:47Run the game and see our Monstar for the first time
16:47Run the game and see our Monstar for the first time
16:47Run the game and see our Monstar for the first time
17:10handmade.cpp: Add a familiar
17:10handmade.cpp: Add a familiar
17:10handmade.cpp: Add a familiar
18:16Run the game and see our Familiar for the first time
18:16Run the game and see our Familiar for the first time
18:16Run the game and see our Familiar for the first time
19:40handmade.cpp: Consider how to update the HighEntities
19:40handmade.cpp: Consider how to update the HighEntities
19:40handmade.cpp: Consider how to update the HighEntities
21:04Introduce UpdateEntity
21:04Introduce UpdateEntity
21:04Introduce UpdateEntity
22:30Consider the "jump code" and do some clean up
22:30Consider the "jump code" and do some clean up
22:30Consider the "jump code" and do some clean up
25:52handmade.h: Introduce entity_visible_piece and entity_visible_piece_group
25:52handmade.h: Introduce entity_visible_piece and entity_visible_piece_group
25:52handmade.h: Introduce entity_visible_piece and entity_visible_piece_group
27:52Change DrawBitmap calls to PushPiece
27:52Change DrawBitmap calls to PushPiece
27:52Change DrawBitmap calls to PushPiece
37:09Consider doing the rendering directly, rather than deferring it
37:09Consider doing the rendering directly, rather than deferring it
37:09Consider doing the rendering directly, rather than deferring it
38:06Finish implementing PushPiece
38:06Finish implementing PushPiece
38:06Finish implementing PushPiece
41:05Run the game and note that we're doing the exact same thing we were doing
41:05Run the game and note that we're doing the exact same thing we were doing
41:05Run the game and note that we're doing the exact same thing we were doing
41:18handmade.cpp: Add Update calls for the entities
41:18handmade.cpp: Add Update calls for the entities
41:18handmade.cpp: Add Update calls for the entities
42:22Compute the ShadowAlpha incorrectly for now
42:22Compute the ShadowAlpha incorrectly for now
42:22Compute the ShadowAlpha incorrectly for now
42:52Implement these Update calls and give the Familiar some logic
42:52Implement these Update calls and give the Familiar some logic
42:52Implement these Update calls and give the Familiar some logic
49:09Implement EntityFromHighIndex
49:09Implement EntityFromHighIndex
49:09Implement EntityFromHighIndex
51:22Change MovePlayer to MoveEntity
51:22Change MovePlayer to MoveEntity
51:22Change MovePlayer to MoveEntity
52:23Give the Familiar some movement logic towards the Hero
52:23Give the Familiar some movement logic towards the Hero
52:23Give the Familiar some movement logic towards the Hero
53:51Run the game and tweak the Familiar's logic
53:51Run the game and tweak the Familiar's logic
53:51Run the game and tweak the Familiar's logic
54:48Moment of realisation: The player's speed is baked into MoveEntity
54:48Moment of realisation: The player's speed is baked into MoveEntity
54:48Moment of realisation: The player's speed is baked into MoveEntity
55:04Make the Familiar move at half the speed of the Hero and check it out in-game
55:04Make the Familiar move at half the speed of the Hero and check it out in-game
55:04Make the Familiar move at half the speed of the Hero and check it out in-game
56:41Q&A
🗩
56:41Q&A
🗩
56:41Q&A
🗩
58:09Q: Why "Monstar" and not "Monster"?
58:09Q: Why "Monstar" and not "Monster"?
58:09Q: Why "Monstar" and not "Monster"?
58:58Q: If someone rewrites your code using OOP and it runs faster, what would you do?
58:58Q: If someone rewrites your code using OOP and it runs faster, what would you do?
58:58Q: If someone rewrites your code using OOP and it runs faster, what would you do?
59:24Q: Why do you want to be able to outrun your familiar? Doesn't having to stop for him to catch up get annoying?
59:24Q: Why do you want to be able to outrun your familiar? Doesn't having to stop for him to catch up get annoying?
59:24Q: Why do you want to be able to outrun your familiar? Doesn't having to stop for him to catch up get annoying?
1:00:44Q: Could you make the head bob up and down while following the player?
1:00:44Q: Could you make the head bob up and down while following the player?
1:00:44Q: Could you make the head bob up and down while following the player?
1:03:49Q: Could you write Pong real fast, so I can see how to start?
1:03:49Q: Could you write Pong real fast, so I can see how to start?
1:03:49Q: Could you write Pong real fast, so I can see how to start?
1:04:03Q: "Monstar" would be confused with "Mon*", a pointer to a Mon
1:04:03Q: "Monstar" would be confused with "Mon*", a pointer to a Mon
1:04:03Q: "Monstar" would be confused with "Mon*", a pointer to a Mon
1:04:19Q: Are we going to eventually use a component-based entity system, instead of using an enum of entity types? If not, why?
1:04:19Q: Are we going to eventually use a component-based entity system, instead of using an enum of entity types? If not, why?
1:04:19Q: Are we going to eventually use a component-based entity system, instead of using an enum of entity types? If not, why?
1:05:50Q: Would you think about doing some proportional integral derivative control for familiars to follow?
1:05:50Q: Would you think about doing some proportional integral derivative control for familiars to follow?
1:05:50Q: Would you think about doing some proportional integral derivative control for familiars to follow?
1:06:50Q: I have a bad feeling about that switch on EntityType. Do you think it will probably go away as we get closer to the final architecture?
1:06:50Q: I have a bad feeling about that switch on EntityType. Do you think it will probably go away as we get closer to the final architecture?
1:06:50Q: I have a bad feeling about that switch on EntityType. Do you think it will probably go away as we get closer to the final architecture?
1:07:35Q: Would collision be an XY-only thing, or would you take into account Z, as in jumping over another entity?
1:07:35Q: Would collision be an XY-only thing, or would you take into account Z, as in jumping over another entity?
1:07:35Q: Would collision be an XY-only thing, or would you take into account Z, as in jumping over another entity?
1:08:49Q: I have a feeling your Low entities will be quite big if they have AI and stuff. Won't this be a problem for the huge world? Maybe it would have made sense if you had kept the tile data in chunks so you can deflate some entities just when needed
1:08:49Q: I have a feeling your Low entities will be quite big if they have AI and stuff. Won't this be a problem for the huge world? Maybe it would have made sense if you had kept the tile data in chunks so you can deflate some entities just when needed
1:08:49Q: I have a feeling your Low entities will be quite big if they have AI and stuff. Won't this be a problem for the huge world? Maybe it would have made sense if you had kept the tile data in chunks so you can deflate some entities just when needed
1:09:47Q: The performance boost off the low / high shuffle: when will we see this come into play?
1:09:47Q: The performance boost off the low / high shuffle: when will we see this come into play?
1:09:47Q: The performance boost off the low / high shuffle: when will we see this come into play?
1:10:33Q: Could we spawn a ton of these floating head things?
1:10:33Q: Could we spawn a ton of these floating head things?
1:10:33Q: Could we spawn a ton of these floating head things?
1:30:46Q: How will the Z work exactly?
1:30:46Q: How will the Z work exactly?
1:30:46Q: How will the Z work exactly?
1:31:35Q: Will there be a flock system for all the floating heads following the Hero?
1:31:35Q: Will there be a flock system for all the floating heads following the Hero?
1:31:35Q: Will there be a flock system for all the floating heads following the Hero?
1:31:43Q: What kind of path finding will be implemented for High entities and how will they differ from faraway Low entities? And will Low entity NPCs who are always on the move really far away always resolve? It would be interesting to come across a very live world full of history, dead bodies, etc. due to constant AI acting, but would that be feasible?
1:31:43Q: What kind of path finding will be implemented for High entities and how will they differ from faraway Low entities? And will Low entity NPCs who are always on the move really far away always resolve? It would be interesting to come across a very live world full of history, dead bodies, etc. due to constant AI acting, but would that be feasible?
1:31:43Q: What kind of path finding will be implemented for High entities and how will they differ from faraway Low entities? And will Low entity NPCs who are always on the move really far away always resolve? It would be interesting to come across a very live world full of history, dead bodies, etc. due to constant AI acting, but would that be feasible?
1:32:19Q: How easy would it be to chain multiple bobbly heads to follow each other?
1:32:19Q: How easy would it be to chain multiple bobbly heads to follow each other?
1:32:19Q: How easy would it be to chain multiple bobbly heads to follow each other?
1:35:25Q: CameraTileY + OffsetY not OffsetX in AddFamiliar call
1:35:25Q: CameraTileY + OffsetY not OffsetX in AddFamiliar call
1:35:25Q: CameraTileY + OffsetY not OffsetX in AddFamiliar call
1:36:04Q: I was very glad to hear that you deem classes to be basically garbage. I spent too much time with C# trying to learn object inter-jugglery between them
1:36:04Q: I was very glad to hear that you deem classes to be basically garbage. I spent too much time with C# trying to learn object inter-jugglery between them
1:36:04Q: I was very glad to hear that you deem classes to be basically garbage. I spent too much time with C# trying to learn object inter-jugglery between them
1:36:19Q: About the chaining familiars, could each familiar check if the hero has a familiar already and, if it does, then try to follow the familiar instead?
1:36:19Q: About the chaining familiars, could each familiar check if the hero has a familiar already and, if it does, then try to follow the familiar instead?
1:36:19Q: About the chaining familiars, could each familiar check if the hero has a familiar already and, if it does, then try to follow the familiar instead?
1:36:44We've come to the end of the questions
🗩
1:36:44We've come to the end of the questions
🗩
1:36:44We've come to the end of the questions
🗩