We skilled an AI to play Trackmania on Hockolicious, one of many recreation’s most prestigious tracks. The AI set a robust time, beating …
source
Tags: aiartificial intelligenceartificial intelligence newsartificial intelligence news 2023beatDriftHockoliciouslatest news about robotics technologylatest robotslatest robots 2023learnsmachine learningProsrobot newsrobotics newsrobotics news 2023robotics technologies llcrobotics technologyTrackmania
we're doomed
Good Job 🙂
Further improvements could be using a pretraind vision transformer (e.g. fastvit) or cnn (e.g. mobileone) from the pytorch-image-models
git and maybe (pre) train the model with rl from observation (since you can extract a lot of wr-runs and their inputs from the exchange)
Why did you make it take decisions on 20fps and not just as soon as it can? Like what if for instance because of compute issues you skip a frame?
It's a fun parlor trick and convincing enough to fool the rubes, but anyone in the business knows instantly that this is a ridiculously over-fit AI. It can drive hock and only hock. Put this on a new map and it'll instantly have a breakdown. It's not a good AI, it's basically just a script that wrote itself.
now do deep fear
oh my god wow
Scary to the point of terrifying. Do not give your AI access to the internet or another AI.
How do you store memories? You said the AI knows it needs to slow down ahead. How is that created?
Thank you sincerely
I'm sure that if you indeed upped the tickrate / fps to say 60, the performance would improve. 50 ms snapshots are not precise enough for a perfect run.
isnt this like 30 million attempts or something ?
Maybe working with YoshTM https://www.youtube.com/@yoshtm might also be a good idea
It's easier to talk than to code but I think a next step could be developping a neural network that would be able to estimate the path for the next arbitrary N number of road blocks and use that as an input to train a more generalist model that would be able to perform in tracks it never got trained for explicitly.
Seems like the only thing keeping it from beating the people was not knowing how to air brake
They way you train AI reminds me a lot of my elementary days
You could try feeding it not just the current frame, but the last one, too. Maybe the AI can figure out how to derive motion from that and have it help the decision making.
AI play 128 deep?
As someone who is coming in here without much prior knowledge about ai I gotta say I'm not specifically impressed. Firstly, why does the ai need access to data from the game engine?
Secondly, how many retries did the AI need in total from the beginning of the training to the end? Seems like it was in the thousands. The real question is whether a human player given an equal amount of retries on a new map would do better.
Also, do you need to retrain the ai on every new map? Seems like until you've overcome that you've never really created an arrival trackmania player. You've just created an engine that can learn a specific map. How do you know the ai is even going to be able to generalize that it needs to jump to pass obstacles? What happens if you try the AI on a new map? Does it need to start over?
It should set record on Deep fear
Hey! Can you make this in Trackmania Steam Edition too?
Can you show me how are u using python to interact with python
One thing I'm noticing, as a human: there is a lot of useful information contained in the color. Perhaps feeding the AI a color image might help it do even better, especially given the low resolution. (The luminance still seems to be the most important, but the Cb and Cr can always be lower resolution.)
I wonder if something like 128³ Deep Fear will be possible?
What happens if instead of just 12 inputs, it's also able to do analog steering / throttle / breaking? Like a Wooting keyboard with analog switches where you can turn more if you push the button down more. What if the AI could do that? And how would you even replicate it? Would you simply divide each key press into lets say 10 different zones (steering angle from 0% to 100% at 10% intervals) and then essentially increase the possible inputs to 100s+?
I think the key to a better and more consistant program would be for it to spend time learning the optimal acceleration, velocity, and position for each possible section of road in spans of 20, 30, 40, or more car lengths and also give it a full map to analyze so that it can plot a path between each section in the optimal way.
I have seen a few videos were people allow programs to train on entire maps but this seems a slow way to train them because the program isn't focused on learning situations, it's focused on it's immediate situation. This is not how people get good at racing games, they learn how to drive sections of road and adjust their driving actions based on the section they are in and the next section coming up. This is made optimal for people when they already know the entire map, allowing them to know what to do on the entire map making accuracy of their inputs the new challange to become faster. The latter would not be a problem for the program and would mean that a programs ability to become faster on any map would be directly linked to its driving ability on individual sections of map not the entire map.
Just a guess… I don't write programs so I can't be sure of this opinion.
Skynet attaking))
What if you offered it shortcuts? Would it weigh up the benefit of going off-course?
Amazing
What would happen if you gave this AI all the video replays of players possible to the AI would it help?
What are the rewards and punishments actually?
I'm impressed how well you got it working with visual input! It's interesting to see how people either overestimate or underestimate how well AI will perform. A balanced take is quite rare. As someone who's trained racing AI before, I'd love to see this applied to other prestigious tracks :D.
I expect it would train a lot faster if you give it data like speed, the dot product of velocity with the car's forward vector, and one with the sideways vector. The latter really helps it learn to control the drifts in my experience.
Amazing what AI can do nowadays.
also u should think about that a lot of records are set with cheats so not all of those ppl u show are really that fast, they might mod the car or the game to have that time, so ur ai will be stuck in that hack wall when it can't longer progress but somebody set better time because of cheats
What would be interesting is to see if the AI can beat Cup of the Day without getting banned….
Really impressive work.
kinda sad that nothing can be trusted any more. It's giving me similar vibes to when strava was pretty "clean" and hill climb records were mostly legit with of course a few cheaters using cars etc but that was easier to detect with lack of heart rate data etc. Then ebikes came out which caused a lack of trust as you could still ride with a max heart rate effort and then use the ebike to push you just over the previous record. It's meaningless records just like trackmania but it does take away some of the human magic. Nothing is as pure any more
A fair battle of humans vs AI, would be this ai bot vs TAS runs
that's all fine and dandy but its really just a tas not ai. is it learning to drive or just picking the best series of movements to replay? is it even considering the track anymore when it's "driving"? after its best time put the car in a new position at the start and see how well it does. i bet it wouldn't even finish
A lot of the time lost by the a.i. appear to be directly related to taking a longer racing line. Your distance traveled in the next seven seconds needs to be refined to the most progress along the track as opposed to the most distance traveled.
Shame TMNF doesn't have ice, I'm very curious to see what it could do… would also be funny to watch it fail as it learns lol. Guess I can settle for grass or dirt in the future :).
Might I ask what information taken directly from the game engine the AI uses? Is it stuff easily accessible to us humans like speed and gear or more in depth information like velocity and rotation?
Beautiful job. I think 20 fps somewhat holds it back still. Not that it is 3 times worse than 60, but still.
Can you post the ha4dware specs this ran on? Was gpu accel used in nnets calculations? Thanks.
get the ai to play oach
Please make a video about how well it generalizes accross various maps 🙂
Lots of doubt about whether this AI is actually doing what you describe it's doing and not just learning a set of inputs by heart.
AI vs AI
Wow this is super cool. I'm curious
1. Is the AI just getting better because it memorized the track over time?
2. How come after hours of training, the race times have quite a few spikes? Too much data?
now give it controller input
WHAT.
insane
12.1.23
I'm surprised that tesla hasn't made a track version of its self driving sofware. its pretty clear it would be possible to beat human records too with enough training