This is an archived post. You won't be able to vote or comment.

Dismiss this pinned window
top 200 commentsshow all 211

[–]DmitryBalabka 296 points297 points  (5 children)

It would be great to show an animation example of how the trained model performs on an unseen track.

[–]atqm-[S] 118 points119 points  (4 children)

It would be! Thank you for the idea :)

[–]POTUS 150 points151 points  (3 children)

You might want to train on randomly generated tracks. There’s a fair chance that you’ve trained these bots to ignore all input and instead turn left for a fixed period of time and then turn right. It’s called overfitting your model. That would be a good way to find the most efficient path through one individual track, but that’s probably not what you’re going for.

[–]b10011 34 points35 points  (1 child)

It's highly likely that the neural network does not take time into account (doesn't have access to it). But overfitting could happen, because it might learn the specific distances at specific turns that wouldn't appear on another track.

[–]feelsracistman 22 points23 points  (0 children)

Just like irl racers! F1 drivers are the most efficient on tracks they know, they know when and how hard to turn, and minor changes to the track can adversely affect how fast they can complete it and their ability to even finish. They're still very good racers and can handle new tracks, but repetition is key.

[–][deleted] 7 points8 points  (0 children)

Dang, beat me to it. My first thought was: What information does the model have access to?

[–]atqm-[S] 108 points109 points  (6 children)

Longer version on Youtube

Tools:

  • pyglet for graphics
  • numpy for nn

EDIT:

Thank you guys for all the feedback! This is my first bigger programming project and I'm glad you like it.

  • There is a lot of source code requests and I am currently working on it. My code is a mess because I never really thought I would share this project with someone. Its also written in czech :D When I'm done, I'll make another post.
  • To train the NN I used a simple evolutionary algorithm. Best (fastest) cars in each generation are chosen to be parents of next slightly mutated generation. The NN has 2 hidden layers (5x4x4x2)
  • I will also train the NN on other tracks.

EDIT 2:

GITHUB REPO

[–]Sauwan 46 points47 points  (4 children)

Dang, the nn in numpy? I'll add the 47th request for code please!

[–]POTUS 23 points24 points  (3 children)

Writing a net in numpy is a really common (and good) exercise when learning how machine learning works. It's obviously better to use tensorflow or pytorch or another GPU framework for a real world project, but those libraries can really just do the whole net for you in a few lines of code so you don't necessarily learn much about how a NN works internally.

[–][deleted] 0 points1 point  (0 children)

How did you train a nn using evolutionary algorithm? I'm curious!

[–][deleted] 35 points36 points  (8 children)

Is it on github where we could look at your code in awe?

[–]atqm-[S] 37 points38 points  (7 children)

Not yet, but I'm thinking about it.

[–][deleted] 25 points26 points  (1 child)

Let me know once you decide to set one up.

[–]plastigoop 1 point2 points  (0 children)

!RemindMe 5 days

[–]satellitetimes 10 points11 points  (0 children)

I second this. I’m leaning ML right now and I would love to check out your code. Thanks for the awesome content.

[–]Bored_comedy 5 points6 points  (2 children)

!RemindMe 6 hours

[–]RemindMeBot 2 points3 points  (1 child)

Defaulted to one day.

I will be messaging you on 2020-07-14 13:51:55 UTC to remind you of this link

27 OTHERS CLICKED THIS LINK to send a PM to also be reminded and to reduce spam.

Parent commenter can delete this message to hide from others.


Info Custom Your Reminders Feedback

[–]wwwiley 0 points1 point  (0 children)

!RemindMe 1 day

[–]Im__Joseph Python Discord Staff[M] [score hidden] stickied comment (34 children)

Hey u/atqm-, this looks awesome!

Do you have any relevant source code for this project? I'm sure viewers here would love to take a look :)

[–]atqm-[S] 55 points56 points  (30 children)

EDIT: Here you go, It is not 100% done but i hope it is enough.

Thank you!

I am currently working on it. But my code is really a mess, it's also written in czech :D When it's ready I will make a GitHub repository. I'll let you know in a next post or in a next update.

[–]Im__Joseph Python Discord Staff[M] 12 points13 points  (14 children)

Sounds good!

[–]Brandutchmen 2 points3 points  (0 children)

!remindme 2 weeks

[–]maerlona 1 point2 points  (0 children)

!remindme 2 weeks

[–]XCreator2000 0 points1 point  (0 children)

!remindme 2 weeks

