BINA NUSANTARA | Library & Knowledge Center



CHAPTER 2

THEORITICAL FOUNDATION

1. Multimedia Theories

1. Multimedia

1. Definition

Multimedia has a definition, that is applications that use Various aspects to increase attractiveness, such as text, images, drawings (graphics), animation, video, sound (speech also), and interactivity of some kind. (Li & Drew, 2004).

There is another definition of multimedia that is a whole combination of writing, art, sound, animation, and video that is presented to people or electronic device or digital manipulation media. Multimedia can also be the combination of text, photo, picture, sound, animation, and videos that is digitally manipulated by Vaughan (2010).

2. Five Elements of Multimedia

Based upon Vaughan (2010), Multimedia is interlaced combinations of digitally manipulated text, photographs, graphic art, sound, animation, and video elements. When the viewers are capable of controlling the elements being sent to users, it is called as interactive multimedia. Otherwise, when users are capable of controlling the given structured elements therefore users are able to navigate the interactive multimedia is called hypermedia.

1. Text

Text is one of basis multimedia elements that is used to communicate thoughts, ideas and facts in nearly every aspect of human lives. Text is varied according to its appearance; effects, fonts, and colors. Text is also useful in terms of multimedia as it’s capable of showing the main idea in titles, headlines, menus, navigation and its very content. Not to mention, typefaces take important part in text whether it is serif or sans serif. Serif determines the little decoration in the end of a letter stroke; otherwise sans serif does not possess the little stroke by the end of a letter.

2. Picture

Picture is another media to deliver information to viewers/readers, as pictures have specific information behind those drawings therefore may deliver information way faster than text do. Pictures can be divided into three categories, which are picture from real world (painting, scanned photo), virtual picture that can be produced from editor program, and the combination between both of them. Pictures also distinct according to how it gets generated by computer either bitmaps or vector-drawn. Bitmaps pictures consist of pixels of certain color which build the entire picture, while vector-drawn pictures consist of vectors such as: lines, boxes, circles, polygons, and other graphic shapes which can be determined using mathematical equations such as: angles, coordinates, and distances.

3. Sound

Sound is a wave phenomenon like light, but it is macroscopic and involves molecules of air being compressed and expanded under the action of some physical device. Sound’s loudness is relied upon its medium, amplitude, frequency, and periodic to transfer the waves into ears. Sound is measured using a measurement called decibels or shortened into dB. A sound with more dB will result in a bigger output into listeners’ ears.

4. Animation

Animations are occurred due to the biological phenomenon, known as phi. This is the biological event by objects caught by human eye and the objects still remain inside human eye while getting mapped retina after viewing. Therefore the events results in the images moving very fast, pictures by pictures creating a visual illusion of movement.

Various animations are created / generated by computers:

A. 2-D animations

Two dimensional animations are simple and static, not simply changing the position on viewers’ screen.

B. 2.5-D animations

There is an illusion added to the animation in terms of z axis, by giving various effects to the animation to its either x or y axis. For instance, shadows, emboss, bevel, and highlight.

C. 3-D animations

Three-dimensional animations which generally generated by computers by calculating all three axis: x, y, and z axis, which allow the animations to be seen in various axis.

5. Video

Video is sequential image frames recorded on film using a light sensitive technology similar to photography. Videos are divided according to its frame rate, frame / image size, and color depth / resolution which combine into a single video file. Videos are scattered through various version across the globe, such as:

A. NTSC (National Television System Committee).

NTSC videos provide 525 interlaced resolution lines and 30 frames per second. It’s officially launched in North America, South America and Japan.

B. PAL (Phase Alternate Line).

PAL videos provide 625 interlaced resolution lines and 25 frames per second. It’s officially launched in Australia, South Africa and Europe.

C. SECAM (Sequentiel couleur a memoire).

SECAM videos provide similar features as PAL offers. However, it’s only officially launched in France and Russia.

2. Computer and Human Interaction

1. Eight Golden Rules

Based on Shneiderman and Plaisant (2010), there are eight golden rules in creating a good interface;

1. Strive for Consistency

As a designer of a user interface, there are several things to consider about to keep them consistent; action sequence, prompt, menus, and help screens.

2. Serve Universal Usability

As the frequency of use increases, so do user’s desires to reduce the number of interactions and to increase the ease of interacting to the system. Abbreviation’s function keys, hidden commands, and macro facilities are very helpful to an expert user.

3. Offer Informative Feedback

For every user inputs to the system, there should be some system feedback. For frequent and minor actions, the response can be modest, while for infrequent and major actions, the response should be more substantial.

4. Design Dialog to Yield Closure

Sequences of actions should be organized into groups with a beginning, middle, and end. The informative feedback at the completion of a group of actions gives the operators the satisfaction of accomplishment, a sense of relief, the signal to drop contingency plans and options from groups’ minds, and an indication that the way is clear to prepare for the next group of actions.

5. Offer Simple Error Handling

Design the system so that the user cannot make a serious error. If an error is occurred, the system should be able to detect the error and offer simple and comprehensible mechanism for handling the error.

6. Permit Easy Reversal of Actions

Design the system so that whenever the users mistakenly input something into the system, it may be reversible to the previous state before inputting.

7. Support Internal Locus of Control

Design the system to make users the initiators of actions rather than the responders. Due to the desire of experienced operators that they are in charge of the system and that the system responds to users’ actions.

8. Reduce Short-Term Memory Load

The limitation of human information processing in short-term memory requires that displays be kept simple, multiple page displays to be consolidated, window-motion frequency be reduced for codes and sequences of actions.

1. Five Measureable Human Factors

According to Shneiderman and Plaisant (2010), there are five measureable human factors that turn out to be a guide to evaluate the making of an interface:

1. Speed to Learn

Speed determines how fast a member of community interacts properly with the system.

2. Performance Speed

Performance speed determines how fast an action can be accomplished by the system. This factor also measures user’s subjective satisfaction towards system’s performance.

3. Rate of User Errors

Rate of User Errors interprets the occurrence and types of errors done by users while performing a task. Error handling takes an important role of an interface, despite being not relevant to performance speed, it requires advanced learning.

4. Retention of Knowledge over Time

Retention of knowledge provides a further detail regarding how good a user can recall previous knowledge after an hour, a day, a week or even further. The learning acceleration of a user is a major calculation for user interface designer.

5. Subjective Satisfaction

Subjective Satisfaction determines how enjoyable a user could be whenever they use the current user interface design.

3. Storyboard in Game Development

According to Les Pardew (2005), Storyboarding is one of the most effective ways to plan a video game. There are multiple reasons to use storyboard:

1. Storyboarding saves time and money

Creating characters in games is very expensive and even more expensive when it comes to animating and programming them. In the worst case, it could lead to wasting time and money if creating them with no plan at all. Therefore design team should create a storyboard to recognize the flow the production. The design team also has to communicate to the development team regarding the plan towards creating the game and prevent any potential time and money wasting.

2. Storyboarding helps show sequences that are difficult to explain

Storyboard help in simplifying the communication process in game design. For instance, if the game level creator wants a certain character to die in a certain way, it will be easily be understand in pictures by developers rather than explained in a long description.

3. Storyboarding helps to communicate the game concept to all involved in development

