Artwork

内容由Erik Onarheim and Kamran Ayub提供。所有播客内容(包括剧集、图形和播客描述)均由 Erik Onarheim and Kamran Ayub 或其播客平台合作伙伴直接上传和提供。如果您认为有人在未经您许可的情况下使用您的受版权保护的作品,您可以按照此处概述的流程进行操作https://zh.player.fm/legal
Player FM -播客应用
使用Player FM应用程序离线!

DOOM.ts | Dimitri Mitropoulos | Ep 13

1:24:58
 
分享
 

Manage episode 477356992 series 3642378
内容由Erik Onarheim and Kamran Ayub提供。所有播客内容(包括剧集、图形和播客描述)均由 Erik Onarheim and Kamran Ayub 或其播客平台合作伙伴直接上传和提供。如果您认为有人在未经您许可的情况下使用您的受版权保护的作品,您可以按照此处概述的流程进行操作https://zh.player.fm/legal

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

News Links

Excalibur Games

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

  continue reading

54集单集

Artwork
icon分享
 
Manage episode 477356992 series 3642378
内容由Erik Onarheim and Kamran Ayub提供。所有播客内容(包括剧集、图形和播客描述)均由 Erik Onarheim and Kamran Ayub 或其播客平台合作伙伴直接上传和提供。如果您认为有人在未经您许可的情况下使用您的受版权保护的作品,您可以按照此处概述的流程进行操作https://zh.player.fm/legal

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

News Links

Excalibur Games

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

  continue reading

54集单集

모든 에피소드

×
 
Loading …

欢迎使用Player FM

Player FM正在网上搜索高质量的播客,以便您现在享受。它是最好的播客应用程序,适用于安卓、iPhone和网络。注册以跨设备同步订阅。

 

快速参考指南

版权2025 | 隐私政策 | 服务条款 | | 版权
边探索边听这个节目
播放