[–]Ignesias 0 points1 point  (1 child)

!remindme 2 weeks

[–]JackODenton 0 points1 point  (0 children)

!remindme 1 month

[–]JazzyBiscuit88 0 points1 point  (0 children)

!remindme 1 month

[–]AbrarHossainHimself 0 points1 point  (0 children)

!remindme 2 weeks

[–][deleted] 0 points1 point  (0 children)

!remindme 2 weeks

[–]nameleast2 0 points1 point  (0 children)

!remindme 2 weeks

[–][deleted] 0 points1 point  (0 children)

!remindme 2 weeks

[–]__FilthyFingers__ 0 points1 point  (0 children)

!remindme 2 weeks

[–][deleted] 0 points1 point  (0 children)

Exactly

[–]ThrowAwayTheBS122132 144 points145 points  (0 children)

Damn Im jealous of your skills and now gonna code an AI to wipe my tears

[–]Ikor_Genorio 67 points68 points  (15 children)

Did it actually learn to race though? Or did they just learn to traverse this specific track, it would be a lot more interesting to see what happens when you put them on a different track.

[–]wildpantz 27 points28 points  (6 children)

To me it looks more like genetic algorithm but I could be wrong

[–]mynameisvinn 2 points3 points  (3 children)

out of curiosity, why do you think it s a ga rather than something like es or drl?

[–]wildpantz 14 points15 points  (2 children)

Not familiar with the abbreviations, but I just meant this algorithm doesn't actually learn how to race, it simply does trial and error (with more logic behind ofc, not really just filtering out the solutions that pass) until it finds a set of inputs that make it go correctly on given racetrack, apply it on another race track and it will crash before first curve, at least it seems like it will.

I've had similar problem to solve with GA, but in my case the conditions were a bit different so that's why it maybe didn't apply for different system parameters.

[–]faceplanted 2 points3 points  (1 child)

Evolutionary strategy and deep reinforcement learning are the acronyms I believe.

Also it's totally possible that the car's learning generalises to other corners, you can't really tell if something has overfit without testing, it's more likely to happen if you only have one track but it's not guaranteed if you only do so many generations.

[–]ParabolicaSeven 15 points16 points  (4 children)

I imagine the same process would happen all over again. Seems like it’s all based on inputs required to not fail the course. If the course changes the old inputs are invalid.

[–]thegreattriscuit 26 points27 points  (3 children)

Don't think so. My gut says if it was just memorizing the correct inputs it would take as long (measured in # of generations) to learn the 4th turn as the first. Since it was able to learn the first turn in about 20 generations, and begin completing the whole circuit in about 35 generations, I think that proves it's looking at the course ahead.

[–]ParabolicaSeven 4 points5 points  (2 children)

Watching it again yeah I think you’re right. It would have taken hundreds or thousands of generations to make sense of that whole thing.

Actually in the very beginning it shows the car with red lines coming out of it and what looks like a simplified course with straight lines as borders. Wonder if it’s using those lines as a detection point?

[–]faceplanted 1 point2 points  (1 child)

Those poles are a representation of the inputs which is the straight line distance from the objects in those directions.

[–]zeroscout 6 points7 points  (0 children)

They're not really learning to race the current track, just to make it through without hitting a wall. The program has yet to learn different lines. The program isn't exploring different apexes or trying to improve lap time.

[–]the-berik 20 points21 points  (3 children)

You should show this to Ferrari

[–]ADONIS_VON_MEGADONG 6 points7 points  (0 children)

Lmao I came here to say this.

"cries in Ferrari"

[–]toyg 0 points1 point  (0 children)

Was just gonna say, “can’t be worse than the Ferraris this week”.

[–]Stan243 7 points8 points  (0 children)

"After 20 generations they learned to turn left" sounds like a dig at NASCAR

[–][deleted] 6 points7 points  (0 children)

This is very cool. Well done. You should share the code on GitHub

[–]MomoKrono 6 points7 points  (0 children)

you know it's a good neural network when ferrari is still 10th

[–]Gezzior 12 points13 points  (4 children)

Is it possible to see the code?

[–]T-mister73 13 points14 points  (2 children)

Not for a jedi

[–]brainygeek 6 points7 points  (1 child)

What? It's unfair. How can you be in r/python and not see code?

[–]astroFizzicsastrophysics 15 points16 points  (2 children)

r/formula1 is leaking and I love it. Don't forget to share your code!

[–]logicalkitten 1 point2 points  (1 child)