As most games today relies heavily upon investors therefore investors will need to be certain that the money is not going to be wasted. In order to prevent this situation, developers will need to provide investors storyboards to show them early on how the game will look like. This activity might give a large pressure to storyboard artists for drawing detailed storyboards. Investors will need accurate storyboards of the game otherwise investors might turn down the interests to the corresponding game for providing such not detailed storyboards.

4. Storyboarding helps the design team work out difficult game problems

As difficult games much likely to have various difficult mechanics, this might confuses the design team on how to properly manage the game. Therefore, the design team might need storyboard to illustrate how the mechanics work, because of this reason; the game becomes much more manageable.

[pic]

Image 2.1 Storyboard Component

(Source: Beginning Illustration and Storyboarding for Games – Les Pardew, 2005)

4. Game Design

1. Definition

According to Adams (2010), the definition of game is a type of activity that is invoked from a reality which does not exist, however being dramatized and pretended to be real. The participants inside the corresponding game have a particular goal, and being governed by set of rules. To be more precise, goals interpreted inside a game have certain purposes, which are to create a balance game between sides as well as the goals should be achievable for players, therefore it will create a competitive gameplay for players.

According to Adams (2010), the key part of having design documents is to spread the basic idea to every team members so if there is any member that forgets about the previous meeting, they may see or review the design documents to actually remember what members had for meeting or usually being called to set trails for meetings.

According to Adams (2010), design document also provides records which consist of decisions made and agreed upon team members. More important, while writing the design documents turn the blurred idea into a dedicated plan. Hence, it is easier and cheaper to correct design error rather than starting doing any code development, according to that it is wiser to design a truthful design documents for months then start working on a code development.

Adams (2010) also mentioned various types of design documents, high concept document, game treatment, character design, world design, and story or level progression documents.

1. High Concept Document.

The high concept document has a primary purpose which is to provide a quick preview of pre-made games to directors, producer or executive publisher; it should not be too long or rather up to 4 pages long.

2. Game Treatment Document.

The basic function of game treatment document is pretty similar to high concept document, however it provides a clear understanding regarding the aspects of the game to everyone who is already interested in or enthusiast to the game before creating it.

3. Character Design Document.

The primary purpose of character design document is to provide a sneak peek to the character's appearance and list of the animations regarding how they move, attack, eat, sleep and so on. It should also provide multiple concept arts of the characters and poses of them.

4. World Design Document.

World design document consists of art and audio those backgrounds the game world. It should not contain everything of the game, but the general overview instead. Not only does it only art and audio, but it also provide the aesthetic style and emotional tone of the game therefore the viewers may feel the arouse emotion by seeing the images and listening to the music.

5. Flowboard

Flowboard is a combination between flowchart and storyboard, whereas flowcharts are used to document an algorithm with various graphs and storyboards are used to plan a series of shows by filmmakers. Therefore flowboard is a good facility to create the idea of the game with much quicker and easier. Also it should show the arrow where a scene moves to another scene in order to provide a clear understanding to team members using arrows or marks. Not only does it become easier and quicker to create scenes, but it will also provide a decent understanding to team members to know the very structure of the game and a huge ease of working on revisions by adding sheets of paper.

6. Story and Level Progression Documents.

Providing the game's story from the very beginning until the end is the basic idea of story and level progression documents. As story and level progression documents serve a huge-scale story of the game, it fits well to a multiple-levels game, not a single-level game. Therefore the documents draw the branches of the story according to the options chosen by players. The story itself also is being told by movies, cut-scenes, dialog or briefings throughout the game.

7. Game Script

The game script documents cover the cores of the game, which are the rules and core mechanics of the game. Game script lets gamers to actually test and play the game, however for entry-level game creators, the tester may be given by paper-based game to provide a quick preview of the game using rules, description, and the key mechanics of the game, yet this way is still considered as an invaluable way.

2. Essential Elements of a Game

According to Adams (2010), there essential elements of a game are play, pretending, goal, and rules. Below are the definitions:

• Play

Play is a type of entertainment; it is almost similar as reading books, watch films, and listens to music. However, it should be noted that while reading a book, it is not readers that entertains readers, the author instead. However, it turns out to be players who entertain players in terms of playing games. Therefore, movie watchers, music listeners, book readers do not have any power to modify the content on how the movie, music and book should end, but rather the authors do have. In the other hand, games are created by game designers whereas gamers have ultimate power on how to decide how games should end.

• Pretending

Pretending is one of the essential elements in a game, it is required to create the imaginary environment within a game, or rather called as magic circle. Players may realize that it is truly different from the situation, events, and concepts of real world. Hence, the following graph describes the difference between magic circle and real world.

[pic]

Image 2.2 The Magic Circle Graph Separates Itself Against The Real World Graph (Adams, 2010).

• Goal

Goals are one of the most required factors within a game as it is the combination between objectives and rules which generates the entire game. It also applies to games that do not have any goal or destination, which means in order to keep players playing the game, there should be a certain goals to achieve such as staying alive or stay on top of a certain target of resource. For instance, games like The Sims or Simcity. In order to keep players playing the game, the developers will have to make sure the players still alive or have enough resources to keep going on. Not only does it apply to games without goals, but it also apply to goal-oriented games such as Crash Bandicoot whose boss needs to be killed in order to complete the game.

• Rules

Rules basically define instructions that players agree to accept while the games being played. Therefore players may know which activities are permitted and vice-versa. As well as an evaluation to help players achieve desired goals. Rules define are the following:

a) The semiotics of the game.

Semiotics is the similarities of symbols being used in the game and real world, where symbols in real world provide understanding to players in order to provide easy comprehension towards playing the games.

b) The gameplay.

Gameplay consists of various challenges that players must accomplish.

c) The sequence of play.

Various activities inside the game that has purpose to increase the progress of players.

d) The goal(s) of the game.

List of objectives in the game which are governed by the rules.

e) The termination condition.

Available conditions that end the game.

f) Metarules

Metarules indicates the circumstances that might change the current rules accordingly.

1. Game Balancing

According to Adams (2010), player versus environment (PvE) defines a combat between player against environment rather than from other players, therefore it requires a fair opportunities to succeed:

1. The game should offer the player challenges at a consistent maximum level of difficulty

The game should never give a sudden insane difficulty to players, therefore developers must be careful in managing the difficulty.

2. The player should not suddenly lose the game without warning and through no fault of his own.

Players should be given quick warnings of things going to happened ahead as death does not provide fun to players.

3. A stalemate should not occur.

Stalemate or other combinations of circumstances may prevent players from winning or losing, therefore developers need to study the mechanics very carefully to detect whether the game may end under one condition either players win or lose the game. If it does not, developers may need to redesign the game.

4. The game does not ask the player to make critical decisions without adequate information.

Games should announce essential information to players if there is any critical multiple decision question in order to advance to the next level.

5. All the factual knowledge required to win the game should be contained within the game.

Games should never make players do an external research in order to win matches in game, except for trivia questions.

6. The game should not require the player to meet challenges not normally presented in the game's genre.

Whether the corresponding games being played by players are hybrid or not, players should be announced before actually playing the game.

2. Type of Controller and Camera of Games

In general, there are 2 types of controller and camera perspective which are usually used in game application:

1. First-Person Perspective

