Home CPSC 240

Dungeon Crawler Game, Part 1

Design Due: October 17

Program Due: October 29

 

Objective

To work on the design and implementation of large, collaborative software project.


 

Task

For this assignment, you will be working on developing a simple command-line game. The game will be in the Roguelike genre.

A "Roguelike" game is one patterned after the 1980 game "Rogue". These games were the pre-cursors to graphical role-playing games which many of you have played. These games are also sometimes called "dungeon crawlers" because they often take place in underground labyrinths. Probably the most widely played game in this genre is "NetHack" which is still actively developed and played.

You should incorporate the Item and Inventory system that you worked on for project 1, but will be developing a playable game around it.


 

Requirements

The game must incorporate the following elements:


 

Notes

In these games, you usually don't have to press [Enter] to control your character. For instance, in NetHack, if you press 'h', the character moves left right away. This is not easily possible with Java, so we won't worry about this for now. You can just make the player press [Enter] for each command.

It's also not easily possible to go back and write a character over top of something that has been printed already. That means you can't print the whole room, and then go add the player, enemies, and items over top of it. Instead, the code that prints the room has to know where all these things are so it can print them as it is going.

In many games like this, the rooms are randomly created, and the enemies are randomly placed. For this assignment, you can just "hardcode" these into the code.

You can theme your game however you like. It doesn't have to be a traditional dungeon with monsters kind of thing. Be as creative as you like!


 

Design

For this project, you should turn in a class diagram first, and then the full project later. The design should include all of the classes, with their methods, and the relationships between them, as discussed in class and the textbook.

Of course you may have to make changes to the design as you work on the project, but this is to make sure you think through all of the things that will be needed before diving in.


 

Teams

This will be a team project, and I will assign the teams. They are:


 

General Requirements

When writing your program, also be sure to:


 

Submitting

To submit your program, email the program file to ifinlay@umw.edu.

Copyright © 2019 Ian Finlayson | Licensed under a Creative Commons Attribution 4.0 International License.