Skip to contents

A work-in-progress tile-based roguelike game for R.

Visit the documentation website or read more in the inaugural blogpost. See the issues for future plans or to suggest improvements.

You can install {r.oguelike} from GitHub via {remotes} (packages {crayon} and {keypress} are also installed):

if (!require(remotes)) install.packages("remotes")
install_github("matt-dray/r.oguelike")

You could also launch an instance of RStudio in the browser, thanks to Binder, with {r.oguelike} preinstalled.

Use start_game() to begin. You can adjust the default parameters; see ?start_game or visit the documentation website for details.

r.oguelike::start_game(
  iterations = 3,
  n_row = 15,
  n_col = 20,
  n_rooms = 4,
  max_turns = 25
)

The console will clear and you’ll see a map, with an inventory bar, status message and prompt for input. Output will appear in colour with the argument colour = TRUE (the default).

# # # # # # # # # # # # # # # # # # # # 
# # # # # # # . . . . . . . . # # # # # 
# # # # # # # # . . . . $ . . # # # # # 
# # # # # # # # . # # . . . . # # # # # 
# . # # # # # # # # # . . . # # # # # # 
# . . # # # # # # # # . . . # # # # # # 
# . . . # # # # # # # . . . . . # . # # 
# . . # # # # # # # . . . . . . . . # # 
# . . # # # # # # # # . . . . . . # # # 
# . @ . . . # # . # # # # . . . . . # # 
# . . . . . . . . . . . . . . . . # # # 
# . . . . . . . . . E . . . . . . # # # 
# . . a . . . . . . . . . . . . # # # # 
# # . . . . # # . # # # # . # # # # # # 
# # # # # # # # # # # # # # # # # # # # 
T: 25 | HP: 10 | $: 0 | a: 0
Press W, A, S or D then Enter to move, 1 to eat apple, 0 to exit
Input:

The dungeon map (# for walls and . for floor tiles) and placement of objects (@ is the player, E is an enemy, $ is gold and a is an apple) are randomised. See the accompanying blogpost for more about how these dungeons are generated.

You can move the player character (@) with your arrow keys instead of the W, A, S or D keys if you’re using a terminal that supports the {keypress} package (RStudio doesn’t).

After pressing s then Enter (or the down arrow key, if supported), the player character moves one space down and the status message updates.

# # # # # # # # # # # # # # # # # # # # 
# # # # # # # . . . . . . . . # # # # # 
# # # # # # # # . . . . $ . . # # # # # 
# # # # # # # # . # # . . . . # # # # # 
# . # # # # # # # # # . . . # # # # # # 
# . . # # # # # # # # . . . # # # # # # 
# . . . # # # # # # # . . . . . # . # # 
# . . # # # # # # # . . . . . . . . # # 
# . . # # # # # # # # . . . . . . # # # 
# . . . . . # # . # # # # . . . . . # # 
# . @ . . . . . . . . . . . . . . # # # 
# . . . . . . . . E . . . . . . . # # # 
# . . a . . . . . . . . . . . . # # # # 
# # . . . . # # . # # # # . # # # # # # 
# # # # # # # # # # # # # # # # # # # # 
T: 24 | HP: 10 | $: 0 | a: 0
Moved down
Input:

Collect the gold ($). Auto-battle the randomly-moving enemy (E). Collect an apple (a) for your inventory, then eat it with a keypress input of 1. You’ll die if you run out of HP or if you reach the maximum number of turns allowed (T). You can quit the game with 0.

Code of Conduct

Please note that the {r.oguelike} project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Roguelike