Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COMP2511 Project: Dungeon Mania

Part I) Introduction

0. Changelog

Tue 28 Jun 11:30am - Correct descriptions for  tick overloads in interface, add note about keeping branches when squashing and fix formatting in link, add setup images

Tue 28 Jun 6pm - Replace  gameMode parameter with  configName in new game method i.e.  newGame(String dungeonName, String configName)

Tue 28 Jun 8:00pm - Fix two battle calculation tests in  ExampleTests

Wed 29 Jun 9:30pm - Fix front-end config selector in starter code

Thu 30 Jun 10:30pm - Add  player to dungeon input entities

Sat 2 Jul 12pm - Allies provide attack/defence bonuses

Sat 2 Jul 12:30pm - Add coverage extraction                                                                                                                         Mon 4 Jul 9pm - Clarify square blast radius for bombs and mercenary bribing                                                                    Mon 4 Jul 11pm - Nesting of compound goals                                                                                                                      Tue 5 Jul 7pm - Fix wording of complex goals in 3.7.2                                                                                                           Tue 5 Jul 10pm - Fix provided config files for allies                                                                                                                Mon 11 Jul 1pm - Fix  getEntitiesStream in  TestUtils to check prefixes instead of entire entity type                        Sun 10 Jul 9am - Fix confusing exception and add precondiction in the JavaDoc for  FileLoader .loadResourceFile() Tue 12 Jul 4pm - Fix sample battle test to have positive delta instead of negative for health in  RoundResponse

1. Aims

Apply software design principles and patterns to create well-maintained software solutions

Synthesise and adapt to changes in requirements

Practice software design and development in a dynamic team environment using Agile principles

Work with the Java Programming Language and Java Class Libraries

Build medium-scale persistent web applications from scratch

Appreciate issues in the design and development of software

2. Overview

For many years, Penguin Pty Ltd (a small software business run by Atilla Brungs) has dominated the native application gaming market with hit games. However in recent years, advancements in web technologies mean that the new generation of consumers don't want to download and run a native application, but instead want to play games online. To adapt to the ever-changing market, Penguin Pty Ltd has decided to take users back to the 1980s and develop a new game called Dungeon Mania, but with a modern twist - designed as a web application.

Penguin Pty Ltd has sub-contracted two software firms:

BlueBottle Pty Ltd to develop a web-based frontend to the game

YourTeam Pty Ltd (a team of talented misfits completing COMP2511 in 22T2), who will build the backend Java application.

Furthermore, there is a rival company called Spheniscidae Pty Ltd which has already produced a solution which you can refer to as a possible sample solution.

Part II) Product Specification

3. Rules of the Game

In Dungeon Mania you control a Player and have to complete various goals within a series of dungeons to complete the game!

The simplest form of such a puzzle is a maze, where the Player must find their way from the starting point to the exit.

More advanced puzzles may contain things like boulders that need to be pushed onto floor switches,


enemies that need to be fought with weapons, or collectables like potions and treasure.

3.1 Player

The Player, can be moved up, down, left and right into cardinally adjacent squares, provided another entity doesn't stop them (e.g. a wall). The Player begins the game with a set amount of health and attack damage. The Player spawns at a set 'entry location' at the beginning of a game.