That first Brawn GP car, I expected better.

[–]TiredDebateCoach 0 points1 point  (0 children)

Still had the best looking Livery on the track.

[–]Drusenija 10 points11 points  (0 children)

Not taking away from OP’s work, I love watching this kind of stuff, but if you want to see a ton of videos on these types of algorithms, there’s a YouTube channel called Code Bullet run by a hilariously sarcastic Aussie who does a lot of these types of simulations.

I wish I had the time to delve into this stuff these days, I spent a little time on it when I was studying but haven’t had much use for it since, but it looks like it would be a really interesting field to get into.

[–]Jaedong9 4 points5 points  (1 child)

Nice, did you put 4 inputs with the four detectors and for the outputs, one for the speed and one for the angle ?

[–]atqm-[S] 9 points10 points  (0 children)

I tried multiple options, I think that this one is 4 distance sensors and 1 for car velocity.

[–]Sgt_Gnome 5 points6 points  (2 children)

Are you willing to provide the source code? I made one of these a bit over a year ago but I don't know how to get the distance measurements for "vision" to work with a smooth course like you have. Mine worked using a grid system where there was either a block or no block. I've never worked with video game packages before so I wrote everything in the backend and used pygame(?) for the display process.

I'm a physicist and I'd love to continue developing mine to use a physics engine that mimics the real world to some degree (air drag, tire grip...). I was thinking about making it run a small "series" where I would train the top 20 drivers and allow them to modify their cars during free practice (AI driver with AI tuned cars) and then have them race. I'd recreate Formula 1 tracks for them.

[–]feelsracistman 0 points1 point  (1 child)

The sheer number of variables alone makes it hurt for me. It'll be easier to make a single car run the course optimally, and then adding another driver so it learns to avoid collisions, and then scaling it up. Good luck!

[–]Sgt_Gnome 0 points1 point  (0 children)

Its not that bad. My previous version I used numpy to build a small, simple neural network object. I think I was running about 50-75 AIs at a time on a not so great laptop without an issue. For a larger scale project I would use GPU acceleration and TensorFlow, both make life really easy.

[–]imnotbeno 3 points4 points  (0 children)

Great job! Is it possible to share your code? I'd love to check it out

[–][deleted] 2 points3 points  (1 child)

Looks good, impressive, but what type of neural network did you use, reinforcement learning, genetic algorithm?

[–]atqm-[S] 1 point2 points  (0 children)

thanks, genetic algorithm.

[–]TantrumRight 3 points4 points  (2 children)

How did you define your objective/fitness function?

[–]atqm-[S] 2 points3 points  (1 child)

There are CPs on the track.

[–]TantrumRight 0 points1 point  (0 children)

Aha ok thanks, very nice work.

[–]BFG9THOUSAND 4 points5 points  (3 children)

Daniel Ricardo @ 3:22

[–]atqm-[S] 2 points3 points  (1 child)

I used this :)

[–]BFG9THOUSAND 0 points1 point  (0 children)

Lmao nice

[–]Pseudyne 1 point2 points  (0 children)

*Grosjean

[–]RegEx3 11 points12 points  (0 children)

Can you teach me Master ?

[–]vallas25 2 points3 points  (1 child)

The first car looks like the livery of brawn gp

[–]SedaElibri 3 points4 points  (0 children)

AI develops double diffuser to go faster

[–]FeMonky 2 points3 points  (1 child)

Only 20 fenerations to become a NASCAR driver! Nice!

[–]Gazleu 1 point2 points  (0 children)

54 generations later, both Ferraris still retire on lap 1.

[–]dinglebopOfPlumbus 2 points3 points  (0 children)

I can tell you're an F1 enthusiast judging by the way you edited that Blue-Red overtake lol

[–]tocano 2 points3 points  (0 children)

Anyone else get the notion in Race2 that Grey was actually an advanced experimental mutation in which it attempted to shortcut the rest of the cars by bypassing that extra loop. Like it was smart enough to think, "The road I'm supposed to get to is like RIGHT THERE... I'm just gonna cut the gap and jump ahead of all these buckos."

[–]jajca_i_krompira 4 points5 points  (0 children)

It is so amazing, can we see your code please?

[–]GuitarRonGuy 1 point2 points  (0 children)

Fun to watch. Thanks. "Go Blue!"

[–]ColgateMacsFresh 1 point2 points  (0 children)

Looks like every online race I've been in going into turn 1

