Skip to content

An implementation of reinforcement learning algorithms designed to beat Trackmania maps. Features IQN and DQN agents with improvements inspired by Rainbow DQN and Beyond the Rainbow research papers.

License

Notifications You must be signed in to change notification settings

CogitoNTNU/DeepTactics-Trackmania

Repository files navigation

GitHub Workflow Status (with event) GitHub top language GitHub language count License: MIT Project Version

Cogito Project Logo
📋 Table of contents

DeepTactics-TrackMania

🚗 Deeptactics Trackmania is a student-driven project exploring Reinforcement Learning (RL) in the racing game Trackmania.
Our goal is to design, train, and visualize agents capable of completing tracks, improving over time, and eventually outperforming human players in our group.


🎯 Project Goals

  • Main Goal:
    Build an RL system that can successfully complete a Trackmania track.

  • Subgoals:

    • Achieve podium placement within the group.
    • Beat all group members on at least one track.
    • Visualize the agent inside the game.
    • Ensure all members gain hands-on RL experience.
    • Understand exploration vs exploitation.
    • Enable everyone to start training runs on their own PC.
    • Promote collaboration: every line of code should be understood by the group.
    • Document progress with a short film showing the agent’s improvement.

🧠 Project Description

We aim to train RL agents using a variety of methods (PPO, DQN variants, SAC, IQN, etc.) in Trackmania.
The project emphasizes:

  • Experimenting with multiple RL approaches.
  • Building shared knowledge through research workshops.
  • Using visualization and metrics dashboards (e.g. WandB) to monitor progress.
  • Combining technical learning with social team-building.

🏗️ Architecture & Tech Stack

  • Environment: Gymnasium + TMRL / TMInterface
  • RL Algorithms: PPO, SAC, DQN variants (including IQN)
  • Experiment Tracking: Weights & Biases (WandB)
  • Tooling: Git, Docker, GitHub Actions, pre-commit
  • Visualization: Custom render scripts for agent playback

📚 Key Resources


🚀 Getting Started

  1. Clone repo & install dependencies (Docker setup provided).
  2. Configure environment (Gymnasium + Trackmania interface).
  3. Run baseline PPO agent training.
  4. Track results in WandB and visualize in-game.

Description

🛠️ Prerequisites

Getting started

  1. Clone the repository:

    git clone https://github.com/CogitoNTNU/DeepTactics-TrackMania.git
    cd DeepTactics-TrackMania
  2. Install dependencies:

    uv sync
  1. Set up pre commit (only for development):

    uv run pre-commit install

Usage

To run the project, run the following command from the root directory of the project:

📖 Generate Documentation Site

To build and preview the documentation site locally:

uv run mkdocs build
uv run mkdocs serve

This will build the documentation and start a local server at http://127.0.0.1:8000/ where you can browse the docs and API reference. Get the documentation according to the lastes commit on main by viewing the gh-pages branch on GitHub: https://cogitontnu.github.io/DeepTactics-TrackMania/.

Testing

To run the test suite, run the following command from the root directory of the project:

uv run pytest --doctest-modules --cov=src --cov-report=html

👥 Team

This project would not have been possible without the hard work and dedication of all of the contributors.
Thank you for the time and effort you have put into making this project a reality.

Project Leads

Ludvig Øvrevik
Ludvig Øvrevik

Project Lead
Brage Kvamme
Brage Kvamme

Project Lead
Edvard Klavenes
Edvard Klavenes

Project Member
Simen Førdestrøm Verhoeven
Simen Førdestrøm Verhoeven

Project Member

Group picture

License


Distributed under the MIT License. See LICENSE for more information.

About

An implementation of reinforcement learning algorithms designed to beat Trackmania maps. Features IQN and DQN agents with improvements inspired by Rainbow DQN and Beyond the Rainbow research papers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10