Coder Social home page Coder Social logo

agar.io-bot's People

Contributors

datagutt avatar dimensionic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

agar.io-bot's Issues

Frozen after some seconds

Everything starts well but after some seconds, it gets frozen. Any idea why this happening and how to solve this?
screen
logs

suggestion: select feature

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

br

i don´t no

Bot Spazzes Out When Trapped

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.

Request Feature: Dynamic Considerations based on situation

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.

Better server selection?

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.

it focuses on only 1 action per consideration, even learning is short term.

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

Stuck between two blobs

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.

How to write Behaviors

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.

Problems..

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

Bookmarklet?

This is all JavaScript based, so in theory, it could be run in a bookmarklet.

It doesn't work

Well, it just doesn't work anymore with the latest version of Chrome on elementary OS Freya.

How game data is grabbed

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.

Zig Zag Enhancement

The bot should not zig-zag in a back-track fashion, since it is more risky that way.

Screen black.

As the title suggests, on the page loading the screen is simply black.

Instructions for build?

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?

Make bot able to learn from others.

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.'

Stop Bot & Control Yourself and Hide Lines Keys

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).

Prevent snapping between conflicting commands

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.

Dosent Start up at all.

i go to agar.io and it dosent have a name box or anything, when i hit play nothing happens.
:l plz fix.

Add Your Own Custom Name!

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!

Running into blobs

The main issue right now is that sometimes its just running into blobs

Request Feature: Override Command

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!

Virus enchantment

Bot shouldn't avoid viruses if is too small to be damaged by them.

Potential extra tick every tick

Not so sure if it's done on purpose, I can't say I fully understand how the ticking works since there's no setTimeout.. Probably has to do with the game code, but hey, if you remove the line it still works :P.

image

Request Feature: AI Rotational Movement

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!

Suggestion: Support reciprocal altruism

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.

Select best route to avoid more than one enemy at once

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...

  • It could split/shot if even biggest angle is to small and enemies speed is to big.
  • Sometimes biggest angle is not the best answear. When one or two of the enemies are really big and slow, it will be possible to pass close to them and it would have higher success chance than chosing biggest angle(needs test and calculations to select best possible numbers for enemy speed, my speed, angles etc).
  • It seems to work like that, but only if enemies are far away and distances between enemies and me doesn't change(I mean enemy 1 distance is higher than enemy 2 distance for example and it stays higher). If it changes, AI act like it doesn't know what to do.
  • I don't know if I did manage to explain what I meant. But you have to forgive me. English isn't my native language ;P

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.