leowuvinci / agar.io-bot Goto Github PK
View Code? Open in Web Editor NEWAgar.io Bot Framework for Bot Developers
License: GNU General Public License v2.0
Agar.io Bot Framework for Bot Developers
License: GNU General Public License v2.0
it is nice to see the bot walk around and do its thing, but i would also like a feature where you control the bots AI function though simple actions.
what i suggest is a select feature, where you can click (preferably right click) on any area to direct the bot to it, and will get there through all dangers inbound. once it reaches its destination, the select feature turns off, and it does its thing again. you can also rapid click, if small, inside a virus so it doesn't move out, to protect itself from big blobs.
also for the select feature, i would like for you to click (preferably right click) on a player to give chase, ignoring the pellets it comes by, to attempt to eat the player. it will also see and try to split kill the player using its prediction line, preferably when there is no threats like viruses or other bigger enemies or enemies the same size as you before splitting. to deactivate, press left click to stop chase and restore the automatic roam function. another one for left click is to click on any blob, or any area, to make the bot move away from the area, or evade the chasing big blob. it will see if it can do a split attack, and try to do zigzags or unpredictable movement to trick them (only if small) or it can split itself away from danger (preferably when your blob is big) and live on.
hope this suggestion and its features are taken into consideration, and good luck with the bot :D
i don´t no
When Two People / 1 Splitted Blob comes and 1 goes to your left/up the other goes to you left/down,
you spaz out like crazy and end up getting eaten most of the time.
What are you going to do now...?
If chat could suggest reasons for the last death, the bot could prioritize certain intuition values more than with just a genetic algorithm
Have consideration change based on situation. Having the considerations constantly change based on threat level. Can use similar situations from past games to learn what to do in different situations.
High threat situations when many big enemies are nearby. Switch consideration on high alert running away.
Farm Mode: No enemies nearly, so eat nom nom nom
Player size: Learn from player tendencies, like being super small means getting ignored by massive blobs.
-Similar size blobs tend to chase and are much less of a threat and can be kited.
-Blobs 3 times bigger plus serve as a higher threat because they can eject kill
-Blobs too massive will probably not bother with the small bot
-Might seem counter-intuitive, but blobs that bigger are not bigger threat
Some other stuff. Apologies if I'm overlooking anything because I haven't looked at the code.
Give us a server list?
Preferably with servers that shows ping status? The current server I am connected to lags and my ping to the ip says it is roughly 2000 ms and most times it times me out.
When I set intuition to on and switch it back to off my considerations are all 0. I think there should be some kind of restore button or copy/paste.
a major problem with this bot is it doesn't comprehend multiple amounts of things going on.
example of this is it tries to get a blob, and a big blob is behind the bot, the bot will run away from the big blob and ignore the to be acquired small blob.
another example is when it is trying to evade. there are 2 big blobs left and right, and the two big blobs charge in to the bot. the bot will keep going back and forth, basically, shuffling, instead of going up or down away from the danger. this is because the closest big blob is only considered, and when it gets close to another big blob, it considers that, and goes back to where it was before, and repeats until one big blob goes down and changes the bots path, or when it is eaten.
this also happens occasionally when it tries to decide what small blob to eat, it will shuffle back and forth until it gets close to one from motion physics, which takes 3-10 seconds most of the time.
the chasing feature is excellent. it predicts the path the small blob goes, and will inevitably be eaten. however, if there is a small blob, or big group of small blobs, it will quit chase, even if it is just about to eat the smaller one, say, back in the corner, it will disband and go for other pellets instead. for this problem i suggest a select feature, where you click on a player, or blob, or anywhere, and it will direct itself to it, while avoiding dangers as well, as the danger might be the blob you clicked, it will deny the selection.
lastly, for the learning mode. i may be wrong about this but from my experience and testing it seems about right in my eyes. it isn't really learning mode as it says. it is just new considerations made from how it was killed last time. virus to big blob, big blob collision etc. while it would be fantastic, as i stated, it only learns from last time, not from 100 deaths as it claims. if it needs to learn, more considerations need to me made, or it actually learns in long term and not short term.
thanks for reading and good luck with the development with the bot :D
Problem : Acceleration isn't taken into account (only distance) which may cause the bot to get stuck inbetween 2 blobs.
Solution : Implement acceleration and make decisions not with distance but with projected time to reach blobs.
Quick code documentation on how to write new Considerations would be helpful. IE: The difference between returning a positive or negative number in the calculation function.
Awsum bot!
I always get stuck between 2 small blobs and it spams between them and it gets stuck untill it gets eaten :/
Also I think you're still calculating distance from enemies using their center
This is all JavaScript based, so in theory, it could be run in a bookmarklet.
Have consideration change based on the life cycle of a cell.
Early game: More to deal with food
Mid game: Balance of food and eating other players
End game: Staying alive and waiting for the perfect time to get bigger
it needs to have a button that disables the ai so the player can actually play
if [current mass] >= [threshold] then SUICIDE INTO {selected player}
"Y" to enable.
"H" to zoom out.
"G" to zoom in.
Well, it just doesn't work anymore with the latest version of Chrome on elementary OS Freya.
A few other bots seem to grab data in the same way, but even a little documentation on the functions/variables used to get the game's data would be amazing.
The bot should not zig-zag in a back-track fashion, since it is more risky that way.
What advantages in terms of algoritms, for evading does this have?
As the title suggests, on the page loading the screen is simply black.
This is the kind of project that I think would be really fun to contribute to, but I'm a little unsure how to start development. Specifically, I'm not sure if any build tools are required to compile larger main_out*.js files.
Are there any build instructions?
I seen enough moments where the bot is near tons of people who are doing things that work against the bot, and I thought the bot should be able to try to copy another player's actions. I know it may seem hard to program and perfect, but we all learn from others most of the time (Mostly from media and personal bias...) and the bot should at least learn a thing or two from its 'peers.'
You should make a key (example T) that stops the bot and lets you control your cell(s). Also a seperate key that hides lines. This is how it works in Apostolique's bot. Plz, I really need this, because when I reach enough mass I want to control it myself (because for example the bot goes really close to viruses, like the middle of it, so I can be split-killed easily, but this is not the only reason).
I've set intuition at 400 to avoid bigger blobs but it crashes into them anyway
Many commands can conflict if different sized players get near, etc. but this creates a snapping moving effect that doesn't look natural and can often just waste time. Perhaps the bot should prioritize a command and have a cool down before any other command takes over.
can you make server select ui please ?
i go to agar.io and it dosent have a name box or anything, when i hit play nothing happens.
:l plz fix.
This isn't as much of an issue as it is a cool thing to try out.
If you edit the main out js file and scroll to the way bottom you can add, remove, and change names without any coding knowledge at all!
I have a suggestion though. Could there be a way to possibly be able to type in your name like you normally would on agar.io instead of it giving you predetermined names? This would not be good for the people that just want to let the computer do it's thing but maybe you could have a box that you could tick for that option?
Awesome bot, by the way!
It would be great if the bot automatically saved the data it learns when running the institution mode.
The main issue right now is that sometimes its just running into blobs
Have the player be able to assist the AI in difficult situations by overriding it's action. Not sure if this suits the purpose of a purely AI bot. Maybe the AI bot can learn from the player's command and tell it NO. BAD KITTY!
Bot shouldn't avoid viruses if is too small to be damaged by them.
Osmos Game inspired idea.
Have the AI movement rotate on an axis to give the AI better mobility based on weight decisions. So it factors in all weighted possibilities in an area and move in a circular motion to get the most food. So it sweeps an area to get the most bang.
This will also give the AI an advantage over other players making it harder to be eaten. Point-to-point movement don't play well against circle of death.
Rotation around a virus gives some massive protection against impending doom.
Noticed when AI gets stuck between two big blobs, the AI gets afraid and doesn't move. Cat trapped in a corner!
I just watch my cell shoot a mass, then watched as a recipient cell took it and shot back a mass, before my cell immediately went in and tried to splitkill that cell. Needless to say, this was a bit disheartening.
I suggest, in the chat movements category, to incorporate reciprocal altruism: The AI tries not to harm cells it's traded shot masses with. This might open up new strategies, or it might just bomb. But we can't know until it's incorporated.
I would say the best option would be to mesure angles between "enemies" and choose biggest one to use as escape route. Example: http://i.imgur.com/LwclU4a.png
For now AI will choose one of from the purple routes and will change it really fast, due to change of the distance between "me" and each enemy. It result in staying almost in one place, just waiting to be "eaten" by one of them... But it is really simple, that it should choose white route. Everyone would act like that...
Also similar thing if its edge of the map or something. It stays and waits for one from 2-3 enemies...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.