Rogue: Exploring the Dungeons of Doom Group Project
Summary: Our team used the agile methodology to create a Rogue game using Java (deployed as a standalone Java file). I created the release plan, the product backlog with the stories and tasks, and wrote code. The sprints were 2 weeks long and we met virtually on Discord to scrum and collaborate.
Description: Our team applied Scrum methodology across three sprints to incrementally build a simplified, turn-based dungeon crawler using Java and JavaFX. In Sprint 1, we focused on dungeon generation and player mechanics, including player movement and hunger logic. Sprint 1 stories included JavaFX and Rogue research, map generation, player movement and input, player stats, player hunger, unit tests (for Sprint 1), and code refactoring (for Sprint 1). Sprint 2 introduced monster generation and basic combat interactions, allowing players to gain experience and level up through encounters. Sprint 2 stories included monster research, monster generation, combat, traps, hidden passages and doors, player movement fixes, and more code refactoring from Sprint 1. Sprint 3 expanded gameplay with item generation and weapon and armor usage. Sprint 3 stories included item research, treasure, weapons, armor, and updating monsters/combat. Future sprints would have included potions, scrolls, sticks, rings, updating monsters/combat (again), commands research, commands implementation, leaderboard research, and leaderboard implementation. Throughout each sprint, we conducted sprint reviews and retrospectives using the “Stop, Start, and Continue” format, managed our product backlog in GitHub Projects, and maintained CI/CD pipelines using GitHub Actions. The emphasis wasn’t solely on full game completion, but on rigorously applying agile practices to demonstrate sustainable development and teamwork.
Role: Software Developer and Product Owner
Dates: 3/29/2025 – 6/13/2025
Language: Java
Skills:
- JavaFX
- Unit tests
- Classes/objects
- Interfaces
- Arrays & ArrayLists
File:
How to Run:
- Open Visual Studio Code
- Go to File > Open Folder
- Go to Downloads and select the rogue folder
- Select the demo\src\main\java\Rogue\App.java file
- Click the Run Java button
Instructions: The program will first ask you for a player name. After that, here are the following keyboard commands:
- Movement Commands
- When a movement command is pressed with the shift (Windows) key, it keeps moving the player until it runs into something.
- When a movement command is pressed with the ctrl (Windows) key, it keeps moving the player until it encounter an item or runs into something.
- If neither are pressed, the player moves one space.
- h or left arrow: Move left
- j or down arrow: Move down
- k or up arrow: Move up
- l or right arrow: Move right
- y: Move diagonally up and left
- u: Move diagonally up and right
- b: Move diagonally down and left
- n: Move diagonally down and right
- Prefix Commands
- Prefix commands must use additional commands to activate.
- t: Throw an object
- 2nd Command: Item in pack (a – w)
- 3rd Command: Direction (movement command)
- f: Fight/attack
- 2nd Command: Direction (movement command)
- m: Move without picking
- 2nd Command: Direction (movement command)
- ctrl + a (Windows): Identify trap
- 2nd Command: Direction (movement command)
- |: Selective inventory
- 2nd Command: Item in pack (a – w)
- w: Wield a weapon
- 2nd Command: Item in pack (a – w)
- W: Wear armor
- 2nd Command: Item in pack (a – w)
- d: Drop an object
- 2nd Command: Item in pack (a – w)
- More Player Commands
- s: Search for traps and secret doors
- >: Go down a level
- <: Go up a level
- .: Rest
- *: Inventory
- e: Eat
- T: Take armor off
- Misc. Commands
- space: Next message
- esc: Cancel command
- ctrl + P: Print last message
Note: Before jumping into Rogue, players should know that hunger decreases with each turn, and starvation can lead to death—so finding food is essential for survival. Monsters vary in difficulty and behavior; some chase you aggressively, while others lurk unpredictably, making combat decisions critical. Experience points earned from defeating monsters allow your character to level up, increasing health and combat stats. Items like weapons and armor affect both offense and defense, but inventory space is limited—forcing players to choose wisely what to keep. The game requires strategic navigation, resource management, and situational awareness, with each dungeon level introducing greater risks and opportunities.
Repository: https://github.com/depaulcdm/rogue-group-8 (Private)