According to Adams (2010), first-person perspective is different from third-person perspective based upon its position and what players see on players’ screen. Therefore, first-person's camera is glued to the position of eye of a particular character therefore what players see on the screen is what characters wield/do. The first-person perspective is widely used in shooting games and racing games in driver's point of view. The advantages of using the first-person perspective as controller or camera are

a. The developers do not need to design the AI to control the camera. The camera of first-person perspective exactly gives a fixed look to player.

b. The shooting game in first-person perspective is easier for multiple reasons. First of all, when players shoot the enemies, it is easier since nothing blocks players' view to shoot projectile towards enemies. As well as the viewpoint of a certain player is exactly the same as the chosen character. Therefore players do not need to adjust the perspective to the character being controlled.

c. Players might find it interesting when players are able to interact with the objects inside the game. Not to mention, players are freely able to do various maneuver the character precisely before doing things such as climbing stairs, picking up objects, opening the door and so on. Ultimately, players do not need to adjust the perspective.

Aside for the advantages, first-person perspective has some disadvantages as well:

a. Players are not capable of seeing how the characters look like. Therefore players will not have the pleasure of seeing the characters since players customize the characters as great as possible. Not to mention, players may also enjoy watching characters do various animations on doing stuff.

b. Since players cannot see the facial expression of the characters, therefore in order to let players recognize the stress emotion, characters may need to express several emotions by talking to the corresponding character, or by providing hints to the players.

c. Rapid movements, falling motions, walking by swaying the camera as the character moves may create motion sickness to players.

2. Third-Person Perspective

According to Adams (2010), when the game implements third-person perspective, the camera is located behind the character and the camera usually follows the character at a fixed distance so players can see the character into the distance. Mostly the advantage of third-person perspective is the ability of letting the player sees the avatar. Therefore, players may see how the chosen characters look like and the way the character expressed the emotion towards everything in game. However the disadvantages of third-person perspective is it requires much more work to implement, since the AI of the camera may change according to where the character looks therefore the camera behavior should adjust accordingly.

3. Type of Games

According to Adams (2010), there are also various genres of games:

1. Action Games.

Action Games is a type of games that calculates how fast players’ respond and reflex is according to what being displayed on the screen. The key skills tested by the gameplay are reaction time and hand-eye coordination under pressure.

2. Strategy Games.

Strategy Games relies heavily on planning user’s logic and resources in-game. The origin of strategy games is rotted in board games. Strategy Games are divided into 2 main forms:

a. Classical turn-based strategy games.

A classical strategy game that taking turns to do players’ decisions.

b. Real-time strategy games.

A modern strategy game which allows the players takes decisions whenever players want to.

3. Role-Playing Games.

Role playing games can be classified as adventure, but rather focus on character development, statistic, conversation, strategy battle, puzzle solving epic quest, nonlinear storyline, more fantasy with non-player character (NPC). Role playing games consists of strong storylines.

4. Sport Games.

Sport games emulate a real world to provide a real sport simulation to players.

5. Vehicle Simulations.

Vehicle simulation games create a feeling of driving or flying a vehicle, real or imaginary.

6. Construction and Management Simulations.

Construction and management simulations are games that player’s goal is not to defeat an enemy, but to build something within the context of an ongoing process.

7. Adventure Games.

An adventure game is not about competition or simulation. Neither does it offer a process to be managed or opponents to be defeated through strategy and tactics.

8. Artificial Life and Puzzle Games.

Artificial life is a branch of computer science research, just as artificial intelligence is. Artificial life, or A-life, as it is sometimes called, involves modeling biological processes, often to simulate the lifecycles of living things.

9. Online Gaming.

Online gaming provides a different atmosphere where a player meets with other player within a same map; they are allowed to interact to each other by typing, or play together, more importantly it requires internet connection.

3. Instructional Analysis

According to Brown (2010), in order to help students learn the materials, designers need to design instructional material based on other's research. The purpose of having instructional activities certainly lets the participants to gain unknowingly knowledge, skill, or any education purposes. Henceforth, the designers have to identify the best way for learners to provide them a learning way that works best according to what learners will learn afterwards.

There are also various instructional activities which most people are familiar with, such as lecture, presentation, demonstration, drill and practice, question and answer. Not to mention, there are also various other examples of instructional activities such as instructional games, problem-based learning, and just-in-time teaching.

4. Instructional Games

According to Brown (2010), there are four instructional purposes that are supported by games:

a. To practice or refine knowledge or skills.

b. To identify gaps or weakness in knowledge or skills.

c. To review or summarize the content presented.

d. To illustrate and develop new concepts among concepts and principles.

One of the instructional activities is instructional games. A game is an instructional activity with multiple characters in the game. The joined players should follow the rules to achieve a certain goal, not only do these players should follow the rules, but they also need to compete against other players as well.

There are also various advantages for designers to use games, such as: accustom players to do repetitious things therefore players may start memorizing the necessary things, as fun games may increase players' interest towards the game and provide a relaxed environment for learning purpose. There is also a bad side of having games for learners is that they may get distracted by the competition within, instead of learning the content itself.

5. 3D Modeling

THREE-DIMENSIONAL (3D) MODELLING of an object can be seen as the complete process that starts from data acquisition and ends with a 3D virtual model visually a measured point cloud into a triangulated network or textured surface while it should describe a more complete and general process of object reconstruction. (Remondino, 2006)

A 3D image contains three essential components, there are: 3D scene description, source of light angle, and view angle of the camera or eye. There is also another part of the model, which is the surface description. This description defines the physics of how the corresponding model gets reflected with light. Whether the color, shininess, and transparency would be changing as the light moves around the corresponding object.

There are two essential reasons for building 3D models on the computer, image-making and simulation. As the image-making defines the object to look good, requires some complexity which looks fantastic to the eye and reflects the almost the same model as the real one. In the other hand, Simulation defines the object to look accurate. To be more precise, simulation requires some tests to several objects whether they are fit together with some tolerance or simply a yes or no answer, rather than an image. (Norman I. Badler, 2009).

1. Particular Theories

1. Unified Modeling Language

1. Use Case

According to Whitten and Bentley (2007), use case is a behaviorally related sequence of steps (scenario), both automated and manual, for the purpose of completing a single business task. However use case itself has functions to represent single goal of the system, to capture the essence of business problems and to describe how user will use the system. However use case itself is divided into 2 primary main models, which are use-case diagram and use-case narrative.

a. Use Case Diagram

Based on Whitten and Bentley (2007), use case diagram is a graphical model which shows a system as a collection of use cases, actors (users) and its relationship. Use case diagram is usually constructed by:

1. Use Cases

2. Actors

3. Relationships (Dependencies, Extensions, Associations and Inheritance)

[pic]

Image 2.3 Use Case Diagram

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

There are 5 different kinds of relations in use case diagram that have different purposes, which are:

1. Association

Association is a relationship which shows interaction among actor and use case. An association relation has arrowhead means actor communicates or interacts with the use case directly. On the other hand, an association relation that doesn’t have any arrowhead indicates actor interacts with use case indirectly.

[pic]

Image 2.4 Association Relationship Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

2. Uses/Include

There might be more than 1 use case that has exactly the same function and usually is reused by other use cases or process. It is usually called abstract use case. Since there are several use cases that are referenced and used by other use cases, an abstract use case is needed to decrease the redundancy.

