All Projects → wagenaartje → Agario Ai

wagenaartje / Agario Ai

Licence: mit
Neural agents learn to play in an agario-like environment with Neataptic

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Agario Ai

Jenetics
Jenetics - Genetic Algorithm, Genetic Programming, Evolutionary Algorithm, and Multi-objective Optimization
Stars: ✭ 616 (+1239.13%)
Mutual labels:  genetic-algorithm
Gpdotnetv4
C# implementation of the various algorithms based on Genetic Algorithm, Genetic Programming and Artificial Neural Networks.
Stars: ✭ 19 (-58.7%)
Mutual labels:  genetic-algorithm
Ai Programmer
Using artificial intelligence and genetic algorithms to automatically write programs. Tutorial: http://www.primaryobjects.com/cms/article149
Stars: ✭ 948 (+1960.87%)
Mutual labels:  genetic-algorithm
Invaderz
Space invaders, but the invaders evolve with genetic algorithm
Stars: ✭ 686 (+1391.3%)
Mutual labels:  genetic-algorithm
Alfa
Automated Line Fitting Algorithm
Stars: ✭ 6 (-86.96%)
Mutual labels:  genetic-algorithm
Nqueens Genetic
Solving the nqueens problem using genetic algorithm
Stars: ✭ 10 (-78.26%)
Mutual labels:  genetic-algorithm
Pymoo
NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO
Stars: ✭ 547 (+1089.13%)
Mutual labels:  genetic-algorithm
Evolutionary Neural Networks On Unity For Bots
Neural networks + Genetic algorithm on unity
Stars: ✭ 38 (-17.39%)
Mutual labels:  genetic-algorithm
Construct
JavaScript Digital Organisms simulator
Stars: ✭ 17 (-63.04%)
Mutual labels:  genetic-algorithm
Evolutionary Algorithm
Evolutionary Algorithm using Python, 莫烦Python 中文AI教学
Stars: ✭ 881 (+1815.22%)
Mutual labels:  genetic-algorithm
Tensorflow cookbook
Code for Tensorflow Machine Learning Cookbook
Stars: ✭ 5,984 (+12908.7%)
Mutual labels:  genetic-algorithm
Geneticsharp
GeneticSharp is a fast, extensible, multi-platform and multithreading C# Genetic Algorithm library that simplifies the development of applications using Genetic Algorithms (GAs).
Stars: ✭ 813 (+1667.39%)
Mutual labels:  genetic-algorithm
Droidsentinel
Analizador de tráfico para dispositivos Android potencialmente comprometidos como parte de una botnet orientado a detectar ataques DDoS.
Stars: ✭ 11 (-76.09%)
Mutual labels:  genetic-algorithm
Gaft
A Genetic Algorithm Framework in Python
Stars: ✭ 651 (+1315.22%)
Mutual labels:  genetic-algorithm
Csb Ai Starter
Starter Bot for Codingame's Coders Strike Back AI Challenge (Simulation Engine + Random Search)
Stars: ✭ 32 (-30.43%)
Mutual labels:  genetic-algorithm
Smile
Statistical Machine Intelligence & Learning Engine
Stars: ✭ 5,412 (+11665.22%)
Mutual labels:  genetic-algorithm
Devol
Genetic neural architecture search with Keras
Stars: ✭ 925 (+1910.87%)
Mutual labels:  genetic-algorithm
Neataptic
🚀 Blazing fast neuro-evolution & backpropagation for the browser and Node.js
Stars: ✭ 1,027 (+2132.61%)
Mutual labels:  genetic-algorithm
Tsp Ga
A Genetic Algorithm in Python for the Travelling Salesman Problem
Stars: ✭ 33 (-28.26%)
Mutual labels:  genetic-algorithm
Fasttext Tuning
📈 Find your fasttext hyperparameters quickly and easily.
Stars: ✭ 13 (-71.74%)
Mutual labels:  genetic-algorithm

Agar.io-AI

This repository shows how you can use Neataptic to succesfully teach neural networks to play Agar.io. You can see the genomes live in action here. These genomes have been trained for over 1000 generations, and definetely show sume human-like traits. Visualisation done with P5.js.

Read an article on this repo here.

Settings

If you manage to optimize the settings, please perform either a pull request or create an issue here.

Settings (contained in js/main.js):

  • WIDTH set the width of the playing field
  • HEIGHT set the height of the playing field
  • MAX_AREA set the maximal area a genome can acquire
  • MIN_AREA set the minimal area of a genome
  • RELATIVE_SIZE set how much migger a genome should be to eat a blob
  • DECREASE_SIZE set how much area is kept each round
  • DETECTION_RADIUS set how far a genome can see (pixels)
  • FOOD_DETECTION set the maximal amount of food blobs a genome can detect
  • PLAYER_DETECTION set the maximal amount of other genomes a genome can detect
  • MIN_SPEED set the minimal multiplier speed a genome can have (bigger genomes move slower)
  • MAX_SPEED set the maximal multiplier speed a genome can have (smaller genomes move faster)
  • FOOD_AREA set the area of food blobs
  • FOOD_AMOUNT set the amount of food blobs on the field
  • PLAYER_AMOUNT set the amount of genomes that play on the field (population size)
  • ITERATIONS set the amount of iterations/frames each generation is tested for
  • START_HIDDEN_SIZE set the amount of hidden nodes each genome starts witch
  • MUTATION_RATE set the mutation rate
  • ELITISM_PERCENT set the percentage of elitism

Most important setting:

  • USE_TRAINED_POP setting this to false will start the evolution from scratch (USE THIS WHEN OPTIMIZING THE SETTINGS), setting this to true will use the pre-trained population

Default setting values

var WIDTH            = $('#field').width();
var HEIGHT           = 800;

var MAX_AREA         = 10000;
var MIN_AREA         = 400;

var RELATIVE_SIZE    = 1.1;
var DECREASE_SIZE    = 0.998;

var DETECTION_RADIUS = 150;
var FOOD_DETECTION   = 3;
var PLAYER_DETECTION = 3;

var MIN_SPEED        = 0.6;
var SPEED            = 3;

var FOOD_AREA        = 80;
var FOOD_AMOUNT      = Math.round(WIDTH * HEIGHT * 4e-4);

// GA settings
var PLAYER_AMOUNT     = Math.round(WIDTH * HEIGHT * 8e-5);
var ITERATIONS        = 1000;
var START_HIDDEN_SIZE = 0;
var MUTATION_RATE     = 0.3;
var ELITISM_PERCENT   = 0.1;

// Trained population
var USE_TRAINED_POP = true;
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].