Dave Plummer
๐ค SpeakerAppearances Over Time
Podcast Appearances
You have eight shots on the screen.
There's like 11 enemies.
There's spikes.
So it's a very complex game.
It's not like trying to, you know, do Pong or something.
Okay.
And what I wound up doing was first taking the ROMs out of the machine and reverse engineering the code.
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.
Yeah, there's one.
Oh, wow.
That's me playing the game right there.
Well, it's a 3D geometric world.
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.
Wow.
So long story short, it's a fairly complicated game to play well.
and I wanted to see if I could get an AI to do it.
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.
and puts them together as parameters, which sends it to the Python side over a socket, and then the Python side does RL learning.
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...
Yeah.