@final aspen For a text-based RPG, these are the requirements
A Graphical User Interface (GUI)
Your game will need to have a graphical user interface (GUI). It does not need to use JavaFX or any other library, but rather can be implemented purely in the terminal. See the examples below for the types of basic GUIs that we would be looking for.
Game Engine
Game designers should be able to customize various game settings and environments, such as game levels, maps, stories, plots, etc, by editing suitable files such as JSON/YML game configuration files.
The game engine can generate an RPG game from the game configuration files. For example, in a treasure hunting game, game designers can customize the game maps, levels, items, etc in the configuration files.
An existing Java game engine can be used (to handle the heavy-lifting computation) if you do not wish to create one and it is still customisable via files like JSON/YML.You should show evidence of how you selected the game engine (what else did you consider?), and any steps you took to implement/integrate it into your game/game design. You can also do this if your group wishes to focus more on the actual gameplay, graphics, adding additional features etc.
Automatic Game Tester
The game tester can generate suitable user input test cases to test the game from the game configuration files in the game design stage. The game tester should also run the game automatically and output the testing results to game designers. For example, in a treasure hunting game, the game tester should generate test cases in terms of player movements in a maze to test if there are errors in the game plot, generate test inputs or validate any other aspect of the game. These can be hard coded tests to ensure logic changes do not break existing functionality, or randomised tests to ensure that the game is robust and can handle unexpected inputs.
The Game
You should also design an exciting playable RPG to showcase the abilities of your game engine and game tester. Remember, the goal of this assignment is not the game itself, but rather how you went about creating the game.
For this task, you are required to create fine-grained (detailed), INVEST-appropriate, template-abiding user stories for the following features.
For a group of 4 members
Movement
Maze/Map/Level
Enemies
Inventory system
Saving and loading the game
Can also include saving/loading from multiple saves
Additional Features
You must also identify as five additional features that have not been already identified. For example, multiple difficulties or a tutorial.
Be creative when coming up with the additional features!
How to present these features: You will have to write your selected features as fine-grained (detailed), INVEST-appropriate, template-abiding user stories. Present these along with the estimated time to complete them; prioritise these user stories. List these within the Activity-1-User-Stories.md file located within your forked repository.
INVEST:
Independent
• Schedule in any order.
• Not overlapping in concept
• Not always possible
Negotiable
• Details to be negotiated during development
• Good Story captures the essence, not the details
Valuable
• This story needs to have value to someone (hopefully the customer)
• Especially relevant to splitting up issues
Estimable
• Helps keep the size small
• Ensure we negotiated correctly
• “Plans are nothing, planning is everything” -Dwight D. Eisenhower
Small
• Fit on 3x5 card
• At most two person-weeks of work
• Too big == unable to estimate
This is the story template:
“As a [role], I want [function], so that [value]”
E.g.:
As a system manager, I want to create and configure an iLearn environment by adding and removing services
to/from that environment so that I can create environments for specific purposes.
• As a system manager, I want to set up sub-environments that include a subset of services that are included in
another environment.