---
id: bd7153d8c242eddfaeb5bd13
title: Build a Roguelike Dungeon Crawler Game
challengeType: 3
forumTopicId: 302355
dashedName: build-a-roguelike-dungeon-crawler-game
---

# --description--

**Objective:** Build an app that is functionally similar to this: <a href="https://codepen.io/freeCodeCamp/full/apLXEJ/" target="_blank" rel="noopener noreferrer nofollow">https://codepen.io/freeCodeCamp/full/apLXEJ/</a>.

Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style.

**User Story:** I have health, a level, and a weapon. I can pick up a better weapon. I can pick up health items.

**User Story:** All the items and enemies on the map are arranged at random.

**User Story:** I can move throughout a map, discovering items.

**User Story:** I can move anywhere within the map's boundaries, but I can't move through an enemy until I've beaten it.

**User Story:** Much of the map is hidden. When I take a step, all spaces that are within a certain number of spaces from me are revealed.

**User Story:** When I beat an enemy, the enemy goes away and I get XP, which eventually increases my level.

**User Story:** When I fight an enemy, we take turns damaging each other until one of us loses. I do damage based off of my level and my weapon. The enemy does damage based off of its level. Damage is somewhat random within a range.

**User Story:** When I find and beat the boss, I win.

**User Story:** The game should be challenging, but theoretically winnable.

When you are finished, include a link to your project on CodePen and click the "I've completed this challenge" button.

You can get feedback on your project by sharing it on the <a href="https://forum.freecodecamp.org/c/project-feedback/409" target="_blank" rel="noopener noreferrer nofollow">freeCodeCamp forum</a>.

# --solutions--

```js
// solution required
```
