Uploaded by Adam Yousry

Final work

advertisement
KF4011 System Analysis Group Project
Project: Procrastination Station 2
Team members : Josselin Muntzer, Adam Eltarzi, Alfie Graves
Adam - 20000343
Introduction
This document's purpose is to outline our team's assessment for the module KF4011 Systems Analysis
2021. Our team has closely followed the guidelines we were provided with and this document will follow
as such.
Code of Conduct
Work Ethic
All members of the team will be treated with respect at all times, with everyone having an important role to
play. We plan to communicate before starting any of the work within the project and divide it equally. We
also decided that when we work on areas of the project individually we will finalise our work as a team.
When selecting which tasks to complete individually we plan on focusing on the content in which we are
most confident, whilst maintaining clarity and understanding with the other team members. If/when there
are arguments within the group we will tackle them by having a respectful conversation on why the
argument/issue occurred and how it can be resolved.
Communication
We will use Discord to communicate. This will allow us to easily communicate to each other and share
project decisions on a platform which most people here frequently use. We thought discord was also
optimal for our project as it saves chat history so we can always reference back any ideas or discussions
we have had previously on the project.
We are currently planning on meeting Mondays and Fridays, with Fridays being our focus day to work
through the project objectives for that week (we plan on using Mondays if there is an overflow of work
from the previous week). On these days we plan to meet as an entire group to brief each other on what
needs to be completed that day and then split into subgroups if necessary.
Source Control
We will use GitHub for source control.
Progress Tracking
-
Excel spreadsheet on Google Docs.
GitHub
Discord
Project brainstorm
-
Basic dungeon style 8-bit game
Time wasting app (fake bubble wrap, small puzzle, time based brain games, etc.)
Plant checker (when to water, how to help with certain conditions, etc.).
Bulk file renamer
Sequel to time wasting app
Project Skeleton - Dungeons
-
Dungeon based game
-
Game starts with a video story of a player getting lost and then trapped in the dungeon.
Each room will be built randomly from a set of elements, there will be a total of 9 variations for
each element.
Time limits for each room?
Labyrinth style?
If enemies are in game how complex will they be etc?
Music sfx
8-bit design
-
Project Skeleton - Time wasting
-
App designed that when you open it, it loads a game randomly from a library
The games would be designed as stupid mini games to waste time(e.g.: bubble wrap popper, bin
toss)
Add level of complexity to the games by adding in leader boards or time limits for the games.
Project Skeleton - Plant checker
-
App where u register your plant
The app then provides you information on how to keep your plants alive
It will notify the user when their plants need to be watered, etc.
-
Project Skeleton - Bulk file renamer
-
Removes repeat data
Used to tidy up data
Time Wasting Web App
The objective of this system is to provide the user with a simplistic but engaging experience in order to fill
‘awkward time’ that they have to waste. The system will be made up of a simple web page and a library of
10 mini games that will be randomly selected upon entry to the site, the web app will then cycle through
the games until all are played and then give the user the option to recycle the games to see if they can
achieve a better score, or waste more time, etc. The design for the system is intended to be simplistic to
make it usable for anyone, to achieve this we plan to make the UI simple and easy to understand by
limiting the amount of information on the page by limiting it to what is needed. To enforce the simplistic
layout of the app we plan on keeping the style simple, by using simple shapes such as circles, squares,
etc. and a basic colour scheme that's easy on the eyes.
After discussing the matter with our professor and team members, we have decided to progress
with the idea of making a sequel to the Time Wasting App. This is due to us already creating a
game beforehand and have collected data on this application.
Methodology
We have chosen the scrum methodology due to how agile and flexible said methodology is.Although the
scrum methodology is not ideal for unfamiliar technologies and complex systems, this should not be an
issue here, due to our familiarity with this type of system from last semester. Adam Eltarzi has been
elected Scrum master(person in charge of keeping everyone as productive as they can be). Josselin
Muntzer and Alfie Graves are team members.
-Adam Eltarzi (Scrum master)
-Josselin Muntzer (Scrum team member)
-Alfie Graves( Scrum team member)
Ethical approval
Our team member Josselin Muntzer has submitted and has gotten approval from the university's website.
Requirements
After discussing which method of data collection technique we were going to use,
we have decided to use the following
-
Questionnaires (conversational)
Research familiar games(Analytical)
Watch people play our prototype game (The prequel to this system)(Synthetic)
The creation of our prototype.
1- Questionnaire
Adam Eltarzi then created various versions of the questionnaires until the questionnaire was approved
by all team members and our professor. Our questionnaire has tried to capture both functional and
nonfunctional requirements from our users . A participation sheet was then created which the user reads
before filling in our questionnaire
Questions asked in the questionnaire:
1- What would you describe yourself as
2-What is the most important aspect of a video game?
3-What kind of music would you like playing in the background?
4- What type of animation style would you prefer?
5- How would you want the game to end?
6-How random do you want your games to be?
7-What would you want in a pause menu?
8-What type of control scheme would you prefer?
9- What type of Operating system do you use?
We found that the questionnaire was very useful and found that it was a very appropriate capture tool to
capture what users wanted in more detail and in both functionality and non-functionality. A more in depth
analysis of the results of this questionnaire will be given in the deployment section of this document.
2- Research of familiar games
What we are looking for:
- UI and hud
- Graphics of similar games
- What platform do these games use
- How do these games end
3- Watch people play our prototype game
What are we looking for:
-Helpful criticism on how to improve our prototypes
-See if users enjoy our games
4- The creation of our prototype
What are we looking for:
- A working prototype which fits our users needs which will be given to us
-By 25/09 we will have a working prototype which fits users needs on
invision
Deployment
1- Researching similar games
What we gained: A clearer vision on what our system should look like and a good reference on what
our game should do.
We then took a look at some popular time wasting games and applications which are similar to what our
users wanted. We then started testing these games to know more about how the games run and the
intricacies of said games. This we found very helpful and has started giving us a vision on how our
prototype should look and feel like. Below are some games and comments we tried and what we learnt
from said games
Ingame screen
Gameover
Comments
Flappy Bird was a popular application which was
deleted due to the creators personal reasons.
People can still access this application online.
Flappy bird is a simple game which focuses on
you clicking and making sure your character goes
through obstacles. Simple click controls.
Flappy Bird
https://flappybird.io/
Ingame screen
Game over screen
Passage
https://www.addictinggames.com/action/passage
Comments:
Passage is an online game which has a mobile variant. It has a similar idea to flappy bird where you have
to go through obstacles. However, the control scheme is different, point and drag to move your character.
More simplistic and sharp images rather than sprites.
Ingame screen
Main menu screen
Red Tie Runner
https://www.construct.net/en/free-online-games/red-tie-runner-1463/play?via=mp
Comments:
Red tie runner had a main menu and level select screen. WASD control scheme. An online game which
has a mobile variant. Goal of the game is to jump and to make it to the other end to progress through
levels. A bit more complicated but still rather simple. Very simple animation, focuses more on smooth
animation rather than how detailed the environment and the character is.
Game
Controls
Comment
Flappy Bird
Point and click
Very simple , user must click his
pointer to make sure the bird
does not fall
Passage
Drag and move
Simple, user must drag his
pointer whilst holding Left click to
move his sprite through
obstacles
Red Tie Runner
WASD keys
A bit more complex compared to
our other games, uses WASD
movement keys to move a
stickman through a platformer
Game
Platform
Flappy bird
Originally was on Apple and android, removed
from the store and now is Online
Passage
Has an online and mobile variant
Red tie runner
Exclusively online.
Conclusion of what we learnt:
We learnt that we should not put such importance towards the quality of sprites and animation and focus
more on replayability of said games. Although all the games we played are online and have mobile
variants, we have still chosen to have our games on a desktop. This is due to all team members being
comfortable with that platform the most, this will help us avoid issues regarding the game’s functionality
and keeps us on track in terms of time. It also has given us an idea on how to develop our UI design for
our main menu and how to present a game select in our main menu. All these games end by the user not
going through an obstacle and or falling into an obstacle. We concluded that we need to focus more on a
sense of achievement through time to make the game more replayable.
2- Watching people play our games
What we gained: not much.
We asked people close to us who are in our close bubble to play our prototype games and give us some
helpful criticism, although they played said games, most users just said that they enjoyed it and they
would like to have an improvement on graphics. They also said that they enjoyed the sense of difficulty
and progression.
Questionnaire Results:
The questionnaire helped us gather more analytical answers and helped us know what features we
should prioritize in our system. Below is what we learnt
From question 1 we found that we had a mix of different types of
systems in which people use to play games. Most people were
computer gamers with a total of 50% of people. The others were
a mix of mobile, console or other. This helps us as the system
was computer based meaning most users were already playing
games on a computer anyway.
Question 2 showed us that a sense of achievement is very
important across the system. With a few people answering both
difficulty and progression as the most important aspect, the main
thing we must focus on is giving the user a sense of achievement.
We think this can be done through a high score system giving the
user an aim to beat and this would ensure a goal in which the
player can aim for.
The answers for question 3 were very split with both dark and light
music preferred all depending on the person. We think that a mix of
music would be the best for the system, maybe changing the music
across each game to keep as many people satisfied as possible.
One thing we did learn is that nobody thought that we should have
retro 8-bit music in our system.
Again question 4 was very split however 3D rendered was
preferred. This is going to be hard to create across all the
games so we think that as long as we create different types
of games it should keep multiple users happy as there is a
good mix of animation styles.
Just like
the
question above we think as the most popular way for a
game to finish was other with 50% off the users
preferring this, we should create multiple ways for a
game to finish so if you take too long, if you lose lives, if
you reach a certain score or complete a level the
game/round will end.
For question 6 we asked about randomness of the
games in the system. The main idea which the users
gave us was that a bit of randomness is very much
preferred. We think this could mean where and when
an enemy spawns or what colours flash in Simon
says however the basis of the games stay the same.
After asking what a pause menu should include we realised
that the only thing people didn't select was level select
meaning the most likely will just want to play from start to
finish. We decided to try and include a quit main menu, a
reset level, sound controls and a options/settings tab on all
menus if possible which would keep every user happy.
For controls we have decided that WASD is the best option
as 80% of people prefer this. However certain games seem
unrealistic to use WASD keys for a game in which requires a
single click for example a Simon says style game or a
reaction time test type game.
The final question was about the operating system in
which most people use. We expected windows or IOS to
be the most common. This means we will make the
system for a windows OS computer as it is the most
used OS for stakeholders.
Finally we asked the user of consent to use the data in
the questionnaire and all allowed us to use this data. The
results can be found at the link below if required.
https://www.surveymonkey.com/results/SM-3JXD6QFD9/
Requirement stories
Below We will show the requirement stories which we have gained through our capture tools and will
present the musts/shoulds/coulds.
Requirement
Type
Priority
Use case
Source
Start Game
Functional
Must have
Play Game
Questionnaire/
similar games
Control select
Usability
Should have
Control layout
Questionnaire
Leaderboard
Non-functional
Must have
Game over
Questionnaire
Score system
Non-functional
Must have
Play game
Questionnaire/simil
ar games/people
playing our games
Game Select
Non-functional
Could have
Main Menu
Questionnaire
Level Select
Non-functional
Could have
Level select
Similar games
Quit game
Functional
Must have
Quit game
Similar games
Sound settings
Usability
Must have
Sound settings
Questionnaire
Resume Game
Functional
Must have
Resume Game
Similar Games
Moving Enemies
Non-functional
Should have
Varies from level to
level
Questionnaire/simil
ar games
Obstacles
Non-functional
Must have
Varies from level to
level
Similar Games
Runs on windows
Functional
Must have
Play game
Questionnaire
Element of
randomness
Non-functional
Should have
Play game
Questionnaire
Music type: Light
and chirpy
Non-functional
Should have
Play game
Questionnaire
Increase in
difficulty
throughout the
game
Non-functional
Could have
Play game
Questionnaire
Animation style:
3D rendered
Non-functional
Will not have
time.
Play game
Questionnaire
Sense of
achievement.
Non-functional
Should have
Play game
Questionnaire
Life system
Non-functional
Could have
Play game
Similar games
Reset level
Functional
Could have
Reset level
Questionnaire
Use case diagram
Zombie Game.
Prototype
We finally then created a prototype which we think fits all of most of our users needs which we collected
from our capture tools. However, we did not collect any data about what our participants thought of our
prototype
Prototype link:
https://procrastinationsystem.invisionapp.com/console/share/E62ZXWV4PM/756604526
Use Case Description
Use Case
Move right
Summary
This use case covers the player moving to the right
Actor
Player
Trigger
The player tries to move the zombie (his character) to the right
Primary Scenario
1 : Zombie moves to the right [A1: Zombie moves into an
enemy or obstacle] [E1: Zombie cannot move to the right
anymore]
2 : Use case terminated
Alternative Scenario
A1: Zombie moves into an enemy or obstacle
1: Player loses a life [A2: No lives are left]
2: Zombie returns to the beginning of the level
A2: No lives are Left
1: A game over prompt is shown
2: Player is asked if they want to restart the level or return to
main menu [E2: Player quits]
A3: Zombie walks into a collectable
1: Score increases by one
Exceptional Scenario
E1: Zombie cannot move to the right anymore
1: If Zombie is on the extreme right or something is stopping
him, all commands to move to the right are ignored
2: Use Case is terminated
E2: Player quits
1: player quits
2: main menu is presented
3 Use case terminated
Pre-Conditions
Game is being played and has loaded
Post-Conditions
Player is at main menu
Assumptions
None
Download