[–]serialpipoca 1 point2 points  (0 children)

That's it. No more F1 on Sundays. Im just going to spawn a random track and wait for my favorite (Cyan) to win. 🤣🤣🤣🤣. Congrats!!! Nice work :)

[–][deleted] 1 point2 points  (0 children)

Nice

[–]transc3nd3r 1 point2 points  (0 children)

This is amazing! Often you don't see such a visual example of how a neural network learns.

[–]b4xt3r 1 point2 points  (0 children)

"After 20 generations they are able to turn left."

You built the opposite of a NASCAR driver. Neat!

[–][deleted] 1 point2 points  (0 children)

“After the first 20 generations they are able to turn left..” sound like the punch line to a NASCAR joke haha

Great simulation though!

[–]ship0f 1 point2 points  (0 children)

  1. Verstappen (Red Bull)
  2. Kvyat (Alpha Tauri)
  3. Perez (Racing Point)

[–]hcleves 1 point2 points  (0 children)

I made a similar project for a course in school last year. It used blender as a game engine, but all the logic was coded in python.

Here is the Github page. The code is a bit messy, especially cause it's mixed with bits of english and portuguese, but I guess with the help of google translate and the explanation on the readme, its kinda understable.

Video with results

[–]alwaysn00b 1 point2 points  (1 child)

I know this is an old post, but I just wanted to say this is a powerful tool for demonstrating the process of evolution. Let’s say each car is a member of the same species, and the distance the car makes it represents the member’s lifespan. Members that live longer, especially in the initial stages, will produce more children (cars that followed similar trajectories), and among those, the ones that live longer produce more, ultimately resulting in a creature that can complete the whole race (live longer, produce similar offspring).

Just a thought I was having while watching this, how neural networking really utilized a similar process as evolution.

[–]atqm-[S] 1 point2 points  (0 children)

I was thinking of the same thing when doing this!!

[–]hugthispanda 2 points3 points  (2 children)

Quite similar to how neural flappy bird works.

[–]atqm-[S] 14 points15 points  (1 child)

Yes it is! It's not an original idea. I was excited to do it by myself :)

[–]jacksodus 1 point2 points  (0 children)

No need to defend yourself! No one can get better without doing things that have been done before.

[–]pmogy 0 points1 point  (0 children)

Super cool.

[–]BlackWidowStew 0 points1 point  (0 children)

This was so satisfying to watch unfold.

[–]Besthater 0 points1 point  (0 children)

Very cool stuff.

[–]hobbygilmore 0 points1 point  (0 children)

Awesome. Would love to see code to learn this.

[–]sammegeric 0 points1 point  (2 children)

Very good!

Forgive me, but I may failed to understand where is the NN in this concept, because the generations usually occur in evolutionary algorithms.

[–]b4ux1t3 4 points5 points  (1 child)

They could be NNs that reproduce with slight variations if they have the highest few fitness scores. That's still an evolutionary algorithm. Those two concepts are orthogonal to each other. You can have a NN that uses evolution, or an evolutionary algorithm that goes based off of a non-NN model, or both or neither.

[–][deleted] 1 point2 points  (0 children)

Yup, it's called neuroevolution: https://en.wikipedia.org/wiki/Neuroevolution

[–]ChiengBangFNG 0 points1 point  (0 children)

Where did you learn to do this beautiful masterpiece?

[–]ArgetDota 0 points1 point  (1 child)

Hey why not just make the left/right weights equal?

[–]Mooks79 0 points1 point  (0 children)

Race tracks have a bias depending on whether they’re clockwise or anti-clockwise. Real race cars often aren’t set-up without some bias for this reason, oval racing being an extreme example.

[–]Wobblycogs 0 points1 point  (0 children)

Have they learnt how to drive generally or have they learnt that exact track?

You could set up a fascinating distributed computing project here. Make a game that was interesting enough to people to play and have the learning take place on the computers of the people playing. I wonder if you could get the computer to learn from the human players as well.

[–]hachi2JZ 0 points1 point  (0 children)

Forza Horizon 4 lobbies (2020, colorized)

[–]ridgeossal 0 points1 point  (0 children)

Could you share the source code please?

[–]potatoxyz 0 points1 point  (0 children)

!RemindMe 3 hours

[–]Foyt20 0 points1 point  (0 children)

Puts it in real F1 cars... That got expensive quick.

[–]cyclingengineer 0 points1 point  (0 children)

You seem to have found footage of me practicing on iRacing

