Skip to content
Drflash55 edited this page Feb 8, 2016 · 10 revisions
  • Implement a new angle merging algorithm that returns the list of good angles. If no good angle can be found, return empty list. Only eat food when there are both no good angles and no bad angles. Run away perfectly without eating when there are good angles found. If there are bad angles but no good angles, run away from the closest enemy. This can happen when trapped by enemies all around so to live, you need to simply stay away from the closest enemy.
  • Draw the threat circle around enemies. If an enemy is big enough to split, it's circle should have a radius of: enemy radius + 900 as the splitting distance is a static value of around 710.
  • Instead of using the main array that contains all the blobs (Virus, opponents, food, etc), create a an intermediate array that can be preserved between each server updates, then compute the difference between the main array and the intermediate array. This will make it possible to know the direction that blobs are moving in, as well as know where they were headed to before exiting the map. Using that new array instead should make the overall algorithm more stable as enemies won't just disappear off the borders and make the food finding / escaping wacky when they suddenly get in vision.
  • Find a way to fade out enemies when they are far enough. Instead of making them either considered or not considered, they should gradually fade out until they aren't part of the algorithm anymore. Done by making enemies be obstacles first before being considered as enemies.
  • Add an efficient splitting algorithm that handles enemies around.
  • Adjust the escaping algorithm to work even when split in multiple parts. This can be done by generating enemy angles for each separate blobs, then merging the data into one.
  • Handle viruses separately from enemies. The angle for viruses is a bit more complicated than normal enemies as it needs to be computed from their edge to our edge instead of their edge to our center.
  • Add code to send viruses towards enemies.
  • Strategical virus splitting needs to be added as a defense mechanism.
  • Emergency splitting needs to be done when it is impossible to escape.
  • The wall and corner code needs to be adjusted. A wall is only meaningful in relation to the enemies that are in the area. By itself, a wall is not an enemy. This was partially done. Next will be to base it on actual enemies.
  • Make bot creation more straight forward. A big part of this is making the launcher load the bots instead of each bot having to load itself up.
  • Find a way to permanently fix the phantom blobs appearing in Agar.io whenever the bot lags with the server.
  • Fix the facebook functionality with it not adding experience points after each game.
Clone this wiki locally