In this repository you will find my work for CS-330: Artificial Intelligence and Game Development. A large majority work relates to path-finding, action behavior, and state probabilities. The breakdown is as follows:
- Project 1 - Dynamic Movement: Creates, simulates and graphs multiple 'characters' modeling differing movement behaviors.
- Project 2 - Dynamic Pathfinding: An extension of Project 1. Simulates and graphs the "chase-the-rabbit" pathfinding movement behavior.
- Project 3 - A* Pathfinding: Implements and generates the most effcient path given a graph of nodes and connections using the A* algorithm.
- Project 4 - State Machine: A state machine that simulates the transitions and count of many movement states over multiple scenarios.
You can run a project by moving into the appropiate directory and executing the appropiate "driver". From the root of the directory, run of the following from CLI:
cd Project 1
python3 movement.py
cd Project 2
python3 movement.py
cd Project 3
python3 main.py
cd Project 3
python3 statemachine.py
Just as a note, Projects 1 and 2 both generate an output text that is then feed to a plotter. I have uploaded the resulting images to their appropiate project folders.
I have also included a test for utility.py, since this program was "home-made" and not strictly apart of the assignment requirements, just as a sanity check. To run the test, execute the following from CLI:
cd tests
python3 test_utility.py
As is explained in the class, if you would like to use this repository as reference, please feel free. However, if you are looking at a particular section of this code that you decide to use as reference you MUST attribute the author (Parker Clark) and the repository from which you found it! This repository is not for replication and is effectively read-only.
In good faith, I have provided a link of this repository to the Mr.Jay Sebastian (the current course coordinator at the time of writing). If you use this repository improperly, he will know, so please abide by these rules.