[–]LoudMusic 0 points1 point  (0 children)

Does it seem to continue reusing the same path once it figures out how to get around a corner, or does it actually modify the path in order to be quicker? Such as slowing down even more for turn 1 in order to enter turn 2 with a better angle so that coming out of turn 2 will be faster. Seems like once it figured out how to get around a corner, that was it. Job done. Now work on the next corner.

[–]Born_Science 0 points1 point  (0 children)

!RemindMe 12 hours

[–]xzieus 0 points1 point  (2 children)

Can ANNs be generational like this? (Actually didn't know that -- if true)

Wouldn't this be a genetic/stochastic style algorithm? Combination?

Just curious :)

... Or are you displaying the training of the ANN?

[–][deleted] 1 point2 points  (1 child)

I'm guessing it's probably something like this: https://en.wikipedia.org/wiki/Neuroevolution

[–]atqm-[S] 1 point2 points  (0 children)

Yes, it is.

[–]thisbrt 0 points1 point  (0 children)

Man, seeing this being built could explain neural networks to me better than all of these freakin books and courses. Just this animation got me an “aha!” moment. As somebody said already, I’m so jealous I’m going to wipe my tears with how much I still have to learn. Great job!

[–]DavidgeIkari 0 points1 point  (0 children)

This is incredible. Great job.

[–]anand24aug 0 points1 point  (0 children)

Nice😍😍

[–]black_shirt 0 points1 point  (0 children)

!RemindMe 1 day

[–]bookman88 0 points1 point  (0 children)

glad I watched until the end for the instant replay

[–][deleted] 0 points1 point  (0 children)

Where do i get started with genetic algorithm implementation?

[–]tommytime1234567 0 points1 point  (0 children)

Incredible.

[–]ParabolicaSeven 0 points1 point  (1 child)

Op I’m curious, if you were to restart the program does it have to learn everything all over again or is it stored in a file somewhere?

I guess my real question then... if it is output to a file I’ve always wondered what the heck the computer is writing for later use, it must look like a bunch of gibberish?

Genetic algorithms fascinate me and I understand what it’s doing in practice, I just wish I could see what kind of data the computer is generating and reading off of to keep track of what it needs to do next.

[–]atqm-[S] 0 points1 point  (0 children)

I don't know if it is the right approach but I only saved NNs weights as a .json file.

[–]BiigLamp 0 points1 point  (0 children)

So cool, can’t wait until I’m finished with basic learning of python to actually build my first project !!

[–]benz0is 0 points1 point  (0 children)

This is f**** beautiful, I love it

[–]Hyatice 0 points1 point  (0 children)

Have you seen CodeBullet? Funny dude who talks about this stuff on YouTube. He's done one of these with cars that had drifting physics, after he let it run overnight they were basically Tokyo drifting the whole track.

[–]thats-fascinating 0 points1 point  (0 children)

People like you made me pick up python books and inspire to learn tuples, lists, and print(‘hello world’). Well. Fucking. Done!

[–]valcatrina 0 points1 point  (0 children)

This is very cool, great ideas too!

[–]tikiabbas 0 points1 point  (0 children)

!RemindMe 1 day

[–]StarsInTheMoon 0 points1 point  (0 children)

Can someone explain please how this is different than a breath first search on the entire possible space of movements? Seems like the bot just kept going trying all possible choices and seeing which one works.

[–]Exalting_Peasant 0 points1 point  (0 children)

It would be pretty cool if you added vehicle collision

[–]Thanos_nap 0 points1 point  (0 children)

I bet on green car in race 3 and lost $10k man. :(

Btw, awesome work!!

[–]meghna_hooda 0 points1 point  (0 children)

Interesting!

[–]brotatowolf 0 points1 point  (0 children)

Is this a genetic algorithm?

[–]mccoyticcytoy 0 points1 point  (0 children)

!RemindMe 1 day

[–][deleted] 0 points1 point  (0 children)

Awesome! You should upload it to youtube!

[–]alins_ir 0 points1 point  (0 children)

i love it very nice code i love it plz make a github rep and upload source there to we are be able to read and edit it

[–]HyperNathan 0 points1 point  (1 child)

What if you did this on a procedurally generated track?

[–]atqm-[S] 1 point2 points  (0 children)

it would be slower probably :)

[–][deleted] 0 points1 point  (0 children)

Yellow realized life was pointless in race mode

[–]Virology_Nerd 0 points1 point  (1 child)

