PyBoids is a software toy that attempts to demonstrate flocking behavior, heavily inspired by Craig Reynolds' simulation. The goal of this project is to produce flocking simulations with A.I. algorithms such as the genetic algorithm and NEAT.
This is a highly experimental project and contents may change suddenly.
More information regarding using the genetic algorithm to optimize the boids simulation can be found here.
- pygame: Used for displaying the simulation
- Cleanup code and adopt best practices when possible
Build engine to display and move boids and determine what is a flockBuild monitoring system to display data about each flockImplement Mr. Reynolds' version of boids using PyBoids engine- Build wrapping needed to record generations of AI models and display Neural Networks and other data
Build system to allow each generation to be tested on the same permutation of random values- Build menu driven system to allow for modification of the GA controlled Boids Simulation
- Build menu driven system to allow user to adjust sliders to control Boids Simulation
- Build menu driven system to allow for loading Boids Simulation from file
- Build system for N.N. based models that will show the nodes as they activate
- Implement Neural Network Controlled Boids Simulation
- PyBoids.py: The driver for this project
- Constants.py: Contains the constant definitions for the project
- Entities: This directory contains the classes that entities are instantiated from. Entities include boid objects and the goal tokens they search for.
- Managers: This directory contains the classes that manage entities, output to screen, and call the appropriate boid controllers
- BoidControllers: This directory contains the classes that control boid movement for various simulations
- LICENSE: This is the license for the project
This project is licensed under the MIT License