[pic]

Image 2.5 Uses Relationship Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

3. Depends On

It indicates which use case depends to other use cases. By using depends on relationship, it will be easier to decide which use case has higher priority to be processed comparing others.

[pic]

Image 2.6 Uses Relationship Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

4. Extend

Extend relationship is a relation between extension use case and use case that has complex process. This is the way to simplify a very complex use case to become two or more simplified use case, hence it will be easier to be understood.

[pic]

Image 2.7 Extends Relationship Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

5. Inheritance

In some cases when there are two and more actors who share similar use case and caused a redundancy, the best way to deduce this issue is by having an abstract actor who can be inherited by one or more actors. This process is called an inheritance relationship.

[pic]

Image 2.8 Inheritance Relationship Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

b. Use Case Narrative

Whitten and Bentley (2007) wrote that use case narrative is details of every business event and how users interact with the system. It briefly describes the event that includes the following items:

1. Author

2. Date

3. Version

4. Use-case name

5. Use-case type

6. Use-case ID

7. Priority

8. Source

9. Primary business actor

10. Other participating actors

11. Interested stakeholder(s)

12. Description

13. Precondition

14. Trigger

15. Typical Course of Event

16. Alternate Courses

17. Post-condition

[pic]

[pic]

Image 2.9 Use Case Narrative Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

2. Class Diagram

Based on Whitten and Bentley (2007), class diagram shows the system’s object structure which displays object structures as well as the relationships between those object classes. Class diagram is used to show relationships between each class (multiplicity, generalization and aggregation) and as well as how those classes are constructed. This diagram generally consists of:

1. Class

Class is a combination of objects that possess common attributes, structures, relations and behaviors. All classes in class diagram are constructed by checking sequence diagram.

2. Association

Association is a relationship between two classes that are independent of each other but one class might use the services that another provides. There are 2 types of association relation which are:

a. Bi-directional

Bi-directional is a relation among two classes where each class requires to access attributes from another class and vice versa.

b. Directional

Directional happens when a class requires another class’s attribute; otherwise the other class does not.

[pic]

Image 2.10 Association Relationship Diagram Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

3. Aggregation/Composition

In several cases, there are some classes that made up of another class. This kind of relationship relates from the larger “whole” class in which contains one or smaller “parts” classes, and yet this kind of relation distinct into 2 different relations:

a. Aggregation

Aggregation happens when there is an object that can’t be shaped unless other objects have been constructed beforehand. In UML diagram, aggregation is drawn with a hollow diamond. However according to Whitten and Bentley (2007), in UML 2.0 aggregation relationship is not used anymore due to its meaningless form comparing to Composition.

b. Composition

Composition is the stronger model of aggregation. In composition, if the “whole” class is vanished, thus all smaller “parts” classes would be vanished as well, whereas it would not be happened in aggregation. In UML diagram, aggregation is drawn with a filled diamond.

[pic]

Image 2.11 Aggregation & Composition Relationship Diagram

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

4. Multiplicity

Multiplicity is a number of minimum and maximum existences of one object/class for a single occurrence of the relation object/class.

[pic]

Image 2.12 Multiplicity Relationship Diagram

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

5. Attribute

Attribute is the data which interpret unique element or detail about a class.

6. Method

Method is an action within one particular object that works along with attribute. In more complex explanation attribute and method are built by these properties:

a. Private

Private is a method or an attribute that can only be invoked by that class where that method or attribute belongs. It is symbolized by “-“.

b. Protected

Protected is a method or an attribute that can only be accessed by classes that inherit class where that attribute or method belongs. It is donated by “#”.

c. Public

Public is a method or an attribute that can be invoked by other class. It is symbolized by “+”.

7. Dependency

Dependency is an operation relationship between one particular class and another class which one of them depends on the others. Dependency is donated by a dashed arrow line.

8. Generalization

It is a class hierarchy that let us group the shared attributes and operations into top-level class (superclass), and then to define one or more lower-level classes with extra or different attributes and operations.

3. Sequence Diagram

According to Whitten and Bentley (2007), sequence diagram graphically depicts how an object interacts with each other by sending and receiving message in execution use case or operation. A sequence diagram can be seen as a way to integrate the steps of a use case with the object s of a class diagram. Sequence diagram generally consists of:

1. Actor

Sequence diagram actor is one of main actors in use case diagram. It is shown with use case actor symbol.

2. System

The whole system is interpreted by using a box. In order to indicate a running “instance”, sequence diagram uses colon (:) at the beginning of system.

3. Lifelines

It is indicated by a dashed vertical line which is started from the actor and system. Aside from that, it also means the activation of a sequence life.

4. Activation Bars

The specific bar means an active period of the current running interaction. It is symbolized by a bar below the lifeline.

5. Input Messages

Input messages are illustrated by horizontal arrows which start from actor to system that indicate input messages to destination class. The provision of the UML for creating and sending message is to start the first word with a lowercase letter and affix the following words with an initial uppercase letter without space. In case there are two or more parameters within single message, they should be separated by a coma.

6. Output Messages

Horizontal arrow that is symbolized as output messages has the start point from system and finish point at actor. The main purposes of output messages are to represent a response message towards actor. In addition, they are shown as dashed lines instead of straight line like input messages.

[pic]

Image 2.13 Sequence Diagram Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

4. Activity Diagram

Activity diagram is a diagram that is used to graphically show the sequential flow of activities of a business process, the step use case or the logic of an object behavior (method). Activity diagrams also can be used to represent sequence, selection and iteration and they can also illustrate where different activities can be carried out in parallel. (Whitten and Bentley, 2007)

Activity diagram consists of:

1. Initial Node

An activity diagram is started by solid circle as representation of start point.

2. Actions

All actions and running process in activity diagram is symbolized by a rounded rectangle.

3. Flow

Every progress for each action in activity diagram is indicated by arrows which are usually stated without any words.

4. Decision

Decision is represented by a diamond shape that has one flow coming and two or more output flows. Output flows are indicated as a selection condition.

5. Merge

Merge is represented by a diamond shape that has two or more flows coming and one output flow. This combines flows that previously were divided by selection condition.

6. Fork

If there are two or more output flows from one input flows, yet they can be executed without any particular order, activity diagram uses a black bar to symbolize this process.

7. Join

In case there are two or more input flows and one output flow and all input actions should be executed before proceeding to the next flow of process, activity diagram uses a black bar to symbolize this process.

8. Activity Final

In order to finish one activity diagram, a solid circle inside the hollow circle is needed to symbolize this process.

[pic]

Image 2.14 Activity Diagram Illustration

(Source: System Analysis and Design Method – Whitten and Bentley, 2007)

1. Mobile Application

1. Definition

According to Fling (2009), mobile application is an application that designed and developed for mobile devices such as cellphone, tablet and smartphone. It also contains software, named operating system running in mobile devices and performs multiple tasks for users.

2. Mobile Operating System

According to Gottesman (2013), there are various mobile phone operating systems as of the following list:

a. Android OS

Android is Google’s open source operating system that is implemented in most of smartphone devices nowadays. The strong point of android is the capability to be customized by developers and manufactures.

b. iOS

iOS is operating system which developed and designed for Apple’s products only such as iPad, iPod and iPhone.

