Not-so-tragic backstory: In the aftermath of the world NOT ending in 2012, I found myself with some free time and finally committed to learning Python. Having taught myself programming sometime during the Dark Ages (MS-BASIC and TurboPascal...thar be dragons!), I tend to find introductory tutorials rather boring. This was my attempt to do something more challenging and engaging. Fast-forward a few years, add GitHub for repository management, and here we are.
This work was inspired by and draws heavily from:
- Craig Reynolds BOIDS Page.
- Steering Behaviours for Autonomous Characters, also by Craig Reynolds.
- Programming Game AI by Example by Mat Buckland.
- Python 3.8.
- Pygame 2 for real-time 2D rendering.
- Sphinx for automated documentation.
- Hypothesis for unit-testing all of the math.
It's worth noting that NumPy or similar math packages are NOT required; this is a holdover from some related projects on the RaspberyPi where storage space was at a premium, and from some student projects for non-programmers.
Clone the repository to your local machine; setup and dependencies were designed to be minimal. The WestWorld3 demo is console-based; others require Pygame somewhere in your PYTHONPATH. All demos can be run from the command line, for example:
$ python3 {path-to-local-repo}/demos/sheep.py
Further information and documentation: https://aiboids.readthedocs.io/en/latest/