0:00Casey Muratori: Introducing Ron Gilbert, Pat Wyatt, Tommy Refenes and Jonathan Blow
0:00Casey Muratori: Introducing Ron Gilbert, Pat Wyatt, Tommy Refenes and Jonathan Blow
0:00Casey Muratori: Introducing Ron Gilbert, Pat Wyatt, Tommy Refenes and Jonathan Blow
1:50CM: What have you been doing since HandmadeCon 2015?
1:50CM: What have you been doing since HandmadeCon 2015?
1:50CM: What have you been doing since HandmadeCon 2015?
2:02Ron Gilbert: Working on Thimbleweed Park, having scrapped the voice recordings due to the actors strike1
2:02Ron Gilbert: Working on Thimbleweed Park, having scrapped the voice recordings due to the actors strike1
2:02Ron Gilbert: Working on Thimbleweed Park, having scrapped the voice recordings due to the actors strike1
2:48CM: You don't think that…
2:48CM: You don't think that…
2:48CM: You don't think that…
2:50Jonathan Blow: I thought it was limited
2:50Jonathan Blow: I thought it was limited
2:50Jonathan Blow: I thought it was limited
2:52RG: It was easier to scrap it than sign new contracts when wanting to use union actors
2:52RG: It was easier to scrap it than sign new contracts when wanting to use union actors
2:52RG: It was easier to scrap it than sign new contracts when wanting to use union actors
3:46CM: So, Pat, how about you?
3:46CM: So, Pat, how about you?
3:46CM: So, Pat, how about you?
3:48Pat Wyatt: Starting at Amazon Game Studios and working on Breakaway
3:48Pat Wyatt: Starting at Amazon Game Studios and working on Breakaway
3:48Pat Wyatt: Starting at Amazon Game Studios and working on Breakaway
4:13CM: This is an open test?
4:13CM: This is an open test?
4:13CM: This is an open test?
4:18PW: Lots of people may sign up and they'll pick a subset
4:18PW: Lots of people may sign up and they'll pick a subset
4:18PW: Lots of people may sign up and they'll pick a subset
4:34CM: Tommy, how about you?
4:34CM: Tommy, how about you?
4:34CM: Tommy, how about you?
4:36Tommy Refenes: Writing a scripting language
4:36Tommy Refenes: Writing a scripting language
4:36Tommy Refenes: Writing a scripting language
5:33RG: Start another one
5:33RG: Start another one
5:33RG: Start another one
5:38PW: There's templates
5:38PW: There's templates
5:38PW: There's templates
5:40TR: I almost did templates
5:40TR: I almost did templates
5:40TR: I almost did templates
5:46CM: Is this something you're ever going to release?
5:46CM: Is this something you're ever going to release?
5:46CM: Is this something you're ever going to release?
5:52TR: No release for TommuScript
5:52TR: No release for TommuScript
5:52TR: No release for TommuScript
6:34CM: And Jon, how about you?
6:34CM: And Jon, how about you?
6:34CM: And Jon, how about you?
6:36JB: What level of involvement counts as worth mentioning?
6:36JB: What level of involvement counts as worth mentioning?
6:36JB: What level of involvement counts as worth mentioning?
6:41CM: Speaker discretion
6:41CM: Speaker discretion
6:41CM: Speaker discretion
6:52JB: Releasing The Witness in January 2016, and doing HDR rendering
6:52JB: Releasing The Witness in January 2016, and doing HDR rendering
6:52JB: Releasing The Witness in January 2016, and doing HDR rendering
8:35JB: Starting on one game using the Witness engine, and another game in JAI
8:35JB: Starting on one game using the Witness engine, and another game in JAI
8:35JB: Starting on one game using the Witness engine, and another game in JAI
9:56CM: Let's move on to questions
9:56CM: Let's move on to questions
9:56CM: Let's move on to questions
10:49The_8th_mage Tommy, you tweeted about imposter syndrome, specifically in relation to HandmadeCon 2015. Can you talk a little bit about it, and if and how it influences your day-to-day work and feelings?
🗪
10:49The_8th_mage Tommy, you tweeted about imposter syndrome, specifically in relation to HandmadeCon 2015. Can you talk a little bit about it, and if and how it influences your day-to-day work and feelings?
🗪
10:49The_8th_mage Tommy, you tweeted about imposter syndrome, specifically in relation to HandmadeCon 2015. Can you talk a little bit about it, and if and how it influences your day-to-day work and feelings?
🗪
11:17CM: Imposter syndrome
11:17CM: Imposter syndrome
11:17CM: Imposter syndrome
11:39TR: Natural imposter syndrome, but feeling belonging at HandmadeCon 2015
11:39TR: Natural imposter syndrome, but feeling belonging at HandmadeCon 2015
11:39TR: Natural imposter syndrome, but feeling belonging at HandmadeCon 2015
14:41CM: Self-fulfilling prophesies
14:41CM: Self-fulfilling prophesies
14:41CM: Self-fulfilling prophesies
15:25RG: Treating imposter syndrome as motivational
15:25RG: Treating imposter syndrome as motivational
15:25RG: Treating imposter syndrome as motivational
16:06CM: So changing one's thinking could help?
16:06CM: So changing one's thinking could help?
16:06CM: So changing one's thinking could help?
16:36boleban The development period of The Witness is much longer than Braid. How did
you come through the demotivation and self-doubt part? Is there a general method for everybody?
🗪
16:36boleban The development period of The Witness is much longer than Braid. How did
you come through the demotivation and self-doubt part? Is there a general method for everybody?
🗪
16:36boleban The development period of The Witness is much longer than Braid. How did
you come through the demotivation and self-doubt part? Is there a general method for everybody?
🗪
17:35JB: Braid's 3½ year development
17:35JB: Braid's 3½ year development
17:35JB: Braid's 3½ year development
18:18JB: Project completion skills: 1) Learning how to pay attention to your own mental state
18:18JB: Project completion skills: 1) Learning how to pay attention to your own mental state
18:18JB: Project completion skills: 1) Learning how to pay attention to your own mental state
20:01CM: What do you suggest in terms of figuring out your mental state before it's too late?
20:01CM: What do you suggest in terms of figuring out your mental state before it's too late?
20:01CM: What do you suggest in terms of figuring out your mental state before it's too late?
20:38JB: Learning how to notice, in the context of your identity
20:38JB: Learning how to notice, in the context of your identity
20:38JB: Learning how to notice, in the context of your identity
22:34JB: Project completion skills: 2) Complete a shorter, successful project first
22:34JB: Project completion skills: 2) Complete a shorter, successful project first
22:34JB: Project completion skills: 2) Complete a shorter, successful project first
24:42PW: Try and get out of the head space of work, to counter the effects of an indubitably false sense of optimism, and ever-growing task lists and dwindling budget
24:42PW: Try and get out of the head space of work, to counter the effects of an indubitably false sense of optimism, and ever-growing task lists and dwindling budget
24:42PW: Try and get out of the head space of work, to counter the effects of an indubitably false sense of optimism, and ever-growing task lists and dwindling budget
26:14CM: Is the time for triage when you are in that head space?
26:14CM: Is the time for triage when you are in that head space?
26:14CM: Is the time for triage when you are in that head space?
26:49PW: Being capable of working under pressure
26:49PW: Being capable of working under pressure
26:49PW: Being capable of working under pressure
27:33CM: So maybe it's about picking a potentially successful path that is close to the unsuccessful one?
27:33CM: So maybe it's about picking a potentially successful path that is close to the unsuccessful one?
27:33CM: So maybe it's about picking a potentially successful path that is close to the unsuccessful one?
27:44RG: Doing triage the next morning
27:44RG: Doing triage the next morning
27:44RG: Doing triage the next morning
28:21boleban Are there any differences between debugging a non-networked game and an MMORPG game?
🗪
28:21boleban Are there any differences between debugging a non-networked game and an MMORPG game?
🗪
28:21boleban Are there any differences between debugging a non-networked game and an MMORPG game?
🗪
29:27PW: Figure out how to make your game replayable from the same set of inputs
29:27PW: Figure out how to make your game replayable from the same set of inputs
29:27PW: Figure out how to make your game replayable from the same set of inputs
30:28CM: Is it possible to architect an engine that way with multithreading?
30:28CM: Is it possible to architect an engine that way with multithreading?
30:28CM: Is it possible to architect an engine that way with multithreading?
30:55PW: Considering actors independently
30:55PW: Considering actors independently
30:55PW: Considering actors independently
31:19CM: Contended shared resources
31:19CM: Contended shared resources
31:19CM: Contended shared resources
32:06JB: Multi-user input bugs: 1) Thread-related
32:06JB: Multi-user input bugs: 1) Thread-related
32:06JB: Multi-user input bugs: 1) Thread-related
32:20JB: Multi-user input bugs: 2) Logic that, when threaded, causes results to differ beyond one frame
32:20JB: Multi-user input bugs: 2) Logic that, when threaded, causes results to differ beyond one frame
32:20JB: Multi-user input bugs: 2) Logic that, when threaded, causes results to differ beyond one frame
33:05CM: The commonness of threading bugs
33:05CM: The commonness of threading bugs
33:05CM: The commonness of threading bugs
34:01PW: Recordable job systems
34:01PW: Recordable job systems
34:01PW: Recordable job systems
34:20CM: You mean record which cores got which jobs?
34:20CM: You mean record which cores got which jobs?
34:20CM: You mean record which cores got which jobs?
34:34PW: Memory corruption bugs could be anywhere
34:34PW: Memory corruption bugs could be anywhere
34:34PW: Memory corruption bugs could be anywhere
34:41CM: Debugging brief accesses to a shared structure
34:41CM: Debugging brief accesses to a shared structure
34:41CM: Debugging brief accesses to a shared structure
35:44PW: Try and use job systems with larger, separable blocks
35:44PW: Try and use job systems with larger, separable blocks
35:44PW: Try and use job systems with larger, separable blocks
36:01CM: So they have the locking happen at the head end?
36:01CM: So they have the locking happen at the head end?
36:01CM: So they have the locking happen at the head end?
36:29PW: Multiversion concurrency control
2
36:29PW: Multiversion concurrency control
2
36:29PW: Multiversion concurrency control
2
37:01CM: So this is for mostly read-only data?
37:01CM: So this is for mostly read-only data?
37:01CM: So this is for mostly read-only data?
37:16PW: Using a stale version of the data
37:16PW: Using a stale version of the data
37:16PW: Using a stale version of the data
37:19JB: Multithreading a compiler, for walking the syntax tree and figuring out the types
37:19JB: Multithreading a compiler, for walking the syntax tree and figuring out the types
37:19JB: Multithreading a compiler, for walking the syntax tree and figuring out the types
38:57CM: Job systems tend to be more effective in games that have lots of things to do
38:57CM: Job systems tend to be more effective in games that have lots of things to do
38:57CM: Job systems tend to be more effective in games that have lots of things to do
39:21JB: Wanting to thread game AI
39:21JB: Wanting to thread game AI
39:21JB: Wanting to thread game AI
39:59CM: Recordable job system can help gauge efficiency
39:59CM: Recordable job system can help gauge efficiency
39:59CM: Recordable job system can help gauge efficiency
40:48boleban For data analysis such as DAU or ARPU
🗪
40:48boleban For data analysis such as DAU or ARPU
🗪
40:48boleban For data analysis such as DAU or ARPU
🗪
41:04PW: Daily Active Users, and Average Revenue Per User
41:04PW: Daily Active Users, and Average Revenue Per User
41:04PW: Daily Active Users, and Average Revenue Per User
41:16boleban Do you have separate systems for game manager or operation department access? Does the data typically come directly from reading the database?
🗪
41:16boleban Do you have separate systems for game manager or operation department access? Does the data typically come directly from reading the database?
🗪
41:16boleban Do you have separate systems for game manager or operation department access? Does the data typically come directly from reading the database?
🗪
41:56PW: Have multiple databases: 1) Transaction, OLTP (Online Transaction Processing); 2) Analytics, OLAP
41:56PW: Have multiple databases: 1) Transaction, OLTP (Online Transaction Processing); 2) Analytics, OLAP
41:56PW: Have multiple databases: 1) Transaction, OLTP (Online Transaction Processing); 2) Analytics, OLAP
42:53CM: How do you tend to structure these multiple databases?
42:53CM: How do you tend to structure these multiple databases?
42:53CM: How do you tend to structure these multiple databases?
43:13PW: Replicate to a slave database capable of answering to read-only queries, and think of it as a stream of events
43:13PW: Replicate to a slave database capable of answering to read-only queries, and think of it as a stream of events
43:13PW: Replicate to a slave database capable of answering to read-only queries, and think of it as a stream of events
44:03CM: I think the rest of us are probably single-player
44:03CM: I think the rest of us are probably single-player
44:03CM: I think the rest of us are probably single-player
44:19jcdelannoy Both Braid and Super Meat Boy were extremely successful games. I'm wondering if there were parts of the game that you weren't quite happy with and that you would have liked to have spent more time on, or is everything exactly the way that you wanted it?
🗪
44:19jcdelannoy Both Braid and Super Meat Boy were extremely successful games. I'm wondering if there were parts of the game that you weren't quite happy with and that you would have liked to have spent more time on, or is everything exactly the way that you wanted it?
🗪
44:19jcdelannoy Both Braid and Super Meat Boy were extremely successful games. I'm wondering if there were parts of the game that you weren't quite happy with and that you would have liked to have spent more time on, or is everything exactly the way that you wanted it?
🗪
44:59TR: Cut content from Super Meat Boy
44:59TR: Cut content from Super Meat Boy
44:59TR: Cut content from Super Meat Boy
45:54JB: Neither Braid nor The Witness shipped with unsatisfactory bits. Debugging graphics driver issues
45:54JB: Neither Braid nor The Witness shipped with unsatisfactory bits. Debugging graphics driver issues
45:54JB: Neither Braid nor The Witness shipped with unsatisfactory bits. Debugging graphics driver issues
48:52CM:
Tommy, where is the crowd-sourced system configuration bug database that we were promised last year?
48:52CM:
Tommy, where is the crowd-sourced system configuration bug database that we were promised last year?
48:52CM:
Tommy, where is the crowd-sourced system configuration bug database that we were promised last year?
49:01TR: My part is done. I just don't have a web person
49:01TR: My part is done. I just don't have a web person
49:01TR: My part is done. I just don't have a web person
51:32Rosto Was using pixel art in Thimbleweed Park your very first choice or did you consider some kind of stylised 3D, like in The Cave? What are the pros and cons of each approach in a project like this?
🗪
51:32Rosto Was using pixel art in Thimbleweed Park your very first choice or did you consider some kind of stylised 3D, like in The Cave? What are the pros and cons of each approach in a project like this?
🗪
51:32Rosto Was using pixel art in Thimbleweed Park your very first choice or did you consider some kind of stylised 3D, like in The Cave? What are the pros and cons of each approach in a project like this?
🗪
52:19RG: Pixel art was the first choice for Thimbleweed Park, as a key component in the charm
52:19RG: Pixel art was the first choice for Thimbleweed Park, as a key component in the charm
52:19RG: Pixel art was the first choice for Thimbleweed Park, as a key component in the charm
53:35CM: So going high fidelity means that people lose the ability to apply imagination?
53:35CM: So going high fidelity means that people lose the ability to apply imagination?
53:35CM: So going high fidelity means that people lose the ability to apply imagination?
54:20RG: Pixel art is hand placing every pixel
54:20RG: Pixel art is hand placing every pixel
54:20RG: Pixel art is hand placing every pixel
54:52CM: Is there anything else in the pros and cons part?
54:52CM: Is there anything else in the pros and cons part?
54:52CM: Is there anything else in the pros and cons part?
55:30RG: Memory saving benefit of pixel art, and allowable short cuts thanks to imagination filling things in
55:30RG: Memory saving benefit of pixel art, and allowable short cuts thanks to imagination filling things in
55:30RG: Memory saving benefit of pixel art, and allowable short cuts thanks to imagination filling things in
57:18Rosto What was more important while designing Thimbleweed Park: to innovate and push the genre forward or to preserve that warm, fuzzy feeling of nostalgia? How hard is it to resist the sweet taste of member berries?
🗪
57:18Rosto What was more important while designing Thimbleweed Park: to innovate and push the genre forward or to preserve that warm, fuzzy feeling of nostalgia? How hard is it to resist the sweet taste of member berries?
🗪
57:18Rosto What was more important while designing Thimbleweed Park: to innovate and push the genre forward or to preserve that warm, fuzzy feeling of nostalgia? How hard is it to resist the sweet taste of member berries?
🗪
57:40RG: Applying new techniques to point and click games
57:40RG: Applying new techniques to point and click games
57:40RG: Applying new techniques to point and click games
59:02CM: So the person's brain has painted with a new brush what Monkey Island looked like?
59:02CM: So the person's brain has painted with a new brush what Monkey Island looked like?
59:02CM: So the person's brain has painted with a new brush what Monkey Island looked like?
59:21RG: Mark Ferrari: "People want to go and live in the Renaissance Fair, they don't want to live in the Renaissance"
59:21RG: Mark Ferrari: "People want to go and live in the Renaissance Fair, they don't want to live in the Renaissance"
59:21RG: Mark Ferrari: "People want to go and live in the Renaissance Fair, they don't want to live in the Renaissance"
59:43William_Bundy How do you approach making and designing in-house tools? Do you devote time to designing workflows for them? What do you want from third-party tools, other than fundamental things like stability, speed, and functionality?
🗪
59:43William_Bundy How do you approach making and designing in-house tools? Do you devote time to designing workflows for them? What do you want from third-party tools, other than fundamental things like stability, speed, and functionality?
🗪
59:43William_Bundy How do you approach making and designing in-house tools? Do you devote time to designing workflows for them? What do you want from third-party tools, other than fundamental things like stability, speed, and functionality?
🗪
1:01:11RG: Deciding to make a tool after finding no available tool, e.g. Thimbleweed Park's room layout tool
1:01:11RG: Deciding to make a tool after finding no available tool, e.g. Thimbleweed Park's room layout tool
1:01:11RG: Deciding to make a tool after finding no available tool, e.g. Thimbleweed Park's room layout tool
1:02:19CM: Often map construction is custom
1:02:19CM: Often map construction is custom
1:02:19CM: Often map construction is custom
1:02:30RG: That's the only custom tool
1:02:30RG: That's the only custom tool
1:02:30RG: That's the only custom tool
1:02:36CM: So that was entirely foresight?
1:02:36CM: So that was entirely foresight?
1:02:36CM: So that was entirely foresight?
1:03:00RG: Knowing the importance of a room layout tool from SCUMM
1:03:00RG: Knowing the importance of a room layout tool from SCUMM
1:03:00RG: Knowing the importance of a room layout tool from SCUMM
1:03:13CM: How did that tool for SCUMM come about?
1:03:13CM: How did that tool for SCUMM come about?
1:03:13CM: How did that tool for SCUMM come about?
1:03:21RG: SCUMM's organically growing room layout tool
1:03:21RG: SCUMM's organically growing room layout tool
1:03:21RG: SCUMM's organically growing room layout tool
1:03:37PW: Consider team size and desired fidelity
1:03:37PW: Consider team size and desired fidelity
1:03:37PW: Consider team size and desired fidelity
1:04:38PW: The importance of crash recovery for tools
1:04:38PW: The importance of crash recovery for tools
1:04:38PW: The importance of crash recovery for tools
1:05:09CM: So Jon, did you have anything?
1:05:09CM: So Jon, did you have anything?
1:05:09CM: So Jon, did you have anything?
1:05:12JB: Weighing up the costs and benefits of tool building and licensing
1:05:12JB: Weighing up the costs and benefits of tool building and licensing
1:05:12JB: Weighing up the costs and benefits of tool building and licensing
1:07:29CM: So morale can also figure in?
1:07:29CM: So morale can also figure in?
1:07:29CM: So morale can also figure in?
1:07:43JB: Having a good time, and non-coercive company management
1:07:43JB: Having a good time, and non-coercive company management
1:07:43JB: Having a good time, and non-coercive company management
1:09:28CM: Enjoyment is an additional metric
1:09:28CM: Enjoyment is an additional metric
1:09:28CM: Enjoyment is an additional metric
1:09:39JB: Poor predictions of correctness
1:09:39JB: Poor predictions of correctness
1:09:39JB: Poor predictions of correctness
1:10:21TimothyB What was the process for getting a new puzzle into The Witness? Did the engine have a line-puzzle editor?
🗪
1:10:21TimothyB What was the process for getting a new puzzle into The Witness? Did the engine have a line-puzzle editor?
🗪
1:10:21TimothyB What was the process for getting a new puzzle into The Witness? Did the engine have a line-puzzle editor?
🗪
1:10:34JB: The puzzles in The Witness were written in C++
1:10:34JB: The puzzles in The Witness were written in C++
1:10:34JB: The puzzles in The Witness were written in C++
1:12:46miotatsu What has been your happiest moment with programming?
🗪
1:12:46miotatsu What has been your happiest moment with programming?
🗪
1:12:46miotatsu What has been your happiest moment with programming?
🗪
1:12:54RG: Writing an incredibly complex animation system that worked right first time
1:12:54RG: Writing an incredibly complex animation system that worked right first time
1:12:54RG: Writing an incredibly complex animation system that worked right first time
1:13:54PW: Doing the fog-of-war for StarCraft in x386 assembly
3
1:13:54PW: Doing the fog-of-war for StarCraft in x386 assembly
3
1:13:54PW: Doing the fog-of-war for StarCraft in x386 assembly
3
1:15:25TR: Thinking about how to recode Super Meat Boy's replay system, doing it and getting it right first time
1:15:25TR: Thinking about how to recode Super Meat Boy's replay system, doing it and getting it right first time
1:15:25TR: Thinking about how to recode Super Meat Boy's replay system, doing it and getting it right first time
1:16:48JB: A period of 3–5 weeks making a side project during The Witness
1:16:48JB: A period of 3–5 weeks making a side project during The Witness
1:16:48JB: A period of 3–5 weeks making a side project during The Witness
1:18:22JB: Implementing compile-time execution in JAI, and seeing a way out of C++
1:18:22JB: Implementing compile-time execution in JAI, and seeing a way out of C++
1:18:22JB: Implementing compile-time execution in JAI, and seeing a way out of C++
1:21:04CM: Thank you, everyone. We'll be back in 15 minutes
1:21:04CM: Thank you, everyone. We'll be back in 15 minutes
1:21:04CM: Thank you, everyone. We'll be back in 15 minutes