c. Windows Phone OS

Windows phone OS is an operating system which designed for devices that use Windows OS.

d. BlackBerry 10 OS

BlackBerry 10 is the newest operating system from Research In Motion which developed for Blackberry 10 devices.

e. Palm OS

Palm OS is operating system which is able to run and work in Palm’s lower-end Centro line of mobile devices.

f. Linux OS

Linus OS is commonly used to support smartphone.

g. Symbian OS

Symbian is operating system that is actually open source and designed for mobile devices.

3. 10 Principles of Mobile Interface Design

According to Stark (2012), mobiles are huge and growing as of nowadays. Supported with broadband that exists everywhere among the world and mobile devices grow affordable to everyone, mobile devices has reached almost every aspects of human lives.

1. Mobile Mindset

Provide basic distinctions between mobile and desktop. There are 4 points of mobile mindset which are:

a. Be focused

Remove the unnecessary features, because having more features is not always good.

b. Be Unique

As there are lots of applications have been created in this world, the application should be unique and different, because users will not use a similar application.

c. Be charming

Create friendly, reliable, and fun applications to enhance users' experience while using the application.

d. Be considerate

Application creators should be in users' position in order to feel users' experience while using the application, not solely depends on personal business goals.

2. Mobile Contexts

Provide basic ideas of how applications inside mobile phones will accompany the users. Therefore developers should consider 3 different mobile contents, which are:

a. Bored

Since there are many people usually use phones on couch, an application that indulges the users for a longer usage session fits really well to this kind of situation. For instance: Facebook, Twitter, and YouTube.

b. Busy

This is the situation when the users are truly busy and requires an adequate application which able to fulfill users requests at ease by simply using one hand. For instance: Email, Calendar, and Mobile Banking.

c. Lost

The situation when users lost to someplace that they do not know of. Therefore, applications which provide an idea where the users currently are, fits really well to this situation. A decent battery life and connectivity play a huge role as well. For example: Google Maps, Waze, and Path.

3. Global Guidelines

The very basic ideas of why users concern about the application being made, which are:

a. Responsiveness

Responsiveness is extremely important. Since users want an instant way to do stuff around the applications. The application itself should recognize what users tap to instantly. Even if it takes time, the application should let the users know that it is being processed.

b. Polish

Since users put a lot of attention to little details, polish turns out to be extremely important as well. Therefore, if developers ignore the little detail of the applications, users may no longer be using the application.

c. Thumbs

Thumbs are the only human senses that being used to explore the applications. Therefore, applications should be design to fit well with human thumbs.

d. Targets

As thumbs of human beings relatively bigger than any other fingers, therefore buttons in applications require a proper size and position in order to maximize users' experience towards the application. For instance, the unique number of a proper size for a button is 44 pixels.

e. Content

Putting the actual content to the screen is important to gain users' attention to the content. Therefore it is important to put the content in front and center of the screen.

f. Controls

Putting the controls in the bottom of the screen is most likely gain users' attention. It appears that users will know what is going on with the content while using the controls in the bottom.

g. Scrolling

Applications should prevent users from scrolling the applications. Due to the solidity and dependable feel by having a non - scrolling screen. If the content actually located outside of the screen, developers should animate the moving-screen to actually give a subtle indication that there is more content to be shown, however out of space to show.

4. Navigation Models

There are various navigational models to be used while developing applications, such as:

a. None

None is an application without navigational model or rather a single screen application.

b. Tab bar

Tab bar is an application with three to six various content areas.

c. Drill down

Drill down is a navigational model with many things to choose from or rather more hierarchical way to browse the application.

5. User Input

Since typing hurts users' fingers, therefore typing should be designed comfortably to users' fingers. There are various things to be concerned:

a. Make sure if users tap the input fields; get the keyboard displayed immediately so users may input things accordingly.

b. Let users decide which aid facility to be turned on, such as auto-correct, auto-capitalization and auto-complete. Since users may be annoyed by these, therefore lets users switch them on according to the liking.

c. Ensure the people with enormous thumb to comfortably typing in the application.

6. Gestures

Gestures are one of the influential aspects in modern touch interfaces; developers should determine the following things before getting to implement gestures to the application:

a. Invisible

Gestures are most likely to be invisible to users, but developers may need to reveal the gestures.

b. Two Hands:

Users may need to use both hands to do a gesture. However, using both hands to do a gesture is impossible if users hold something on the other hand. Therefore, developers might need to consider the usage of two hands for drawing a gesture.

c. Nice to Have

Gestures are a nice to have in applications. In the other hand, it is favorable to savvy users, but not too casual users, even casual users might not know if there is a gesture feature within.

d. No Replacement

Since gestures are relatively new to applications nowadays, therefore developers have no need to remove the visible controls which can be used with a single finger.

7. Orientation

Portrait view is probably the easiest to imagine how orientation in application works. Make sure those users able to type in input fields in portrait orientation to provide more space to type in using keyboard on-screen. Consider adding orientation lock in the application if orientation changes unexpectedly while using the corresponding application.

8. Communications

In order to make users always using the application, developers should make sure the desired application able to communicate with its users by using these following steps:

a. Provide Feedback

If users do something to the application, the application should immediately respond to users' behavior. So it does not confuse the users whether the application works or nor.

b. Modal Alerts

Avoid using modal alerts unless it something went terribly wrong to users.

c. Confirmations

Use confirmation dialogs to confirm users' important actions in order to let users choose the safest choice. Due to that confirmations are less intrusive than modal alerts.

9. Launching

Whenever users left the application and turned back in, the application should display the screen where the users left off right before closing the application.

10. First Impressions

There are 2 factors which determine users to get great first impressions, which are:

a. Icon

The application should have an outstanding icon which immediately give an idea to users what the application does and its functions to them. Therefore devoting a huge amount of time and money to the icon is important.

b. First Launch

The first launch of an application serves as the yes or no to users. If the newcomers tend to be confused or boring, there should be a help or tips and trick screen to aid the newcomers while using the applications. Not to mention that it should be fun and clear, otherwise the UI needs some rework or the newcomers leave the application at will.

1. Android

1. Definition

According to (Burnette, 2010), Android is open source software toolkit for mobile phones that was created by Google and Open Handset Alliance. It’s inside millions of cell phones and other mobile devices, making Android a major platform for application developers.

According to The Verge (2011), Android has improved its operating system ever since the first Android 1.0 to the most current Android 4.4.

1. Android 1.0

Android 1.0 is the first commercial version of Android which was released on September 23rd, 2008. It has various basic functions of a smart phone, such as: Android Market, Wi-Fi and Bluetooth support, Google Talk, instant and text messaging, Gmail, Google Maps, and Internet browser.

2. Android 1.1

Android 1.1 was released on February 9th 2009. Android 1.1 is the upgraded version of Android 1.0 with various technical upgrades: Details and reviews when users search for business on Maps, save attachment in messages and support added for marquee in system layouts.

3. Android 1.5 (Cupcake)

Android 1.5 was released on April 27th 2009, with codename after a dessert item, Cupcake. It is the upgraded version of Android 1.1 with various updates: upload videos directly to both Youtube and Picasa, copy paste feature in web browsers, Video recording and playback in MP4 and 3GP formats.

4. Android 1.6 (Donut)

