The Intelligent Agents Simulation is a team assignment designed for the "Intelligent Agents" course, offered in the 8th semester of the 2023-2024 academic year at the University of Piraeus, Department of Informatics. This simulation project involves two competing teams of intelligent agents tasked with gathering resources (wood, stone, gold) from a shared environment and returning them to their respective villages. Each agent has unique attributes, such as energy consumption, speed, and resource carrying capacity, which affect their behavior and effectiveness. The environment is randomly generated as a grid containing villages, resources, and obstacles that agents must navigate. Using pathfinding algorithms like DFS (Depth-First Search) and A*, agents explore the map and collect resources. Agents can also exchange knowledge or reproduce when they meet, enhancing team performance. The simulation ends when one team collects all required resources or loses all its agents due to energy depletion. The project was developed using Godot Engine.
- Institution: University of Piraeus
- Department: Department of Informatics
- BSc course: Intelligent Agents (2023-2024)
- Semester: 8th
-
Agents' Behavior
The agents in the simulation have distinct attributes, such as:
- Energy consumption
- Speed
- Resource carrying capacity (wood, stone, and gold)
Agents can move freely across the grid-like map, avoiding obstacles and interacting with the environment by discovering resources and returning them to their respective villages.
-
Map and Environment
The environment is a randomly generated grid (from 25x25 to 100x100 tiles) containing:
- Villages: The starting point for each team of agents.
- Resources: Tiles containing wood, stone, or gold.
- Obstacles: Impassable tiles that agents must navigate around.
-
Simulation Goals
- Each team of agents is tasked with gathering a specific amount of each resource (determined by the user at the start).
- The simulation continues until one team collects all the required resources or all agents on a team are eliminated due to energy depletion.
-
Intelligent Decision-Making
The simulation ends when:
- A team has successfully collected the required resources.
- One team has lost all its agents due to lack of energy.
The project was implemented using Godot Engine 4.2.2. Godot was chosen due to its lightweight, open-source nature, and its suitability for 2D simulations. Free assets from Kenney.nl were used to create the visual elements of the simulation.
- Full project details can be found in the Project-documentation.pdf
- A detailed walkthrough video is available: Project-video.mp4
-
Install Godot Engine 4.2.2 from Godot Engine.
-
Clone the repository:
git clone https://github.com/dimitrisstyl7/intelligent-agents-project.git
-
Open the project in Godot Engine.
-
Run the simulation by selection the
main.tscn
scene and clicking "Play".
Theodoros Koxanoglou |
Apostolis Siampanis |
Dimitris Stylianou |
Antonis Roussos |
This project was developed as part of the "Intelligent Agents" BSc course at the University of Piraeus. Contributions and feedback are always welcome!
This project is licensed under the MIT License - see the LICENSE file for details.