Mountain Group 105

A major component of UofT's second year software design course is to work in groups (of six) to design and actually create some piece of Java software. The project could be nearly anything, the main requirement being the design (and final product) had to follow Robert Martin's Clean Architecture.

The group I worked with decided to make a rogue-like game.

It features random map generation, a battle system, an item/inventory system, a minimap, automatic progress saving, and implicit references to Greek mythology!

The project lasted the duration of the semester. September and October involved the design, while the majority of the actual programming being done in November and December.

The majority of my time was spent working on the main map, and map generation. The latter, being far more complex then the former and required some clever use of graph algorithms. Near the end of the project I also made the minimap, which, while not in the original scope, it made a great deal of difference in the gameplay experience in practice (you could now actually navigate instead of just guessing where to go).

After the end of the semester, I polished the game some more. Nearly all the changes are graphics and user interface changes, the core logic and project structure remains unchanged. In the links below, (v1) tagged links represent the project as was submitted, while (v2) tagged links include these modifications.

Screenshots from the game.
Four screenshots from Mountain Group 105. Starting from the top left, going clockwise they are the map screen, the battle screen, the minimap screen, and the inventory screen.

Links