Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Dave Plummer

๐Ÿ‘ค Speaker
1147 total appearances

Appearances Over Time

Podcast Appearances

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You have eight shots on the screen.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There's like 11 enemies.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There's spikes.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's a very complex game.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's not like trying to, you know, do Pong or something.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Okay.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And what I wound up doing was first taking the ROMs out of the machine and reverse engineering the code.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I got a sense of where all the code in Tempest lives and what it does, where the zero page variables are, where things live.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, there's one.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Oh, wow.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That's me playing the game right there.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Well, it's a 3D geometric world.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's basically 3D space invaders wrapped into a shape, and the enemies descend from the center of the tube towards the outside, and they all have different behaviors.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Wow.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So long story short, it's a fairly complicated game to play well.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

and I wanted to see if I could get an AI to do it.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so once I had figured out where all the interesting parts of the game lived in memory, I added them as parameters and built a Lua app to extract everything from the game's memory as it's running.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

and puts them together as parameters, which sends it to the Python side over a socket, and then the Python side does RL learning.

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm using a dueling deep queue, and I believe with two head and tail, and they chase each other, and it can play up to about level 36 now, which is way better than most humans, but that's level 96, so it's got a ways to go yet, but...

Lex Fridman Podcast
#479 โ€“ Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.