Skip to content

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.

License

Notifications You must be signed in to change notification settings

dimitrisstyl7/intelligent-agents-project

 
 

Repository files navigation

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

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

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.

  2. Clone the repository:

    git clone https://github.com/dimitrisstyl7/intelligent-agents-project.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

Antonis Roussos
Antonis Roussos

Acknowledgments

This project was developed as part of the "Intelligent Agents" BSc course at the University of Piraeus. Contributions and feedback are always welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • GDScript 100.0%