Version 1.0
n/a
1. Introduction |
---|
Purpose |
Scope |
Definitions, Acronyms, and Abbreviations |
References |
Overview |
2. Overall Description |
3. Specific Requirements |
Functionality |
3.1.1 GUI |
3.1.2 Endless, procedurally generated dungeon |
3.1.3 Themes |
3.1.4 Enemies |
3.1.5 Items |
3.1.6 Combat System |
3.1.7 Movement System |
3.1.8 Different Terrains |
3.1.9 Base |
3.1.10 Character Creation |
3.1.11 Skills |
Usability |
3.2.1 Accessability |
3.2.2 Settings |
3.2.2 Deployment |
3.2.2 Required Training Time |
Reliability |
3.3.1 Bugs |
Performance |
3.4.1 Ressource utilization |
Supportability |
Design Constraints |
3.6.1 Language |
On-line User Documentation and Help System Requirements |
Purchased Components |
Interfaces |
3.9.1 User Interfaces |
3.9.2 Hardware Interfaces |
3.9.3 Software Interfaces |
3.9.4 Communications Interfaces |
Licensing Requirements |
Legal, Copyright, and Other Notices |
Applicable Standards |
4. Supporting Information |
Software Requirements Specification |
The SRS fully describes the external behavior of the application or subsystem identified. It also describes nonfunctional requirements, design constraints, and other factors necessary to provide a complete and comprehensive description of the requirements for the software.
The scope of this project consists of two parts - the "Dungeon Crawler" part and the base-building aspect.
NAP [studio name]: Nightmare Adventure Productions
NAP [game]: Neverending Awesome Pdungeon
HP: Hitpoints (Health)
MP: Manapoints (Used to activate skills)
XP: Eperience Points
GUI: Graphical User Interface
UC - Interacting with loot containers
Our Vision is to create a game, that combines features of a dungeon crawler game with those of a base-building system. Not only are you going to crawl through the dungeon and explore a new world, but you will have to buy upgrades at your base to gain access to more advanced equipment.
With „Neverending AWESOME Pdungeon – We needed a name edition“, we want to promote the players‘ curiosity and ambition by facing them with increasingly difficult challenges.
Technologies:
- Our Project will be realised with Unity.
- For Project Management we will use TeamCity.
- IDE: VisualStudio
Planned subtasks / features:
- creating the GUI
- the dungeon part
- endless, procedurally generated dungeon
- implement different enemies
- combat system (weapons)
- random items for players to find
- movement system
- upgrade system / skill points
- different terrains
- skill tree
- character creation
- base
- upgrades
- build workshops to craft your own gear
The Graphical User Interface of the game will show the most important information at a glance, without overwhelming the user by containing to much information. The GUI will contain Hit Points, Mana Points, and the item/the items the players character is currently using. To minimize the required training time for experienced players, the elements of the GUI are color coded with the same colors used in other games of the genre (eg. red for Hit Points, blue for Mana points).
Each floor is generated by first randomly choosing a theme, placing different rooms and defining an entrance (staircase from the floor before) and an exit (staircase to the following floor). For each room, a path leading to all doors is defined, afterwards all enemies, terrain, items and obstacles are randomly placed in the rooms. Obstacles can not be placed on the paths between doors, which ensures the player can reach all adjacent rooms.
Floors have different Themes, which are assigned randomly on creation of the floor. The theme has influence on the terrain, enemies and items the player can find on the floor. The themes are visually represented by using different graphics for each theme.
While exploring the dungeon, the player will encounter enemies which are trying to stop the player from progressing further by attacking them and reducing their HP to zero. Enemies will use different fighting styles (melee attacks, ranged attacks, magic) and have different vulnerabilities. This means the player has to change their strategy depending on the enemies they are fighting. The kind of enemies the player is going to encounter depends on the theme of the floor and the difficulty level. Killing enemies provides Experience Points (XP) and Gold to the player, which can later be used for upgrades.
In the dungeon, players can find items that enhance their capabilities or give them new skills. These items are randomly placed when generating the dungeon, the items themselves are taken from a pre-defined pool of items and are not randomly generated. The items are classified by how powerful and how useful they are. The more powerful an item, the lower the propability to find it in a dungeon. Items found in dungeons can later be stored in the players base or can be sold.
Both players and enemies can utilize different weapons and fighting styles in combat. Those fighting styles are melee, ranged, and magic. The player will be able to find different weapons for each fighting style. Magic is going to be the most powerful and versatile fighting style, this is going to be balanced by limiting the usage of spells with mana points.
The game is going to use an 8-axis movement system. Movement speed can be enhanced or decreased by using items or spells.
Depending on the theme, a floor can contain patches or consist entirely of terrain with different properties from the default terrain (eg. increasing or decreasing movement speed, healing or damaging the player). These properties can be both beneficial and harmful for the player. Different terrain is clearly marked by using different graphics.
With the gold the player has found in the dungeon, they are able to build and upgrade their base. The players base consists out of different rooms. Each room has its own level and can be upgraded individually. Building and upgrading a room gives new options to the player.
The player is able to change the visual appreance of their character. The characters apprearance does not change its capabilities, but it helps the player to engage in the game and make it their own.
Skills are used to represent the characters capabilities and their specialization. After earning a certain amount of XP, the player is awared a skill point, which they can invest in one of their skills, further enhancing their capabilities. The skills are spread out in different skill trees, investing enough points in a skill tree unlocks new skills of that tree.
For a certain amount of gold, the player is able to retrain their character. Retraining a character means reallocating all of their skill point. Being able to retrain means players are not locked in into playing the game in one specific style. They can try out new stratigies easily, and mistakes in allocating skill points only have minor consequences instead of permanently ruining the players fun.
The game should be playable on most modern desktop computers by being ressource-efficient and cross-platform. A keyboard/mouse-combo or a standard XBox or PlayStation controller should be sufficient.
The user should be able to customize different settings, such as ...
- Volume
- Controls
The game will be published as a free download on our blog. Automatic updates will be available if published via game distribution platforms like Steam or the Google Play Store.
The controls will be simple, intuitive and easy to remember. Mastering the game, however, requires a lot of practice and strategy.
The game should be as bug-free as possible. Any game-breaking bugs will be fixed as soon as possible, even after the release.
The game will be arguably ressource-efficient and should run on most computers that can run Unity at all - see https://unity3d.com/unity/system-requirements.
An internet connection will not be required for any purpose other than initially downloading the game or subsequently updating it.
n/a (yet)
Due to Unity being the utilized game engine, we will be using C#. Javascript would be possible as well, but C# is more powerful.
There will be a tutorial and a manual.
Unity Personal is free to use for up to 100.000$ yearly income. Since we'll be publishing the game for free, this will not be an issue. Even if we someday publish paid DLCs, we're unlikely to cross this threshold.
The game will feature a GUI.
The game requires access to a keyboard and mouse or a game controller, as well as some way to be displayed.
The only software that our game interacts with is Unity itself.
n/a
The game will be published under the MIT license.
Unity will be used for the game.
This list will be expanded as necessary.
We will adhere to common standards in game controls, such as using WASD-keys for movement.
n/a