With ZERO python knowledge I was able up until now to follow your tutorials and modify the code accordingly to work with my game. Now to the fun part - programming the bot!
I just started my way as a programmer) Learned the basics. I realized that I was interested) I'm just happy that you exist)) Such a huge library with very great features. Very difficult for beginners. And you, with your not easy work, so simply and clearly show how everything can work! It's just fantastic! You are a very wonderful teacher! Listening to your lectures, you really change your worldview) After all, many, like me, were looking for an opportunity to cheat the game, and found a mentor for life! Thank you for your hard work!!!)
Sincerely man, you're the best, as a c++ dev, i've made all of what you did in python but in c++, and it was really hard at first, but that trained me so hard, then i succeed and i've understood a lot of thing on my main programation language, things i've never suspected, please continue to post video you're a gold nugget for computer education (sry if my english is bad, france problems)
Well, it depend on a lot of factor to compare that, first, ben and me aren't probably using the same pc config, i personnaly have a 1080 ti, a ryzen 5 3600, and 12 GB RAM, Second, i used a screenshot method a little different than the one used by ben with python, a one using the windows lib but which is a little slower, (because, for some reason, my program have to get the screenshot in bitmap format image, and after he must convert it to Mat format image, aka the openCV format, ben don't have this conversion to do, The rest of my program is slightly the same as ben, but the point is that, even with these two major factor, i finded that i got the same speed as ben, so i don't know the config of ben but the bitmap to mat conversion is loud, so i think the c++ is a little faster on this program, (i planned to upgrade my program to see what's the speed without the conversion) (i am talking here of the fps of the IA program, his image treatment speed, because in game, my FPS was set to a max of 120, and i was permanently at this top value, i will try with louder game's than Albion later)
i was super excited when this notification popped up on my phone ! as always Gold !! Thank You Ben! can't thank you enough for how much i've learned from you.
@@LearnCodeByGaming Awesome work! I am new into this style of programming and love your excellent explanations. Keep up the good work. How do i have to modify this program for just using an image as in tutorial 5 for finding objects instead of machine learning? Can i just change the detection file and load an img instead of an xml cascade file? Thanks anyway
@@LearnCodeByGaming I love this series and it definitely makes the learning a whole lot more engaging, thank you so much for putting the time to create these wonderful tutorials! And on that note... for further 'educational purposes' is there any chance you could make a tutorial on human like mouse movement in this bot? Everything I've come up with so far has been very computer-like and too perfect and I'd love to see your take!
@@letstestthisout2798 and random jiggle. But be careful with that win32 api call that returns the handle of the game screen. Albion uses EAC - kernel level, so look up what win32 api calls can do if you're running EAC.
I've really enjoyed this series dude. You really take the time to show the reasoning. Concise and efficient summaries too. It really shows your understanding, through your research, trial and error, and correction. EXCELLENT! Thank you. Keep being awesome.
My face hurts from my jaw being stuck to the floor. The entire time. This is so cool. I love numbers and codes and everything involving puzzles, mazes and problems.
It was a fun journey, I got mine to work purely with matchTemplate instead of using cascade classifier (since it was good enough...). Really interesting to also hear your though process throughout this series. Hope your channel grows a lot!
yes yes, I'm watching your series over and over. I am finally understanding the step-by-step of OOP. This way of teaching is amazing - you are showing all your thought process during your design and debugging, and now it looks perfectly understandable. This is an amazing technique for teaching. Thank you so much for this great work and high quality video tutorial.
Hi, I'm watching this video but I don't even know English (Google subtitles help me) i from in Russia =) I am very glad that you tell me everything in great detail thank you very much!!!
Wow, these are one of the most advanced and entertaining tutorials regarding opencv on youtube by far, good job! I wonder if there are methods that are much more accurate and work faster than opencv without resorting to reading game memory. Also what about path finding in 3d games? Is there any way to navigate 3d space and differentiate north from south etc using only screenshots?
Thanks! I've seen some programs that look like they're doing pathfinding in 3d games, but I don't know how that works yet. Once I get some time to figure it out I'll definitely make a bunch of videos about it.
@@LearnCodeByGaming Pathfinding is generally done by reading game memory and then using world 2 screen calculations. Depending on the camera view of your game it can be quite difficult to do with screenshots and its better to just read memory for mesh / player positions. Anticheat can be an issue doing it that way though.
Hey Ben, thank you for doing these amazing videos! They have helped me start learning about openCV and a little bit of python as well, keep up the great work and thank you once again!
Love this series, Ben! Would love to see you expand on this for games that have Direct3D and also swapping to CNN instead of cascading classifiers as an optimization!
Thank you for your lessons! This is a good start for me in learning Python. Especially learning programming through a game, something that I needed so much.
Once again, thank you so much for these great videos. Multi-threading just boosted my program performance. Keep up the great work (and no need to do vocal training).
Hey Ben, thanks for your tutorial. I am watching this series with great interest, because I actually play albion online and I know how hard it is to gather all these ressources for hours. Of course your bot in the current state is very simple, just because it nearly has no object avoidance or anything like that. What I would be interested in next would be a tutorial about pathfinding or basically anything that lets the bot walk a certain predefined path. Obviously with the goal of beeing able to let the bot walk arround and do the farming. I already heared about several algorithms for path finding, like djiktra or A*, but the thing is that I dont find any way to get koords in albion online to use them. I know its somehow possible to find the ingame Koordinates out of binary dumps but I am just not able to do it. Another way I was thinking about would be to grab the mouse click cordintaes for certain paths and just replay them whenever I want to go a certain way. Thats something your bot actualy kind of makes possible cause of the back walk funktionality. But I just dont like the idea of this that much, especially since you can get moved around by other players sometimes, and as soon as you loose your original path you will somehow find yourself walking a totally different path, which obviously makes it visible to other players that u are a bot. What way would you suggest to go about this problems ? How would you do Pathfinding or movement in albion online the savest way ? I would love to get an answer or maybe even better a new series about this wuth albion online. Best regards Chris
Hey Chris. I've got pathfinding on my radar for future videos for sure. It's definitely an advanced topic so it's going to take me longer to prepare for. Those algorithms you mention I've used but only for 2d games, so I'll have to figure out the best approach for 3d.
@@LearnCodeByGaming Thanks for your answer. Actually what I saw so far was, that for WoW somehow they extracted whole maps and where able to use them for the algorithm, using the real map as a koord system. But yeah, I think this is very advanced in relation to what you showed so far. Another way I was thinking about, at least for traveling the roads in Albion could be with your image regocnition using OpenCV , making only paths colored like you did with the limestone and then doing something similar to Sentdex Python plays GTA5 Tutorial. So draw lines framing the paths and then keep the bot moving in the middle of that 2 lines. But I havend thought that to an end. Would love to sit down with you and think about a good way to implement some of this, if you want, I just cant wait for a good tutorial on how to solve this problem:)
What you're looking for is called simultaneous location and mapping. You identify recognisable elements, compute the location of your character relative to those elements. And you also locate elements relative to each other, allowing you to create a map. Then, you manually add navigation nodes to this map and you navigate from node to node. The most difficult part is identifying recognisable elements. It's a classic problem in photogrammetry. I think the most basic way of getting recognisable elements is to use SIFT/HOG features. This is far more advanced computer vision than the basic filters used in those tutorials! Overall, it depends if you're looking for learning basic CV, if you want to make a working bot or if you want a beautiful algorithm that could work on any game with little modification for the aesthetic beauty of making a universal bot.
Let's create a simple limestone harvesting bot. You'll need to know only how MatchTemplate works. And a couple of things.. OOP, multithreading, list comprehension and lists' stuff, a bit of school maths and, of course, a drop of machine learning. “Shaken, not stirred”. It's an awesome work! Thank you!
Great job man, perso, i want to autobot some fps games, tasks in order to improve my skill from school, i have an idea but just have no idea how to deal with specific problem, such that the pyautogui dont work well in fps games, etc, but your work help me a lot to solve these problem. Hope your channel reach more people
I'm not totally decided yet, but it's most likely going to be a backend web development project. I've been doing a lot of Django work for clients recently so that info is fresh in my mind.
awesome thanks so much for this series Ben! This was awesome. The screenshots and threading were really amazing and great how you tied it all together. This really helps me out. I am working on making a bot to play world at war nazi zombies.
Man, it's a great program that you created. I was thinking if you can take a screenshot of the rectangle when it match and save it to train more the AI
Great job man. A lot of info here! I was working on a project using multithread , but got very messy.. Im starting again. Would be nice a new series from 0 using multithread. Keep the good and hard work!
Good piece of code bro. What is your next plans for the series? It would be great if you consider to create tutorial how to decode package sended to the server. i think there is a lot of usefull informations like last picked items, health status or eny othe information needed for autonomous bot.
I've just been looking at the result and I guess for improving your bot you could at first search for the rough location of the lime stones. To archive this there are several options available (b.e. color, size etc). What I'd probably go for is to take some screenshot of the stones, downscale them to pixel graphics and search for them in a downscaled screenshot - this should work pretty good if this game doesn't have night and daytime. Doing so you'd know where to hover and your current detection function would run even smoother. However, I'll watch though the whole thing soon as I rly like the threading action - great stuff! Really like to work more with opencv - atm I am building a bot for fun swell however I won't publish the result. Bots can destroy games and should be either used for learning to code and personal fun, but that is just my opinion. I really like that you try to bring people to coding with python! Best regards and keep it on!
Bro I have a problem can u help me ? So I made a bot for a game but I want the script to keep running non stop , cuz the problem is that when The script finishes it stops
This is really the best youtube video/guide i've ever seen! Keep up with the good work! I do have a question. Im trying to use google chrome as the video input using the python file from video 4 but it doesn't show can you help?
Thanks! If you're getting a black screen, in video #5 I discuss needing to set the window_name to None to capture web browsers and other problematic sources. Hope that helps!
Hi there! Just came across your channel and this video in particular, I'm coming from pyautogui and was getting frustrated with the poor image recognition. This "training" your doing to detect the images, would it have to be trained on different resolutions to be effective on different computers? (in pyautogui I have to get new needle images if I use the script I wrote on a different computer) If you've already covered this could you point me to the video?
From my understanding it does not need to be trained on different resolutions because we are using detectMultiScale(). But I'm not certain and I haven't tested it myself.
Hey Ben, I noticed you haven't been posting any videos. If you need an idea for one I may have one for you. I'm interested in learning how to make an addon for a game, I have a few ideas but you've used the game Albion before so I'll reference that game. In the game there are marketplaces around the world and each have their own trade values. As one trades and travels they forget prices or can't be asked to write down hundreds or thousands of trades down manually. My idea is to make a trade history addon that would read the incoming game log and record relevant data and display it to be referenced later. Good luck with whatever project it is you are working on now!
I've used what i learned on some Ragnarok Private servers. but on Linux since i cant bypass the anti cheat. im using X to take screenshots. anyone know something better to do it?
I cant really wrap my head around how the multithreading class like Detection works with the Vision (and therefore with the find method) class we made in an earlier tutorial. I really dont need the Cascade classifier object detection. 12:25 in the video. The programm seems to work fine but no rectangles are drawn as if no dectection has been done.
You need to draw the rectangles in the main. In detection it didnt work for me too. And detection need the needle in the constructor. I had the hsv filter problem but with help from ben it works now.
@@Tisho2009 were you able to figure out how to run find() in its own thread? Ive spent countless hours researching and trying to fiure it out without any success.
@@rysik I have abandoned the project and programing for now. But if i remember right, find() is part of Detection and therefore runs in the separate thread of Detection. You don't need to call find() on itself. I'm maybe wrong, but thats what i remember.
Great series! Thanks for putting this together. Seems much less daunting to accomplish this in Python compared to C#, but I probably just suck at both. ;) For any one reading comments: I don't really understand well how the threading/detector.stop()/start() works. How would I go about passing my detector a new image when the bot state changes? For some reason it's hooking onto the targets[] of the old image still. New state > New detector image > new click_next_target() points.
Epic series! You lost me a bit in this one, with multi-threading... :) One question though, would any of this work better with Tensorflow? When would it be better to use that? I understood it's more modern and one of the reasons OpenCV isn't updating cascade HAAR code any more?
Hi, I did something like this familiar but went to tensorflow, I'd say honestly tensorflow has bigger community and updates, I'd go to for it, since you have more models to use. It's weird and hard at start to get used to it, but it's not that bad.
Could you also combine the object detection with a ML bot, such that the bot takes actions based on the objects on the screen? Because I would really like to make an RL agent for runescape, but I have no idea where to start. I want to start in the right direction, I know you need an environment for the agent, but I wonder if you could create that with object detection, or do you know of any other method?
Yes, you could create machine learning models to dictate your bot actions, or decide what state your bot should be in. It's a big project, but if you're keen on doing it I would look into using Tensorflow to create DNN models using a classifier or linear regression. Just remember that you'd need to gather lots of data first before you could hope to train them properly!
thanks! this is great the only problem i have is after the bot moves i cant get the click point list to update until it makes a few false mouse moves based on the list from where the bot was standing before it moved
@@LearnCodeByGaming I would also love to learn how that would work in WoW with navigating around. I think you would have to make paths and waypoints for the bot to run and set a timer for respawn.
FYI, if you are getting stuck frames i.e I was using the browser as the capture target. It's likely due to hardware acceleration which does not play nice with openCV. Turning it off is a temporary workaround.
Thank you. You're amazing! I've learned a lot from all of your tutorials. It's been a year since this was posted. I've been trying to write functions for in case if bot being attacked by monsters. No Success. Trying to figure out how to record waypoint.
You're an absolute beast man, enjoyed every second of these series, craving for more. I feel like there is no limit to what is possible thanks to you.
With ZERO python knowledge I was able up until now to follow your tutorials and modify the code accordingly to work with my game. Now to the fun part - programming the bot!
That's awesome to hear!
Thank you so much.. you won't believe but I watched the entire series in one day.. you're amazing brother
I just started my way as a programmer) Learned the basics. I realized that I was interested) I'm just happy that you exist)) Such a huge library with very great features. Very difficult for beginners. And you, with your not easy work, so simply and clearly show how everything can work! It's just fantastic! You are a very wonderful teacher! Listening to your lectures, you really change your worldview) After all, many, like me, were looking for an opportunity to cheat the game, and found a mentor for life! Thank you for your hard work!!!)
Sincerely man, you're the best, as a c++ dev, i've made all of what you did in python but in c++, and it was really hard at first, but that trained me so hard, then i succeed and i've understood a lot of thing on my main programation language, things i've never suspected, please continue to post video you're a gold nugget for computer education (sry if my english is bad, france problems)
That's sweeet! Glad you were able to follow along in C++.
considering C++ is faster , was the FPS higher in game?
Well, it depend on a lot of factor to compare that, first, ben and me aren't probably using the same pc config, i personnaly have a 1080 ti, a ryzen 5 3600, and 12 GB RAM,
Second, i used a screenshot method a little different than the one used by ben with python, a one using the windows lib but which is a little slower, (because, for some reason, my program have to get the screenshot in bitmap format image, and after he must convert it to Mat format image, aka the openCV format, ben don't have this conversion to do,
The rest of my program is slightly the same as ben, but the point is that, even with these two major factor, i finded that i got the same speed as ben, so i don't know the config of ben but the bitmap to mat conversion is loud, so i think the c++ is a little faster on this program, (i planned to upgrade my program to see what's the speed without the conversion)
(i am talking here of the fps of the IA program, his image treatment speed, because in game, my FPS was set to a max of 120, and i was permanently at this top value, i will try with louder game's than Albion later)
It looks so simple, it's not. It looks so brilliant, and it definitely is . Thank you Ben !!
i was super excited when this notification popped up on my phone ! as always Gold !! Thank You Ben! can't thank you enough for how much i've learned from you.
Hey thank you for your support and always leaving a comment!
I was just thinking about your channel and here it is! A new video. Keep up the good work Ben. The best tutorials out there.
Thanks man!
@@LearnCodeByGaming Awesome work! I am new into this style of programming and love your excellent explanations. Keep up the good work. How do i have to modify this program for just using an image as in tutorial 5 for finding objects instead of machine learning? Can i just change the detection file and load an img instead of an xml cascade file? Thanks anyway
@@mrdrebbo4072 You can load an image, and there are examples in earlier videos. cv.matchtemplate() should get you started.
Now to create an extremely simple bot on an online game and then to get banned. :D
Great work dude, btw
Thanks! Yeah this info is obviously for educational purposes only 😇
@@LearnCodeByGaming I love this series and it definitely makes the learning a whole lot more engaging, thank you so much for putting the time to create these wonderful tutorials! And on that note... for further 'educational purposes' is there any chance you could make a tutorial on human like mouse movement in this bot?
Everything I've come up with so far has been very computer-like and too perfect and I'd love to see your take!
@@theodoreburns1330 One way is to use bezier curves. It solves the straight line problem that most encounter when using pyautogui.
tbf albion doesnt do dogshit about botters
@@letstestthisout2798 and random jiggle. But be careful with that win32 api call that returns the handle of the game screen. Albion uses EAC - kernel level, so look up what win32 api calls can do if you're running EAC.
probably the best introduction tutorial to opencv ngl on youtube
I've really enjoyed this series dude. You really take the time to show the reasoning. Concise and efficient summaries too. It really shows your understanding, through your research, trial and error, and correction. EXCELLENT! Thank you. Keep being awesome.
I understand thread much better from this video than other tutorials
Glad it helped!
My face hurts from my jaw being stuck to the floor. The entire time. This is so cool. I love numbers and codes and everything involving puzzles, mazes and problems.
This is the most professional pyautogui/botting tut I've seen on TH-cam thank you.
what a completely fantastic youtube series. really great job buddy. thanks so much.
Just loved it, Came 'liked' then watched. Nothing more to say : )
Thanks Ben ! I have a lot of pleasure to watch your tutorials.
I watched the entire series. Very helpful. Thank you.
It was a fun journey, I got mine to work purely with matchTemplate instead of using cascade classifier (since it was good enough...).
Really interesting to also hear your though process throughout this series.
Hope your channel grows a lot!
@@Ethernel0 hey, what problems are you having??
This is cool. Been thinking of trying to write a bot for fun for a long time :) Cheers!
Are you telling me that you are a normal person? You come from another planet!
you sir are a god among men! you need to do some more of these working on bot logic for different things!
yes yes, I'm watching your series over and over. I am finally understanding the step-by-step of OOP. This way of teaching is amazing - you are showing all your thought process during your design and debugging, and now it looks perfectly understandable. This is an amazing technique for teaching. Thank you so much for this great work and high quality video tutorial.
hey Ben, please resume your video tutorials, I can't find any tutorials with this quality anywhere
These videos are amazing, I hope your enjoy making them.
For sure, it's fun to be able to work on my own projects. Thanks for watching!
Your videos are awesome.
I have tried it and it works.
Another video! Thanks again for the great tutorials.
Glad you like them, hope they're helpful!
Hi, I'm watching this video but I don't even know English (Google subtitles help me)
i from in Russia =)
I am very glad that you tell me everything in great detail thank you very much!!!
Wow, these are one of the most advanced and entertaining tutorials regarding opencv on youtube by far, good job!
I wonder if there are methods that are much more accurate and work faster than opencv without resorting to reading game memory.
Also what about path finding in 3d games?
Is there any way to navigate 3d space and differentiate north from south etc using only screenshots?
Thanks! I've seen some programs that look like they're doing pathfinding in 3d games, but I don't know how that works yet. Once I get some time to figure it out I'll definitely make a bunch of videos about it.
@@LearnCodeByGaming any updates on that?
I to want to see this. Hardest part of image detection bots are navigating them
@@LearnCodeByGaming I really hope so!
@@LearnCodeByGaming Pathfinding is generally done by reading game memory and then using world 2 screen calculations. Depending on the camera view of your game it can be quite difficult to do with screenshots and its better to just read memory for mesh / player positions. Anticheat can be an issue doing it that way though.
Hey Ben, thank you for doing these amazing videos! They have helped me start learning about openCV and a little bit of python as well, keep up the great work and thank you once again!
Though my bot is way too easy to process, but the multithreading helps me alot. Very entertaining, keep making videos like this!
Great Tutorial. I love how you explain everything so elegantly!
Keep up the good work
Thank you for this great series. Hope to see more Python in the future!
Love this series, Ben! Would love to see you expand on this for games that have Direct3D and also swapping to CNN instead of cascading classifiers as an optimization!
Thank you for your lessons! This is a good start for me in learning Python. Especially learning programming through a game, something that I needed so much.
Great video as always, love your content man, keep it up!
Thanks! Definitely going to keep making more vids
Once again, thank you so much for these great videos. Multi-threading just boosted my program performance. Keep up the great work (and no need to do vocal training).
I had no idea you made directinput! i've been using that a ton. thanks a lot
I really enjoyed this series and am looking at making my own bot for another game. Thanks for your help!
I just watched your series for entertainment and did not try anything. Better than Netflix. Learned a lot. thank you
Amazing series of tutorials. Thank you!!
Hey Ben, thanks for your tutorial. I am watching this series with great interest, because I actually play albion online and I know how hard it is to gather all these ressources for hours.
Of course your bot in the current state is very simple, just because it nearly has no object avoidance or anything like that. What I would be interested in next would be a tutorial about pathfinding or basically anything that lets the bot walk a certain predefined path. Obviously with the goal of beeing able to let the bot walk arround and do the farming.
I already heared about several algorithms for path finding, like djiktra or A*, but the thing is that I dont find any way to get koords in albion online to use them. I know its somehow possible to find the ingame Koordinates out of binary dumps but I am just not able to do it. Another way I was thinking about would be to grab the mouse click cordintaes for certain paths and just replay them whenever I want to go a certain way. Thats something your bot actualy kind of makes possible cause of the back walk funktionality. But I just dont like the idea of this that much, especially since you can get moved around by other players sometimes, and as soon as you loose your original path you will somehow find yourself walking a totally different path, which obviously makes it visible to other players that u are a bot. What way would you suggest to go about this problems ? How would you do Pathfinding or movement in albion online the savest way ?
I would love to get an answer or maybe even better a new series about this wuth albion online.
Best regards
Chris
Hey Chris. I've got pathfinding on my radar for future videos for sure. It's definitely an advanced topic so it's going to take me longer to prepare for. Those algorithms you mention I've used but only for 2d games, so I'll have to figure out the best approach for 3d.
@@LearnCodeByGaming Thanks for your answer.
Actually what I saw so far was, that for WoW somehow they extracted whole maps and where able to use them for the algorithm, using the real map as a koord system.
But yeah, I think this is very advanced in relation to what you showed so far.
Another way I was thinking about, at least for traveling the roads in Albion could be with your image regocnition using OpenCV , making only paths colored like you did with the limestone and then doing something similar to Sentdex Python plays GTA5 Tutorial. So draw lines framing the paths and then keep the bot moving in the middle of that 2 lines. But I havend thought that to an end.
Would love to sit down with you and think about a good way to implement some of this, if you want, I just cant wait for a good tutorial on how to solve this problem:)
What you're looking for is called simultaneous location and mapping. You identify recognisable elements, compute the location of your character relative to those elements. And you also locate elements relative to each other, allowing you to create a map.
Then, you manually add navigation nodes to this map and you navigate from node to node.
The most difficult part is identifying recognisable elements. It's a classic problem in photogrammetry. I think the most basic way of getting recognisable elements is to use SIFT/HOG features.
This is far more advanced computer vision than the basic filters used in those tutorials!
Overall, it depends if you're looking for learning basic CV, if you want to make a working bot or if you want a beautiful algorithm that could work on any game with little modification for the aesthetic beauty of making a universal bot.
It has been two years already, where is the continuation? Why did you abandon your channel? You explain better than all my teachers! You're the best!
Your videos are great! Thanks for helping me get a leg up on programming.
Thank you for the series!
Your a legend mate
Nice video and explanation!
Let's create a simple limestone harvesting bot. You'll need to know only how MatchTemplate works. And a couple of things..
OOP, multithreading, list comprehension and lists' stuff, a bit of school maths and, of course, a drop of machine learning. “Shaken, not stirred”.
It's an awesome work! Thank you!
Great videos! Im glad that i found your channel. Keep it up mate
been building some web bots and desktop bots, but through you I'm damn interested at exploring this subject. Thanks Ben.
Great job man, perso, i want to autobot some fps games, tasks in order to improve my skill from school, i have an idea but just have no idea how to deal with specific problem, such that the pyautogui dont work well in fps games, etc, but your work help me a lot to solve these problem. Hope your channel reach more people
Чому я тільки зараз знайшов ваш канал? Краще пізно ніж ніколи..
what a gem your videos are a true blessing
Thanks for the video! Keep up the good work, Ben!
you tutorial are so good, and I learned so much from here.
This serious is so underrated
Series*
Those videos are soooo OP
Thanks Ben, perfect video to finish off the series. What projects do you have coming up next?
I'm not totally decided yet, but it's most likely going to be a backend web development project. I've been doing a lot of Django work for clients recently so that info is fresh in my mind.
I learned alot from ur videos thanks alot Ben
Thanks a lot for you videos!!
Yes. With every step, we learn, less masochism we suffer from the grind.
Very good explanation there!
awesome thanks so much for this series Ben! This was awesome. The screenshots and threading were really amazing and great how you tied it all together. This really helps me out. I am working on making a bot to play world at war nazi zombies.
Your videos are the best, keep it up
Man, it's a great program that you created. I was thinking if you can take a screenshot of the rectangle when it match and save it to train more the AI
Great job man. A lot of info here! I was working on a project using multithread , but got very messy.. Im starting again. Would be nice a new series from 0 using multithread. Keep the good and hard work!
Thanks!
EXCELLENT! Thank you.
I can't believe this lesson is given for free
Absolute legend, keep it up
Good piece of code bro. What is your next plans for the series? It would be great if you consider to create tutorial how to decode package sended to the server. i think there is a lot of usefull informations like last picked items, health status or eny othe information needed for autonomous bot.
I've just been looking at the result and I guess for improving your bot you could at first search for the rough location of the lime stones. To archive this there are several options available (b.e. color, size etc). What I'd probably go for is to take some screenshot of the stones, downscale them to pixel graphics and search for them in a downscaled screenshot - this should work pretty good if this game doesn't have night and daytime. Doing so you'd know where to hover and your current detection function would run even smoother.
However, I'll watch though the whole thing soon as I rly like the threading action - great stuff! Really like to work more with opencv - atm I am building a bot for fun swell however I won't publish the result. Bots can destroy games and should be either used for learning to code and personal fun, but that is just my opinion. I really like that you try to bring people to coding with python!
Best regards and keep it on!
Bro I have a problem can u help me ? So I made a bot for a game but I want the script to keep running non stop , cuz the problem is that when The script finishes it stops
This is really the best youtube video/guide i've ever seen! Keep up with the good work! I do have a question. Im trying to use google chrome as the video input using the python file from video 4 but it doesn't show can you help?
Thanks! If you're getting a black screen, in video #5 I discuss needing to set the window_name to None to capture web browsers and other problematic sources. Hope that helps!
Cool series this, thanks, Ben!
A great channel to start and learn coding!
+Sub
How would you make this work with just an image and not the AI? ive tried a few things but cant find the thing i need to change.
yooo:D dont stop you need a discord
Thanks!
Greeeat stuff I find it really cool you made this available for free ! Thank you so much I will finally get revenge for my wrongly deleted account
A useful and beautiful channel, why is the last video from 3 years ago?
Thank you!
Hi there! Just came across your channel and this video in particular, I'm coming from pyautogui and was getting frustrated with the poor image recognition. This "training" your doing to detect the images, would it have to be trained on different resolutions to be effective on different computers? (in pyautogui I have to get new needle images if I use the script I wrote on a different computer) If you've already covered this could you point me to the video?
From my understanding it does not need to be trained on different resolutions because we are using detectMultiScale(). But I'm not certain and I haven't tested it myself.
Hey Ben, I noticed you haven't been posting any videos. If you need an idea for one I may have one for you.
I'm interested in learning how to make an addon for a game, I have a few ideas but you've used the game Albion before so I'll reference that game. In the game there are marketplaces around the world and each have their own trade values. As one trades and travels they forget prices or can't be asked to write down hundreds or thousands of trades down manually. My idea is to make a trade history addon that would read the incoming game log and record relevant data and display it to be referenced later.
Good luck with whatever project it is you are working on now!
Nice video... as always!. Please help us with OCR :)
Thanks! OCR is high on my list!
you could use RLLIB or stable baselines to train Reiforcement learning to play this game
this looks great im gonna breakfast the 40min
I've used what i learned on some Ragnarok Private servers. but on Linux since i cant bypass the anti cheat.
im using X to take screenshots. anyone know something better to do it?
I use Linux servers all the time, but don't have much experience with desktop. Hopefully someone can give you a good suggestion.
Snip it app is either automatically installed or need to be manually installed
u need open script on docker?
just wow !
I cant really wrap my head around how the multithreading class like Detection works with the Vision (and therefore with the find method) class we made in an earlier tutorial.
I really dont need the Cascade classifier object detection.
12:25 in the video.
The programm seems to work fine but no rectangles are drawn as if no dectection has been done.
You need to draw the rectangles in the main. In detection it didnt work for me too. And detection need the needle in the constructor. I had the hsv filter problem but with help from ben it works now.
@@Tisho2009 wow thank you very much!
@@Tisho2009 were you able to figure out how to run find() in its own thread? Ive spent countless hours researching and trying to fiure it out without any success.
@@rysik I have abandoned the project and programing for now. But if i remember right, find() is part of Detection and therefore runs in the separate thread of Detection. You don't need to call find() on itself. I'm maybe wrong, but thats what i remember.
did you try autoit?
Great series! Thanks for putting this together. Seems much less daunting to accomplish this in Python compared to C#, but I probably just suck at both. ;) For any one reading comments: I don't really understand well how the threading/detector.stop()/start() works. How would I go about passing my detector a new image when the bot state changes? For some reason it's hooking onto the targets[] of the old image still. New state > New detector image > new click_next_target() points.
Epic series! You lost me a bit in this one, with multi-threading... :)
One question though, would any of this work better with Tensorflow? When would it be better to use that? I understood it's more modern and one of the reasons OpenCV isn't updating cascade HAAR code any more?
Hi, I did something like this familiar but went to tensorflow, I'd say honestly tensorflow has bigger community and updates, I'd go to for it, since you have more models to use. It's weird and hard at start to get used to it, but it's not that bad.
👍👍👍
would you mind to make tutorial of this kind of series with convolution neural network for image detection?
Could you also combine the object detection with a ML bot, such that the bot takes actions based on the objects on the screen? Because I would really like to make an RL agent for runescape, but I have no idea where to start. I want to start in the right direction, I know you need an environment for the agent, but I wonder if you could create that with object detection, or do you know of any other method?
Yes, you could create machine learning models to dictate your bot actions, or decide what state your bot should be in. It's a big project, but if you're keen on doing it I would look into using Tensorflow to create DNN models using a classifier or linear regression. Just remember that you'd need to gather lots of data first before you could hope to train them properly!
@@LearnCodeByGaming thanks a lot for the effort to reply! I will definitely look into it
thanks! this is great the only problem i have is after the bot moves i cant get the click point list to update until it makes a few false mouse moves based on the list from where the bot was standing before it moved
Would be awesome if you create a tutorial for world of warcraft
Love WoW! It's on my radar
@@LearnCodeByGaming I would also love to learn how that would work in WoW with navigating around. I think you would have to make paths and waypoints for the bot to run and set a timer for respawn.
we need more of this
@@LearnCodeByGaming Lets gooo!!! It would be awesome to learn it
You are amazing!!!!!
Wich icon theme do You use in vs code? (Congratulation on your coding style!)
I use the Nord theme. You can find it in VSCode by searching the extensions.
FYI, if you are getting stuck frames i.e I was using the browser as the capture target. It's likely due to hardware acceleration which does not play nice with openCV. Turning it off is a temporary workaround.
Impressive how 0.75x speed looks so normal hahaha, Im brazilian and this guy speaks so fast!
Hi. Awesome video and explanation! Can the same technique be used for 3rd person game, when object is a 3d model? Thank you
Thank you. You're amazing! I've learned a lot from all of your tutorials. It's been a year since this was posted. I've been trying to write functions for in case if bot being attacked by monsters. No Success. Trying to figure out how to record waypoint.