Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/apostolissiampanis/intelligent-agents

Two rival teams of intelligent virtual agents with different abilities compete to gather specific resources from their shared environment. Implemented in Godot, the simulation utilizes A* algorithm, DFS, and genetic algorithms. The team that collects the resources first wins the game.
https://github.com/apostolissiampanis/intelligent-agents

agents astar-algorithm dfs-search gdscript genetic-algorithm godot

Last synced: 1 day ago
JSON representation

Two rival teams of intelligent virtual agents with different abilities compete to gather specific resources from their shared environment. Implemented in Godot, the simulation utilizes A* algorithm, DFS, and genetic algorithms. The team that collects the resources first wins the game.

Awesome Lists containing this project

README

        

# Intelligent Agents (2024) - Intelligent Agents Simulation

## Project Overview

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.

## Course Information

- **Institution:** University of Piraeus
- **Department:** Department of Informatics
- **Course:** Intelligent Agents (2023-2024)
- **Semester:** 8th

## Features

1. **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.

2. **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.

3. **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.

4. **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.

## Implementation

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.

## Documentation and Resources

- Full project details can be found in the [Project-documentation.pdf](./docs/Project-documentation.pdf)
- A detailed walkthrough video is available: [Project-video.mp4](./video/Project-video.mp4)

## Screenshots
### Main Menu

### Configuration Settings

### Simulation Screen

### Visited tiles based on an agent's knowledge

### Following an agent's movement

### End of simulation

## Setup Instructions

1. **Install Godot Engine 4.2.2** from [Godot Engine](https://godotengine.org/).
2. Clone the repository:

```bash
git clone https://github.com/thkox/intelligent-agents_2024-intelligent-agents-simulation.git
```

3. Open the project in Godot Engine.
4. Run the simulation by selection the `main.tscn` scene and clicking "Play".

## Contributors


Theodoros Koxanoglou
Theodoros Koxanoglou


Apostolis Siampanis
Apostolis Siampanis


Dimitris Stylianou
Dimitris Stylianou


Anthony Roussos
Antonis Roussos


## License

This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.