Live data from Hacker News

Clojure Plays Mario

blog.phronemophobic.com

21–30 of 43 posts

Re: Clojure Plays Mario

#21
post #15

Earlier quoted context omitted.

> I don't think making humans comfortable is the goal with respect to AI According to whom? AI in games, has historically been all about human comfort/enjoyment. Extremely good AI that seems "unnatural" to humans is usually not the goal.

You seem to talk about AI-controlled-NPCs in games, while GP starts from the article context about AI-controlled-PCs (player characters) and proceeds to generalize about using AI to solve problems outside games.

I think the point is that different people have different goals for "AI"

Re: Clojure Plays Mario

#22
Huh, nice. I got a little anxiety watching 6-3 of going the low path. That's not a human route, but then watching 8-2 there were a few nice bits that a skilled player would make.

I get that its a lot of trial and error, and its a nice attempt. What would it take to beat the maze levels, though? I guess since the reward is always just moving forward, its hard to tell when you're progressing without an internal map telling you that it's changed and that you're expecting that?

SMB1 i think is great to train on stuff like this, but it does have some secrets and some hiccups. Like, what would it take to get this AI to find the warp zones?

Re: Clojure Plays Mario

#23

Y'know, the thing I least like about these AI video game players is how unlike humans they look. I was wondering about the difference, and I think it comes down to two parts. First and foremost, human players generally prefer routes with a lot of tolerance for input error. Second, humans take frequently "mental planning breaks," stopping for a moment in safe spots before challenging areas. I think you could juggle th…

The tolerance for error is a huge thing! I also see (or intuit) people making tradeoffs between fault-tolerance and speed, ex. taking a tight curve on a regular block and a wide one on a piranhna plant.

That's more interesting and reassuring to watch. I think it's because the player's mind comes across in the playstyle. It's almost as if their entire history with the game is revealed.

Re: Clojure Plays Mario

#24
Nice to see this! Path finding in Mario works very well! I implemented a bunch of classical methods including an A* based implementation in java back in college to play Mario for coursework and honestly a whole bunch of methods people may not think work well for something like this absolutely do.

https://github.com/iantbutler01/MarioAIImplementation

Notably we were the only group to choose Mario over Pacman and the framework the professor had us use was broken so on top of the algo implementations I also rewrote the forward model and more!

Re: Clojure Plays Mario

#25

Y'know, the thing I least like about these AI video game players is how unlike humans they look. I was wondering about the difference, and I think it comes down to two parts. First and foremost, human players generally prefer routes with a lot of tolerance for input error. Second, humans take frequently "mental planning breaks," stopping for a moment in safe spots before challenging areas. I think you could juggle th…

> game players is how unlike humans they look.

I think you should watch some speed runners. They also don't look human, since they have some form of optimization in mind, compared to a casual player.

Re: Clojure Plays Mario

#26

Nice to see this! Path finding in Mario works very well! I implemented a bunch of classical methods including an A* based implementation in java back in college to play Mario for coursework and honestly a whole bunch of methods people may not think work well for something like this absolutely do. https://github.com/iantbutler01/MarioAIImplementation Notably we were the only group to choose Mario over Pacman and the f…

I’m guessing because Mario Bros 1 (among others) is deterministic? Ie same reason it can be speedrun so well? Monsters always in exactly the same spot if your previous frames inputs were the same.

Re: Clojure Plays Mario

#28
post #22

Huh, nice. I got a little anxiety watching 6-3 of going the low path. That's not a human route, but then watching 8-2 there were a few nice bits that a skilled player would make. I get that its a lot of trial and error, and its a nice attempt. What would it take to beat the maze levels, though? I guess since the reward is always just moving forward, its hard to tell when you're progressing without an internal map tel…

The game state and the heuristic need some extra information, since (spoiler?) Mario leaves the screen during the lead-up to the warp zones, and it doesn't look like it can account for that sort of positioning.

Re: Clojure Plays Mario

#29
post #25

Y'know, the thing I least like about these AI video game players is how unlike humans they look. I was wondering about the difference, and I think it comes down to two parts. First and foremost, human players generally prefer routes with a lot of tolerance for input error. Second, humans take frequently "mental planning breaks," stopping for a moment in safe spots before challenging areas. I think you could juggle th…

> game players is how unlike humans they look. I think you should watch some speed runners. They also don't look human, since they have some form of optimization in mind, compared to a casual player.

But, you will see that in most games RTA (Real Time Attack, speed running by humans, live) does choose different strategies than TAS (Tool Assisted Speedrun, still humans, but using tools to record and splice together a sequence of inputs for the game).

For a TAS you can justify taking fifty one-in-ten chances in a row, because every time it doesn't come off you just throw that away and re-record, so maybe you do a few hundred re-records for that section, not bad at all. In RTA that's never going to make any sense, it kills essentially 100% of runs.

Re: Clojure Plays Mario

#30

Y'know, the thing I least like about these AI video game players is how unlike humans they look. I was wondering about the difference, and I think it comes down to two parts. First and foremost, human players generally prefer routes with a lot of tolerance for input error. Second, humans take frequently "mental planning breaks," stopping for a moment in safe spots before challenging areas. I think you could juggle th…

I think the second issue would be pretty hard to solve without doing something artificial like slowing down the computer a ton, and then trying to come up with an algorithm to, like, delay for processing time.

It is just the nature of computers that they do simple things very fast. Humans do complex things very slowly (but can actually do them). This is why we are friends, we complement each other.

Although I do wonder, if the paths were not made to such tight tolerances (using your input delay solution), maybe AI Mario would spend a little longer lingering in areas just to let things align nicely for less-tight jumps.

Post reply on HN