Handmade Hero»Episode Guide
The Sparse Entity System
?
?

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:14Introduce Milton1
0:14Introduce Milton1
0:14Introduce Milton1
1:25"I have no idea how to say Sergio properly, let alone sexily"α
1:25"I have no idea how to say Sergio properly, let alone sexily"α
1:25"I have no idea how to say Sergio properly, let alone sexily"α
6:22Recap and set the stage for the day
6:22Recap and set the stage for the day
6:22Recap and set the stage for the day
10:27Blackboard: Entity systems
10:27Blackboard: Entity systems
10:27Blackboard: Entity systems
14:47Blackboard: Current compositional approach
14:47Blackboard: Current compositional approach
14:47Blackboard: Current compositional approach
17:00Blackboard: Looking Glass's Act / React Model
17:00Blackboard: Looking Glass's Act / React Model
17:00Blackboard: Looking Glass's Act / React Model
21:28Blackboard: Problems with the AOS approach
21:28Blackboard: Problems with the AOS approach
21:28Blackboard: Problems with the AOS approach
24:45Blackboard: Sparse Entity System
24:45Blackboard: Sparse Entity System
24:45Blackboard: Sparse Entity System
27:06Blackboard: Inheritance
27:06Blackboard: Inheritance
27:06Blackboard: Inheritance
36:44Blackboard: When inheritance falls apart
36:44Blackboard: When inheritance falls apart
36:44Blackboard: When inheritance falls apart
40:25Blackboard: "Inheritance is compression"
40:25Blackboard: "Inheritance is compression"
40:25Blackboard: "Inheritance is compression"
46:47Blackboard: One epically huge entity struct
46:47Blackboard: One epically huge entity struct
46:47Blackboard: One epically huge entity struct
51:24Blackboard: Sparse matrix solver
51:24Blackboard: Sparse matrix solver
51:24Blackboard: Sparse matrix solver
52:37Blackboard: Summary of the plan
52:37Blackboard: Summary of the plan
52:37Blackboard: Summary of the plan
54:37Q&A
🗩
54:37Q&A
🗩
54:37Q&A
🗩
55:36xdafal Can you talk about the dynamic dispatch?
🗪
55:36xdafal Can you talk about the dynamic dispatch?
🗪
55:36xdafal Can you talk about the dynamic dispatch?
🗪
56:09Blackboard: Dispatch
56:09Blackboard: Dispatch
56:09Blackboard: Dispatch
1:00:53Blackboard: C++'s implementation of dynamic dispatch
1:00:53Blackboard: C++'s implementation of dynamic dispatch
1:00:53Blackboard: C++'s implementation of dynamic dispatch
1:07:30Blackboard: Why our system won't use dynamic dispatch
1:07:30Blackboard: Why our system won't use dynamic dispatch
1:07:30Blackboard: Why our system won't use dynamic dispatch
1:09:52popcorn Do you use the struct entry method in your current game?
🗪
1:09:52popcorn Do you use the struct entry method in your current game?
🗪
1:09:52popcorn Do you use the struct entry method in your current game?
🗪
1:10:22sssmcgrath Have you seen my psuedo-hacked discriminated union inheritance system that I use in my game on stream? It's pretty cool
🗪
1:10:22sssmcgrath Have you seen my psuedo-hacked discriminated union inheritance system that I use in my game on stream? It's pretty cool
🗪
1:10:22sssmcgrath Have you seen my psuedo-hacked discriminated union inheritance system that I use in my game on stream? It's pretty cool
🗪
1:10:52insofaras What made you choose this approach over an AoS style + storing indices of each separate component in the main entity struct?
🗪
1:10:52insofaras What made you choose this approach over an AoS style + storing indices of each separate component in the main entity struct?
🗪
1:10:52insofaras What made you choose this approach over an AoS style + storing indices of each separate component in the main entity struct?
🗪
1:11:27dudeinbasement1 I missed it. What about the matrix [i,j]? I was confused there
🗪
1:11:27dudeinbasement1 I missed it. What about the matrix [i,j]? I was confused there
🗪
1:11:27dudeinbasement1 I missed it. What about the matrix [i,j]? I was confused there
🗪
1:12:24parsnip_ How and where would you go about checking if a property existed on your 'mega-struct' whenever you want to do your operations? Would they all be null pointers if undefined?
🗪
1:12:24parsnip_ How and where would you go about checking if a property existed on your 'mega-struct' whenever you want to do your operations? Would they all be null pointers if undefined?
🗪
1:12:24parsnip_ How and where would you go about checking if a property existed on your 'mega-struct' whenever you want to do your operations? Would they all be null pointers if undefined?
🗪
1:13:15tterrace What are you going to use to track which struct members have been touched / set back to null?
🗪
1:13:15tterrace What are you going to use to track which struct members have been touched / set back to null?
🗪
1:13:15tterrace What are you going to use to track which struct members have been touched / set back to null?
🗪
1:14:13jessem3y3r What portions of this design could you foresee causing perf issues?
🗪
1:14:13jessem3y3r What portions of this design could you foresee causing perf issues?
🗪
1:14:13jessem3y3r What portions of this design could you foresee causing perf issues?
🗪
1:19:02connor_rentz What are some alternatives to an entity system?
🗪
1:19:02connor_rentz What are some alternatives to an entity system?
🗪
1:19:02connor_rentz What are some alternatives to an entity system?
🗪
1:21:01Mr4thDimention Are you already thinking of a backup plan for the entities and how you would transition to that system if you had to?
🗪
1:21:01Mr4thDimention Are you already thinking of a backup plan for the entities and how you would transition to that system if you had to?
🗪
1:21:01Mr4thDimention Are you already thinking of a backup plan for the entities and how you would transition to that system if you had to?
🗪
1:22:27videogamestoohard Do you play Street Fighter? Who is your favorite character?
🗪
1:22:27videogamestoohard Do you play Street Fighter? Who is your favorite character?
🗪
1:22:27videogamestoohard Do you play Street Fighter? Who is your favorite character?
🗪
1:23:54soysaucethekid Will the entity system include things such as particle effects?
🗪
1:23:54soysaucethekid Will the entity system include things such as particle effects?
🗪
1:23:54soysaucethekid Will the entity system include things such as particle effects?
🗪
1:24:33xdafal Did you play Bomberman?
🗪
1:24:33xdafal Did you play Bomberman?
🗪
1:24:33xdafal Did you play Bomberman?
🗪
1:24:37sssmcgrath You can't stand the Street Fighter pause but you liked the Mortal Kombat rotoscope?
🗪
1:24:37sssmcgrath You can't stand the Street Fighter pause but you liked the Mortal Kombat rotoscope?
🗪
1:24:37sssmcgrath You can't stand the Street Fighter pause but you liked the Mortal Kombat rotoscope?
🗪
1:25:27demetrispanos Yeah that seems reasonable, it does seem unlikely that you'd get 300 entities needing 60FPS simulation except, as you say, bullet hell with bullets-as-entities rather than being their own optimized thing
🗪
1:25:27demetrispanos Yeah that seems reasonable, it does seem unlikely that you'd get 300 entities needing 60FPS simulation except, as you say, bullet hell with bullets-as-entities rather than being their own optimized thing
🗪
1:25:27demetrispanos Yeah that seems reasonable, it does seem unlikely that you'd get 300 entities needing 60FPS simulation except, as you say, bullet hell with bullets-as-entities rather than being their own optimized thing
🗪
1:27:37Close down
🗩
1:27:37Close down
🗩
1:27:37Close down
🗩