Skip to content

Iteration 3: RAD and First Implementation

Süha Tanrıverdi edited this page Apr 8, 2019 · 13 revisions

CubeX

Requirements Analysis Document (RAD)

1. Introduction

1.1 Purpose of the system

CubeX is a Single Player Game in which a single player competes against the game system. Everyone can play CubeX for having fun.

1.2 Scope of the system

In the game player tries to pick up game resources for receiving more points and reach to finish point of the level while not captured by enemies or obstacles. The specific rules of the game can be found in the appendix.

1.3 Core System Functionalities

Application be able to:

• Allows user to select previous levels until where player came to play.
• Note that there is no ability to save a game in progress; the players must either complete the game or exit it.
• Allows user to turn off/on the game music.
• Provide an alternative keyboard-only mechanism for playing tiles and moving them on the board.
• Allow user to see his/her received points of each level.

1.4 Objectives and Success Criteria of the Project

The success of the application depends upon meeting the following core set of objectives:

• The design of a command mechanism to encapsulate all changes to the model as a series of commands to be executed on the model.

1.5 Definitions, Acronyms, and Abbreviations

Important terms and concepts are listed here. More will be added by the project teams.

Model A schematic description of a system that accounts for its known or inferred properties

View A visual representation of a model which might also enable a user to manipulate properties of the model

Game A game is an instance of CubeX

Board A two-dimensional structured game area.

Player Any user that interacts with the system.

System Any interactions performed by the application are considered to be performed by the system.

Score The number of points earned by player in the level.

Timer The system process keeping track of the amount of time a player has left to complete the level.

Log A record of all of the level in the game’s major interactions.

1.6 References

https://docs.unity3d.com/ScriptReference/
https://docs.unity3d.com/Manual/UIReference.html
https://unity3d.com/learn/tutorials/topics/scripting/how-communicate-between-scripts-and-gameobjects
https://developer.android.com/topic/libraries/support-library/packages.html#v7-recyclerview

2. Current System

No system is in place but you can visit and play WordSteal at an online site (for Free). I encourage students to do this so they can get a sense of the game behavior and logic.

3. Proposed System

3.1 Overview

This section provides a functional overview of the system. This will again be properly be divided into two parts

3.2 Functional Requirements

• The game is for a single player.
• Players must be able to start a new game when the program is loaded.
• Players must be able to start a new game during the progress of a game with confirmation that they want to cancel the old game.
• The score must always be displayed on a score board.
• Players must be able to select previous level to play.
• Players must be able to save the log of the game.

3.3 Nonfunctional Requirements

3.3.1 Usability

• Game must be playable on android.
• “About” and “Help” information about the game must be able to be retrieved at any point during the game or the run of application.
• SYSTEM will provide status messages to the player to inform the player of the state of the game.
• SYSTEM must play a sound when player has 10 seconds or less during their turn. (Single beep)
• SYSTEM must play a sound when player runs out of time. (Alarm clock)
• SYSTEM must play a sound when player finish the level.
• SYSTEM must play a sound during the game.

3.3.2 Reliability

• Components of the project code will be tested alongside the implementation phase to ensure that they are functional.
• Final, integrated project Code will be tested with EclEmma to ensure that greater than or equal to 80% of the integrated code is covered at run-time, and is functioning properly. The remaining 20% will be inspected through manual testing to ensure the highest chance of being quality code.

3.3.3 Performance

• Game must be smooth without graphical lagging.

3.3.4 Supportability

• The application must be run on Android.

3.3.5 Implementation

• Project will be implemented in C#. Using Unity Game Engine.

3.4 System Models

3.4.1 Use case model

usediagram_3

3.4.2 Object model

class

3.4.2.1 Sequence Model

sequ

3.4.3 User Interface – Navigational Paths and Screen Mock-ups

Scenarios

w e q r

open 2 menu

1 ingame pat

5. Appendix: CubeX Rules

CubeX is a fast and competitive cube game played by a single player. The aim of the game is to pass the obstacles with the right strategies from the given play area and reach the specified area. Setting up a Game
• To start a new game, click "Start New Game".
• With "Options" you can turn the sound of the game on or off at any time.
-> Turn on / off Game
-> Turn on / off SFX Volume

• With the "Select Level" button, you can play the parts you played previously. This gives you the chance to achieve higher scores.
• The 'stars' you collect will earn points. The more stars you collect, the higher the score. We can easily access this score in the "Show Scores" button.
• Every game we play is kept on record. So the data is never lost. The "Save / Load Game" button helps us with this.
Basic Game Rules • Each episode presented in the game is the same for all players.
• Each player is given a blue cube when he starts the game. And this blue cube tries to move the green field.
• The main purpose of this game is to collect the stars and get a high score while moving the cube to the green area. This will meet many obstacles when going to the goal.
• Levels move from easy to difficult. The difficulty level increases as the levels progress. The player faces new challenges.
• The cube area has a certain limit. The cube falls down when it crosses this border.
• The cube moves back and forth to and fro. There is also the ability to skip obstacles at the same time.
• The cube will die when it touches the tarp. It must jump over or pass over this obstacle.
• Finds flame fields.There are some endless gaps. The cube can fall. There are also red enemies. These enemies are constantly on the route given to them. The cube dies when you hit these enemies.
• There are some purple doors on the road. They provide intermediate transitions. The keys in some places allow us to open these doors.
• The game ends when all the obstacles reach the green area.

Scoring

• The score is determined by the collected stars. If the player collects many stars, the score is higher. When he/she does not get a high score, the player can increase his / her points by playing this level again.

Glossary

• Hearts: An alternate term for a character's life points or health.
• Obstacles: A difficulty or problem that prevents you from achieving something.
• Game resources: Many games involve the management of resources. Examples of game resources include tokens, money, land, natural resources, human resources and game points.