Android 1.6 was released on September 15th 2009, with codename of Donut, along with the various updates: support for WVGA screen resolutions, easier search feature in app market and fully integrated feature between camera, gallery and video recorder.

5. Android 2.0 – 2.1 (Eclair)

Android 2.0 was released on October 26th 2009, with codename of Eclair. Éclair had important updates to the users: optimized hardware speed and revamped UI, improved Google Maps, more screen sizes, resolutions, with better contrast ratio and support for Bluetooth 2.1.

6. Android 2.2 – 2.2.3 (Froyo)

Android 2.2 was released on May 20th 2010, with codename of Froyo. Froyo had some updates for the users: optimizations in terms of speed, memory and performance, support for Bluetooth-enabled car and desk docks, numeric and alphanumeric passwords, and file upload fields in the Browser application, more importantly, Froyo supported Adobe Flash.

7. Android 2.3 – 2.3.7 (Gingerbread)

Android 2.3 was released on December 6th 2010, with codename of Gingerbread. Android 2.3 had some updates: updated user interface design with increased simplicity and speed, support for extra large screen and resolutions (WXGA and higher), new download manager and audio effects.

8. Android 3.0 (Honeycomb)

Android 3.0 was released on February 22nd 2011, the Android 3.0 under the codename of Honeycomb served updates: added system and option bar to giving users a quick access towards the applications, multi cores support, hardware acceleration, an upgraded version of multitasking by tapping recent applications in the system bar and redesigned the on-screen keyboard to type faster, efficient and accurate.

9. Android 4.0 (Ice Cream Sandwich)

Android 4.0 was released on October 19th 2011, under the codename of Ice Cream Sandwich. Android 4.0 has some updates suchas: refinements to the “Holo” interface with new Roboto font family, a customizeable launcher, improved copy paste feature, face unlock feature to unlock the phone, newly build-in photo editor and new gallery layout.

10. Android 4.1 – 4.3 (Jelly Bean)

Android 4.1 was launched on June 27th 2012, with various important updates: smoother user interface, the new feature Google Wallet, expandable notifications, improved camera application, improved voice search, and the upgrade multichannel audio.

11. Android 4.4 (Kitkat)

The most current Android 4.4 was launched September 3rd, 2013, with the codename of Kitkat, along with various important updates: ability to do wireless printing, optimizations for performance on devices with lower specifications, new framework for UI transitions, audio tunneling, audio monitoring and loudness enhancer.

2. Android Architecture

[pic]

Image 2.15 Android Architecture Diagram

(Source: Analysis of the Android Architecture – Stefan Brahler, 2010)

As stated in Analysis of the Android Architecture by Brahler (2010), Android OS can be referred to as a software stack of different layers; the group consists of components with layers in it. Along with them all, it constructs an operating system.

1. Linux Kernel

The basic layer is the Linux kernel. It is this Linux that interacts with the hardware and contains all the essential hardware drivers. Drivers are programs that control and communicate with the hardware. The Linux kernel also acts as an abstraction layer between the hardware and other software layers. Android uses the Linux for all its core functionality such as memory management, process management, networking, and security settings.

2. Libraries

The next layer is the Android’s native libraries. It is this layer that enables the device to handle different types of data. There are several important native libraries inside the libraries:

a. Surface Manager

It is used for compositing window manager with off-screen buffer. Developers use off-screen buffer to set / draw something onto the screen, due to the limitation for developers to directly draw something onto the screen without surface manager.

b. Media Framework

Media framework provides various media codecs, allowing the users to record and playback of different media formats.

c. SQLite

SQLite is the database engine used in android for data storage purposes.

d. WebKit

WebKit is an engine browser to display HTML content in android devices.

e. OpenGL

OpenGL renders various 2D or 3D graphics content to the screen.

3. Android Runtime

Android Runtime is constructed from Dalvik Virtual Machine (DVM) and Java Core Libraries. DVM is basically interpreter for code which has already been converted from Java to Dalvik. Meawhile, the core of libraries are coded in Java language which will interpreted by Dalvik.

4. Application Framework

Application framework is a set of blocks that directly interacts with the application. The main objectives of application framework is controlling resource management, voice call etc. The main components of this layer are:

a. Activity Manager

b. Content Manager

c. Location Manager

d. Telephone Manager

e. Resource Manger

5. Applications

Application is the highest set of blocks in Android architecture which contains several standard applications, such as dialer, web browser and contact manager, as well as applications that are developed by developers.

3. Android Building Blocks

Based on Burnette (2010), Android basically has 4 building blocks which every building block has different purpose and lifecycle.

1. Activity Manager

Activity Manager has a certain purpose that is to manage the activity life cycle of applications.

2. Intents

Intents used to assist in navigation from one activity to the next. Intents also notify applications of various events, from hardware state change to incoming data.

3. Services

Services which runs in the background and does not generally present a direct user interfaces. Services provide a service to check for updates or to play back music.

4. Broadcast Receiver

Broadcast Receiver is a building block inside Android architecture that whenever the device receives an incoming text message, it must register itself as a Broadcast Receiver.

5. Content Providers

Content Providers serves as an abstraction for every data stored on the device that is accessible by multiple applications. As well as to let developers to build a content provider while maintaining complete control over how the data gets accessed.

1. Data, Database and SQLite

1. Data

Based on to Connolly and Begg (2010), a collection of facts, raw observations and information can be called and categorized as data. The main purposed of data is used as supporting materials for case study or research process.

Meanwhile, data dictionary is a repository of data which describes the data itself inside the database. This catalog is expected to be accessible to users. Basically, the data dictionary stores:

a. Names, types, and sizes of data items.

b. Names of relationships.

c. Integrity constraints on the data.

d. Names of authorized users who have the access to the data.

e. The data items that each user can access and the types of access allowed; for example, insert, update, delete, or read access.

f. External, conceptual, and internal schemas and the mappings between the schemas.

g. Usage statistics, such as the frequencies of transactions and counts on the number of accesses made to objects in the database.

1. Database

According to Connoly and Begg (2010), database is a single, possibly large repository of data that can be used simultaneously by many departments and users. Instead of being hold by only one department or user, data is shared as corporate resource, therefore it is very important to minimize amount of duplication among the data itself. In order to achieve that goal, database holds not only the organization’s operational data but also a description of the data which until further notice will be known as self-describing collection of integrated records.

2. SQLite

Based on Jeon, Bang, Byun and Lee (2012) SQLite is a small factor of database which usually used by mobile and embedded devices to store data. SQLite database is consisted of 4 main structures:

1. SQLite database file

SQLite file structure is actually divided into 2 main parts, which are Header Page that usually located in Page 1 and Root pages that located in Page 2 and so on.

[pic]

Image 2.16 SQLite File Structure

(Source: A recovery method of deleted record for SQLite database – Jeon, Bang, Byun and Lee, 2012)

2. Schema table

Schema table is located in Header Page which contains information on table; index and trigger consisted in SQLite in an application software.

3. Table b-tree

The main function of table b-tree is to maintain storing actual data and many complicated processes between tables.

4. Page structure

Pages in SQLite file is constructed by a page header and followed by several cells that are used to move sequence from bottom of the page upward.

[pic]

Image 2.17 SQLite Page Structure

