John Carmack Keynote - Quakecon 2013
IGN3 HN recommenders · recommended in 3 months, 2014–2021
talk · intermediate · evergreen · 2014–2021 on HN
John Carmack's roughly three-hour QuakeCon 2013 keynote, delivered from a few bullet points. Topics include his Haskell experiments with functional programming and static typing, game state, and cloud gaming.
Recommended to Carmack fans as the keynote with his functional programming adventures and for his fluent, wide-ranging talk.
Up next
2 mo on HNE3 2012: John Carmack Interview
Giant Bomb
1 HN recommend · 2012–2023
5 mo on HNA JVM Does That?
Google TechTalks
4 HN recommender · 2011–2017
4 mo on HNDtrace Review
GoogleTalksArchive
4 HN recommender · 2013–2026
5 mo on HNAdvanced Topics in Programming Languages: A Lock-Free Hash Table
GoogleTalksArchive
4 HN recommender · 2013–2024
5 mo on HNJava on a 1000 Cores - Tales of Hardware / Software CoDesign
Google TechTalks
5 HN recommender · 2009–2025
7 mo on HNQuakeCon 2012 - John Carmack Keynote
QuakeCon Official
6 HN recommender · 2012–2018
10 mo on HNOverwatch Gameplay Architecture and Netcode
GDC Festival of Gaming
16 HN recommender · 2019–2025
9 mo on HNRustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Rust Programming Language
9 HN recommender · 2018–2023
9 mo on HNA Deep Dive into Nanite Virtualized Geometry
SIGGRAPH Advances in Real-Time Rendering
7 HN recommender · 2021–2026
9 mo on HNHow Crash Bandicoot Hacked The Original Playstation | War Stories | Ars Technica
Ars Technica
13 HN recommender · 2020–2026
9 mo on HNJonathan Blow - How to program independent games - CSUA Speech
Alexandre Franco
9 HN recommender · 2015–2026
9 mo on HNIdeas about a new programming language for games.
Jonathan Blow
7 HN recommender · 2014–2025
10 comments from Hacker News
If you liked his talk, definitely check out his QuakeCon keynotes and his talk about physically based lighting. link ▶ this video link
Watch one of his keynotes. He sits down with some bullet points on a tablet and then talks for three hours: ▶ this video
In case you missed it, John discussed his functional programming adventures in Haskell at QuakeCon 2013... well worth a listen. "So what I set out to do was take the original Wolfenstein 3D, and re-implement it in Haskell." [...] "I've got a few conclusions coming from it. One of them is that, there's still the question about static vs dynamic. I know that there was a survey just coming out recently where the majority of programmers are still really not behind static typing. I know that there's the two orthogonal axes about whether types are strong or weak, and whether it's static or dynamic. I come down really pretty firmly, all my experience continues to push me towards this way, that strong, static typing has really significant benefits. Sometimes it's not comfortable, sometimes you have to build up a tight scaffolding to do something that should be really easy, but there are real, strong wins to it." ▶ this video (Starts at approximately 1:21:16 in case the direct link doesn't work correctly.)
John Carmack spent some time in one of his famous keynotes talking about functional programming. On the one hand, obviously video games tend to be very stateful, and implementing them in imperative terms is natural. On the other hand, tons of specific things you do inside a game (or in any program) can be described as pure functions, and doing that is often a great idea. I think it was this part of this keynote: ▶ this video
John Carmack has some ideas on how to use immutable copies of the game state and functional programming concepts to create something that's easily parallelized. I saw it in an old QuakeCon keynote: ▶ this video
Perhaps possible in isolation or on a small team. I don't think this is practically achievable on teams that have grown past a certain size, though. To paraphrase Carmack, "Any syntactically valid code, that the compiler will accept, will eventually make it into your code base." [1] [1] ▶ this video
This is the part... John discusses his functional programming adventures in Haskell at QuakeCon 2013. "So what I set out to do was take the original Wolfenstein 3D, and re-implement it in Haskell." [...] "I've got a few conclusions coming from it. One of them is that, there's still the question about static vs dynamic. I know that there was a survey just coming out recently where the majority of programmers are still really not behind static typing. I know that there's the two orthogonal axes about whether types are strong or weak, and whether it's static or dynamic. I come down really pretty firmly, all my experience continues to push me towards this way, that strong, static typing has really significant benefits. Sometimes it's not comfortable, sometimes you have to build up a tight scaffolding to do something that should be really easy, but there are real, strong wins to it." ▶ this video (Starts at approximately 1:21:16 in case the direct link doesn't work correctly.)
To sceptics: John Carmack believes that cloud gaming can be successful. Here's his view on this (2013): ▶ this video
For something like a decade (2004~2005 until 2013), Carmack gave a fluent hours-long speech/discussion/brain-dump at QuakeCon. I doubt a few minutes's speech is something he needs "plenty of time to prepare and rehearse" for at this point. Recent examples: 2h50 2013 QuakeCon keynote ▶ this video 2h20 2014 SMU talk link 1h30 2014 Oculus Connect keynote link
Boys and girls, I present my first game, Rocket Renegade. "Don't you want a little taste of the glory, see what it tastes like?" [1] I rocked all of the code and the music [2], so you can run and tell that. The sprite-based graphics appear courtesy of Daniel Cook [3]. Thank you, Daniel, for the graphics that you lovingly created nearly 20 years ago on the Amiga 1200. I hope that my game makes you feel proud and nostalgic. Thank you, John Dunbar [4]. John created Plasma Sky. He was kind enough to answer a number of development-related questions that I had. I'll add that you really need Plasma Sky in your line-up if you love you some shmups. I wanted to talk about a feeling I've been experiencing. I think that you may be able to relate, but the most notable experience that I had during development was working to get comfortable with hardcore, radical, relentless persistence. What I mean here is, I worked incredibly hard to make this game a reality. I hit many roadblocks with Swift in the early betas, and it was tough. Near launch, I hit a bug where things ran flawlessly on hardware, but would have a yard-sale on some, but not all, simulators. Beyond a single hardware unit, I had to rely on simulators due to budget constraints. I've logged millions of points playing this game so that it could be the very best that I could deliver. Millions of points . I've broken down in tears, for a complex reason that's hard to explain, but I'll try, because I feel like it's important to talk