Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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