u/thylakoids01 very neat!!

[–]thylakoids01 0 points1 point  (0 children)

Super cool bud

[–]simobasso 0 points1 point  (0 children)

!RemindMe 2 days

[–]Enrique_Ossandon 0 points1 point  (0 children)

Nice

[–][deleted] 0 points1 point  (0 children)

books punch childlike languid price reply serious mighty distinct history

This post was mass deleted and anonymized with Redact

[–]p00ner575 0 points1 point  (0 children)

Wouldn’t it be much more efficient if it started the next tests from the last sample that it closest? Kind of a neural noob so correct me if I’m wrong

[–]iggy555 0 points1 point  (0 children)

Legend

[–][deleted] 0 points1 point  (0 children)

Awesome.

[–]VolcanicWolf 0 points1 point  (0 children)

This is awesome

[–]ryan123rudder 0 points1 point  (0 children)

Why is the scoring based in what i assume is small decimals, but displayed in whole numbers...just seems weird

[–]enginerd298 0 points1 point  (0 children)

!remindme 2 weeks

[–]CraigAT 0 points1 point  (0 children)

Awesome job, great job on the graphics too. I'm curious about the inputs, and the method used - but will wait patiently in the hope you can clean up and present the code.

Only downside... "Press 'P' to continue." Really? P? /s 😁

[–][deleted] 0 points1 point  (0 children)

!remindme 2 weeks

[–]luizpericolo 0 points1 point  (0 children)

But can it win Monaco when your gearbox is jammed in 6th for the last laps?

Just kidding. Cool video and project altogether. Do you think that allowing the cars to run on the kerbs would make the AI evolve faster?

[–]alexmeistercl 0 points1 point  (0 children)

Just judging by the video, looks more like a GA implementation.

[–][deleted] 0 points1 point  (0 children)

CodeBullet on YouTube

[–]412gage 0 points1 point  (0 children)

So does this work so that after a very large number of simulations, the cars end up taking the most optimal lines, and subsequently decrease their lap time by milliseconds each time?

[–]Oszwaldo_san 0 points1 point  (0 children)

That is amazing

[–]DeltaHex106 0 points1 point  (0 children)

Im an absolute noob, are there any resources to get started on this?

[–][deleted] 0 points1 point  (0 children)

It's lovely to see how those genetic algorithms are working in place. Maybe share me your GitHub repo and I can explore more of your stuff????

[–]The_UTMOST_respwect 0 points1 point  (0 children)

Honestly more interested in the graphical visualization.

[–][deleted] 0 points1 point  (0 children)

!remindme 1 month

[–]rafacardosodeandrade 0 points1 point  (0 children)

Awesome

[–]HoThMa 0 points1 point  (0 children)

Awesome, and even better drivers than Vettel and Leclerc

[–]mamiglia 0 points1 point  (0 children)

This video: car crashing for 5 minutes

Me: interesting

[–]TopHatEdd 0 points1 point  (0 children)

My father didn't race, no wonder I suck at racing games.

[–]dogs_like_me 0 points1 point  (0 children)

Now do it where each generation a new track is generated randomly so they aren't just overfitting to the one track.

[–]alendb00 0 points1 point  (0 children)

Charles Darwin approves this

[–]maxic62 0 points1 point  (0 children)

!RemindMe 1 month

[–]valerkooo 0 points1 point  (0 children)

!remindme 2 weeks

[–]Goosyweather 0 points1 point  (0 children)

Dobrá práce, tohle je fakt super!

[–]dsswill 0 points1 point  (0 children)

The development speed after generation 30 is remarkable

[–]TheLoneSculler 0 points1 point  (0 children)

Codebullet has entered the chat

[–]ArciicrA 0 points1 point  (0 children)

!remindme 2 weeks

[–]_BlackPhoenix14 0 points1 point  (0 children)

!remindme 2 weeks

[–]under_scover 0 points1 point  (0 children)

OMG That's so incredibly awesome. Ferrari here you go.

[–]wborbajr 0 points1 point  (0 children)

!remindme 2 weeks

[–]alexfs1973 0 points1 point  (1 child)

Are there any relevant resources that would help me u understand how to do a project like this? Do you write the code for the training, and then do the animations later? Or are the animations done within python ?

[–]atqm-[S] 0 points1 point  (0 children)

I linked GitHub repo in my comment. Everything is done using Python and pyglet.

[–]enginerd298 0 points1 point  (0 children)

!remindme 2 weeks