Live data from Hacker News

TypeScript types can run DOOM [video]

youtube.com

31–40 of 391 posts

Re: TypeScript types can run DOOM [video]

#31

Earlier quoted context omitted.

Well we haven't implemented a web browser capable of running javascript in the typescript type system yet. Quick, someone tell this author it's not possible.

Doom is Turing complete ( https://calabi-yau.space/blog/doom.html ), so it's just a matter of building the appropriate map.

That's not really relevant. Turing complete languages are used to build Doom and Pong, but one is more impressive than the other.

Re: TypeScript types can run DOOM [video]

#33

A WASM runtime in TypeScript types is impressive in its own right, but I think I can dimly see how it could work with a lot of effort. https://github.com/MichiganTypeScript/typescript-types-only-... What I don't understand is how this thing does keyboard input. At 3:42, the video simply says, "And, yes, there's a way to do keyboard input," without elaborating on how. What sorcery is that ? There must be something out…

If I had to guess, it's a file with an array of keys pressed (or unpressed) at some time interval (say 0.1 seconds). Then a VS code extension can append to the array every 0.1 second along with any key-press states at that time. The compiler updates the game state whenever this array gets updated. However, I'm guessing this is why we see a demo of pong and not doom. Doom probably just can't keep up with this. No idea…

If I heard him correctly he stated that it takes A LOT to just render a single frame. It's not playable. It can run DOOM, but you can't actually play it.

Re: TypeScript types can run DOOM [video]

#35
post #22

Not only is Dimitri an amazing engineer - he's also great at building community and event/video production. Michigan Typescript meetups and videos have a level of polish that goes over and above

In the YouTube comments he stated nonetheless that he still bombed big tech interviews, specifically the technical portion, probably because of some ridiculous LeetCode problem he did not memorize beforehand. It just goes to show how these procedures do not effectively determine who is actually a good engineer or programmer. If this guy can't land a job while achieving this, then something is not quite right with the interview process.

Re: TypeScript types can run DOOM [video]

#37
post #8

I got to watch Dimitri posting internal updates about his progress on this, and it has been utterly mindblowing. This is genuinely one of the most amazing things I've ever seen done with code. Absolutely legendary feat! (And also an incredible amount of persistence.)

Where can we see these updates?

the #doom channel is where Mark is referring to. it's all there!

Re: TypeScript types can run DOOM [video]

#39

A WASM runtime in TypeScript types is impressive in its own right, but I think I can dimly see how it could work with a lot of effort. https://github.com/MichiganTypeScript/typescript-types-only-... What I don't understand is how this thing does keyboard input. At 3:42, the video simply says, "And, yes, there's a way to do keyboard input," without elaborating on how. What sorcery is that ? There must be something out…

(author here) pause on that screen and look at the code displayed on the right (as well as the note at the bottom!) the way to do keyboard inputs is basically exactly what people do for tool assisted speedrunners. Some people at this point in the message just went "oh cool!" and others went "you liar! that's not the same thing!". There was SO MUCH to say in 7 minutes in a short video like that, but rest assured, I'll go into depth on that in the next videos. The pong stuff that's shown is real (only the animating part was the creative liberty) and it's in the open source codebase.
Post reply on HN