TypeScript.fm - The Friendly Show for TypeScript Developers

DOOM.ts | Dimitri Mitropoulos | Ep 13


Listen Later

This week on the pod, we talk to Dimitri Mitropoulos about building DOOM in the TypeScript type system. We walk through all the nitty gritty and explore this truly amazing engineering feat! We touch on things that Dimitri learned and discovered along the way, and how you might be surprised what you can accomplish by trying! In the news, Zod 4 Beta drops with awesome new features. 


Chapters

  • (00:00) - Intro
  • (00:37) - SquiggleConf 2025
  • (01:00) - Personal News
  • (04:28) - Dimitri's Background and Michigan TypeScript
  • (08:35) - JSON Parser in TypeScript Types
  • (09:08) - Where do you start with DOOM in Types?
  • (10:01) - "DOOM" Complete
  • (13:57) - How do you run DOOM in TS?
  • (17:36) - Debugging an Emulator in TS Types
  • (19:22) - How does DOOM work?
  • (20:45) - Using Web Assembly
  • (22:49) - Understanding WebAssembly and TypeScript Integration
  • (24:59) - The Concept of Abstraction in Programming
  • (27:02) - Challenges in Implementing WebAssembly from the Spec
  • (28:59) - Ambiguities in Specifications and Their Impact
  • (30:40) - Debugging Techniques and Error Handling
  • (32:24) - Innovative Use of Overflow in Game Development
  • (35:40) - Insights Gained from TypeScript During the Project
  • (38:24) - The Complexity of TypeScript Types
  • (43:08) - Time Travel Debugging and Memory Management
  • (45:00) - The Most Challenging Aspects of the Project
  • (48:32) - Reactions to DOOM
  • (53:10) - The Dawn of TypeScript Go
  • (01:02:14) - Lessons Learned and Future Directions
  • (01:08:37) - Dimitri Says Goodbye!
  • (01:09:50) - News for the Week of April 7th
  • (01:14:42) - Community Posts
  • (01:17:39) - Secret of the Handbook
  • (01:19:07) - Cool Stuff from Erik
  • (01:19:51) - Debugging and Performance Optimization Techniques

  • Dimitri's Links
    • SquiggleConf 2025
    • Michigan TypeScript
    • TypeScript Types Can Run Doom
    • Anders TS GO Interview 
    • Final Boss Challenge 
    • TypeScript Types WASM Runtime


    News Links

    • Zod 4 Beta
    • Matt Pocock's Video
    • Dan Abramov - RSCs or Maybe Not
      • https://overreacted.io/react-for-two-computers/ 
      • https://youtu.be/ozI4V_29fj4 
    • Axel’s Corner
      • Testing Types 
        • https://2ality.com/2025/04/testing-types-typescript.html 
        • https://bsky.app/profile/dr-axel.de/post/3lmmwp4ovek2q 
      • Deploying TypeScript (timely!)
        • https://2ality.com/2025/04/deploying-typescript-present-future.html
    • https://www.pipe0.com/blog/never-in-typescript 
    • https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types 
    • Kamran
      • https://bun.sh/blog/debugging-memory-leaks
      • Animate UI: copy paste or installable components built with TS, React, and Tailwind using Motion.
    • Erik
      • VGM Con
      • Shader Programming Talk
      • Sebastian Lague - Simulated CPU
        • https://youtu.be/HGkuRp5HfH8?si=9iNm0Ad1z4T4AePj 
      • Sebastian Lague - Rendering Text
        • https://youtu.be/SO83KQuuZvg?si=uzPojhUqBvV35q7F  

     
    Excalibur Games

    • Sum Monsters 
    • Sweep Stacks 
    • Tiny Tactics 
    • Jelly Jumper


    Sponsored by Excalibur.js
    Excalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.

    Music
    Seahorse Dreams by Kubbi (Spotify)

    Creators & Guests

    • Erik Onarheim - Host
    • Kamran Ayub - Host
    • Dimitri Mitropoulos - Guest
    • ...more
      View all episodesView all episodes
      Download on the App Store

      TypeScript.fm - The Friendly Show for TypeScript DevelopersBy Kamran Ayub and Erik Onarheim

      • 4.8
      • 4.8
      • 4.8
      • 4.8
      • 4.8

      4.8

      5 ratings


      More shows like TypeScript.fm - The Friendly Show for TypeScript Developers

      View all
      Freakonomics Radio by Freakonomics Radio + Stitcher

      Freakonomics Radio

      32,007 Listeners

      Hanselminutes with Scott Hanselman by Scott Hanselman

      Hanselminutes with Scott Hanselman

      383 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      289 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      625 Listeners

      Soft Skills Engineering by Jamison Dance and Dave Smith

      Soft Skills Engineering

      289 Listeners

      Cortex by Relay

      Cortex

      1,281 Listeners

      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

      Syntax - Tasty Web Development Treats

      987 Listeners

      REWORK by 37signals

      REWORK

      210 Listeners

      .NET Rocks! by Carl Franklin and Richard Campbell

      .NET Rocks!

      244 Listeners

      The Stack Overflow Podcast by The Stack Overflow Podcast

      The Stack Overflow Podcast

      63 Listeners

      Dwarkesh Podcast by Dwarkesh Patel

      Dwarkesh Podcast

      512 Listeners

      PodRocket by LogRocket

      PodRocket

      60 Listeners

      The Ezra Klein Show by New York Times Opinion

      The Ezra Klein Show

      15,930 Listeners

      Oxide and Friends by Oxide Computer Company

      Oxide and Friends

      62 Listeners

      The Pragmatic Engineer by Gergely Orosz

      The Pragmatic Engineer

      64 Listeners