Deep Reinforcement Learning & Rogue

Andrea Asperti, Daniele Cortesi, Carlo De Pieri, Gianmaria Pedrini, Francesco Sovrano

Watch us on youtube.

Rogue is a famous dungeon-crawling video-game of the 80ies, the ancestor of its gender. Rogue-like games are known for the necessity to explore partially observable and always different randomly-generated labyrinths, preventing any form of level replay. As such, they serve as a very natural and challenging task for reinforcement learning, requiring the acquisition of complex, non-reactive behaviors involving memory and planning.

We both developed an applicative interface called Rogueinabox allowing a simple interaction with the game, and several different agents based on deep reinforcement techniques.

So far, we only addressed the navigation problem, that is not yet entirely solved, especially regarding labyrinths, dark rooms and especially secret passages. Many other interesting aspects of the game, about fighting monsters and collecting objects are yet to be addressed.

Many thesis are available on this topic.


The code is available on GitHub:



  author    = {Andrea Asperti and
               Daniele Cortesi and
               Francesco Sovrano},
  title     = {Crawling in Rogue's dungeons with (partitioned) {A3C}},
  journal   = {CoRR},
  volume    = {abs/1804.08685},
  year      = {2018},
  url       = {},
  archivePrefix = {arXiv},
  eprint    = {1804.08685},
  timestamp = {Wed, 02 May 2018 15:55:01 +0200},
  biburl    = {}
  author    = {Andrea Asperti and 
               Carlo De Pieri and 
               Mattia Maldini and 
               Gianmaria Pedrini and
               Francesco Sovrano},
  title     = {A Modular Deep-learning Environment for Rogue},
  journal   = {WSEAS Transactions on Systems and Control},
  volume    = {12},
  year      = {2017},
  url       = {}
  author    = {Andrea Asperti and 
               Carlo De Pieri and  
               Gianmaria Pedrini},
  title     = {Rogueinabox: an Environment for Roguelike Learning},
  journal   = {International Journal of Computers},
  volume    = {2},
  pages     = {146-154},
  year      = {2017},
  url       = {},