This project aims to compare different Reinforcement Learning techniques for training an agent to play the video game DOOM, evaluating how quickly and efficiently the agent can learn and maximize its score. Methods such as Q-Learning, PPO (Proximal Policy Optimization), and A2C were explored. Challenges included the complexity of the game environment and the need for real-time decision-making and object recognition. The agent interacts with three scenarios, where the main goal is to eliminate all enemies and survive as long as possible, using available actions like moving, rotating, and shooting. The project used a DOOM environment library from GitHub, integrated with Gymnasium and image processing tools. The report details the algorithms used, experimental design, results, analysis, and conclusions, including potential future work.
Python
This project fetches game details from the Steam Web API using a provided game ID and stores them in a Neo4j graph database. It retrieves information such as the game's name, type, description, system requirements, and DLCs. The code uses the decouple library for configuration, interacts with the Steam API, and executes Cypher queries to create Game and DLC nodes and their relationships in the database. A very important aspect is that it uses a Neo4j database to organize and manage the game data.
Python Cypher Neo4j