(Source: A recovery method of deleted record for SQLite database Jeon, Bang, Byun and Lee, 2012)

4. Multiplayer

Multiplayers are new level of gaming environment where an online gamer meets everyone within a virtual world, leading to the creation and the educational use of social media, such as collaborative projects (such as Wikipedia), blogs and microblogs (such as Twitter), content communities (such as YouTube), social networking sites (such as Facebook), virtual social worlds (such as Second Life) and virtual game worlds (such as World of Warcraft - WoW). Within the universe of World of Warcraft, players learn to make sense of new areas, especially by engaging with others, discussing, reflecting, and sharing (Kaplan & Haenlein, 2010).

Guilds in multiplayer is a group of people with a same goal which is to clear the challenging contents in the game due to the fact that, the more players spend time in a game the more challenging contents players will face. Henceforth often players require a complex coordination between players in the guild to fully clear the content of the corresponding game (Siitonen & Warmelink, 2009).

In order to play multiplayers in today’s games, there is a requirement which need to be fulfilled, which is the internet access such as: 3G and WiFi. As the wide usage of both technologies to connect between clients and offer various advantages, for instance 3G offers portability to users, such as accessing road map information while driving a car, or movie theater information. WiFi also offers various advantages such as: stability and bigger broadband facility. WiFi allows users to do much more things at once due to its higher speed (Kurose & Ross, 2010).

The main characteristics of today’s multiplayer games is the large number of player, hunders, thousands or even millions of participants which simultaneously play together in a server. As both peers, in this context, players, require an intermediate in between to connect each other in a same place is the purpose of having server. The server itself intermediates the communication between each pair of players (Bezerra, Carlos, Benevides, Geyer, & Resin, 2009).

5. Wi-Fi

According to Asabere, Enguah, Salakpi, Mensah & Ahegbebu (2011), Wi-Fi is one of wireless connections which belong to Wireless Local Area Network (WLANs) technology, that also permit wireless connections to be set up within one particular range or area. It stands for Wireless Fidelity and it is based one of Institute of Electrical and Electronic Engineers (IEEE) 802.11 standard connections, such as 802.11a (operates in the 5-GHz band), 802.11b (operates in the 2.4-GHz frequency band), 802.11g (2.4-GHz band) and 802.11n (operates in both the 2.4-GHz and 5-GHz frequency bands).

As a non-profit organization, Wi-Fi Alliance controls all standardization for Wi-Fi in order to have the same standard for high-speed wireless local area connection. Aside from controlling standard, Wi-Fi Alliance also develops universal specifications, does quality testing and Wi-Fi certification of wireless devices. Through its development process, Wi-Fi has become one of the standards for internet connectivity for private purposes and public facilities as well. One strongest advantage of Wi-Fi comparing to other data connections such as WiMAX, HSDPA and 3G is the wide availability of terminal devices. Mostly all of devices, smartphones, laptops, motherboards, even a smart-watch shipped today have built-in Wi-Fi interface.

6. Mobile Data Network

With fully respects to Jaloun and Guennoun (2010), the history of mobile data networks have been around in society for couple decades and evolved for more than 3 generations up to this moment, precisely since the era of analogue network or 1G. Back then, the main analogue systems in 1G era are Nordic Mobile Telephone, Advanced Mobile Phone System (AMPS), Total Access Communications System (TACS) and Cellular Digital Packet Data (CDPD). Moving from that era, the second generation of network (2G) was the main hype of mobile network back then. During this era, there are at least 3 most well-known and used 2G radio interface, which are FDMA, CDMA and TDMA (GSM).

The generation of 2.5G data service, known as General Packet Radio Service (GPRS) was overlaid on an existing GSM network for several years. In general, there are 3 types of 2.5G GSM system which are High-speed circuit-switched data (HSCSD), General Packet Radio Service (GPRS) and Enhanced Data Rates for Global Evolution (EDGE).

In the early of 21st century, 3G (third generation) was brought into market and was equipped by speeds up to 2MB/s. This system is operated in the less crowded IMT-2000 core band, operating at 2GHz. This era was remarked, again, by competition between WCDMA and CDMA2000 which is still happening up to this moment.

Nearly after 3G eras, 3.5G or mostly known as HSDPA was launched. It came with more than 20Mbits/s, yet practically the data speed is only 1Mbps. HSDPA or High Speed Downlink Packet Access is basically an upgraded version of WCDMA in 3G and rumor has it that HSDPA reduces latency to 100ms from 180-200ms. Aside from HSDPA, another most famous 3.5G connection is CDMA2000 1xEV-DO was actually an upgraded version of CDMA2000 network and quite famous in several countries.

[pic]

Image 2.18 The history of Mobile Data Network

(Source: Wireless Mobile Evolution to 4G Network – Jaloun and Guennoun, 2010)

7. Unity SDK

Unity is one of the game development applications available nowadays. Unity provides a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3Dcontent; Easy switching between platforms, such as Windows, PS3, XBOX, Windows Phone, Android, BlackBerry, Nintendo Wii and iOS; As well as various ready-to-be-used assets for developers; Easy drag and drop system to fully configure the needs for game environment (Unity).

According to Unity, not only does Unity provide excellent features, but Unity also supports both C# and JavaScript programming environment to facilitate developers according to what programming languages developers excel at. Unity also added an asset server as another essential feature along with various advantages brought by Unity.

According to Unity, asset server is a built-in application inside Unity that (is not an external application to manage the assets), facilitates the developers to import all 3D models, optimizes large binary assets whereas most external versions perform horrible at large binary assets and takes care of all metadata at ease.

According to Unity, Unity provides a wide variety of built-in effects to play with, such as lens flare, depth of field, outline shading, easy drag and drop scripts onto various game objects and magnificent particle systems

According to Creighton (2010), Unity is mainly constructed by 3 main factors, which are:

1. GameObject

As GameObjects in Unity contain a few important aspects, such as: cameras, lights, models and prefabs which create the entire game, as these aspects are noticeably visible in the game for developers to play with. This way, developers manage to govern the cameras, lights and colliders in the game engine as if they are touching each other in order to fully develop the corresponding game.

2. Prefab

Prefab has an essential function which is to duplicate a GameObject being inserted into a prefab, therefore developers may use it as many as developers want to, and in order to reduce the heavy amount of usage of a GameObject, therefore put it in a prefab instead.

3. Scene

Scene window is where Game objects are positioned. Developers may move the Game Objects in the proper position / accordingly, while developers also may change the visual of the object into texture, wireframe, texture wire, render paths and lightmap resolution. Developers are also capable of changing the color of the visual into RGB (Red, Green, Blue), Alpha, Overdraw, and Mipmaps. Change the visual into 2D, or modify the brightness, or toggles the audio to on or off.

8. Photon SDK

As developers require universal support for multiplayer feature in developing environment, Photon SDK provides universal support to every mobile phone operating systems on the market today, such as Android, iOS, Windows, BlackBerry, Flash, Unity, etc. Not only do they provide various platforms to develop, but they also provide essential features that are required for multiplayer games nowadays.

According to Exit Games, Photon has matchmaking, creating rooms, sending messages are a few examples of multiplayer gaming features. Photon SDK also provides the most needed factor for multiplayer game, that is real-time synchronization to every clients connected to a same room. Therefore not only having these features, Photon has multiple servers across the continents to meet both developers and players requirements.

