This repository documents our, that's twitu, arkonaire and lsampras, experiments with bot programming, from the mundane path finding to the abstract state management.
To setup the environment, clone the repository and then run the following commands
cd path/to/bot_programming
virtualenv venv --python=python3
source venv/bin/activate
pip install -r requirements.txt
sudo apt-get install python3-tk
Finding bottlenecks in a randomly generated map
A* path finding with way points
Dynamic squad movement based on obstacles
Enemy pheromones based on last known position
We refer to a lot of existing work including blogs, videos, research papers and books. A good reference ideally opens up a new avenue for experimenting.
AI Game Programming Wisdom - Touches on all concepts related to AI game programming, while also covering code opitmizations for practical performance.
Voronoi based choke points - Identifying choke points in the map.
Flood fill to identify choke points - Explains efficient technique to identify choke points in common maps.
Amit P blog - Extensive resource on path finding algorithms and implementations.
JPS and RSR optimization - Discussion on optimization techniques
Potential field based navigation - Discussion around techniques for potential field based navigation
Adaptive potential fields - Suggests potential fields that can be used for navigation
Dynamic formations - Gives a generic framework to build squad formations.
Real world squads - Inspiration from historical squad formations.
Formation controls Review paper for formation control.
Pheromones for tracking and prediction - Concept for using pheromones to track enemy units
Game trees - Trees for decision making.
Resource management - Framework for managing resources.
Map Generation - Using perlin noise for random maps