Skip to content

Project · 2026

Roguia

An intelligent 2D roguelike whose monsters learn how YOU play.

  • Reinforcement Learning
  • Procedural Generation
  • MongoDB
  • PostgreSQL
  • Python
  • Project Management

Team

5 people

Duration

6 months

Context

ESEO · DAIA option

Summary

Roguia is a 2D roguelike, a genre inspired by the 1980 game Rogue, where the player clears as many dungeons as possible without dying. We, 5 friends, decided to mix our passion for video games with AI and data. Our touch: our evil little monsters learn through reinforcement learning to adapt to each player's strategy.

My role. I managed the reinforcement learning algorithm crafted to make you loose ;)

Timeline

How it unfolded.

Step 1

Defining the player

Defining the player character, the starting point of the game.

In pictures

A closer look.

The Roguia game interfaceClick to flip

Caption

The game interface

Click to flip back

The Roguia start screenClick to flip

Caption

The start screen

Click to flip back

The inventory databaseClick to flip

Caption

The inventory database

Click to flip back

Tools

What I worked with.

Python

The language of most of the game and of the monsters.

R

Reinforcement learning

To train the monsters, so that their difficulty adapts to each player.

P

Procedural generation

To generate the rooms of every map randomly.

MongoDB

A NoSQL database that stores the monsters' training logs.

PostgreSQL

A SQL database that stores the player's information, inventory and more.

Git

Each of us worked on a personal branch of the shared code.

Challenges

What got in the way.

Monsters that start out dumb

At first, the monsters were not smart and players could get bored. We pre-trained them to give them a base of knowledge before the player even downloads the game, then let each monster adapt to the player's style: the more the player attacks, the more the monsters dodge.

Five people, one codebase

We each worked on our own branch, held weekly meetings and communicated a lot.

Results

What came out of it.

Achieved

A working roguelike

A complete 2D roguelike game, playable from start to finish.

Achieved

Smart monsters

Monsters driven by reinforcement learning that adapt to each player.

Achieved

Procedural generation

Maps whose rooms are generated procedurally.

Achieved

Databases

MongoDB and PostgreSQL set up for the training logs and the player data.

Next project

Rerailing Simulation