Live data from Hacker News

TensorKart: self-driving MarioKart with TensorFlow

kevinhughes.ca

31–40 of 70 posts

Re: TensorKart: self-driving MarioKart with TensorFlow

#31
post #25

This is pretty cool; as someone who is currently working on the second project (traffic sign recognition) for the Udacity "Self-Driving Car Engineer" nanodegree, using TensorFlow - it is interesting to me how it seems like the "standard" MNIST CNN can be adapted to so many other use cases. For the project I am currently working on, I'm using a slightly modified form of LeNet - which isn't too different from the TF MN…

From the post:

> Later, I switched to use Nvidia’s Autopilot...

So I guess he didn't use the MNIST CNN model.

Re: TensorKart: self-driving MarioKart with TensorFlow

#32
post #25

This is pretty cool; as someone who is currently working on the second project (traffic sign recognition) for the Udacity "Self-Driving Car Engineer" nanodegree, using TensorFlow - it is interesting to me how it seems like the "standard" MNIST CNN can be adapted to so many other use cases. For the project I am currently working on, I'm using a slightly modified form of LeNet - which isn't too different from the TF MN…

> the Udacity "Self-Driving Car Engineer" nanodegree

That looks like a great course by the way, thanks for sharing.

Re: TensorKart: self-driving MarioKart with TensorFlow

#33
post #25

This is pretty cool; as someone who is currently working on the second project (traffic sign recognition) for the Udacity "Self-Driving Car Engineer" nanodegree, using TensorFlow - it is interesting to me how it seems like the "standard" MNIST CNN can be adapted to so many other use cases. For the project I am currently working on, I'm using a slightly modified form of LeNet - which isn't too different from the TF MN…

> the Udacity "Self-Driving Car Engineer" nanodegree That looks like a great course by the way, thanks for sharing.

I'm one of cr0sh's classmates. I don't have any background in ML/AI/etc, so I've had to supplement the Udacity course materials with a lot of external resources (just finished watching the Stanford CS231n course, which was very helpful), but overall the course been really interesting+fun so far. It's really nice to be exposed to new kinds of tech I've never heard of / used before. Refreshing change from webdev.

If you're strapped for cash and don't want to pay the $800/term, you could definitely learn these things on your own using free online resources. If you don't mind the price, though, I've found this course worth the time+money+effort so far. [they're not paying me to say this :)]

Re: TensorKart: self-driving MarioKart with TensorFlow

#34

How are the original computer opponents able to play MarioKart?

1. The AI in games has access to internal representations of game state and does not have to recognize it from pixels on screen. This is a massive difference. 2. The logic is usually a bunch of (human-authored) scripts consisting of if-else spaghetti.

Also, the AI opponents don't have to play by the same rules. They go by fun > fairness to keep things interesting. That's why you normally can't keep a huge lead on AI opponents, because they "rubberband" back up to you faster than they should be able to.

Wouldn't surprise me if they don't even 'drive' in any sense while off-screen, just increment some abstract position relative to the track length. But I don't know this for a fact.

Re: TensorKart: self-driving MarioKart with TensorFlow

#35
post #13
post #4

Pretty interesting I must say. Have to admit though, I kind of expected the self driving AI to be trying to win Grand Prix or Versus races instead of doing well in Time Trials. But hey, I can see how that would be utterly painful to try and set up, especially given how times you get hit by items or rammed off the track in more recent games.

Step 1 is to make the AI find an ideal path through the course. Step 2 is to make AI figure out how to return to the ideal path through the course when other people are stealing your items or shelling you. step 3 is to make the AI figure out how to counter attack to slow down the opponents. Step 4 is OH GOD WE TAUGHT THE AI HOW TO ATTACK RUN FOR YOUR LIVES.

Step 2.5 would be to make the AI figure out how to evade or minimize the effect of or ability to initiate opponents' offensive moves. That would be the most interesting bit to me. Would be neat to see an AI intentionally stay in 2nd place with an item at the ready until the home stretch, to avoid being blue-shelled.

Re: TensorKart: self-driving MarioKart with TensorFlow

#36

Earlier quoted context omitted.

1. The AI in games has access to internal representations of game state and does not have to recognize it from pixels on screen. This is a massive difference. 2. The logic is usually a bunch of (human-authored) scripts consisting of if-else spaghetti.

Also, the AI opponents don't have to play by the same rules. They go by fun > fairness to keep things interesting. That's why you normally can't keep a huge lead on AI opponents, because they "rubberband" back up to you faster than they should be able to. Wouldn't surprise me if they don't even 'drive' in any sense while off-screen, just increment some abstract position relative to the track length. But I don't know…

How do you know this stuff? I find it insanely interesting.

Tell me more!

Re: TensorKart: self-driving MarioKart with TensorFlow

#37
post #26

Personally I think the most impressive thing here isn't that you created a self-driving MarioKart, but that you trained TensorFlow based on input screenshots of your desktop. I feel like that could be a good next step - a ubiquitous neural net model that, after mapping inputs, will learn to play any video game that's on your screen.

Especially since the hard work of increasing the screen resolution has already been done.

Also, bravo on including the stupid little bugs that gave you trouble. It always sustains me working on a hard project to know that a self-driving video game was blocked by a missing newline in a C HTTP request. It makes me step back and laugh at the ridiculous complexity of what we take for granted in our day to day work.

Re: TensorKart: self-driving MarioKart with TensorFlow

#38

Earlier quoted context omitted.

Also, the AI opponents don't have to play by the same rules. They go by fun > fairness to keep things interesting. That's why you normally can't keep a huge lead on AI opponents, because they "rubberband" back up to you faster than they should be able to. Wouldn't surprise me if they don't even 'drive' in any sense while off-screen, just increment some abstract position relative to the track length. But I don't know…

How do you know this stuff? I find it insanely interesting. Tell me more!

Mostly experience, but you should get plenty of results by just Googling "mario kart rubber banding". Looks like the top result mentions a patent on an algorithm for it, but I'm blocked at work.

It's a common enough term, though, there's even a page for the trope here:

http://tvtropes.org/pmwiki/pmwiki.php/Main/RubberBandAI

Re: TensorKart: self-driving MarioKart with TensorFlow

#39
post #33

Earlier quoted context omitted.

> the Udacity "Self-Driving Car Engineer" nanodegree That looks like a great course by the way, thanks for sharing.

I'm one of cr0sh's classmates. I don't have any background in ML/AI/etc, so I've had to supplement the Udacity course materials with a lot of external resources (just finished watching the Stanford CS231n course, which was very helpful), but overall the course been really interesting+fun so far. It's really nice to be exposed to new kinds of tech I've never heard of / used before. Refreshing change from webdev. If yo…

A bit off-topic, but does anyone know how good this[0] course is?

[0] https://www.udacity.com/course/deep-learning--ud730

Re: TensorKart: self-driving MarioKart with TensorFlow

#40
post #39
post #33

Earlier quoted context omitted.

I'm one of cr0sh's classmates. I don't have any background in ML/AI/etc, so I've had to supplement the Udacity course materials with a lot of external resources (just finished watching the Stanford CS231n course, which was very helpful), but overall the course been really interesting+fun so far. It's really nice to be exposed to new kinds of tech I've never heard of / used before. Refreshing change from webdev. If yo…

A bit off-topic, but does anyone know how good this[0] course is? [0] https://www.udacity.com/course/deep-learning--ud730

Felt very rushed for a beginner, okay if you have some background.

Personally, I found Stanford dl courses (image classification, nlp) to be much more suitable for beginners.

Post reply on HN