The project includes four NPCs, each holds a list of needs. The purpose of the NPCs is to choose an operation to perform in order to get the optimal state.
Each choice calculation depends on:
- The object state, may choose only available objects
- Execution time for operation
- Distance from object
- Needs values
Implemented with A* algorithm.