Episode Guide

You CAN teach an old programmer new paradigms!
?
?

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:00Elizabeth Baumel: Welcome to the talk
0:00Elizabeth Baumel: Welcome to the talk
0:00Elizabeth Baumel: Welcome to the talk
0:08EB: What is this talk about?
0:08EB: What is this talk about?
0:08EB: What is this talk about?
0:19EB: Who is this talk for?
0:19EB: Who is this talk for?
0:19EB: Who is this talk for?
0:51EB: This talk is NOT
0:51EB: This talk is NOT
0:51EB: This talk is NOT
1:24EB: About me, Unity's DOTS Team
1:24EB: About me, Unity's DOTS Team
1:24EB: About me, Unity's DOTS Team
3:09EB: About me part 2, cognitively
3:09EB: About me part 2, cognitively
3:09EB: About me part 2, cognitively
5:10EB: What is a paradigm?
5:10EB: What is a paradigm?
5:10EB: What is a paradigm?
6:06EB: What is a programming paradigm?
6:06EB: What is a programming paradigm?
6:06EB: What is a programming paradigm?
7:05EB: What is object-oriented programming?
7:05EB: What is object-oriented programming?
7:05EB: What is object-oriented programming?
8:07EB: What is data-oriented design?
8:07EB: What is data-oriented design?
8:07EB: What is data-oriented design?
9:04EB: OOP vs DOD
9:04EB: OOP vs DOD
9:04EB: OOP vs DOD
10:36EB: Teaching DOD
10:36EB: Teaching DOD
10:36EB: Teaching DOD
12:00EB: DOTS training overview
12:00EB: DOTS training overview
12:00EB: DOTS training overview
13:17EB: DOTS training – Breakout: Demo
13:17EB: DOTS training – Breakout: Demo
13:17EB: DOTS training – Breakout: Demo
13:38EB: DOTS training – Breakout: The problem
13:38EB: DOTS training – Breakout: The problem
13:38EB: DOTS training – Breakout: The problem
15:15EB: Common Points of Confusion: Problem? Common case?
15:15EB: Common Points of Confusion: Problem? Common case?
15:15EB: Common Points of Confusion: Problem? Common case?
16:26EB: Data-oriented worksheet: 1) Data
16:26EB: Data-oriented worksheet: 1) Data
16:26EB: Data-oriented worksheet: 1) Data
19:48EB: Data-oriented worksheet: 2) Systems
19:48EB: Data-oriented worksheet: 2) Systems
19:48EB: Data-oriented worksheet: 2) Systems
23:19EB: Data-dependency graph
23:19EB: Data-dependency graph
23:19EB: Data-dependency graph
24:02EB: Common Points of Confusion: Data? System?
24:02EB: Common Points of Confusion: Data? System?
24:02EB: Common Points of Confusion: Data? System?
25:25EB: DOTS training – Sample Port
25:25EB: DOTS training – Sample Port
25:25EB: DOTS training – Sample Port
26:45EB: "You should feel like you're cheating"
26:45EB: "You should feel like you're cheating"
26:45EB: "You should feel like you're cheating"
28:16EB: Code peeking or no code peeking?
28:16EB: Code peeking or no code peeking?
28:16EB: Code peeking or no code peeking?
29:48EB: Group work time!!
29:48EB: Group work time!!
29:48EB: Group work time!!
31:58EB: Un-teach OOP
31:58EB: Un-teach OOP
31:58EB: Un-teach OOP
33:15EB: Language policing
33:15EB: Language policing
33:15EB: Language policing
34:38EB: Hijack OOP – Visual Analogies, 1
34:38EB: Hijack OOP – Visual Analogies, 1
34:38EB: Hijack OOP – Visual Analogies, 1
35:54EB: Hijack OOP – Visual Analogies, 2
35:54EB: Hijack OOP – Visual Analogies, 2
35:54EB: Hijack OOP – Visual Analogies, 2
37:13EB: Abstractions and Generalization
37:13EB: Abstractions and Generalization
37:13EB: Abstractions and Generalization
38:54EB: Talk about hardware
38:54EB: Talk about hardware
38:54EB: Talk about hardware
40:03EB: Helping those who are struggling
40:03EB: Helping those who are struggling
40:03EB: Helping those who are struggling
42:34EB: Protips
42:34EB: Protips
42:34EB: Protips
46:09EB: Thanks!!1
46:09EB: Thanks!!1
46:09EB: Thanks!!1
46:35Abner Coimbre: Two minute break before question
46:35Abner Coimbre: Two minute break before question
46:35Abner Coimbre: Two minute break before question
46:50Questions
46:50Questions
46:50Questions
46:56rudy Would you consider an entity a struct in this context?
🗪
46:56rudy Would you consider an entity a struct in this context?
🗪
46:56rudy Would you consider an entity a struct in this context?
🗪
47:00EB: An entity is an index
47:00EB: An entity is an index
47:00EB: An entity is an index
48:16reductum What do you find tends to motivate people used to OOP to want to learn DOD?
🗪
48:16reductum What do you find tends to motivate people used to OOP to want to learn DOD?
🗪
48:16reductum What do you find tends to motivate people used to OOP to want to learn DOD?
🗪
48:26EB: Raw performance motivates people
48:26EB: Raw performance motivates people
48:26EB: Raw performance motivates people
49:22eternal_student Can you give some examples on solving the same problem for different machines?
🗪
49:22eternal_student Can you give some examples on solving the same problem for different machines?
🗪
49:22eternal_student Can you give some examples on solving the same problem for different machines?
🗪
49:27EB: Breakout on GameBoy vs x86
49:27EB: Breakout on GameBoy vs x86
49:27EB: Breakout on GameBoy vs x86
50:04sethdetroit Where can we find these slides?2
🗪
50:04sethdetroit Where can we find these slides?2
🗪
50:04sethdetroit Where can we find these slides?2
🗪
50:13andrewrk Once the pandemic is over, what is something that you will start doing which combines new knowledge gained during the pandemic, but without the actual handicap of it ongoing?
🗪
50:13andrewrk Once the pandemic is over, what is something that you will start doing which combines new knowledge gained during the pandemic, but without the actual handicap of it ongoing?
🗪
50:13andrewrk Once the pandemic is over, what is something that you will start doing which combines new knowledge gained during the pandemic, but without the actual handicap of it ongoing?
🗪
50:26EB: Digital / online trainings
50:26EB: Digital / online trainings
50:26EB: Digital / online trainings
51:17ilia.demianenko Could you expand a bit on "OOP is not ideal for achieving the full artistic vision"? Is it about sacrificing features to hit performance targets, or do you see OOP inherently limiting even for smaller artsy projects?
🗪
51:17ilia.demianenko Could you expand a bit on "OOP is not ideal for achieving the full artistic vision"? Is it about sacrificing features to hit performance targets, or do you see OOP inherently limiting even for smaller artsy projects?
🗪
51:17ilia.demianenko Could you expand a bit on "OOP is not ideal for achieving the full artistic vision"? Is it about sacrificing features to hit performance targets, or do you see OOP inherently limiting even for smaller artsy projects?
🗪
51:30EB: It's largely about hitting performance targets
51:30EB: It's largely about hitting performance targets
51:30EB: It's largely about hitting performance targets
52:15AC: We have time for a couple more questions
52:15AC: We have time for a couple more questions
52:15AC: We have time for a couple more questions
52:21iradicator Any advice on material to get more familiar with DOD mindset outside of the DOTS ecosystem?
🗪
52:21iradicator Any advice on material to get more familiar with DOD mindset outside of the DOTS ecosystem?
🗪
52:21iradicator Any advice on material to get more familiar with DOD mindset outside of the DOTS ecosystem?
🗪
52:28EB: Program for a GameBoy
52:28EB: Program for a GameBoy
52:28EB: Program for a GameBoy
53:36s0lly Great talk, thanks. Are there any cases where DOD is not a good design philosophy for game programming? Should it only be used for specific sections of game code, e.g. ECS, or should it be used more widely? On that note, is there any specific case where OOP is very useful?
🗪
53:36s0lly Great talk, thanks. Are there any cases where DOD is not a good design philosophy for game programming? Should it only be used for specific sections of game code, e.g. ECS, or should it be used more widely? On that note, is there any specific case where OOP is very useful?
🗪
53:36s0lly Great talk, thanks. Are there any cases where DOD is not a good design philosophy for game programming? Should it only be used for specific sections of game code, e.g. ECS, or should it be used more widely? On that note, is there any specific case where OOP is very useful?
🗪
53:54EB: "All models are wrong. Some are useful"
53:54EB: "All models are wrong. Some are useful"
53:54EB: "All models are wrong. Some are useful"
55:24AC: We can do one more
55:24AC: We can do one more
55:24AC: We can do one more
55:33ryanfleury During your training, do you bring up the idea of understanding your constraints as a way to not optimize your data streams more tightly? I see many people start with the assumption of a tightly data-oriented ECS, and their game ends up having ~100 hot, simple entities at any given point in time. Is this something you explore with teaching people how to profile, etc? In other words, DOD thinking in order to accept slop
🗪
55:33ryanfleury During your training, do you bring up the idea of understanding your constraints as a way to not optimize your data streams more tightly? I see many people start with the assumption of a tightly data-oriented ECS, and their game ends up having ~100 hot, simple entities at any given point in time. Is this something you explore with teaching people how to profile, etc? In other words, DOD thinking in order to accept slop
🗪
55:33ryanfleury During your training, do you bring up the idea of understanding your constraints as a way to not optimize your data streams more tightly? I see many people start with the assumption of a tightly data-oriented ECS, and their game ends up having ~100 hot, simple entities at any given point in time. Is this something you explore with teaching people how to profile, etc? In other words, DOD thinking in order to accept slop
🗪
56:09EB: Subjectivity of cleanliness
56:09EB: Subjectivity of cleanliness
56:09EB: Subjectivity of cleanliness
57:18AC: Thank you so much, Elizabeth
57:18AC: Thank you so much, Elizabeth
57:18AC: Thank you so much, Elizabeth
57:29EB: See you guys in chat
57:29EB: See you guys in chat
57:29EB: See you guys in chat
57:33AC: Take it easy
57:33AC: Take it easy
57:33AC: Take it easy