In order to be more specific towards its functions, Photon includes various essential functions. One of these functions is to connect to the corresponding server using the registered AppID. Before connecting to a server, a peer should be constructed therefore it uses a function called LoadBalancingPeer. Furthermore, after having LoadBalancingPeer to create peers, a function called Connect should be invoked in order to have the corresponding peers to connect to the server (Exit Games).

As well as creating rooms, it requires initial peers to connect to. Hence, before connecting to the rooms, clients requires to enter lobby to select which rooms clients wish entering to. Properties describe each room in lobby therefore clients may realize how many players are already inside the room.

In order to indulge players in online gaming experience while using Photon Network, Photon Network provides various important features such as:

1. Realtime

As low latency is the most basic requirement for online gaming experience, Photon Network optimizes the network to be the lowest latency as possible for players around the world.

2. Highly Scalable

Photon Network is able to cope up with thousands of players connecting to Photon server, therefore allowing more players to play together using Photon Network.

There are also online games that have implemented Photon Network for multiplayer gameplay, such as:

a. Indestructible

[pic]

Image 2.19 Screenshot of Indestructible Game

(Source: Photon Official Website – )

b. Eternity Warriors II

[pic]

Image 2.20 Screenshot of Eternity Warriors Game

(Source: Photon Official Website – )

c. Critical Strike

[pic]

Image 2.21 Screenshot of Critical Strike Game

(Source: Photon Official Website – )

d. Verdun

[pic]

Image 2.22 Screenshot of Verdun Game

(Source: Photon Official Website – )

According to Exit Games, there are also various specific classes in Photon, which are:

1. Static void PhotonNetwork.CreateRoom()

Creates a room with given name but falls if this room exists already. There are parameters in CreateRoom:

a. roomName: Unique name of the room to create. Pass null or “” to make the server generate a name.

b. isVisible: Shows (or hides) this room from the lobby’s listing of rooms.

c. isOpen: Allows (or disallows) other to join this room.

d. maxPlayers: Max number of players that can join the room.

e. customRoomProperties: Custom properties of the new room (set on create, so they are immediately available).

f. propsToListingLobby: Array of custom-property-names that should be forwarded to the lobby (include only the useful ones).

2. Bool PhotonNetwork.Connected

Confirms whether if the players are already connected or not.

3. Static GameObject PhotonNetwork.Instantiate()

It invokes a prefab over the network. This prefab needs to be located in the root of a “Resources” folder. There are parameters in Instantiate:

a. prefabName: Name of the prefab to instantiate.

b. Position: Position Vector3 to apply on instantiation.

c. Rotation: Rotation Quaternion to apply on instantiation.

d. Group: The group for this PhotonView.

e. Data: Optional instantiation data. This will be saved to its PhotonView.InstantionData.

4. Bool PhotonView.isMine

Confirms whether the corresponding that possess PhotonView.isMine or not.

5. Static void PhotonNetwork.LeaveRoom()

Player leaves the current room. There is a parameter in LeaveRoom:

a. levelNumber: Number of the level to load.

6. Static string.PlayerName

This represents the player’s name.

7. Static void PhotonNetwork.JoinRoom()

Join room according to the room.Name. This fails if the room is either full or no longer available. There is a pparameterin JoinRoom:

a. roomName: The room instance to join.

8. Static RoomInfo[] PhotonNetwork.GetRoomList()

It gets an array of (currently) known rooms as RoomInfo. This automatically updated every few seconds while this client is in the lobby.

9. Static void PhotonNetwork.Destroy()

Destroy the GameObject associated with the PhotonView, unless the PhotonView is static or rather not under this client’s control. Destroying a networked GameObject includes:

a. Removal of the Instantiate call from the server’s room buffer.

b. Removing RPCs buffered for PhotonViews that got created indirectly with the PhotonNetwork.Instantiate call.

c. Sending a message to other clients to remove the GameObject.

10. Bool PhotonView.isMine

Determines whether this PhotonView is mine or not.

2. Previous Researches

The mobile data networks support a wide variety of functions, one of them is to establish geographical location as an important parameter of human computer interaction within physical or virtual networked environments. Henceforth the connection between clients lets users to meet inside the application, resulting in an affordable face to face interaction (Diamantaki, Rizopoulos, Charitos, & Tsianos, 2011).

The convergence of technology and analytical innovation increases comfortability of using mobile phones and various online social networking sites, may dramatically impact many aspects of daily lives. Henceforth, it is the desire coming from players that push them to do social connectivity that will drive them into networked gameplay. It turns out many game developers designed the single player gameplay into online play with the desire of social elements by players (Estrin, Chandy, Young, Smarr, Odlyzko, & Clark, 2010).

Since the connection of most online games are using the centralized connection model, by forcing the usage of direct inter-peer links. As well as the most online gamers nowadays, who demands the lowest possible latency for online games, which is the main advantage of centralized connection model regardless of the type of online game. Not to mention, this connection model is used to avoid any exploit possibilities for both players and servers. Somehow players wish to be the best player ever, therefore cheating cannot be avoided and bringing disadvantage to other players as well. In order to prevent such situation, the centralized server serves as a mediator between clients, preventing any cheating possibility between clients due to its synchronization capability to every player’s behavior (Almashor & Khalil, 2012).

Wi-Fi provides wireless networks to everyone that has access to its subscribers. Wi-Fi has also been established in various public places such as: coffee shops, airports, hospitals, restaurants and so on. Hence Wi-Fi gets bigger according to its growing usage and the providers have been planning on covering much larger areas (Halldórsson, Joseph, & Vahab, 2010). In order to use Wi-Fi for certain mobile phones, phones repeatedly scans for any Wi-Fi access points to build a map of geo-referenced Wi-Fi access points. After building a map of geo-referenced Wi-Fi access points, the phone will create a habitual map of user's habitual locations, as well as a private library of geocoded base stations. Therefore, when user's phone discovers the previous connected Wi-Fi access points, allows future location observations according to its geocoded library of base stations and facilitating users to connect to the previous habitual locations (Montoliu, Blom, & Perez, 2012).

Multiplayer has a typical approach where players collaborate or compete within a virtual world. Each player has an avatar or character that represents the player's presence by performing various actions, such as moving, picking up objects, or communicating with other players (Denault & Kienzle, 2011).

As most gaming servers have a major challenge that when thousands of players join to the gaming server. The developers need to maximize user's experience by reducing the probability of lag experience. Due to the fact that, if by any chance, the server is under heavy load, players may experience such horrible gaming experience such as longer processing time of user's request. Therefore developers should be optimizing the bandwidth (Denault & Kienzle, 2011)..

Developers should be providing a consistent view of the virtual world to players, since players tend to modify the game content as players’ desired. Since the possibility of a server may have thousands of players connecting to a game server, the chance is that connections from the server may failure or rather disconnect may occur fairly often. Hence servers must cope-up with the environment or the gameplay may get ruined for players. The most basic aspect of multiplayer that players are treated equally between each other, regardless of the environment that server brings to the fellow players. Therefore the server needs to cope up with the imbalance that might occur beforehand by the exploiting players for players’ own advantage (Denault & Kienzle, 2011)..

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download