Download 9 Chapter 2 LITERATURE REVIEW 2.1 Basic Theorem 2.1.1. Game

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Artificial intelligence in video games wikipedia , lookup

Transcript
Chapter 2
LITERATURE REVIEW
2.1 Basic Theorem
In this section, we’ll explain about the theories that serve as the basis of this calculation.
These theories are fundamental, because they support the core elements of this research,
such as balancing, calculation and design. The theories we use are as follow:
2.1.1. Game
According to Fundamentals of Game Design, Second Edition (Adams E. , 2010), a game is
something that arise from the human desire to play and from our capacity to pretend. The
term “Game” is a combination of 4 elements: play , pretending , goal , and rules.
Play is a wide category of nonessential, and usually recreational, human activities that of
ten socially significant.
Pretending is mental ability to establish an imaginary reality that the pretender know is
different from real world and can be changed at will. Goal is the objectives of the game and
it can have more than one.
Goal of the game is defined by the rules and is important for game designers so that they
can define it any way they like.
Rules itself is a set of definitions and instructions that acts as standard for the game, which
player must agree to accept for the duration of the game.
Both Playing, Pretending, Goal, and Rules are the essential elements of a Game.
2.1.2. Human-Computer Interaction
For an application, User Interface is very important because what the player see in the
game is the User Interface. There are several theories on how to make a good User
Interface.
2.1.2.1. Eight Golden Rules
Eight golden rules is one of the interface design guidance in designing an application user
interface. The followings are the eight golden rules (Shneiderman & Plaisant, 2010: 74-75):
9
10
a. Strive for consistency
Strive for the consistency of the action sequence and the interface design, so that
users can easily accustom in using the application.
b. Cater to universal usability
Cater means knowing, knowing the needs of different users and design dynamic
contents as needed such as: knowing the difference between the experts, age
differences, users’ condition, and the different technology in doing the design.
c. Offer informative feedback
Offer informative feedback to users in every action or events. For example: Giving a
warning dialogue box and sounds when an error occurs.
d. Design dialogues to yield closure
Action sequence should be organized into several sections, such as: beginning
sections, middle sections, and last sections. These should result in responses, so
that users know the result of the action and proceed to the next section.
e. Prevent errors
Designed system should detect errors so that users won’t do a fatal mistake and
give solutions to the designated mistake.
f.
Permit easy reversal of actions
Added some feature to cancel the selected actions, to reduce user anxiety when
the user knows mistakes have been made.
g. Support internal locus of control
Experts usually want to be the system controller, not ruled by the system. That is
why the system should be designed as if the users are the one who start the actions,
not the other way around.
h. Reduce short term memory load
Users have a capacity limitation in processing information and remembering in a
short term. That is why the designed application should not force obligation
towards the user to memorize information in the previous screen.
11
2.1.2.2. Five Measurable Human Factors
Humans are the most important element in interacting with computer, so in designing an
application, some factors need to be taken into account to help them as users. There are 5
measurable human factors (Shneiderman & Plaisant, 2010: 162-163):
a. Time for users to learn specific functions
Design an interface where the user could immediately learn in a short amount of
time so that he/she could easily and quickly learn how to use it.
b. Speed of task performance
Design the application with a fast processing speed so the user could use it
smoothly.
c. Rate of errors by users
Rate of errors contains how much errors made by the user and what kind of errors
that could happen during the usage of the application.
d. User retention of commands over time
Retention over time means user’s ability to preserve his/her knowledge after a
certain amount of time.
e. Subjective user satisfaction
Subjective satisfaction contains user’s satisfaction towards various aspects of the
system that is achieved by conducting surveys on a group of users to obtain
satisfaction levels.
2.1.3. Database
Database system, according to Concepts of Database Management (Philip Pratt & Joseph
Adamsky, 2011), is a structure that contains information about many different categories of
information and about the relationship between those categories. For example, The
Premiere Products database will contain informations about sales reps customers, orders,
and parts.
2.1.4. Game Design Document (GDD)
Game Design Document (GDD) are what the Game Designer use to make a rough outline
about the game they want to make. The size varies, but usually they have 7 types of Game
Design Documents (Adams, 2010:54-55).
12
GDD is needed to avoid mistake in programming the game. A Professional Game
Programmer usually look at the GDD first until he/she know the requirements fully, then
proceed to code the game.
There are total 7 types of Game Design Documents (Adams, 2010:56-58):
•
High Concept Document
High Concept Document is like a resume which is a document that sums up
designer’s game with the designer’s key idea so that he can read in a few minutes.
The High Concept Document is short, which is not more than two to four pages long.
•
Game Treatment Document
Game Treatment Document is like a high concept document but more like a sales
tool. The purpose is to present the game to a broader outline to someone who’s
interested to the game itself. This document is given usually after the game
designer’s presentation is done. Game Treatment Document points out the point that
makes the designer’s game different from another game.
•
Character Design Document
Character Design Document is a document which records the design of the
characters which appears in the game or what is called avatar. This document also
shows a list of the characters moveset which is the animation list, skills, art in
different poses, facial expressions. This document also contains the characters
background information about its weaknesses, strengths, likes and dislikes, etc.
•
World Design Document
The world design document is a document, which portrays the game world and
contains the background information of what the world contains. This document
contains layout, buildings, and audio. Map is also included especially if the designer
have some levels in the game. World Design Document also document “Feel” (if the
13
designer wants to) like whether the designer wants to arouse particular emotions
through images and music.
•
Flowboard (Storyboard)
Flowboard is the mixing between flowchart and storyboard which is use to document
the structure of a game. Flowchart is charts which use to show the flow of the
algorithm.
•
Story and Level Progression Document
This document records the entire story of the designer’s game story and also the
levels progression from one to another. If the game is a small game with only one
level, this document is not needed.
•
The Game Script
Game Script is the documents which is used to explain the rules and the key
mechanics of the game as what the players can or cannot do. Game script also covers
the dialog used in the game.
2.1.6. Unified Modelling Language (UML)
Unified Modelling Language is a set of modeling language which represents software
systems in to the set of notations or objects (Whitten & Bentley, 2007: 371). There are
several kinds of UML, but to make a game, we only need 3: Use Case, Class Diagram, and
Activity Diagram.
2.1.6.1. Use Case Modelling
Use-case Modeling is the model of a system’s functions, in terms of events (business or
others), who initiated the events, and how the system responds to the events (Whitten &
Bentley, 2007: 245-248). Use Case Modelling is divided into 2 parts: Use Case Diagram and
Use Case Narrative.
Use-case diagram is a diagram that graphically draws the system as a collection of use cases,
actors (users) and their relationships. Use case diagram comprised of 3 elements: Use Case,
Actors, and Relationships.
14
Figure 1 Sample of Use-case Diagram
(System Analysis & Design For Global Enterprise, 2007)
a. Use-case is an ellips that contains a single task.
Figure 2 Sample of Use Case Symbol
(System Analysis & Design For Global Enterprise, 2007)
b. Actors are the ones that doing the task stated in use case. Actor is
symbolized as stickman figure.
15
Figure 3 Sample of Actor Symbol
(System Analysis & Design For Global Enterprise, 2007)
c. Relationships are depicted as a line between two symbols on the usecase diagram. There are several different relationships, which one of
them is Associations.
An association is symbolized as a solid line which connects an actor and
a use-case.
Figure 4 Sample of Association
(System Analysis & Design For Global Enterprise, 2007)
The line with an arrow is the one that is doing the use case, while the
one that don’t have arrow is the one who received the use case.
Use-case Narrative is a textual description of the business event and how the user will
interact with the system to accomplish the task (Whitten & Bentley, 2007: 256-260).
16
Figure 5 Fully described version of Use-case Narrative
(System Analysis & Design For Global Enterprise, 2007)
2.1.6.2. Activity Diagram
The activity diagram is a diagram which can be used to graphically describe use case,
business process, or logic of an object behavior more details (Whitten & Bentley, 2007: 390391).
17
Figure 6 Sample of Activity Diagram
(Bell, 2003)
Activity Diagram comprised of 8 types of nodes:
1. Initial Node – A solid circle that represents the start of the process
2. Actions – A rounded rectangle that represents an activity or action in sequence.
3. Flow – The arrow which represents the progress of the actions.
4. Decision – The diamond shapes with 1 flow coming and 2 or more going out
which is marked with conditions.
5. Merge – The diamond shapes with two or more flows coming in and 1 flow going
out which is used to combined flows that separated by decisions.
6. Fork – A black bar with one flow coming in and two or more flows going out
which used to indicate actions on parallel and can occur in any order or
concurrently.
18
7. Join – A black bar with two or more flows coming in and one flow going out
which note the end of the fork. All of the actions should be completed first before
continuing the process.
8. Activity final – a solid circle inside the hollow circle which represents the end of
the process. One activity must only have 1 activity final.
The activity diagram sometimes add additional detail only implied in the use case.
2.1.6.3. Class Diagram
Class diagram provides a graphical depiction of system’s object structure, along with its
relationships between the object classes (Whitten & Bentley, 2007: 400).
Figure 7 Sample of Class Diagram
(http://programmers.stackexchange.com, 2015)
Each box is divided into 3: top, middle, and bottom. Top part contains Name of the class,
the middle part contains the attribute of the class (attribute means object characteristic),
19
and the bottom part contains the operations, behaviors or method of the class, which
refers to what objects of the class, can do.
Each box class diagram has relationship with each other. The relationship betwwn boxes
are realization, association, dependency, aggregation and composition.
2.1.7. Scrum Methodology
According to Introduction to Agile Methods (Sondra Ashmore, Ph.D. & Kristine Runyan),
Scrum is a branch of Agile Methodology. In Scrum, each member is equally important and
must contribute for this method to be successful. Scrum emphasizes the importance of
organizing project into specific durations, known as time-boxes, that help the team know
what they need to focus on each day and encourage a sense of urgency. Work
requirements are grouped into chunks of work that can be completed in one to six week
time frames called Sprints.
Figure 8 Scrum Methodology
(Agile Project Management With Scrum, 2011)
All designs, development, test, and customer validation work is contained within the sprint;
the goal is that by the end of the sprint, the new functionality is ready to deliver to
customers. The actors in Scrum are divided into 3: Product Owner, Scrum Master, and
Scrum Team Member. Product Owner is the one that own the product and the one whose
20
project you made, Scrum Master is the one who supervise the work and takes away all
distraction, and the Scrum Team Members are the ones who work on the project.
2.1.8. Video Game Genre
According to Video Game Design Revealed (Guy W. Lecky-Thompson, 2008), video game
genre is determined by the game’s goals, the protagonists, and the perspective offered to
player, which means how the character interact with the gaming universe. The video game
genre are separated into several different genres: Action, Simulation, Adventure, RolePlaying, Puzzle, Multiplayer Action, and Non-Real-Time Games.
2.1.8.1. Role Playing Game (RPG)
What is RPG? According to Fundamentals of Game Design, Second Edition (Adams E. , 2010),
RPG is one genre in which the player controls one or more characters, typically designed by
the player, and guides them through a series of quests managed by the computer.
Character growth in power and abilities is a key feature of the genre. Typical challenges
include tactical combat, logistics, economic growth, exploration, and puzzle solving. RPGs
allow players to interact with a game world in a wider variety of ways than most other
genres do, and to play a richer role than many games allow. The RPGs can be divided into
computerized RPGs(CRPGs) and tabletop RPGs. In both kinds of RPGs, the object is to
experience a series of adventures in an imaginary world, through an avatar character or a
small group of characters whose skills and powers grow as time goes on. This group of
characters who go on these adventures together in an RPG is universally called a party. In
tabletop RPGs, the adventures, usually characterized as quests to achieve some goal, are
devised and staged by one player acting in a special role as the game master(GM). The GM
must decide whether the actions proposed by the players are permitted within the rules
and determine the consequences of all actions. This makes the tabletop RPGs more
complex as the rules are subjective and changed according to the agreement between the
players. Meanwhile in CRPGs, the computer implements the rules, performs the activities of
the game master, and presents the game world on the screen. Because the computer can
offer the players only a fixed set of actions and can’t invent new rules on the fly, CRPGs
aren’t as flexible as tabletop RPGs. However, the visual and simplicity become the main
charm that makes the CRPGs more accessible and attractive to the novice players than
tabletop RPGs.
The key aspect of tabletop RPG is role playing, which is improvisational drama in which
each player plays the role of his avatar character and the GM plays the roles of any NPCs.
21
Emotional relationships can arise and change among the characters as the players play their
respective roles. CRPGs on the other hand, have only borrowed the general themes and
core mechanics from tabletop RPGs, not the role playing itself. In single-player CRPGs, the
player can only hold conversations with NPCs, which also results in the game having fixed
story(both branching or single ending).
2.1.9. Customization System
Customization system (referring to character/avatar customization) allows the player to
modify the appearance or abilities of his avatar character by selecting interchangeable
features. In RPGs, this often takes the form of giving the character(avatar of the player)
new skills, clothing, weapons, and armor. Customization can occur both at the beginning of
the game and through upgrades awarded or purchased as the game goes on. In this way, a
player creates a unique character of his own design.
2.1.10. C#
C# language is a true object-oriented language that includes a rich set of instruction
statements (Doyle B. , 2013). C# was used for .NET development, which includes a
collection of more than 2000 predefined classes that make up the Framework Class Library
(FCL). C# provides tools that make it easy to create graphical user interfaces (GUI) and in
making web application.
2.1.11. Unity
Unity is a game development ecosystem: a powerful rendering engine fully integrated with
a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D
content; easy multiplatform publishing; thousands of quality, ready-made assets in the
Asset Store and a knowledge sharing community.
2.1.12. Active Time Battle (ATB)
According to Giant Bomb (© 2014 CBS Interactive Inc. All rights reserved, 2014), ATB is a
battle format heavily associated with Square Enix’s Final Fantasy franchise. In ATB,
characters don’t always act on a 1:1 turn ration, but instead act as determined by Charge
Time. Each unit is give a gauge that fills over time. Once filled, that unit may take an
action(attack, using a skill, or using an item) which causes the bar to be empty. After that,
the cycle is repeated until the battle is over. ATB provides extra challenge as player must
responds and times their actions because the enemies won’t wait until the player finishes
choosing an action.
22