Social Network Gaming

115
1 | Page Social Network Gaming March 23 2012 WoW Beacon: World of Warcraft user registry system. system. Final Year Project Manchester Metropolitan University BSc Applied Computing Student Name: Ashkan Mehran Student ID No: 08352555 Unit: 63CP6361 Final Year Project Supervisor: Che-Guevara John

Transcript of Social Network Gaming

Page 1: Social Network Gaming

Social Network Gaming 2012

1 | P a g e

d

Social Network Gaming

March 23

2012

WoW Beacon: World of Warcraft user registry system.

system.

Final Year Project

Manchester Metropolitan University

BSc Applied Computing

Student Name: Ashkan Mehran

Student ID No: 08352555

Unit: 63CP6361

Final Year Project

Supervisor: Che-Guevara John

Page 2: Social Network Gaming

Social Network Gaming 2012

2 | P a g e

Contents

Declaration..................................................................................................................................... 4 Abstract.......................................................................................................................................... 4 Abbreviations................................................................................................................................. 4 List of Figures................................................................................................................................. 4 List of Tables.................................................................................................................................. 6 Chapter 1: Introduction................................................................................................................7 1.1 Project Background ..................................................................................................................7 1.2 Project Aims and Objectives.....................................................................................................8

1.2.1 Aims ..........................................................................................................................8 1.2.2 Objectives................................................................................................................. 9

1.3 Project Layout……... ..............................................................................................................10

1.4 Summary of Project Report Structure…...............................................................................10

Chapter 2: Literature Review.....................................................................................................11 2.1 Introduction ............................................................................................................................11

2.2 Initial concepts of Social Network Gaming..............................................................................11 2.3 Origins of Social Network Gaming..........................................................................................13

2.3.1 Birth of the Modern Social Game................................................................. ………14 2.4 Rise in Popularity among Social Networks users....................................................................15

2.5 Advantages and Disadvantages.............................................................................................16 2.5.1 Contrasts between sharing and general selection...................................................18

2.5.2 Importance of user psychology …...........................................................................20

2.5.3 Competitive elements………………..……………….................................................21

2.6 Social Networks as a Investment Platform..............................................................................22

2.6.1 Why Social Networks?.............................................................................................23

2.6.2 Who develops the games?......................................................................................23

2.6.3 Who are the Market Leaders?.................................................................................25

2.6.4 What makes for a successful game?.......................................................................27 2.7 Conclusion - Thoughts and Opinions linking to project...........................................................28 Chapter 3: Requirements Analysis…………………………………………………………………..29

3.1 Introduction…………………………………………………………………………………………...29

3.2 The System Proposal………………………………………………………………………………..29

3.3 What are the System Requirements?.....................................................................................30

3.3.1 Operational Distribution………………………………………………………………….30

3.3.2 Mission Profile…………………………………………………………………………….31

3.3.3 System Performance Parameters………………………………………………………31

3.3.4 Utilization Environments…………………………………………………………………31

3.3.5 Effectiveness Requirements…………………………………………………………….32

3.3.6 Operation Life Cycle……………………………………………………………………...32

3.3.7 Environment……………………………………………………………..………………..32

3.4 What are the Ethical Implications?..........................................................................................32

3.4.1 Privacy of User Data……………………………………………………………………..33

3.4.2 Reliability of Information…………………………………………………………………33

3.4.3 System Security……………………………………………………………………..……34

3.5 Analysis Conclusion…………………………………………………………………………………34

Page 3: Social Network Gaming

Social Network Gaming 2012

3 | P a g e

Chapter 4: System Design…………………………………………………………………………….35

4.1 Introduction…………………………………………………………………………………………...35

4.2 Application Structure………………………………………………………………………………...35

4.2.1 Integrating the Object Classes………………………………………………………….36

4.2.2 Defining Class Operations……………………………………………………………….38

4.2.3 Object Relationships and Dependencies………………………………………………39

4.3 System Modelling Techniques……………………………………………………………………...42

4.3.1 Entity Relationship Representation……………………………………………………..42

4.3.2 Use Case Representation……………………………………………………………….44

4.3.3 Sequence and Process Representation……………………………………………….46

4.4 Defining Validation Conditions……………………………………………………………………..55

4.4.1 User Registration Validation………………………………………………………….…55

4.4.2 Character Registration Validation………………………………………………………56

4.4.3 Character Search Validation…………………………………………………………….57

4.4.4 Guild Registration Validation……………………………………………………….……58

4.4.5 Guild Master Registration Validation……………………………………………….…..59

4.4.6 User Login Validation…………………………………………………………………….61

4.5 Design Conclusion…………………………………………………………………………………...62

Chapter 5: Implementation and Testing……………...……………..……………………………...63

5.1 Introduction…………………………………………………………………………………………...63

5.2 Creating the Database…………………………………...………………………………………….63

5.2.1 Integrating Object Tables………………………………………………………………..64

5.2.2 Connecting Class Relationships………...…………………………………….………..66

5.3 Predefined System Factors….……………………………………………………………………...67

5.3.1 Establishing Database Connection……………………………………………………..67

5.3.2 Configuring Presets………………………………………………………………………68

5.4 Integration of User Interface………………………………………………………………………..70

5.4.1 WoW Beacon Registration…………………………..………………………………….70

5.4.2 User Login………………………………………………………………..……………….71

5.4.3 WoW Beacon Home……...……………………………………..…………………….....72

5.4.4 Character Registration……………………………………………..…………………….73

5.4.5 Find Character………………………………………………..…………………………..74

5.4.6 Guild Registration…………………………………………………………………………76

5.4.7 Assign Guild Master………………..…………………………………………….………77

5.4.8 User Profile Page….………………..…………………………………………….………77

5.5 Process and Component Testing…………………………………………………………………..78

5.5.1 User Registration Process………………..……………………..………………………79

5.5.2 User Login Process………………..……………………………………..………………83

5.5.3 Character Registration Process………………..…………………………..…………...85

5.5.4 Character Search Process…………………..…………………………………………..90

5.5.5 Guild Registration Process………………..…………………………………………….92

5.5.6 Guild Master Assignment Process………………...……………………………………94

Chapter 6: Evaluation…………………………………………………………………………..………98

6.1 Introduction…………………………………………………………………………………..98

6.2 Initial Assessment…………………………………………………………………………..98

Page 4: Social Network Gaming

Social Network Gaming 2012

4 | P a g e

Chapter 7: Conclusion………………………………………………………………………….…….101

6.1 Introduction…………………………………………………………………………………101

6.2 Reflection on Progress……………………………………………………………………101

6.3 Potential Improvements………..…………………………………………………………102

References…………..…………………………………………………………………………………..102 Appendix: A - Original Terms of Reference……………………………………….………..………..105 Project Plan…………..………………………………………………………..……………….……….108 Appendix: B - Modified Terms of Reference ………………..……………………….……..……….109 Appendix: C - Ethnics Checklist……………….……………………………………………..……….112

Declaration

No part of this project has been submitted in support of an application for any other degree or qualification at this or any other institute of learning. Apart from those parts of the project containing citations to the work of others, this project is my own unaided work.

Signed: _____________________________ Date Signed: ____ / ____ / ________

Abstract

The aim of this project is to implement a user registry system specifically for users

who play the popular MMORPG World of Warcraft. The purpose of the

application is to supply users with an array of features to document themselves

and their game characters on my system. The application will also provide users

with a feature to search for fellow players using their character credentials. Once

found, users can choose to view the user profiles and use the provided links to

finding that player on Facebook. This report will be discussing the various steps I

have gone through to implement such a system, while also providing some insight

on the concept of social network gaming.

Abbreviations

API( Application Programming Interface)

PHP(Hypertext Processor)

SQL(Structures Query Language)

HTML(Hyper Text Mark-up Language)

Page 5: Social Network Gaming

Social Network Gaming 2012

5 | P a g e

List of Figures

Figure 1: Social game design layout...............................................................................................7

Figure 2: World of Warcraft Party Feature…………………………….……....................................15 Figure 3: Referrer Network in Social Game Adoption...................................................................18

Figure 4: Users who received invitations have stayed longer in game.........................................19 Figure 5: Facebook Friend Invitation GUI.....................................................................................19

Figure 6: Purchasing In-Game resources with real life payment..................................................20

Figure 7: Typical FarmVille GUI....................................................................................................21

Figure 8: FarmVille Gaming Promotions……………………………………………………………….22

Figure 9: Inside Social Games Review Ladder……………………………………………………….26

Figure 10: iSuppli Review Ladder………………………………………………………………………27

Figure 11: Object Relationship Diagram……………………………………………………………….41

Figure 12: Entity Relationship Diagram….…………………………………………………………….43

Figure 13: User Use Case Diagram……………………………………………………………………45

Figure 14: Administrator Use Case Diagram……………………………….………………………...46

Figure 15: Character Registration Sequence Diagram…………………….………………………...50

Figure 16: User Registration Sequence Diagram……………………….………………………...51

Figure 17: Last Login Sequence Diagram……………………………….………………………...52

Figure 18: Guild Registration Sequence Diagram………………..……….………………………...53

Figure 19: Guild Master Registration Sequence Diagram………………..………………………...54

Figure 20: phpMyAdmin Database Creation Interface……….……………..……………………...64

Figure 21: phpMyAdmin Table Creation Interface……….…………..………..……………………...64

Figure 22: phpMyAdmin Column Modifier…………….…..…….……………..……………………...65

Figure 23: phpMyAdmin Table Structural View…...….…..…….……………..……………………...65

Figure 24: phpMyAdmin Relational View Feature...….…..…….……………..……………………...66

Figure 25: phpMyAdmin Guild Master Table Relational View...….…..…….………..……………...67

Figure 26: MySQL Database Connection Sequence…………..….…..…….………..……………...68

Figure 27: WoW Beacon User Registration Interface…..……..….…..…….………..……………...71

Figure 28: WoW Beacon Login Interface………………………..….…..…….………..……………...72

Figure 29: WoW Beacon Home Interface…………..…………..….…..…….………..……………...72

Figure 30: Character Registration Interface.………..…………..….…..…….………..……………...73

Figure 31: Character Search Interface.………..………………..….…..…….………..……………...74

Figure 32: Character Search Summery Interface.………..…………..….….………..……………...75

Figure 33: Guild Registration Interface.………..…………..….…..…….………..……………...76

Figure 34: Guild Master Registration Interface.………..…………..….….….………..……………...77

Figure 35: User Profile Interface.……………………..…..…………..….….….……………………...78

Figure 36: User Registration Data Input Format.…...…..…………..….….….……………………...79

Figure 37: Incorrect Password Error…………….…...…..…………..….….….……………………...80

Figure 38: Incorrect Email Error………………….…...…..…………..….….….……………………...80

Figure 39: Incorrect Password & Email Error…..…...…..…………..….….….……………………...81

Figure 40: Incompletion of Input Fields Error…...…...…..…………..….….….……………...……...81

Figure 41: Username Already in Use Error……..…...…..…………..….….….……………………...82

Figure 42: User Registration Confirmation Page.…...…..………..….….….……………………......82

Figure 43: Newly Allocated User Details………...…...…..…………..….…….……………………...82

Figure 44: User Login Error Message…………...…...…..…………..….…….……………………...83

Figure 45: Home Page Structure for First Login ………...…...…..…………..……….…………......84

Figure 46: Un-shifted Last Login Table..………...…...…..…………..….…….……………………...84

Figure 47: Shifted Last Login Table……………...…...…..…………..….…….……………………...85

Page 6: Social Network Gaming

Social Network Gaming 2012

6 | P a g e

Figure 48: Updated Last Login Status…………...…...…..…………..….…….……………………...85

Figure 49: Alliance Faction Race Values...……...…...…..…………..….…….……………………...86

Figure 50: Horde Faction Race Values..………...…...…..…………..….…….……………………...86

Figure 51: EU Region Server Values.…………...…...…..…………..….…….……………………...87

Figure 52: US Region Server Values.…………...…...…..…………..….…….……………………...87

Figure 53: Character Registration Incomplete Fields Error.…...…..….…….……………………...88

Figure 54: Unavailable Character Name Error.....…...…..…………..….…….……………………...89

Figure 55: Character Confirmation Page ………………………...…...…..…………..….………....89

Figure 56: Newly Allocated Character Record.......…...…..…………..….…….……….…………...89

Figure 57: Character Search Incomplete Field Error………...…...…….…….……………………...90

Figure 58: Inconclusive Search Error.…………...…...…..…………..….…….……………………...90

Figure 59: Example Character Search Summery…...…...…..….…..….…….……………………...91

Figure 60: Guild Registration Incomplete Field Errors...…...…..….……….……………………...92

Figure 61: Unavailable Guild Instance Error………...…...…..….…..….…….……………………...93

Figure 62: Guild Confirmation Page….......................…...…..….…..….…….……………………...93

Figure 63: Newly Allocated Guild Record……….…...…...…..….…..….…….……………………...93

Figure 64: Un-established Character and Guild Error…...…..….…..….…….……………………...94

Figure 65: Un-established Guild Error ……………….…...…..….…..….…….……………………...94

Figure 66: Un-established Character Error …….…...…...…..….…..….…….……………………...95

Figure 67: Incomplete Guild Master Inputs Error…...…...…..….…..….…….……………………...95

Figure 68: Guild Master Confirmation Page…….…...…...…..….…..….…….……………………...96

Figure 69: Newly Allocated Guild Master Record…...…...…..….…..….…….……………………...96

List of Tables

Table 1: 1NF (First Normal Form)................................................................................................ 36

Table 2: 2NF (Second Normal Form)……………………....………….……....................................37

Table 3: 3NF (Third Normal Form)..…………………....................................................................38

Table 4: User registration validation table..…………....................................................................56

Table 5: Character registration validation table.……....................................................................57

Table 6: Character search validation table.……...........................................................................57

Table 7: Guild registration validation table.……............................................................................58

Table 8: Guild master registration validation table.……................................................................60

Page 7: Social Network Gaming

Social Network Gaming 2012

7 | P a g e

Chapter 1: Introduction

1.1 Project Background

Social network gaming can be considered a very vast and influential element of

what social networks have become in this day and age. It is no surprise that the

concept of social networking has provided considerable benefit to the growth and

expansion of the social gaming industry. In fact social networks have become a

very favourable platform to developers, as it grants them great opportunity to

promote their games to the general public. With the rise in popularity for this

field of business, we are introduced to a variety of development companies

fashioned to develop games specifically for social networks.

These companies include market leader Zynga, 5 Minutes, Playfish, Playdom,

Kabam, Crowdstar, RockYou and Booyah. Being an amateur developer and a very

active social network user, I have my own perceptions of social network gaming. It

has enticed me to employ an idea which incorporates elements of social

networking and online gaming into a unique application as part of my project.

To firstly understand what is meant by a social networking game, we must begin

by identifying the key factors behind their design. Now the typical design of a

social networking game involves a specific process, as they revolve around

asynchronous game play mechanics. As these are browser based games, it is

important to note that they can also be applied to specific platforms such as

mobile devices.

Figure 1: Social Game Design Layout, Source: [mygamestudies.com, 2009]

Page 8: Social Network Gaming

Social Network Gaming 2012

8 | P a g e

1.2 Project Aims & Objectives

In accordance to my original Terms of Reference specification, there have been

added points that need to be satisfied. In my previous documentation, it was

indicated that my system would include certain features to allow users to

communicate through instant messaging (IM). Due time management issue, this

feature had to be scraped to make time for the more important factors.

Since implementing these changes, I have been able to make my project a more

realistic task to accomplish. These changes were set in motion after I had

originally planned to develop my project to present some marketable potential.

As a result I modified my requirements to cater for a more achievable project.

1.2.1 Aims

To provide social network users with a unique and exclusive game related service.

The service is a registry system situated on the social network known as

Facebook, it focuses on users who play the popular MMORPG World of Warcraft.

The system’s purpose caters for two specific criteria, users who play World of

Warcraft and who are also registered on Facebook.

Users who play World of Warcraft will be able to utilise my service to locate

fellow players that are registered on the system database. This process follows

the conditions of what information users have in order to search for their fellow

players. This means that if a user does not have knowledge of a player’s real life

credentials to locate them manually through Facebook, they can alternatively use

another piece of information relevant to the game in order to locate them. This

may include their character name, race, class, guild, faction, realm or a number

other criteria.

Once introduced to my service and its principles, users will have to register

themselves in order to gain access to the primary features of the application. This

includes a search engine designed to accommodate for a range of queries, suited

for the flexibility of users who are lacking in data. The result of each query will

depend on the relevance of data available on the system database, otherwise the

search will yield an inconclusive result. If a query is successful, users will be

redirected to a summary of results where they can browse and select from a list

of related records.

Page 9: Social Network Gaming

Social Network Gaming 2012

9 | P a g e

Each record will include a profile for each user on the database, providing specific

details such as player overview, profile picture and their recent activities. In

addition each user profile will contain the Facebook Add Friend API, allowing

users to send friend requests directly through my application.

1.2.2 Objectives

As part of my objectives for this project, I intend to gain some insight on how

social network gaming has influenced the way people view social networks. I plan

to also understand the process of developing social network games, as it will

greatly benefit towards the development of my project.

Certain points that involve the expansion of my project are concerns that also

need to be addressed. In reference to my research, I didn’t come across any

products that offered the same services as my system. Therefore my project

might present some marketable potential. There are also several questions that I

plan to answer alongside these points:

Which elements of social network games are most enticing to users, and

how do those elements satisfy user expectations?

What advantages do social networks have from releasing their API’s to

independent developers?

What resources would be required to implement my system, considering

aspects such as time, effort and other functional requirements?

How effective would my system be to its target audience, as opposed to

whether users will favour the system enough for it to gain considerable

recognition?

Would be it be possible to integrate such a system onto a social network,

taking into consideration factors such as speed, consistency, flexibility and

most importantly cost?

Will the maintenance of this system present cause for concern, as its

eventual growth will require specific updates?

Page 10: Social Network Gaming

Social Network Gaming 2012

10 | P a g e

1.3 Project Layout

I plan to accomplish my project goals through the following stages of

development:

Literature Review – Investigate the topic of social network gaming, in order

to attain sufficient knowledge of their design and principles.

Requirements Analysis – To assess the requirements of the system I am

trying to build, while referring back to the resources I obtained in my

literature review.

Analysis and Design – The requirements I had assessed in the previous

stage will be analysed and planned into a design. This design will indentify

the key methods I will be using to structure the basis of my system.

System Implementation – In this stage I will have begun building my

system to the design specifications outlined in the previous phase.

User Feedback – The Judgment of the users who utilize my system is vital,

as they provide me with the information I’ll require to further improve my

system.

Evaluation – The final evaluation examines whether or not my system has

satisfied its fitness of purpose. This involves the completed work and the

result it has achieved.

1.4 Summary of Project Report Structure

Following is a summary of the chapters that will make up my report:

Chapter 1 – Introduction

Chapter 2 – Literature Review / Analysis

Chapter 3 – Design

Chapter 4 – Implementation & Testing

Chapter 5 – Evaluation

Chapter 6 - Conclusion

Page 11: Social Network Gaming

Social Network Gaming 2012

11 | P a g e

Chapter 2: Literature Review

2.1 Introduction Following my investigation into the subject of social network gaming, I discovered how popular game based applications have become amongst users. My resources indicated that these services have greatly influenced the way users operate on their respective networks. The initial demands for these gaming services have significantly increased since their introduction, making them more commonly associated with social networks. In conjunction to their success, there has been speculation that social-based games have contributed to the general image of social networks. By accommodating for a multitude of entertainment-based applications, most social networks have seen their user base rise significantly. What enticed me to engage this specific topic derived from my own personal experiences with social network gaming. Although it was in a moderate capacity, I have sampled a variety of social-based games in the past. Each game has a unique style based upon the concepts of their genre, as some players can be subject to a range of circumstances. This can involve a specific condition that needs to be meet or satisfied. While I managed to gain a fair understanding the conceptual mechanics, social network gaming is rather vast subject. Due to that reason, I decided to accommodate for a range of resources to gather the most reliable and accurate data available. During my research, I notice that the data for my chosen topic was rather limited. Fortunately, I managed to come across a number of articles that covered a range of issues with statistical and subjective reasoning. As a result, I began to categorise my findings under their related themes with specific titles. This allowed me to apply my information more efficiently, while outlining the key issues that required elaborating. Once my research was complete, I simply had to prepare the data for the second stage of my development. To clarify the points I had put across in my aims, I will be carrying out an analysis of my findings. Therefore in this chapter, I will be examining the data I have recovered in order to help me outline the key issues of social network gaming. 2.2 Initial concepts of Social Network Gaming During my investigation, I discovered evidence that claimed social games are definable through a series of distinct concepts. As each platform may differ from one another in terms of genre, they all still share the same initial factors. These

Page 12: Social Network Gaming

Social Network Gaming 2012

12 | P a g e

elements play a very important part in user interaction, as they outline the games base principles. This is justified by how crucial these concepts have become to the success of social games, acting as theoretical templates to be built upon. To lead on in this section, I will be analysing each of these points to justify their roles as structural guidelines for social games. So to understand what separates social games from traditional console games, we asses them according to the following concepts: Turn-Based The concept of a turned based game is rather straight forward. It refers to the notion of players having to take turns in order to progress with the game. In fact, it is quite rare to come across a social based game that doesn’t integrate the turn-based concept as social games aren’t social games unless you are playing with another person. Although it isn’t considered to be the latest fashion of game design, turn-based games have adapted a new identity among social gaming players. It should also be noted that the turn-based concept isn’t compulsory, it is just a very common element found in most social games today. Awareness of others actions within the game There has been much speculation on how social games have utilized the progression made by their user base. By taking advantage of network tools to share game related data, social games can entice their user base by keeping them up to date with the progression made by their fellow users. For example if a user achieves a new high score in the game, it will instantly be published on the network news feed to notify all other user who are associated with that player of his/her achievement. Potentially this will motivate users to involve themselves by attempting to set a standard of their own. This feature has often been considered as the driving force behind the advancement of social gaming, as it draws on the competitive resolve of users to excel their peers and set bench marks for their own achievements. The social context gives way to users becoming more interactive with the game, while at the same time keeping them up to date with the current standings. Casual gaming Social games can be considered as a very distinct variety of entertainment in comparison to standard gaming platforms. They are distinguished through the

Page 13: Social Network Gaming

Social Network Gaming 2012

13 | P a g e

idea of maintaining a casual level of distraction for users. The basis on which they are fashioned caters for moderate activity, where as mainstream games are more demanding of attention and interest. This idea derives from the fact that social games are for the average user and not intended for someone who is expected to play for a vast amount of hours. Multiplayer Naturally if a game isn’t multiplayer, then it cannot be considered to contain social elements. Whether a game is designed for two to two hundred players, there must be some degree of multiplayer content available. Based on Social Platforms The basis of a social game is another factor that needs to be addressed. It is a component that adds to the identity of social games. The most common platforms that are best recognised with users are social networks. The initial framework for social gaming is defined through the use of social networks. While providing users with an identity that can be applied to the games they engage, social networks also accommodate for the promotion of social games. Other implications would involve the processing and registration of social games, since social networks such as Facebook have an integrated system to allow developers to upload their applications independently. Social platforms also provide opportunity for users to share and distribute their favourite games to people within their network, building a strong sense of communication through features such as news feeds and notifications.

2.3 Origins of Social gaming The idea of social games is not a notion that was first recognised with the introduction of social networks such as Facebook. The actual expression social game derives from the concept of communication, which has been the core purpose of games since ancient times. Generally speaking, a social game comprises of a playing condition that integrates socialization within its structure to accommodate for range of individuals. This includes traditional games such as card games, board games, dice games, video games and more. However in this day and age, the term social game is most commonly associated with the games situated on social and digital platforms such as Facebook, Xbox live, the Playstation Network and Stream in addition to various other virtual

Page 14: Social Network Gaming

Social Network Gaming 2012

14 | P a g e

systems. This concept has become even more generalised since the integration of social network gaming. The applications incorporated are stereotypically identified as social as playing mechanics typically involve users having to interact simultaneously over the network. 2.3.1 Birth of the Modern Social game It is believed that the foundation of modern social gaming was established by a specific genre of traditional games. According to the author Jon Randoff, it was the fantasy role-playing game dungeons and dragons that first invoked the idea of conceptual role-play while “integrating idea of abstracting tactical combat along with storytelling and a unique social aspect in which individual players used their imagination and creativity to contribute to the ongoing game”[Jon Randoff 2010]. It was during the 70’s and 80’s that dungeons and dragons became significantly popular amongst gamers, coincidently around the same time that the very first video and computer games were introduced to the general public. The idea of merging the two gaming trends sparked interest in a number of developers, and so “the mechanics of D&D combined with the digital worlds and online connectivity of computers and game consoles to form MUDs (multi-user dungeons), as well as famous role-playing (RPG) series such as King’s Quest and Ultima”[Nadia Oxford 2011]. This endeavour was further expanded by the Japanese gaming industry by innovating social games that boasted more effective GUIs. These ventures lead to the launch of many prestigious franchises, such as DragonQuest and Final Fantasy. Although contributing to the advancement of MMORPGs (massively –multiplayer online role playing games), MUDs didn’t necessary gain the popularity that is now associated with them. Essentially it was the more graphical based MMORPGs that introduced the initial concept of modern social gaming into mainstream media. Since being established, MMORPGs have caught the attention of numerous users through the use of their social traits, such as in-game IM (Instant messaging) and voice communication. These elements assist users in coordinating with fellow players to accomplish various tasks and requirements, offering a more satisfactory gaming experience. The popularity of these features have been heavily invested by game development giants Blizzard entertainment. Their franchise World of Warcraft has since become recognised as the most successful MMORPG to date “with 10.2 million subscribers as of December 2011” [Wikipedia, 2012].

Page 15: Social Network Gaming

Social Network Gaming 2012

15 | P a g e

Figure 2: World of Warcraft Party Feature, Source:

[World of Warcraft: Cataclysm, 2012] However the definition of the MMORPG genre comes under question when discussing their classification on social networks. In terms of categorisation, the user perspective of MMORPGs based on social networks differs significantly to MMORPGs that are not based around social platforms. 2.4 Rise in Popularity among Social Networks users Since their introduction to social networks, social games have generally been received with good response. They provide services that target a wide range of age groups, making them very versatile forms of entertainment. Certain factors such as accessibility play an important part to their success, as users will be more drawn towards games that are openly exclusive. The processing of social games is another of their beneficial, as they are typically implemented using Flash. This implies that they use very little processing memory to function, an important detail as they are typically accessed through web browsers. Another benefit would include the ability to correspond with other players over the networks. Being able to communicate with friends and family is the universal purpose a social network. By applying that concept to a game situated on the same network, users can promote a good sense of communication between one another while also engaging in a mutually beneficial process. In addition, users will be encouraging a positive atmosphere for the network, whilst also providing entertainment for themselves and fellow players.

Page 16: Social Network Gaming

Social Network Gaming 2012

16 | P a g e

Updating and maintenance is another cause for popularity, as users can expect to be subjected to the latest and most popular games available on the network. In order to keep their players satisfied, development companies such as Zynga take user feedback as a top priority. As a result, they modify their product design where reasonable, while also trying to conserve their games popularity amongst the network. 2.5 Advantages and Disadvantages of Social Gaming Users will often come across social games that they will either favour or dislike, in reference to their own preferences. However that does not dismiss the fact that there are certain elements that define whether or not a social game is likely to be favourable to its target audience. For these reason, I will be conducting an analysis on the various benefits and drawbacks that are associated with most common social networking games. In accordance to the results I intend to outline and identify the most general points, whilst achieving some justification for my own theories on the subject. Advantages

There is an element of convenience, for instance if a user’s job retrains them to being stationed at a desk with a PC while they have nothing to do then engaging in a social game would be serve as a reasonable distraction for them.

A social network presents a vast system of individuals at the touch of a button. This invites the opportunity for users to make new and interesting friends that share the same gaming interests as they do.

Users have the option of inviting people from their own social circles to playing a variety of gaming genres.

Social networks provide a fertile environment for the development and promotion of social gaming.

Statistics show that social games tend to receive a high volume of users in a very short period of time. This is due to their exclusiveness to social network users.

Page 17: Social Network Gaming

Social Network Gaming 2012

17 | P a g e

Statistics show that Facebook users who are invited to social games happen to stay occupied for longer on a particular application rather than users who tend to them independently

The social referral mechanism is a major feature of social applications and has demonstrated significant importance in market strategy.

Disadvantages

Social games have a tendency to occupy users for long periods of time. This can prove to be a very unhealthy routine on a number of levels if performed on a regular basis.

With the possibility of meeting new people through the means of social gaming, there is always the possibility that users will come across an individual that will potentially be anti-social and offensive.

There are a huge variety of virus driven websites that support social games, for that very reason it is rather problematic for users who recklessly expose their computer to a potential hacker.

Social games can cause a serious degree of passive aggression if a user gets completely affiliated inside a game. There are known cases where this form of behaviour has led to depression, violence and even death. This anti-social behaviour also causes problems for people who are both familiars to and strangers to that individual

Absence from a game may cause distress and agitation for some users, since it can induce the mentality that a user is missing out on obtaining specific resources that would otherwise allow them to progress further into the game.

Competition amongst users can be consideration another drawback, considering that it will invoke a sense of insecurity within them if they cannot best or outmatch another player within the game.

There is the issue of a user falling behind with their real life priorities, such as work, education and their obligation to friends and family.

Page 18: Social Network Gaming

Social Network Gaming 2012

18 | P a g e

2.5.1 Contrasts between sharing and general selection Although it is difficult to differentiate the causes behind users becoming inclined to playing certain social games, there are potential motives that are adopted in the process of validating their preferences. This concept incorporates a variety of psychological factors that can influence a user’s decision in choosing a specific genre of games. This procedure is distinguished by two very explicit forms of referral, formally known as sharing and general selection. In this segment I will be examining the contrast between the two procedures, in order to identify which is the most preferred form of referral. Following the hierarchal structure of social networks, we discover that social games reside primarily high within the systems design. This delegates social gaming as a very valued component for network marketing as they are vastly employed by user on a daily basis. One feature in particular that many social networking games integrate, involves allowing users to invite others to join them in the game. Sharing and issuing invitations are very effective forms of referral, as users may passively influence people within their social circles to employ these applications. Invitations to a game are usually extended through a users news feed or inbox, usually a message contain a briefly explaining of the game and who issued the invitation. Notifications such as progression reviews and game changes are displayed through a users news feed every time the game is updated.

Figure 3: Referrer Network in Social Game Adoption, Source:

[Diffusion Dynamics of Games on Social Networks, 2008]

In a sense, the potential user base of social games is partially dependant on whether active players are inclined to use the games referral features.

Page 19: Social Network Gaming

Social Network Gaming 2012

19 | P a g e

As previously mentioned, it is very unlikely to differentiate between which forms of referral are most effective to attracting users to a social game. However, user invitations have been proven to attract a substantial degree of players.

Statistics show that “out of all players who downloaded the two games analyzed here, more than 37% (for YL) and 25% (for DL) received invitations from their friends before starting to play the game. Even though, invitations are not the main channel by which users land in a game, we find that the users’ engagement to the game is substantially higher for those who join through an invitation”

[Lada A. Adamic, 2008].

Figure 4: Users who received invitations have stayed longer in game, Source:

[Diffusion Dynamics of Games on Social Networks, 2008]

In figure 3, we analyse the probability of time that invited and none invited users would spend on the previously mentioned games. As displayed within the diagram, users who are issued invitations tend to occupy a game for longer in comparison to users who choose by general selection. These results suggest several implications. The first would consider invitation referrals as a guideline for filtering games users may be interested in. While another essential case would be to draw on the preferences of the user, so they place more faith within a specific game.

Figure 5: Facebook Friend Invitation GUI, Source:

[Facebook, 2011]

Page 20: Social Network Gaming

Social Network Gaming 2012

20 | P a g e

2.5.2 Importance of user psychology Psychology can play a very significant part in how users view social games. There may be certain users, who will find a game too violent and unappealing for them. There may also be situations where players will consider a game lacking in entertaining. The point however, relies on the mentality that social games project onto users over the period they are played. One example would be the development of an unwary addiction, as users may find themselves dedicating countless hours of playing for personal fulfilment.

Figure 6: Purchasing In-Game resources with real life payment, Source: [Facebook, 2011]

However the use of the term “addiction” in reference to games is typically frowned upon by psychological experts. This is due to the expression being more commonly associated with concept of drug and alcohol disorders. Yet the reality of issue gives cause for alarm, since “When you sneak a peek into Facebook while at work to grab virtual golds for St. Patrick’s Day or set alarms and wake up at 2 a.m. to harvest your crops so they don’t wither, or when you eat your lunch right in front of your PC so you can attack other Mafia Wars players in between bites, what else do you call that?”[Leonora Albino, 2010]. Essentially the psychological factors that depict a user’s outlook on social gaming derive heavily on their rationality and reasoning.

Page 21: Social Network Gaming

Social Network Gaming 2012

21 | P a g e

2.5.3 Competitive elements

The competitive elements within a social game can consist of a vast range of incentives. Although victory and defeat are regarded as the universal conditions, every game is likely to have its own unique class of competitive elements. The need to progress compels every player into flaunting their competitive nature, as a result prompting them to initiate whatever conditions required of them to succeed. It is important to consider the prime standards, which need to be established for these competitive elements to exist. This includes:

An animated game, its ability to prompt individuals to invite others for the competition [Avenirtech, 2012].

Individuals who are highly intentional to play against each other for fun. [Avenirtech, 2012].

A platform which allows both the games as well as individuals to accomplish their desired tasks [Avenirtech, 2012].

Figure 7: Typical FarmVille GUI, Source: [Facebook, 2011]

Further requisites may include the method in which social games choose to distributed particular motives. One example would be issuing unique periods of time where players gain additional benefit from game resources and tasks. The

Page 22: Social Network Gaming

Social Network Gaming 2012

22 | P a g e

fundamentals of competition can apply to various areas of social gaming, whether it is a modest or demanding task. As long as it holds some form of progressive value, it will most likely entice players to obliging. 2.6 Social Networks as an Investment Platform Over the years there have been many additions to the expansion of social networking. It is no surprise that the developers of social platforms such as Facebook or Twitter will continue to make substantial profit from what their products have to offer the general public. As far as listing dates go, there are bound to be countless statistics and figures detailing the net work of these development companies. According to resources “Facebook’s user base could top a billion by the end of this year. Other networks are also seeing a massive uptake. LinkedIn has 150 million members. Indonesia hit a million members only two months after LinkedIn added support for its official language” [Brian Borzykowski, 2012]. It is quite evident that social networks are now more or less part of modern society. Due to this, there has been speculation on whether social networks can serve as a promising investment platform for potential shareholders.

Figure 8: FarmVille Gaming Promotions,

Source: [Facebook, 2011]

Page 23: Social Network Gaming

Social Network Gaming 2012

23 | P a g e

Ian Ainsworth, who is the senior vice president of the Mackenzie Financial Corporation stated otherwise. He claims that while social networking may seem like a wise investment, it invokes time and patience to show any real signs of profit. This implies that any individual is welcome to invest in social platforms, considering they can afford to. However it would be a more practical venture for those planning for a long term investment. 2.6.1 Why Social Networks? It is no surprise that social networking platforms have become so increasingly popular over the past few years. Their progression has incited individuals to ask, why are they so successful? For most social networking users, this question is rather relative. The fact that these platforms can initiate such influence, demonstrates how society is accustomed to following the latest social trends. Another point would be the variety of social platforms available to the general public. Initially they are created to contain a large selection of features, each promoting a unique service that contributes to their popularity. One element in particular that users most commonly recognise is the simplicity of social platform GUIs (Graphical User Interface). For these reasons, they are viewed as very lucrative foundations by potential investors. By embracing this concept, social networks become versatile environments where users can benefit from the vast collection of their services.

2.6.2 Who develops the games? Following its induction of various gaming services, social networks have provided development companies with the tools they require to effectively advertise their own products. Subsequently, a number of these companies became well established mainstreams names after string of positive marketing reviews. They’re development into the industrial side of social network gaming saw the rise to many favoured social games, these include FarmVille, CityVille, Mob Wars, Farm Town, The Sims Social and many more. In this section I will be briefly discussing a couple development brands, their expansion platforms in addition to some of the most notable games they have produced.

Zynga Zynga is a games development company based in San Francisco, United States. The company is known to for producing a line of both stand-alone and application widgets that are typically used on social platforms. The company has been

Page 24: Social Network Gaming

Social Network Gaming 2012

24 | P a g e

recognised as one of the most popular games manufacturers based on social platforms such as Facebook, MySpace, Orkut and Google+. After gaining a considerable reputation through Facebook, Zynga began to expand its assets and “as of February 2012, Zynga's games on Facebook had over 240 million monthly active users” [Wikipedia, 2011]. Some of the most popular Zynga games include: CityVille, CastleVille, Zynga Poker, FarmVille and Empire & Allies.

Playfish Playfish is a games development company that offers a variety of free social networking games on the social platform Facebook. The company is based in London England and was founded by a team of four associates named Kristian Segerstrale, Sebastien de Halleux, Sami Lababidi and Shukri Shammas. They where first discovered after developing very successful Facebook application called Who’s got the biggest brain? The game was recorded as being the first Facebook game to attract a user base of over one million players on a daily basis. The proceedings where used to kick start the company on the road to producing many more favoured originals. Since their implementation, studies also show that “Playfish games currently attract roughly 55 million users a month, with over 37 million users solely coming from Facebook members” [Wikipedia, 2011]. Playfish has been the centre of many prestigious games since its launch, however over the course of time some became discontinued in pursuit of new and more promising investments. Their most recent games include: Pet Society, Resturant City, EA Sports FIFA superstars, Madden NFL Superstars, The Sims Social, Risk: Factions and Secret Island.

Playdom Playdom is a games development company that was established in San Fransisco by University graduates John Pleasants, Dan Yue, Chris Wang and Ling Xiao. The company first rose to popularity on social networks Facebook, Google+ and MySpace. The company is known to be subordinately owned by the Walt Disney Company as a part of their Disney Interactive Media Group. Playdom has since flourished following the release of many favoured hits. A study has concluded that “it is currently the largest social game developer on MySpace and number 15 by MAU on Facebook” [Wikipedia, 2011]. In contrast to the Playfish, Playdom has also had many discontinued projects.

Page 25: Social Network Gaming

Social Network Gaming 2012

25 | P a g e

Their most current line of gaming includes: Gardens of Time, Mobsters: MySpace, Mobsters 2: Vendetta, Sorority Life, City of Might, Marvel: Avengers Alliance, My Vineyard and other prominent titles.

RockYou RockYou is a social games development company that also employs advertising solutions for various types of social media. The company was founded in 2005 by partners Lance Tokuda and Jia Shen. Their headquarters is based in Redwood City California, where they developed their first successful product consisting of a slide show service. RockYou has since set its focus on producing social gaming applications specifically for the Facebook plaform. The company also experience a degree of success with their advertisement venture as their “products allow brands to interact with players in-game, adding value-per-engagement for both brands and users” [Wikipedia, 2011]. RockYou has since been known for releasing numerous titles that shared some extent of popularity among Facebook users. However their prime focus in their latest line of production has been the source of three explicit games, namely: Zoo World, Zoo World 2 and Cloudforest Expedition. 2.6.3 Who are the Market Leaders? With the advancements of social network gaming, a lot of competition has escalated among development companies to gain the interest of users. In the process of advertising their products, a select number of companies have achieved considerable favour amongst their consumers. In response to their success, a select few have become acknowledged as the market leaders for their class of applications. The question is however, who are the key players and which products gained them their success among the market? To answer this question, I began to investigate the current standings and discovered the two following studies:

Inside Social Games Review According to a statistics study by insidesocialgames.com, Zynga’s Slingo application was recorded to having the most rapid amount of MAU (monthly active users) placing them at the top of their ladder. The application managed to raise its percentage figures by 210 percent with an “increase from 3 million to 5.6

million MAU” [insidesocialgames.com, 2012]. In second place came Rovio’s Angry Birds application with “1.9 million new MAU for an 11 percent gain,

Page 26: Social Network Gaming

Social Network Gaming 2012

26 | P a g e

ending its three-week reign as the top game on the list” [insidesocialgames.com, 2012]. The other top 10 contenders followed up with figures between 300,000 to 800,000 MAU gains.

Figure 9: Inside Social Games Review Ladder,

Source: [insidesocialgames.com, 2012] iSuppli Review While examining the records for social networking gaming activity, iSuppli.com revealed that during 2010 the development company Zynga managed to surpass all its potential competitors. This success was accumulated through the popularity of Zynga hits CityVille and FarmVille. Following the review, it was revealed that “Consumer spend on Zynga’s PC social networking games and its revenue from lead generation and advertising activities amounted to $544 million in 2010, giving it 39.1 percent share of the global market, a 4.2 percentage point increase over 2009”[Piers Harding Rolls, 2011]. The data demonstrates how Zynga managed to easily overshadow its competitors with the largest recorded percentage rise among the top 5 contenders. In second place was EA’s Playfish with a market share percentage of 6.5%. The top 5 contenders followed in with market share percentages ranging between 2.6 to 5.5%.

Page 27: Social Network Gaming

Social Network Gaming 2012

27 | P a g e

Figure 10: iSuppli Review Ladder,

Source: [iSuppli.com, 2011]

Thus in reference to the reviewed data, it would appear that Zynga is currently recognised as the commercial market leader for social network gaming. 2.6.4 What makes for a successful social game? Ever since the introduction of social network gaming, one question has been heavily stressed among its investors – What makes for a successful social game? When asking such a question, one must consider the relative elements that define a social game. The actual concept for success is a very dependent factor, bearing in mind that not all consumers will be satisfied with only one flat class of social games. For these reasons, it is imperative that development companies carefully analyse the preferences of their target audience. Typically each social game would include its own set of marketing principles, although the initial development process follows a compulsory list of criteria. Subsequently, there are a collection of key elements that directly benefit every social networking game. So what exactly are the key elements to the success of social network gaming?

1. Any individual who has internet access is considered as a potential consumer.

2. Applications are typically free of charge 3. Social networking platforms provide a very versatile environment for the

commercial advertising of products. 4. Encourages users to express their competitive nature. 5. Advantages of an interactive system. 6. Accumulates user co-operation. 7. Promotional events and competitions to maintain the attention of users 8. Presents the opportunity for consumers to earn rewards.

Page 28: Social Network Gaming

Social Network Gaming 2012

28 | P a g e

2.7 Conclusion - Thoughts and Opinions linking to project In respect to my findings, I set out to distinguish the importance of the social element within modern games. My research justified the relationship between integrating games within social platforms. In the process of my investigation, I discovered various details that linked back to the initial aims of my project. The notion of an interactive system is strongly implicated within my projects design, a concept that I adopted from the key elements of social network gaming. Another point that links to my purposed system involves the concept of user demand. Implementing a system that offers an exclusive service is a difficult task, seeing as how the preferences of consumers can be very distinct. Therefore my design was proposed around offering a unique service that would present a degree of long term requirement.

Page 29: Social Network Gaming

Social Network Gaming 2012

29 | P a g e

Chapter 3: Requirements Analysis

3.1 Introduction

In order to build and develop my system, I must firstly initialise the resources that

are required. In this section I will be discussing the type of system I plan to

construct, in addition to which platforms will serve as my systems foundation. I

will also be discussing the techniques I’ve chosen for structuring my design, while

addressing the target requirements. Other elements include whether or not my

systems proposal exhibits feasible evidence to implement. I will also be obligated

to demonstrate the ethical factors that relate to my systems implementation.

3.2 The System Proposal

The system I plan to implement incorporates two specific ideals that relate to

social network gaming. The first concept assesses the utilization of interactive

social network characteristics, by regarding the importance of user

communication. Subsequently my project is focused around a modern social

game that is completely independent to social networking platforms. Due to this, I

have chosen to integrate a registry system based around the popular MMORPG

World of Warcraft. The purpose of my application is to record any willingly given

data about a user’s social credentials and Word of Warcraft gaming profile.

By incorporating this information, my system will enable registered clients to

generate user enquires by providing a character name. The system will return any

results that relative to the search in the form of a summary list. Once a user has

found a desired profile, they can employ the provided information to seek out the

enquired user. Additional services will include users being able to register existing

guilds and their guild masters into the system. The initial aim of my services is to

create a social environment where users are granted access to an open source of

information.

This concept is very reminiscent of typical social networks, yet it focuses on

individuals who are active World of Warcraft subscribers. Once the system is

complete, I plan to situate it as an open service exclusively for Facebook users.

Page 30: Social Network Gaming

Social Network Gaming 2012

30 | P a g e

3.3 What are the System Requirements?

The primary requirements of the system are identified through a series of distinct

guidelines. These factors test a system’s integrity through seven fundamental

concepts. As my application involves the interests of a consumer, my

requirements must be fit to satisfy the following criteria:

Operational distribution or deployment: Where will the system be used?

Mission profile or scenario: How will the system accomplish its mission objective?

Performance and related parameters: What are the critical system parameters to accomplish the mission?

Utilization environments: How are the various system components to be used?

Effectiveness requirements: How effective or efficient must the system be in performing its mission?

Operational life cycle: How long will the system be in use by the user?

Environment: What environments will the system be expected to operate in an effective manner? [Wikipedia, 2012]

3.3.1 Operational Distribution

The platform I decide to choose as my system’s foundation will hold significant

influence to its credibility. Since my system is designed for operating within social

environments, it would be most practical to establish it within a social network.

After reviewing a variety of social platforms, it became apparent that the most

suitable platform for my system would be Facebook. My decision was justified

after figuring my application had much to gain from Facebook’s thriving social

gaming environment.

Facebook is known for providing a compelling array of services to its user base.

This includes an exclusive developer’s society that trains and encourages potential

developers by providing them with an archive of resources. Their forums offered

much valued insight into the process of developing and publishing my own social

applications. As part of its service, the society provides an integrated system that

where registered users can manually upload and advertise their own products

independently.

Page 31: Social Network Gaming

Social Network Gaming 2012

31 | P a g e

3.3.2 Mission Profile

The system’s purpose derives from the activity it’s received from potential users

in need of its services. The more users that are register on my application,

provides for a more accurate service. In order for my system to satisfy it purpose,

it would require time to collect the data necessary. Only then would it reach its

full potential as a registry system.

3.3.3 System Performance Parameters

The performance parameters for my system concerns a set of object classes that

will define the order in which operations are to take place. These objects make up

the instances that will be integrated into my systems infrastructure. Each instance

will be subject to its own string of operations, while the overall design will include

connections between each of these procedures. My parameters include the

following object classes:

Users

Characters

Guild

Guild Master

Server

Last Login

Every object will be introduced into the system as a class table containing a set of

attributes and relationships. Each table will consist of a unique primary key, in

addition to a range of local attributes and potential foreign keys.

3.3.4 Utilization Environments

The correct utilization of my components is an essential concept that every user

must understand while operating the system. There is a regimented procedure of

tasks that needs to be considered as my service follows a certain principle of

connected processes. When a user first logs into the system, they’re offered a

number of features that contain a degree of dependency on the order their

employed. The primary goals of my components are to carry out two specific

forms of processes. As my system involves the registration and enquiring of data,

each component will be utilized for the retrieval or recording of information.

Additional components will concentrate on system navigation and page status.

Page 32: Social Network Gaming

Social Network Gaming 2012

32 | P a g e

3.3.5 Effectiveness Requirements

My system is capable of performing a standard level of operations without

encountering much error. However the system may encounter several issues

concerning the authentication of specific data. Another concern would be the

possibility of broken links, since users must supply a form of online identification.

Essentially the system is required to offer users with a valid and consistent

service, although the margin for its efficiency is a matter of perspective. While

users can still employ the service with regards to potential shortcomings, its

ability to performing system tasks is justified.

3.3.6 Operational Life Cycle

The target life cycle for my application is focused around providing users with a

long term service. However its estimated period of active use will depend on how

long it stays in favour amongst users. The length to which the system remains

operational can also be subject to a range of factors. One possibility may include

the introduction of a similar application with more appealing services.

Additionally the system may experience a string of technical issues, making it

inaccessible for an unknown period of time.

3.3.7 System Environment

A social network provides a very active and dynamic environment, one that’s

compulsory for an application such as mine to succeed. In order for my system to

achieve its fullest potential, it must be placed within a network that offers the

appropriate audience for my application’s services.

3.4 What are the Ethical Implications?

When implanting a system, there are a degree of ethical implications that need to

be considered. To ensure the authenticity of my systems purposes, I must

conduct a clear analysis of any possible causes for concern. Since my application

records and stores personal information, it would be necessary to address any

implications that would arise regarding the privacy and employment of user data.

The integrity of system information is another issue that needs to be discussed,

Page 33: Social Network Gaming

Social Network Gaming 2012

33 | P a g e

seeing as how the application is open to anyone who wishes to register. As my

service has only a limited level of data authentication, won’t be able to tell if

registered data is reliable. The overall security of the system is another concept

that concerns not only its users but also the system administrator. What

precautions I am taking to prevent compromise? How will my processes integrate

a secure service? The issue of security has many implications.

3.4.1 Privacy of User data

My application is open to any user who wishes to freely submit their personal

information, although like any system that stores user data it is important to

consider the issue of data privacy. The ability to control user information places

vast responsibility onto a system, as its allocated records will require a good level

of security. It’s no surprise that the majority of users are reluctant to giving out

personal information over the internet, naturally they deserve the assurance that

their personal information is safe and secure. In accordance with the Data

protection act 1998 and other relevant data privacy laws, my application will

strive to promote the privacy of interactive computer service users by frequent

regulations of my service.

3.4.2 Reliability of Information

A successful system will strive to provide its users with only the most reliable data

it can gather, however the consistency of a service can wane through being

supplied with unreliable information. As my service runs an independent system,

it lacks the ability to validate whether a certain user is the legitimate owner of an

existing World of Warcraft character. This presents quite a problem considering

the possibility that anyone can claim ownership for character through my

registration service. Alternatively I could request access to the official World of

Warcraft player archives, yet that would be a breach of customer confidentiality

on the behalf of Blizzard entertainment.

Essentially these factors demonstrate that the integrity of my system data is open

to comprise, however as I have access to the records I can correct any misleading

information that becomes an issue at a later stage.

Page 34: Social Network Gaming

Social Network Gaming 2012

34 | P a g e

3.4.3 System Security

Every system requires a distinct level of security to be considered a viable

interactive service. In regards to a registry system, there are several aspects

where the safety of user information can be discussed. Since my application

involves the use of SQL queries, its process of managing data is under risk of

compromise. Various developers are unaware to the issues that can arise from

the tampering of SQL queries. It is a common misconception that an SQL query

holds no immediate threat to data security, yet that is not the case. This only

implies that SQL queries avoid admission controls, thus circumventing any

authenticating or verifications.

In these situations it is very typical for hackers to employ direct SQL command

injection to manipulate existing SQL operations to access concealed information.

This process can also be used for overriding current records or even issuing

unauthorised system commands through the host server. One possible solution

for preventing the risk of SQL injection is to implement Escaping. This technique

involves escaping characters that hold any special meaning within your SQL script.

In effect every system must undertake a range of security checks before it is

deemed secure. However with new forms of spyware being introduced on a daily

basis, it is a working process to keep interactive systems updated.

3.5 Analysis Conclusion

I realise that at this point my products capabilities for success seem rather

ambitious, yet it’s primarily focus has been to investigate and document what I

have learned about social network gaming. It is quite obvious that my system

requires a great deal of development to be criticised on a professional level.

However I do believe that my product presents a considerable degree of

marketable value, with only the promise of future opportunity to continue its

expansion.

Page 35: Social Network Gaming

Social Network Gaming 2012

35 | P a g e

Chapter 4: System Design

4.1 Introduction

In accordance to my requirements analysis, I will be documenting the steps I took

to design my systems infrastructure. The process of designing an interactive

system involves a series of connected phases. Each phase will discuss the unique

array of techniques I have integrated to design my system components. To begin

this section I will be reviewing the elements which form the basis of my

application. This includes designing the object classes, defining their operations

and identifying any relationships or dependencies. I will also be demonstrating

various modelling techniques I have incorporated, to provide a well mapped

visual represented of how my system operates.

My first model consists of an entity relationship diagram which displays entity

associations, in addition to a use case diagram that defines interactions between

a potential actor and the system. I have also included a sequence diagram to

illustrate the order in which my system operations take place. Another aspect to

my design examines the possible conditions for validation. To present a standard

level of service, my application must contain a consistent degree of integrity

within its processes. By integrating these validation procedures, users will gain a

list of guidelines that will initialise the correct order of submission for required

data.

The final section of my design will dispute the structure of my character search

reports, detailing how I plan to arrange regard the components that will be

display along with any queried data. Visual factors and general aesthetics will also

be covered, as the appearance of an application can invoke a great deal of

influence.

4.2 Application Structure

Like any registry system, there are allocated spaces of memory where records are

usually stored. When considering a database we must understand that each table

may store a unique variant of data depending on its content. In order to define

the contents of a table, we must refer to attributes to initialise the purpose of

Page 36: Social Network Gaming

Social Network Gaming 2012

36 | P a g e

that data in addition to its format. Given that my application will be recording

user data, it will require a set of object classes that will store records under the

appropriate data types. Since these classes contain their own string of operations,

the methods they will encompass throughout each stage of the system will

require defining. Taking into consideration that my system will revolve around an

object-oriented database, it would also be necessary to identify any potential

associations between my object classes.

4.2.1 Designing the Object Classes

In section 3.3.3 of my requirements analysis, I briefly reviewed the system

performance parameters for my application with reference to the five object

classes that make up my system. In this section I plan to describe my classes in

more depth, illustrating the stages I’ve taken to normalize unstructured data

types into uniquely ordered objects.

Object Class Normalisation

The first step to designing my applications structure involves process of

normalising attributes into defined classes. Each object class must include a range

of attributes to accommodate the essential data required for the system to fulfil

its purpose. The most practical approach to initialising attributes would be to

declare the most relevant class identifiers. However since the system will deal

with queries that may refer to different tables, it is vital that my object classes

include primary and foreign keys to maintain data integrity. Below I demonstrate

the procedure of normalisation for my object classes.

Table Legend:

Primary Key: Underlined, Foreign Key: Asterix, Candidate Key: Bold

1NF

Users Characters User ID Username Forename Surname Password

Character ID Username* Character Name Server Name Class

Page 37: Social Network Gaming

Social Network Gaming 2012

37 | P a g e

Gender Email Date of Birth Facebook Last Login ID Last Login Current Login

Race Level Primary Talents Secondary Talents Faction Primary Profession Secondary Profession Armoury Guild ID Guild Name Guild Level Guild Type GM ID Server ID Server Type Region

Table 1: 1NF (First Normal Form)

2NF

Users Character Guild Guild Master User ID Username Forename Surname Password Gender Email Date of Birth Facebook Last Login ID Last Login Current Login

Character ID Username* Character Name Server Name Guild ID* Class Race Level Primary Talents Secondary Talents Faction Primary Profession Secondary Profession Armoury GM ID* Server ID Server Type Region

Guild ID Guild Name Guild Level Guild Type Server Name Server ID GM ID*

GM ID Character ID* Character Name Guild ID* Server Name Server ID

Table 2: 2NF (Second Normal Form)

Page 38: Social Network Gaming

Social Network Gaming 2012

38 | P a g e

3NF Users Character Guild Guild Master Server Last Login

User ID Username Forename Surname Password Gender Email Date of Birth Facebook

Character ID Username* Character Name Server Name Guild Name Class Race Level Primary Talents Secondary Talents Faction Primary Profession Secondary Profession Armoury

Guild ID Guild Name Guild Level Guild Type GM ID Server Name Server ID*

GM ID Character ID* Character Name Guild ID Server Name Server ID*

Server ID Server Name Server Type Region

Last Login ID User ID* Last Login Current Login

Table 3: 3NF (Third Normal Form)

4.2.2 Defining Object Methods

Like any application my service provides its users with the ability to perform a

variety of tasks. However an operation must be called for a specific process

depending on what action is taking place. To define my operations, I must create

object methods that will extract all the essential data required by my system. This

will include the initialisation of what processes are to take place, in addition to

how they will be defined. To establish which object methods are necessary, I must

classify to what information needs to be recorded within the database.

First and foremost each user must register to gain access to the application’s

primary interface. Users also have the option of providing data regarding their

game characters, guilds and guild masters. A static object method that records

and updates the last logins for user accounts will also be included. This

accumulates a total of seven operations, each recording a specific set of

information for their relative object tables. Provided below is a listing of each

object method with a summary of their respective parameters.

Page 39: Social Network Gaming

Social Network Gaming 2012

39 | P a g e

Register User (Username, Forename, Surname, Password, Confirm

Password, Email Address, Confirm Email Address, Facebook Link).

Register Character (Character Name, Faction, Race, Class, Level, Region,

Primary Talents, Secondary Talents, Primary Professions, Secondary

Professions, Armoury).

Register Guild (Guild Name, Guild Type, Guild Level, Region, Server).

Assign Guild Master (Character Name, Guild Name, Region, Server).

Search Character (Character Name).

Record Login (Last Login ID, User ID, Current Login).

Update Last Login (Last Login ID, User ID, Last Login, Current Login).

In each case, these methods act as the functional medium between a user and the

database. Any data that the methods acquire is validated and stored within the

object tables for later enquiry. It should also be noted that the functionality of

these operations can be affect by the order of their execution. Typically the first

method that the service initiates will be Register User. Without undergoing this

process, the system won’t allow users access to the rest of the service features

that integrate the object methods.

4.2.3 Object Relationships and Dependencies

When developing a relational database, a big portion of the design will involve

allocating your data elements into tables connected by a set of references. When

database becomes operational, it will be the task of my object relationships to

string together my system records in a meaningful manner. For example, the

record of a registered character is worthless without knowing the details of the

user that it belongs to. Yet it would be impractical to store these values within the

same table. The more convenient method would be to store character and user

data in two separate tables, while also establishing a relationship that will refer to

both tables through a relative attribute. Subsequently, relationships will identify

each character record with its corresponding user. Considering that normalized

tables make up the foundation of relational databases, it is only prudent to

acknowledge object relationships as their standard cornerstone. Due to these

points, my objects include a variety of relationships to support data integrity. The

following workings will illustrate the connections between the key attributes that

define my object relationships. These associations are initialised in regards to the

data that links the concerned tables together.

Page 40: Social Network Gaming

Social Network Gaming 2012

40 | P a g e

User Table relationships

(User Table) Username -> (Character Table) Username

(User Table) User ID -> (Last Login Table) User ID

Character Table relationships

(Character Table) Character ID -> (Guild Master Table) Character ID

(Character Table) Username -> (User Table) Username

(Character Table) Guild ID -> (Guild Table) Guild ID

Guild Table relationships

(Guild Table) Guild ID -> (Guild Master Table) Guild ID

(Guild Table) Guild ID -> (Character Table) Guild ID

(Guild Table) GM ID -> (Guild Master Table) GM ID

(Guild Table) Server ID -> (Server Table) Server ID

Guild Master Table relationships

(Guild Master Table) GM ID -> (Guild Table) GM ID

(Guild Master Table) Character ID -> (Character Table) Character ID

(Guild Master Table) Guild ID -> (Guild Table) Guild ID

(Guild Master Table) Server ID -> (Server Table) Server ID

Server Table relationships

(Server Table) Server ID -> (Guild Master Table) Server ID

(Server Table) Server ID -> (Guild Table) Server ID

Last Login Table relationships

(Last Login Table) User ID -> (User Table) User ID

Page 41: Social Network Gaming

Social Network Gaming 2012

41 | P a g e

These relationships show the single connections between my object tables, with each link being subject to a specific

dependency. Additionally an overall view of my relationships would comprise of the following design:

Figure 11: Object Relationship Diagram

Page 42: Social Network Gaming

Social Network Gaming 2012

42 | P a g e

4.3 System Modelling Techniques

In order to provide a conceptual demonstration of how my system is to be

structured, it would necessary to depict my components through a range of

modelling techniques. The significance of these models facilitates a variety of

design benefits, each of which provides a unique illustration for an explicit level of

planning. Other factors that encourage the use of system modelling include:

Reducing the number of potential errors within final source code.

Follows an orderly process to organising and identify your system.

Branches options in a logical manner providing early opportunity to

discover more preferable alternatives.

Provides a rational representation of the development and maintenance

process with regards to the original system requirements.

In accordance to my design plan, I will be incorporating three specific modelling

techniques to define my systems configuration. These models include ERDs, use

case and sequence diagrams.

4.3.1 Entity Relationship Diagram Representation

The purpose of an entity relationship diagram is to provide a graphical

representation of relationships between system entities. The three main aspects

of an entity relationship diagram include:

The initial entity which can count an as object, person, location or occasion

for which information is gathered.

The relationship that identifies the association between those entities. This

concept defines whether specific entities share a common reference.

Finally the cardinality involves the number of associations that an entity is

subjected to. Typically relationships provide three forms of cardinality, one

to one, one to many or many to many depending on the association.

I chose to use an ERD in order to classify the relationships between my entities

more distinctly. Since my database records information about a game with many

relative elements, I made sure to initialise any potential relationships shared

between my entities.

Page 43: Social Network Gaming

Social Network Gaming 2012

43 | P a g e

Entity Relationship Diagram

Figure 12: Entity Relationship Diagram

Page 44: Social Network Gaming

Social Network Gaming 2012

44 | P a g e

4.3.2 Use Case Diagram Representation

Use case diagrams are primarily used for the classification, explanation and

organisation of systems. The initial purpose of a use case is to identify the various

sequences of interaction that occur between a user and a system. These

interactions usually lead to a specific goal that must be satisfied in order for the

sequence to terminate. Essentially use cases should only display system activities

that contain relative significance to users. The diagram itself consist of a collection

of elements, they can be used in conjunction to create larger scales of sequences.

These elements include an actor, use case, association and text, each of which

being required to make up the primary diagram.

Certain elements that use cases integrate include:

Systematizes the operational requirements.

Exemplifies the purpose of an actor’s interaction with the system.

Documents scenarios that take place as connected processes, showing all

stages of activity until a specific goal has been reached.

Demonstrates a primary course of action, with the addition of alternate

tasks that can be performed. These are recognised as exceptional flows of

events, or secondary courses of action.

Acts on a collection of layers, where uses cases can adopt each other’s functionality.

My reasons for applying a use case to my design derive from its vast

representational capabilities. Due to the large number of tasks that take place

within my application, I concluded that a use case diagram would offer an

exceptional illustration of my system activities. Taking into account that my

system activities contained many connected processes, I began to map out each

use case with regards to their associations. The diagram depicts two actors, a

user, and the system administrator.

In reference to my diagram, a user can undertake all the standard system

activities. Alternatively the administrator also has access to the same services,

with a greater level of authority. It is the administrator’s responsibility to perform

routine system maintenance, with the addition of applying any necessary

updates.

Page 45: Social Network Gaming

Social Network Gaming 2012

45 | P a g e

User Use Case Diagram

Figure 13: User Use Case Diagram

Page 46: Social Network Gaming

Social Network Gaming 2012

46 | P a g e

Administrator Use Case Diagram

Figure 14: Administrator Use Case Diagram

4.3.3 Sequence Diagram Representation

Sequence diagrams illustrate the process of interaction between relative objects

within a particular system or environment. Object collaboration is expressed

through the representation of time based sequences, drawing towards a specific

goal or purpose. These diagrams provide a fundamental overview of process

driven development, detailing the essential concepts for system analysis and

design. The diagram incorporates a series of role classifiers, each defining an

object within the process. Communication between objects is expressed through

a sequence of action methods, which depict the flow of interaction. Available

actions include call, return, send, create and destroy processes. The order of

interaction follows a vertical path, working from top to bottom until all operations

are completed.

Sequence diagrams present considerable benefit for process modelling, some of

its most useful features include:

Complex connections involving relative components.

Can be used as a base for elaborating use cases.

Validates the architecture and logic of system components based on a level

of scenarios.

Page 47: Social Network Gaming

Social Network Gaming 2012

47 | P a g e

Presents rational illustrations of system procedures, defining the

interactions that transpire between objects.

Due to the multitude of processes that occur within my application, I opted for a

suitable modelling scheme that would best illustrate my collaborating objects. As

each process involves a distinct order of execution, it became necessary to

express the operations through individual diagrams. This includes user

registration, character registration, character search, guild registration, guild

master registration and last login establishment. Leading onto my diagrams, I

begin by identifying the initial steps involved for each operation. The sequences

begin with a user who initiates an action towards other objects. This causes a

chain reaction where other objects begin to institute their own connections to

continue the flow of interaction.

However in order to understand how each operation is constituted, we must

firstly identify the order of each process.

Character Registration Sequence

The sequence is prompted as the user requests to register a character from the

WoW beacon home page. The application then redirects the user to the character

registration interface. The user then forwards another action by registering their

character details. Once submitted, the application transmits the data into the

system database. The information is archived while a verification check is sent

back to the application. The user is then redirected to a confirmation page,

informing them that their character was successfully registered onto the system.

From this point the user can choose to register another character, or return to the

application home page.

User Registration Sequence

The process begins when a user requests to register their details from the WoW

beacon login interface. Users are then redirected to a registration page where

they create and submit a profile. The profile data is then sent to the system

database for verification. Once the verification is complete, the profile is allocated

following a confirmation of the record. The user is then redirected to a

Page 48: Social Network Gaming

Social Network Gaming 2012

48 | P a g e

confirmation page, informing them that their profile was successfully registered

onto the system. Users can then navigate back to the login page and begin to

utilize the application with their new account.

Last Login Sequence

The first time a user logs into the system, the time and date is verified within the

database as their current login. This process is modified slightly following any

subsequent logins. Any new logins are confirmed and forwarded to the system

database, where they replace the previous current login. The preceding data is

then shifted and recorded as the user’s last login. Once a last login become

available, the application retrieves and displays the data through the WoW

beacon home page.

Character Search Sequence

This process begins with a user requesting to utilize the character search service

from the WoW beacon home page. The user is then redirected to the character

search interface, where they are required to submit the name of the character

they wish to locate. Once the search is initiated, an enquiry is made and

forwarded to the system database. At which point the system records are

examined until the requested data has been recovered. After the search is

confirmed, users are redirected to a results page where the retrieved character

information will be displayed. Since each character is associated with a registered

user, the results page provides an option to view that user’s profile.

Following this sequence, the database acquires the requested data and navigates

to that user’s profile page. Here users are provided with that individual’s account

details, in addition to all the characters they have registered onto the system.

Guild Registration Sequence

This sequence is initiated once a user chooses to register a guild from the WoW

beacon home service list. They are then redirected to the guild registration page

where they must provide and submit their guild information. The data is then

verified by the database and allocated within the guild registry. A registration

Page 49: Social Network Gaming

Social Network Gaming 2012

49 | P a g e

check is then passed back to the application, which in turn redirects users to a

confirmation page. Here users are presented with a notice of approval for their

guild registration, at which point they can choose to register another guild or

return to the home page.

Guild Master Registration Sequence

To begin this operation, a user will request to register a guild master from the

WoW beacon home service list. This action will then lead them to the guild

master registration interface where they must initialize the requested

information. The details are then dispatched to the system database for

allocation, after which a registration check will be commissioned. Once approved,

the application will forward users to a confirmation page that acknowledges the

guild master as a registered entity. Users are then presented with the option to

reutilize the service or return to the home page.

Page 50: Social Network Gaming

Social Network Gaming 2012

50 | P a g e

Character Registration Sequence Diagram

Figure 15: Character Registration Sequence Diagram

Page 51: Social Network Gaming

Social Network Gaming 2012

51 | P a g e

User Registration Sequence Diagram

Figure 16: User Registration Sequence Diagram

Page 52: Social Network Gaming

Social Network Gaming 2012

52 | P a g e

Last Login Sequence Diagram

Figure 17: Last Login Sequence Diagram

Page 53: Social Network Gaming

Social Network Gaming 2012

53 | P a g e

Guild Registration Sequence Diagram

Figure 18: Guild Registration Sequence Diagram

Page 54: Social Network Gaming

Social Network Gaming 2012

54 | P a g e

Guild Master Registration Sequence Diagram

Figure 19: Guild Master Registration Sequence Diagram

Page 55: Social Network Gaming

Social Network Gaming 2012

55 | P a g e

4.4 Defining Validation Conditions

In order to supply the correct standard of information for my database, I must

ensure that my application institutes a specific degree of data validation into its

services. The integrity of a system asserts great significance towards its ability to

function sufficiently. This includes regulating various system components to

maintain the intended format of data collection. Due these reasons, my

operations will support a set of validation conditions to warrant the proper order

for data input. In the following sections I will be discussing the validation

procedures for each phase of my application. This will include the conditioning of

each input field, with respect to any dependencies that must be satisfied

beforehand.

4.4.1 User Registration Validation

When a user first registers onto the system, they will be expected to provide a

range of personal information. As each input corresponds to a specific attribute

within the user registry table, it institutes great precedence for the proper

sequence of submission. This enlists several conditional factors that must be met

before a user is successfully registered. The nature of a condition can vary

depending on what is being verified, yet it’s possible for users to prompt more

than one form of validation at a time. User registration conditional factors

include:

Providing matching passwords.

Providing matching emails.

Selection of an unregistered username.

Completion of all input fields.

These conditions follow a specific order for execution, while also incorporating

elements for alternate outcomes. An additional point would be that three of

these factors involve local conditioning, while one requires verification from the

system database.

The following table displays all possible validation outcomes for the user

registration process:

Page 56: Social Network Gaming

Social Network Gaming 2012

56 | P a g e

Table 4: (User registration validation table)

Val1 = Fields not complete

Val2 = Passwords don’t match

Val3 = Emails don’t match

Val4 = Username is taken

Error message 1 = Please ensure you have completed all the fields before

submitting!

Error message 2 = Your passwords do not match!

Error message 3 = Your emails do not match!

Error message 4 = The username “Username Variable” is already in use, please

choose another.

4.4.2 Character Registration Validation

The character registration process exhibits a considerably large variety of input

fields, although its validation margin is particularly small. The operation follows a

similar form of conditioning as demonstrated within the user registration process.

The only significance is that the character registration conditions relate

exclusively to character data. The validation check involves two specific forms of

verification, one local and one external. The conditional factors involve:

Registering a character that hasn’t been claimed on a specific server.

Ensuring that all the input fields are fully completed.

Val1 Val2 Val3 Val4 Val2 & Val3 Error message 1

Error message 2

Error message 3

Error message 4

Page 57: Social Network Gaming

Social Network Gaming 2012

57 | P a g e

The following table displays all possible validation outcomes for the character

registration process:

Val1 Val2 Error message 1

Error message 2

Table 5: (Character registration validation table)

Val1 = Fields not complete

Val2 = Character already registered

Error message 1 = Please ensure you have completed all the fields before

submitting!

Error message 2 = The character name “Character name variable” has already

been registered on “Server name variable”!

4.4.3 Character Search Validation

Acting as the primary service for my application, the character search feature

must also include a degree of validation. Although the process involves a large

collection of sequences, it only integrates a small level of authentication.

Considering that the search feature is the only system process that doesn’t record

data, it still requires a measure of conditioning for valid character enquiries. The

character search procedure is justified through a local and external verification,

each providing its own validation for the same subject of input. They include:

The name of the character must be provided.

The character must exist within the system.

The following table displays all possible validation outcomes for the character

search process:

Val1 Val2

Error message 1

Error message 2

Table 6: (Character search validation table)

Page 58: Social Network Gaming

Social Network Gaming 2012

58 | P a g e

Val1 = Character name not provided.

Val2 = Character does not exist.

Error message 1 = You must enter a character name!

Error message 2 = “Character name variable” is not a registered character on

WoW Beacon

4.4.4 Guild Registration Validation

The guild registration process introduces a select number of inputs that contain

their own individual conditioning factors. Due to the moderate volume of

requested criteria, the process can accommodate for a broader range of

verification. Although guilds don’t require any establishing factors, they do

constitute the basis for another object to exist. The guild registration process also

integrates the largest set of local conditions with seven possible validating

outcomes. However the employment of external verification is also necessary, as

it will justify whether a user will be overriding an existing record. The conditional

factors for guild registration involve these fundamental points:

The name of a guild must be provided.

A guild type must be initialised.

A region must be selected.

The guild must not already be registered within the system.

The following table displays all possible validation outcomes for the character

search process:

Table 7: (Guild registration validation table)

Val1 Val2 Val3 Val4 Val1 & Val2 Val1 & Val3 Val 2 & Val3 Val1 & Val2 & Val3

Error message 1

Error message 2

Error message 3

Error message 4

Page 59: Social Network Gaming

Social Network Gaming 2012

59 | P a g e

Val1 = Guild name not provided.

Val2 = Guild type not initialised.

Val3 = Region not selected.

Val4 = Guild already exists within the system.

Error message 1 = You must enter a guild name!

Error message 2 = You must select a guild type!

Error message 3 = You must select a region!

Error message 4 = The guild "Guild name variable" has already been registered on

"Server name variable".

4.4.5 Guild Master Registration Validation

When a users wishes to register a guild master, there are two specific establishing

factors that need to be satisfied beforehand. Initially guild masters are subclasses

of the character object, therefore sharing a direct dependency. This implicates

that without declaring a character instance, the guild master object is redundant.

Guild masters also share an additional dependency with the guild object, since a

guild master cannot exist without a guild. Essentially these two objects define the

guild master class through a collection of inherited properties. This concept is

further emphasised by the conditional factors of the guild master registration

process.

Since the guild master class shares two direct dependencies, it demonstrates a

substantial degree of referential integrity. These elements pay much benefit to

external conditioning of the registration process. This implies that each

dependency supports a relative form of verification for each guild master instance

within the database. The primary factors for these conditions comprise of the

following points:

A specific character must exist within the server.

A specific guild must exist within the server.

A region must be selected.

All input fields must be fully completed.

Registering a guild master who is not already assigned to the same guild

and realm.

Page 60: Social Network Gaming

Social Network Gaming 2012

60 | P a g e

Selecting a guild and realm that are not already assigned to a specific guild master.

The following table displays all possible validation outcomes for the character search process:

Table 8: (Guild master registration validation table)

Val1 = The guild and server are already assigned a guild master.

Val2 = The character does not exist on the server.

Val3 = The guild does not exist on the server.

Val4 = The character is already registered as a guild master.

Val5 = The character and guild do not exist on the server.

Val6 = All input fields must be fully completed

Val1 Val2 Val3 Val4 Val5 Val6 Error message 1

Error message 2

Error message 3

Error message 4

Error message 5

Error message 6

Page 61: Social Network Gaming

Social Network Gaming 2012

61 | P a g e

Error message 1 = The guild "Guild name variable" on "Server name variable"

already has a guildmaster!

Error message 2 = The character "Character name variable" does not exist on

"Server name variable"!

Error message 3 = The guild "Guild name variable" does not exist on the server

"Server name variable"!

Error message 4 = The character "Character name variable” is already registered

as a guildmaster on "Server name variable"!

Error message 5 = The character "Character name variable" and guild "Guild name

variable" do not exist on "Server name variable"!

Error message 6 = The character "Character name variable" and guild "Guild name

variable" do not exist on "Server name variable"!

4.4.6 User Login Validation

The user login involves a simple authentication process by the institution of a

username and password prompt. The initial operation involves a call to the

system database to verify the provided login details. If the login details are

confirmed, users are granted access into the application home page. However if

the system does not recognise the supplied information, the login attempt is

denied and a message is displayed to inform the user of the error. The user login

will constitute the following requirements:

A username must be provided for verification.

A password must be provided for verification.

This process involves only one form of external conditioning, which can be

expressed in this format:

1. Input username & password -> submit login details.

2. login_check_query = SELECT everything FROM user_table WHERE

user_table (username) and user_table (password) = username & password.

3. The result = (login_check_query).

4. While row is equal to (the result) -> Retrieve row and change flag to true.

5. If (flag is true) -> Grant access to home page.

6. Else if (flag is still false) -> Display error message.

Page 62: Social Network Gaming

Social Network Gaming 2012

62 | P a g e

4.5 Design Conclusion

After engaging this chapter, I can conclude that certain forms of validation can

vastly benefit the structural integrity of a system. While my application only

integrates a modest level of validation, I hope to continue experimenting with

more advanced methods of data verification. I also discovered the significance of

utilizing modelling techniques to define abstract layers of system design. I found it

considerably useful, as I was able to illustrate and review my system processes in

a resourceful manner. The only aspect that I felt was lacking in my design would

be the aesthetic outlook on my application, although I do plan to engage this

aspect of design with high priority in future projects.

Page 63: Social Network Gaming

Social Network Gaming 2012

63 | P a g e

Chapter 5: Implementation and Testing

5.1 Introduction

Now that I have reviewed my systems structural design, I can confidently

commence documentation of my implementation and testing phase. While my

previous chapters dealt with the conceptual side of my application, this section

will concern a more practical take on my system’s processes. In order to support a

well composed breakdown of my implementation stage, I will be structuring this

segment through a series of explicit topics. I plan to begin by demonstrating the

process of building my database object tables, integrating their declared

attributes and associations. There are also several predefined system factors that

need to be established. This includes the process of connecting my application to

the system database, in addition to configuring a string of preset methods.

I also plan to discuss implementation of my user interface components, detailing

the various steps taken to constitute their initial composition. This will include the

incorporation of additional system elements such as navigation and page status

features. Additional themes will illustrate the testing procedure for each

operation sequence, providing annotation for the standard order of processing.

5.2 Creating the Database

Following the normalization process applied in section 4.2.1, I was provided with

a finalized set of object tables that were ready for integration. Yet to be able to

incorporate my tables, I was required to initiate the creation of a database. After

experimenting with a number of administration tools, I decided to opt for a

program known as phpMyAdmin. My reasons for choosing this specific

application derived from its ability to create and manage records in a resourceful

manner. Once I had established the frame for my database, I turned my attention

to begin construction of my object tables.

In sections 5.2.1 and 5.2.2, I will be illustrating the procedures necessary to

compose my tables into the database. This will include the process of declaring

the data types, instigating field values, in addition to asserting table indexes.

Subsequently the method for initializing class relationships will also be

demonstrated.

Page 64: Social Network Gaming

Social Network Gaming 2012

64 | P a g e

Figure 20: phpMyAdmin database creation interface

5.2.1 Integrating Object Tables

The order of integration begins with the initialisation of my object table names.

Following a string of complications with previous PHP code, I chose to make a

habit of including underscores in between my table names. The diagram below

displays the table creation interface for phpMyAdmin. If you look closely you will

notice a collection of input fields that define the table properties.

Figure 21: phpMyAdmin table creation interface

Page 65: Social Network Gaming

Social Network Gaming 2012

65 | P a g e

There are eighteen properties in total, some of which correspond to specific table

identifiers. The creation of a table doesn’t necessarily require the initialisation of

each property, although there are several fundamental inputs that need to be

established. They include the column name, attribute type and column

length/value, with the exception of the index property if defining a table key. The

interface also provides an option for the insertion of additional columns as

indicated in the following diagram:

Figure 22: phpMyAdmin Column Modifier

After accommodating all the essential fields, I can finalize the table by submitting

the save option to create its structure. This view can be selected from the tab of

options located on the phpMyAdmin interface once the table is formed. The

structure tab provides a detailed overview of the table properties with options to

edit or drop a specific column. The diagram below illustrates the structural view

of my character table. You will notice that each attribute contains a detailed

overview of their respective properties:

Figure 23: phpMyAdmin Table Structural View

Page 66: Social Network Gaming

Social Network Gaming 2012

66 | P a g e

5.2.2 Connecting Class Relationships

There are two specific methods for instituting class relationships within

phpMyAdmin, yet I will only be examining the one I found most suitable to follow.

Any table created within phpMyAdmin will automatically inherit an option known

as its relational view. This feature can be accessed through the structural tab

interface, located at the bottom left portion of the interface as indicated below:

Figure 24: phpMyAdmin Relational View Feature

The interface for the relational view features three units that initialise the column

name, internal relation and foreign key restraint of a table. Depending on the set

of indexes a table may contain, a specific number of foreign key restraints will

become available. To establish an internal relation, a relative index must be

selected from the collection of possible associations. The same concept applies to

the foreign key constraint feature, although its initialisation removes the need for

an internal relation.

The diagram below demonstrates the relational view for my guild master object

table. As you can see it shares two internal relations with my guild and server

tables, in additional to a foreign key constraint association with my character

table:

Page 67: Social Network Gaming

Social Network Gaming 2012

67 | P a g e

Figure 25: phpMyAdmin Guild Master Table Relational View

5.3 Predefined System Factors

There are certain system factors that require defining before they can be properly

introduced into the application. Since a majority of my features are design to

enquire system records, it would be necessary to ensure that a stable database

connection is established and maintained between each operation. Other

elements will involve the configuration of preset system methods in order for the

application can operate as intended. Sections 5.3.1 and 5.3.2 will further

elaborate on these concepts to provide a clear evaluation of their significance.

5.3.1 Establishing Database Connection

As mentioned in the previous segment, the majority of application processes

involve vast measures of interaction with the system database. This notion

institutes a substantial degree of priority on the connection shared between the

two instances. The procedure for establishment involves a collection of

authenticating values that are processed by an integrated MySQL connection

method.

The following illustration depicts the standard MySQL connection sequence for

establishing the link between my application and database:

Page 68: Social Network Gaming

Social Network Gaming 2012

68 | P a g e

Figure 26: MySQL Database Connection Sequence

5.3.2 Configuring Presets

Most systems include a string of start up procedures that must be executed

before they can begin to operate in their instructed manner. This concept is been

influenced into my application through a script of preset methods. The initial goal

of my presets is to launch all the fundamental operations that are not defined

through runtime processes. Some of these presets include:

Server list generation.

Last login display message.

Establishing database connection.

These preset methods are defined by the following PHP script:

Server List Generation (EU & US)

function ServerValuesUS()

{

$SQL2="SELECT * FROM server WHERE region = 'US'";

$result2 = mysql_query($SQL2);

while($row2 = mysql_fetch_array($result2))

{

Page 69: Social Network Gaming

Social Network Gaming 2012

69 | P a g e

extract($row2);

$Server_US .="<option value='$Server_Name'>$Server_Name</option>";

}

return $Server_US;

}

Last Login Display Message (Get method)

function get_last_login($id)

{

$sql3 = "SELECT Last_Login FROM last_login WHERE User_ID = '$id'";

$result3 = mysql_query($sql3);

while($row = mysql_fetch_array($result3))

{

extract($row);

}

if ($Last_Login=="0000-00-00 00:00:00")

return "Not Available";

else

return $Last_Login;

}

Last Login Display Message (Record method)

function record_last_login($userid)

{

$CurrentDate = date('Y-m-d H:i:s');

$sql = "SELECT * FROM last_login WHERE User_ID = '$userid'"; // to identify

previous logged in record

$result = mysql_query($sql);

$num=mysql_num_rows($result);

if ($num==0)

{

$SQL2 = "INSERT INTO last_login (User_ID, Current_Login) VALUES ('$userid',

'$CurrentDate')";

Page 70: Social Network Gaming

Social Network Gaming 2012

70 | P a g e

$result2 = mysql_query($SQL2);

}

else if ($num==1)

{

while($row = mysql_fetch_array($result))

{

extract($row);

}

$SQL2 = "UPDATE last_login SET Last_Login='$Current_Login',

Current_Login='$CurrentDate' WHERE User_ID = '$userid'";

$result2 = mysql_query($SQL2);

}

}

5.4 Integration of User Interface

The construction of my application interface follows a base rule of structuring

each page component to accommodate my system processes. In order to

constitute an efficient collection of interfaces, I must ensure that each page

includes the correct capacity of elements as proposed in my initial design. The

interfaces must also include an explicit level of navigation for users to fully

experience each instance of the application. Structural proceedings for each

component will be summarised with respect to any key variables they contain.

In the following sections I will review the components adopted to implement my

pages, while providing subsequent illustrations for each interface.

5.4.1 WoW Beacon Registration

The implementation of my registration interface was carried out using the

notepad++ editor. The page comprises of thirteen input fields that correspond to

the attributes initialized within my user object table. They include user name, first

name, last name, gender, date of birth, password, password confirmation, email,

email confirmation, facebook link. There are also two buttons situated at the

Page 71: Social Network Gaming

Social Network Gaming 2012

71 | P a g e

bottom portion form, each catering a specific form of operation. The diagram

below exhibits the general form structure:

Figure 27: WoW Beacon User Registration Interface

The pages structural format provides a table foundation, which adopts each

correlating input field. There is also a specified range of inputs including text

boxes, radio buttons and select boxes. As each button supplies an individual form

of operation, they have been initialised by two different declaration types. One of

which is instantiated as an input of type submit, while the other consists of a type

button.

5.4.2 User Login

The user login interface is rather simple, as it includes a small degree of

implementation. The design contains a bold title specifying the purpose of the

page, in addition to two input fields followed by a set of two buttons. The input

fields verify the username and password parameters, while one button grants

navigation the user registration page with the other submits the login details.

The following illustration demonstrates the interface:

Page 72: Social Network Gaming

Social Network Gaming 2012

72 | P a g e

Figure 28: WoW Beacon User Login Interface

Since the page has a very small collection of components, its preliminary scripting

is rather short. The inputs include text boxes, submit and button types.

5.4.3 WoW Beacon Home

The WoW Beacon home page implements a large collection of buttons, as the

page acts as an anchor between the various application services. A very distinct

feature of the home page involves the integration of the facebook like button API.

The home page also displays the last login preset method, in addition to a page

status feature that exhibits the users account name. The following diagram

depicts the home page design:

Figure 29: WoW Beacon Home Interface

Page 73: Social Network Gaming

Social Network Gaming 2012

73 | P a g e

The scripting for the WoW Beacon home page institutes a specific set of tags to

accommodate the unique assortment of components. Although the majority of

the page units include buttons, the initial foundation of the interface follows a

complex scale of PHP code nesting.

5.4.4 Character Registration

The character registration interface contains almost the same design principles as

the user registration, with only a select degree of differences. Initially the form

integrates a standard collection of input fields, which include text boxes, radio

buttons and selection boxes. Additional components include submit and button

type inputs, including the user account page status feature. One significant aspect

of this interface would be that it incorporates JavaScript conditioning. This implies

that additional inputs become available following the selection of a specific field.

The interface design format is exhibited within the following diagram:

Figure 30: Character Registration Interface

Due to the integration of the JavaScript, various segments of the HTML code

reference JavaScript variables to establish the conditional factors.

Page 74: Social Network Gaming

Social Network Gaming 2012

74 | P a g e

5.4.5 Character Search

The character search contains two connected interfaces, each of which includes

their own specific design structure. This involves the initial character search

feature and its corresponding results page. The first interface integrates a small

detail of design components. They comprise of the form title, the user account

page status feature, a text box with the addition of two buttons.

The button components compose two specific operations, one of which initiates

the character search while the other navigates back to the home page. The first

interface is illustrated by the following diagram:

Figure 31: Character Search Interface

Due to the simple design of the character search interface, its primary scripting

contains very little implementation. The second interface caters a very distinct

structure for its concerned components. This is due to the summery table that

displays the results from the initial search. The page components consist of three

input elements, they include a submission button and two navigation tools.

The interface also implements the user account page status feature. An

illustration of the search summery page is provided in the below diagram:

Page 75: Social Network Gaming

Social Network Gaming 2012

75 | P a g e

Figure 32: Character Search Summery Interface

Page 76: Social Network Gaming

Social Network Gaming 2012

76 | P a g e

Since this page shares a processing link with a previous interface, its method calls

are utilized directly into its initial form design. Depending on the criteria for a

search, the results interface has been implemented to accommodate each

instance of a record within its structure.

5.4.6 Guild Registration

In respect to the previous interfaces, the guild registration page includes a very

similar range of components. The layout implements a range of field elements

that incorporate several input types. They include a text box for the guild name,

select boxes detailing the guild type and level, radio buttons to initialise the

guild’s region in addition to the user status page feature. There are also two

buttons situated at the bottom of the interface that trigger alternative

operations. The first being a submission tool for the page data inputs, while the

other provides navigation back to the home page.

One explicit aspect of this interface involves the integration of JavaScript

conditioning. The validation works as a flag by reading in the region value, then

displaying a list of available servers. The image below illustrates the page layout:

Figure 33: WoW Beacon Guild Registration Interface

Since the page consolidates a compact arrangement of inputs, it accommodates a

very practical and ordered structure for data insertion.

Page 77: Social Network Gaming

Social Network Gaming 2012

77 | P a g e

5.4.7 Assign Guild Master

The guild master registration interface institutes a small collection of input

features, each initialising a specific requirement for the process of submission.

Like most of its respective services, the guild master form is associated with a

standard page title to indicate its proposed purpose. Its components include text

boxes, select boxes and radio buttons. Another trait that is shared with the

previous interfaces includes the establishment of two button elements. The form

also includes a level of JavaScript validation, triggered by the same flagging

method used in the guild registration process. The following diagram

demonstrates the page design:

Figure 34: WoW Beacon Guild Master Registration Interface

It should also be noted that the page structure was constituted through the

specification of each guild master dependency. This derives from the need to

initialise both the character registration and the guild registration services before

being able to properly assign a guild master.

5.4.8 User Profile Page

As a resulting interface, the user profile page accumulates a vast range of form

elements. The page foundation is established through a series of titles, input

components, and user details in addition to a character summery table. The

layout begins with the page title that identifies the account of the user who is

being browsed. Situated below is the primary content of the interface which

includes the standard user account page status, in addition to an exclusive set of

Page 78: Social Network Gaming

Social Network Gaming 2012

78 | P a g e

user details. The data displayed in this section of the interface will vary depending

on the criteria of the initial search. The table element is a borrowed concept from

the character search summery interface. The only distinct difference is that it

states the characters that have been registered by that specific user. Additional

components include two navigational buttons, each initiating a specific

navigational operation. Here is an example of a user profile layout:

Figure 35: User Profile Interface

As you can see from the diagram, the interface consists of an adjustable template

that will alter to accommodate a range of enquired data.

5.5 Process and Component Testing

As a compulsory precaution that applies to all aspects of software development, a

system must be effectively tested to justify its original object. This concept

reviews the functional implications and whether they are performing as expected.

The importance of this process demands cause for application, not only as a

development protocol but also due to its influence on the initial product.

Software testing is considered an essential factor for determining system quality

assurance, with respect to aspects such as specification, design and coding.

It is also a known fact that software development incorporates great emphasis on

system testing, accumulating 40% of the initial productivity.

Page 79: Social Network Gaming

Social Network Gaming 2012

79 | P a g e

The main principles for system testing include:

Executing testing with the intention to discover potential errors.

Instituting a progressive test case that applies a high probability of finding

hidden errors.

Granting a practical solution for any conceived complications.

In the following sections I will be testing the consistency of my application

services, establishing the correct instruction for each process.

5.5.1 User Registration Process

The first process a user must undertake to gain system access involves the

registration of their profile details. At the user login there will be an option for

new users to navigate to a registration page, after which they can begin the

process of creating their user account. For the following segment I will be carrying

out an example registration, detailing each stage with illustrations of all the

possible procedural outcomes. In the following diagram you will notice that I have

included a list of credentials for the registration of a new user. Notice however

the two specific input fields confirm password and confirm email.

Figure 36: User Registration Data Input Format

Confirmation fields

Page 80: Social Network Gaming

Social Network Gaming 2012

80 | P a g e

This implies that when registering, a user must provide verification of both their

password and email in order for the process to execute successfully. Naturally if

either of these fields detects a mismatch, the following errors are displayed:

Figure 37: Incorrect Password Error

Figure 38: Incorrect Email Error

Page 81: Social Network Gaming

Social Network Gaming 2012

81 | P a g e

Figure 39: Incorrect Password & Email Errors

Although if a user fails to complete any of the requested data fields, another error

message will appear detailing that they need to complete all the input

requirements:

Figure 40: Incompletion of Input Fields Error

Page 82: Social Network Gaming

Social Network Gaming 2012

82 | P a g e

Additionally if a user chooses to list a username that has already been registered

in the database, the following error message will be displayed:

Figure 41: Username Already in Use Error

Alternatively if the user completes the registration without prompting any system

errors, they will be redirected to the following confirmation page:

Figure 42: User Registration Confirmation Page

Once registered, a record of the user’s details is allocated within the user table for

later enquiry:

Figure 43: Newly Allocated User Details

New record of user details

Page 83: Social Network Gaming

Social Network Gaming 2012

83 | P a g e

5.5.2 User Login Process

Once a user has successfully been registered onto the system, they can use their

username and password to log into the applications main interface. The process

however will involve the validation of the provided login details, in order to check

whether the user owns a genuine account. The following demonstration will test

integrity of the user login interface with regard to all possible circumstances.

The initial procedure involves the verification of the username and password,

against any possible matched within the database user table. If the user enters an

invalid set of details, the system will recognize this and return the following error

message:

Figure 44: User Login Error Message

If the user does however provide the correct login information, they will be

redirect to the WoW Beacon home page with an acknowledgement of the

account they are currently logged into. Additionally since this is the first time the

user has logged into the system, they will not have a last login available.

The diagram below illustrates this situation:

Page 84: Social Network Gaming

Social Network Gaming 2012

84 | P a g e

Figure 45: Home Page Structure for First Login

When the user next logins into their account, the last login feature will be

updated to display the last time they were logged onto the system. Essentially this

would be the date of their first login, which was previously stored within the last

login table as the current login date. The mechanics of the last login feature

require the database to record two specific dates, the current and the last login.

Therefore when a user logs in for second time, their previous current date gets

shifted into the last login field. The process will then insert the new date into the

current login field, due to repeat the procedure for any subsequent logins. The

images below detail this operation with reference to the change of the last login

notice, in addition to the last login date shifting:

Figure 46: Un-shifted Last Login Table

Record of user’s current login Blank last login field

Page 85: Social Network Gaming

Social Network Gaming 2012

85 | P a g e

Figure 47: Shifted Last Login Table

Figure 48: Updated Last Login Status

5.5.3 Character Registration Process

When a user chooses to register a character, there are specific protocols that

need to be established. Since the registration includes a variety of defining input

fields, it is important to engage the correct procedure of submission. Due to the

diversity of the World of Warcraft character profiles, users will be required to

initialise several defining factors for each registration. Depending on what inputs

they choose, an explicit list of values becomes available to provide proper

classification for each character. These establishing factors include the faction and

region attributes, both of which provide an exclusive set of predefined values. An

illustration of this concept is provided in the below diagrams:

Shifted current login date is now last login date New current login date

Page 86: Social Network Gaming

Social Network Gaming 2012

86 | P a g e

Figure 49: Alliance Faction Race Values

Figure 50: Horde Faction Race Values

As you can see from the illustrations above, each instance of a faction provides a

unique set of class values for the users to select. This technique installs a good

sense of structure into the registration process, by allowing users to choose what

data is relevant to them. Another benefit to this practice derives from the ability

to preserve a good arrangement of interface elements. This implies that users

won’t be subject to a muddled collection of components.

The workings behind this technique involve a moderate degree of JavaScript

encoding. Local variables are declared between radio buttons to establish calls to

the external method when a radio button is selected. Not only is this form of logic

effective, it also integrates a step based process. This in turn grants the

application a more user friendly structure.

You can see from the diagram below that this notion is carried on, as the select

box inherits a scroll bar to accommodate for each server value:

Page 87: Social Network Gaming

Social Network Gaming 2012

87 | P a g e

Figure 51: EU Region Server Values

Figure 52: US Region Server Values

Page 88: Social Network Gaming

Social Network Gaming 2012

88 | P a g e

Once a user has finished initialising each input, their submission will be tested

against two specific forms of validation. The first and foremost important

conditioning factor involves the completion of every input field. Due to its

application in the user registration process, it can be considered as a universal

priority for data collection operations.

Naturally if a user forgets to complete all the fields, they will be presented with

the resulting error message:

Figure 53: Character Registration Incomplete Fields Error

There is another case of conditioning that users may potentially encounter, as it

concerns the combined values of two specific input fields. Due to the gaming

standards of the World of Warcraft game, only one character can exist per server.

Therefore if a user attempts to register a character that’s already been listed on

same server, its record is identified by the database and the following error

message is thrown:

Page 89: Social Network Gaming

Social Network Gaming 2012

89 | P a g e

Figure 54: Unavailable Character Name Error

Alternatively if the user doesn’t encounter any validation issues, they’ll be

redirect to a confirmation page that justifies their registrations success. A record

of that registration is then allocated into the character table for later enquiry. This

scenario is demonstrated by the diagram below:

Figure 55: Character Confirmation Page

Figure 56: Newly Allocated Character Record

New instance of a character

Page 90: Social Network Gaming

Social Network Gaming 2012

90 | P a g e

5.5.4 Character Search Process

Serving as the primary feature of the application, the character search process has

a very distinct order of operations. In order to begin searching for a character, a

user must ensure they have firstly satisfied all the necessary input fields. Due to

the single search requirement for this process, it is essential that users initialise

the name of the character they are enquiring. If a user fails to provide a valid

character name or submits a blank input, the system will react by returning a

range of two errors. The following diagrams illustrate these potential errors:

Figure 57: Character Search Incomplete Field Error

Figure 58: Inconclusive Search Error

However, if the user managed to conduct a successful enquiry, the application

would redirect to a results page detailing the retrieved information. The data

acquire is stored within a character summery table, where it is organised into a

collection of attributes that define each aspect of the character class. Each

respective record will also be associated with a registered user profile extension.

The proceeding diagram reviews the search summery for the example character

that was registered in section 5.5.3:

Page 91: Social Network Gaming

Social Network Gaming 2012

91 | P a g e

Figure 59: Example Character Search Summery

Page 92: Social Network Gaming

Social Network Gaming 2012

92 | P a g e

5.5.5 Guild Registration Process

The guild registration procedure doesn’t necessarily have to be initiated in order

for users to employ the primary character search feature. The service does

however provide some additional background to a character, while also

instantiating an existing guild onto the system. The only implication to this

process involves users not being able to register their characters into a guild

directly. The only types of character that can be applied to a guild exclusively are

guild masters. However the following service only deals with the allocation of

guild data. In the following section I will be documenting the steps required to

effectively submit a guild, detailing each probable outcome that can occur.

The process begins with the insertion of several guild attributes, each of which is

specified by a distinct list of components. Like the previous procedures, there is a

degree of validation that may be encountered by users. The only significance is

that each field instance has been implemented to display its own individual error

message. Due to the small scale of the registration process, there is a smaller

margin of verification required. Therefore when a user fails to complete a specific

field input, they may trigger a collection of three possible error messages. The

following diagram illustrations these conditions:

Figure 60: Guild Registration Incomplete Field Errors

There is a chance that users may also come across a relative form of conditioning

that was applied to the character registration process. The verification principles

draw on the World of Warcraft gaming principle that a server cannot include two

guilds of the same name. This implies that if a user attempts to register a guild

Page 93: Social Network Gaming

Social Network Gaming 2012

93 | P a g e

that is already listed on the same server, a system error will be thrown. This

concept is demonstrated in the below diagram:

Figure 61: Unavailable Guild Instance Error

If the user manages to complete the entire set of inputs, they will be redirected to

a confirmation page that will detail the success of their registration. Additionally

an instance of the guild will be recorded into the database guild registry. The

images below depict each case:

Figure 62: Guild Confirmation Page

Figure 63: Newly Allocated Guild Record

New instance of a guild

Page 94: Social Network Gaming

Social Network Gaming 2012

94 | P a g e

5.5.6 Guild Master Assignment Process

The final service that a user can engage concerns the registration of a guild

master, although the process integrates several conditions for employment. As

mentioned in section 4.4.5 of my design phase, the guild master class includes a

set of establishing factors. This implies that without initiating the necessary

dependencies, a user will not be able to register a guild master. These defining

requirements include a registered character and guild instance, as without these

two elements a guild master cannot exist. In order to justify this concept, I have

illustrated an attempt to register a guild master without initialising the

compulsory process conditions:

Figure 64: Un-Established Character and Guild Error

This concept still persists if even one of the establishing factors has not been

defined:

Figure 65: Un-Established Guild Error

Page 95: Social Network Gaming

Social Network Gaming 2012

95 | P a g e

Figure 66: Un-Established Character Error

In terms of local validation, users must ensure that each input field is initialised

before submission. If a user fails to complete any of the provided inputs, they are

presented with the standard field verification error. This concept is defined by the

following diagram:

Figure 67: Incomplete Guild Master Inputs Error

Once a user has satisfied the registration process, their submission will be

instantiated into the guild master table registry. The procedure is further verified

as users are navigated to a confirmation page which details the success of their

guild masters allocation into the system. The following Illustrations provide

evidence of this abstraction:

Page 96: Social Network Gaming

Social Network Gaming 2012

96 | P a g e

Figure 68: Guild Master Confirmation Page

Figure 69: Newly Allocated Guild Master Record

New instance of a guild master

Page 97: Social Network Gaming

Social Network Gaming 2012

97 | P a g e

Chapter 6: Project Evaluation

6.1 Introduction

In this chapter I will be evaluating the extent of work applied throughout the

initial project. In order to determine whether my application has fulfilled its initial

purpose, I must refer to my original aims and object to justify what aspects my

finalized product has satisfied. The study will include an assessment of how far I

have managed to progress with my workings, in addition to what I have learnt

from the entire experience. I will begin by providing a quick recap on the initial

proposal for the project as mentioned in my terms of reference:

Perform a literature review to achieve a sufficient degree of knowledge

regarding the concept of Social Network Gaming.

Identify the essential elements of the project through a requirements

analysis.

Incorporate a structured project design to support an effective process of

development.

Begin Implementation of a registry system that utilizes an array of services

to provide World of Warcraft users the ability to seek out fellow players.

Perform a practical standard of testing on my finalised product to rectify

any functional or conceptual liability concerns.

In the following sections I will be conducting an assessment of the progress I’ve

made since proposal of my application. I plan to discuss my engaged stages of

development, with respect to any problematic aspects that I stumbled across.

6.2 Initial Assessment

Project Proposal

The development of my application began with an idea to take aspects from both

social networking and gaming to be merged into one unique concept. Although it

wasn’t mentioned within the project description, I felt that my proposal would

present a considerable degree of marketable potential. This concerned the

creation of a registry system that would exclusively cater for gamers. My reasons

for engaging this design were influenced by my perceptions that current market

Page 98: Social Network Gaming

Social Network Gaming 2012

98 | P a g e

leaders lack a sense of creativity. I felt further obliged to employ this idea after

realising that the current market hadn’t incorporated this form of software. It was

during this time that I began collecting resources, as I required additional

knowledge on the conceptual implications of social network games.

Literature Review

This process fabricated the basis for my literature review, which later began to

expand in content through my subsequent findings. I can safely say that the

construction of my review presented a mild level of difficultly. This was due to the

lack of relative material available, resulting in a very limited supply of recovered

resources. The overall process however supplied a modest degree of useful

information, some of which included graphical illustrations to support studies. I

eventually managed to document a fairly detailed literature review, addressing a

broad range of topics that I felt contained significant importance.

Requirements Analysis

Once I had gained a sufficient amount of information, I began to apply my findings

into an explicit analysis of my systems requirements. This would come to classify

the third stage of my project, allowing me to define the major implications

required to further compose my system. The segment goes on to identify various

conceptual factors, expressing the significance of each case for the initial process

of system development.

System Design

The notions from my requirements analysis were incorporated into my design

phase, setting the abstract principles for each of my object classes. As a result, I

began to constitute a range of modelling technique to structure each relative

object. Although I wasn’t very familiar with system modelling, the process

presented a vast degree of beneficial elements. One specific advantage was that I

could illustrate my system components through a unique set of perspectives. This

process also helped to outline a scale of alternate operations, some of which

replaced the original procedures due to more effective means of employment.

Page 99: Social Network Gaming

Social Network Gaming 2012

99 | P a g e

Implementation and Testing

I consider my final phase as the most time consuming stage of my development,

significantly due to the amount of associated testing required. The initial

instruction for each process institutes a huge volume of annotation, this in turn

applies a very lengthy process for documentation. Since my application involves a

large scale of operational sequences, it was necessary to identify each stage of

processing with the appropriate range of conceptual tools. In some instance, my

implementation offered a chance to reflect on whether a user will be able to

effectively utilize the correct order of components. As a result, my entire fifth

chapter has been revised to accommodate users to understand the mechanics of

my systems functionality.

Page 100: Social Network Gaming

Social Network Gaming 2012

100 | P a g e

Chapter 7: Project Conclusion

6.1 Introduction

As this is my final chapter, I will be concluding the entire process of my applied

development with respect to my own personal opinions. To effectively satisfy any

apprehensions regarding this project, I plan to discuss my views with respect to

the fundamental ideals of social network gaming. One specific topic that I was

hoping to dispute concerns the margin for improvement, as I feel that some areas

of my application have been neglected. When considering the amount of work

that has been commissioned, I feel that it would be appropriate for me to stress

the significance of my applications current standing.

The following segments detail my personal reflections on the progress I’ve made

so far. This constitutes the lessons I’ve come across over the period of my projects

development. Future growth and expansion would serve as another suitable topic

for discussion, as I would hope to steer this product into the market someday.

6.2 Reflection on Progress

Over the course of time that I’ve spent developing my application, I never really

took the time really sit back and criticise my workings. One of my initial objectives

was to integrate my application onto the social network Facebook. However due

to certain registry complications, I never got the chance to review the impact it

would project on a live network. I also have had a lot of feedback from the gaming

community regarding the ethical implications of my applications services, as it

openly manipulate personal data. Ironically the majority of social networks adopt

the same exclusive principles, so the ethical intentions of my application are

disputable.

I do believe however that every user is entitled to their opinion, considering that

negative criticism can sometimes prove to be the best form of feedback. All that

aside, I can still say that I feel rather confident about my overall progress, even if

the application is still in working progress. In any case, I do hope to eventually

elaborate on this project on a more professional level.

Page 101: Social Network Gaming

Social Network Gaming 2012

101 | P a g e

6.3 Potential Improvements

One distinct standard that I have constantly been applying throughout my profile

is the emphasis on operational priority. As a result, my applications development

became more concerned with satisfying the functionality of my system

components. This left a heavy impact on the aesthetical factors of the application,

judging by the fact that each of my interfaces incorporates a very simple design

layout. As a future precaution, I plan to apply myself more flexibly to provide for

all aspects of my future projects. Due to the unique integration of my guild object

class, a distinct level of confusion may arise regarding its relevance in the initial

system.

Coincidently the only guild attributes that are stored within the database include

name, level, type, region and server name. However according to the World of

Warcraft mechanics, a guilds primary objective is to add and store characters into

their roaster. Therefore to rectify this confusing concept, I would have to

reconfigure my guild table and implement a new feature that would allow users

to add character instances into registered guilds.

Page 102: Social Network Gaming

Social Network Gaming 2012

102 | P a g e

References

[Dave Roos, 2011] What is an API? (Online article reference) [Available at:

http://communication.howstuffworks.com/how-to-leverage-an-api-for-

conferencing1.htm, Accessed at: 14th November 2011]

[Facebook Developers, 2009] Facebook for Websites (Online guide reference)

[Available at: http://developers.facebook.com/docs/, Accessed at: 18th

November 2011]

[Biz Stone, 2006] Twitter API for Flash developers (Online guide reference)

[Available at: http://blog.twitter.com/2006/10/twitter-api-for-flash-

developers.html, Accessed at: 21th November 2011]

[Paul Salmon, 2011] Socializing online with Socializing Network Software (Online

article reference) [Available at: http://technicallyeasy.net/2011/02/socialize-

online-with-social-networking-software/, Accessed at: 14th December 2011]

[YouTube, 2009] Best Social Networking Apps (Online video reference) [Available

at: http://www.youtube.com/watch?v=o8KOgkmGwaA, Accessed at: 17th

December 2011]

[My Games Studies, 2009] Social Networking Game Design Diagram (Online

image reference) [Available at: http://www.mygamestudies.com/content/game-

design-social-networks-part-2-design-framework, Accessed at: 19th December

2011]

[Nick O’Neill, 2008] What exactly are Social Games? (Online article reference)

[Available at: http://www.mygamestudies.com/content/game-design-social-

networks-part-2-design-framework, Accessed at: 19th December 2011]

[Nadia Oxford, 2011] Social Games: The past, Present and Future (Online article

reference) [Available at: http://gametheoryonline.com/2011/10/10/social-games-

history-future-facebook/, Accessed at: 29th December 2011]

[Jon Radoff, 2010] History of Social Games (Online article reference) [Available at:

http://radoff.com/blog/2010/05/24/history-social-games/, Accessed at: 30th

December 2011]

[Adam Holisky, 2012] World of Warcraft subscribers dip 100,000 to 10.2 million

(Online article reference) [Available at:

Page 103: Social Network Gaming

Social Network Gaming 2012

103 | P a g e

http://wow.joystiq.com/2012/02/09/world-of-warcraft-subscriber-numbers/,

Accessed at: 12th February 2012]

[Wikipidia, 2012] Blizzard Entertainment (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Blizzard_Entertainment, Accessed at: 12th February

2012]

[Wikipedia, 2012] World of Warcraft (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Blizzard_Entertainment, Accessed at: 12th February

2012]

[Game Sparking, 2011] Advantages and Disadvantages of Playing Online Games

(Online article reference) [Available at: http://www.gamesparking.blog.com,

Accessed at: 9 January 2012

[Donna Cosmato, 2011] Advantages and Disadvantages of Social Networks

(Online archive reference) [Available at:

http://socialnetworking.lovetoknow.com/Advantages_and_Disadvantages_of_So

cial_Networking, Accessed at: 14th February 2012]

[Jiang Yang, 2008] Diffusion Dynamics of Games on Social Networks, 2011, Xiao

Wei, Jiang Yang, Lada A. Adamic, Ricardo Matsumura de Araújo, Manu Rekhi

(Online article reference) [Accessed at: 9 January 2012]

[Leonora Albino, 2010] The psychology of Social Gaming (Online article reference)

[Available at: http://www.schooleymitchell.net/?p=770, Accessed at: 15th

January 2012]

[World of Warcraft: Cataclysm] World of Warcraft Party Feature (In-game

reference) [Available at: http://eu.battle.net/wow/en/?-, Accessed at: 3rd

January 2012]

[Avenirtech, 2012] Core elements of Social Gaming (Online article reference)

[Available at:http://avenirtech.hubpages.com/hub/Core-Elements-of-Social-

Gaming, Accessed at: 22nd January 2012]

[Facebook, 2004] Mark Zuckerburg, Dustin Moskovitz, Eduardo Saverin (Social

Network reference) [Available at: http://www.facebook.com, Accessed at: 13rd

January 2008]

Page 104: Social Network Gaming

Social Network Gaming 2012

104 | P a g e

[Brian Borzykowski, 2012] Facebook: Should you invest in social media? (Online

article reference) [Available at: http://www.canadianbusiness.com/article/73455-

-facebook-should-you-invest-in-social-media, Accessed at: 02nd March 2012]

[Mike Thompson, 2012] Zynga Slingo tops the list of fastest-growing Facebook games by

MAU (Online article reference) [Available at: http://www.insidesocialgames.com/,

Accessed at: 26th March 2012]

[Fortumo.com, 2012] 8 Key Elements That Make Social Gaming Successful (Online

article reference) [Available at: http://blog.fortumo.com/8-key-elements-that-

make-social-gaming-successful/, Accessed at: 06th March 2012]

[Wikipedia, 2011] Social Network Game (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Social_network_game, Accessed at: 14th December

2011]

[Wikipedia, 2011] Social Network Game (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Zynga, Accessed at: 14th December 2011]

[Wikipedia, 2011] Social Network Game (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Playfish, Accessed at: 14th December 2011]

[Wikipedia, 2011] Social Network Game (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Playdom, Accessed at: 14th December 2011]

[Wikipedia, 2011] Social Network Game (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/RockYou, Accessed at: 14th December 2011]

[Piers Harding-Rolls, 2011] Zynga Builds On Lead In Booming Social Network

Gaming Market (Online article reference) [Available at:

http://www.isuppli.com/Media-Research/News/Pages/Zynga-Builds-On-Lead-in-

Booming-Social-Network-Gaming-Market.aspx, Accessed at: 28th December

2011]

[Wikipedia, 2012] Requirements Analysis (Online archive reference) [Available at:

http://en.wikipedia.org/wiki/Requirements_analysis, Accessed at: 07th February

2012]

Page 105: Social Network Gaming

Social Network Gaming 2012

105 | P a g e

Appendix: A - Original Terms of Reference

Social Network Gaming

Ashkan Mehran

Project Background

After careful analysis and consideration, it came to my attention that this

particular project would be most suitable for me due to a number of points.

Firstly, the project brief informed me that I would be implementing an

application, which takes advantage of social networking services. This meant that

I would have to produce an application, which incorporates the interests of a user

on a social network. However before I could start any planning, I had to ensure

that I possessed the appropriate skills and abilities to carry out this project.

I started by reviewing the project requirements and discovered that the

requirements included knowledge of Java/JavaScript, MySQL and PHP in addition

to an interest in network and social gaming design and production. Since I could

relate to most of the requirements, I decided that it would be a suitable project

for me to employ. However, before making any solid decisions I choose to contact

the project leader CheGuevara John to consult on a number of points regarding

the projects structure and initial purpose.

It was not until Che had justified my concerns in more depth, that I concluded

choosing this project would be in my best interests. In addition to his advice, he

also provided me with some examples of applications that cater for Social

Network Services. With this new knowledge at my disposal, I started to

investigate how certain websites made use of their applications. My research led

me to the concept of APIs (Application-Programming Interface) that software

companies release to the public so that other software developers can design

their own products that support that particular service. After which, I contacted

my project manager George Fakas to request that he assign me to this project.

Aims

Develop an understanding of how Social Networking Services make use of

their applications.

To create an application that captures the interest of Social Network users.

Page 106: Social Network Gaming

Social Network Gaming 2012

106 | P a g e

Producing my project based on connected processes to aid application

problem solving.

To make my application satisfy its purpose, adding any required

improvements to enhance it.

Investigating how Social Networks integrate their API to allow independent

developers to produce supported applications.

To experiment with various development tools to determine which

platform would be most suitable for the development of my application.

Evaluating social networked services users integrate features such as

groups to further benefit them in preserving their gaming community ties.

Objectives

To achieve my project aims, I will need to organise my time efficiently and

responsibly taking into account each aspect of my project. This will include the

allocation of time and resources that will be spent on each phase. While I may be

developing my application, a gantt chart would be sufficient to help organise my

processes. This will allow me to keep track of my project schedule so I know

whether I’m spending too much time on one section, or if I’m ahead of schedule. I

also plan to engage in a wide variety of resources in order to make my research as

diverse and reliable as possible. This will include investigating articles that provide

constructive information to aid in the development of my application.

The initial development of my application will be credited to a number of factors.

Online tutorials and PDF guides are just some of the elements I plan to employ, as

I feel they are very resourceful and exclusive ways to exhibit information. In

addition there are a number of websites that I intend to explore such as playfire,

which present a similar approach to my projects purpose. Understanding how to

associate applications with a DBMS is just one of the concepts I need to integrate

into my project, fortunately the units I am studying will help cover the essential

areas such as web design and development, which dwells into the features such

as PHP script and MySQL.

Project Deliverables

My project will combine a number of ideas, which I think could present some

marketable quality. I intend to develop an application based on a PHP platform

for Facebook users who are also play the MMORPG World of Warcraft. Now the

Page 107: Social Network Gaming

Social Network Gaming 2012

107 | P a g e

initial idea of my project is to allow users who play World of Warcraft to locate

fellow players by making specific enquires on the application. User must firstly

register by providing specific credentials in order for them to be stored onto a

database for future enquiries. Once users have registered, they can begin to make

use of specific features based on the application. If users are looking for fellow

players yet lack their real life details, they can make use of the search tool

feature. This allows them to send a PHP script enquiry to the database to check if

register members match the enquiry details.

If a search is successful, users will receive a list of results relating to their enquiry.

Once users have selected a resulted profile, they redirected to a user profile page

that contains a specific collection of information. As I will be using the Facebook

API, each user profile will contain features such as the Like and Add Friend button.

This will allow users to trace each other over Facebook, adding consistency to my

application. Other profile features include user news feeds and event organisers,

where players can arrange game related activities. This will act as a global

notification to fellow players who are not available in game.

In addition to my project, I shall also be producing a project report and interim

report that will be included in my documentation.

Required Resources

Notepad ++, Adobe, EasyPHP 5.3.9, phpMyAdmin 3.4.5

Page 108: Social Network Gaming

Social Network Gaming 2012

108 | P a g e

Project Plan

Actual Deadlines: Terms of Reference (Project plan with aim, objectives and timetable)………………………..……...21st October 2011 Literature Review (First draft of the literature survey) ……………………………...………….…………..21th November 2011 Project Design (Draft of product design)………………………………….……………………………………..…..12th January 2012 Interim Report (Review of objectives achieved & revised project plan) ……………………...………16th December 2011 Implementation of Application (Draft of the implementation of the product) …………………...04th February 2011 Report Structure (Report outline with chapters sections and subsections) …………………...…..23th February 2012 Project Report …………………………………...............…………………………………………………….……..…….23th February 2012

Page 109: Social Network Gaming

Social Network Gaming 2012

109 | P a g e

Appendix: B - Modified Terms of Reference

Social Network Gaming

Ashkan Mehran

Project Background

After careful analysis and consideration, it came to my attention that this

particular project would be most suitable for me due to a number of points.

Firstly, the project brief informed me that I would be implementing an

application, which takes advantage of social networking services. This meant that

I would have to produce an application, which incorporates the interests of a user

on a social network. However before I could start any planning, I had to ensure

that I possessed the appropriate skills and abilities to carry out this project. I

started by reviewing the project requirements and discovered that the

requirements included knowledge of Java/JavaScript, MySQL and PHP in addition

to an interest in network and social gaming design and production. Since I could

relate to most of the requirements, I decided that it would be a suitable project

for me to employ. However, before making any solid decisions I choose to contact

the project leader CheGuevara John to consult on a number of points regarding

the projects structure and initial purpose. It was not until Che had justified my

concerns in more depth, that I concluded choosing this project would be in my

best interests. In addition to his advice, he also provided me with some examples

of applications that cater for Social Network Services.

With this new knowledge at my disposal, I started to investigate how certain

websites made use of their applications. My research led me to the concept of

APIs (Application-Programming Interface) that software companies release to the

public so that other software developers can design their own products that

support that particular service. After which, I contacted my project manager

George Fakas to request that he assign me to this project.

Aims

Develop an understanding of how Social Networking Services make use of

their applications.

To create an application that captures the interest of Social Network users.

Page 110: Social Network Gaming

Social Network Gaming 2012

110 | P a g e

Producing my project based on connected processes to aid application

problem solving.

To make my application satisfy its purpose, adding any required

improvements to enhance it.

Investigating how Social Networks integrate their API to allow independent

developers to produce supported applications.

To experiment with various development tools to determine which

platform would be most suitable for the development of my application.

Evaluating social networked services users integrate features such as

groups to further benefit them in preserving their gaming community ties.

Objectives

To achieve my project aims, I will need to organise my time efficiently and

responsibly taking into account each aspect of my project. This will include the

allocation of time and resources that will be spent on each phase. While I may be

developing my application, a Gantt chart would be sufficient to help organise my

processes. This will allow me to keep track of my project schedule so I know

whether I’m spending too much time on one section, or if I’m ahead of schedule. I

also plan to engage in a wide variety of resources in order to make my research as

diverse and reliable as possible. This will include investigating articles that provide

constructive information to aid in the development of my application.

The initial development of my application will be credited to a number of factors.

Online tutorials and PDF guides are just some of the elements I plan to employ, as

I feel they are very resourceful and exclusive ways to exhibit information. In

addition there are a number of websites that I intend to explore such as playfire,

which present a similar approach to my projects purpose. Understanding how to

associate applications with a DBMS is just one of the concepts I need to integrate

into my project, fortunately the units I am studying will help cover the essential

areas such as web design and development, which dwells into the features such

as PHP script and MySQL.

Project Deliverables

My project will combine a number of ideas, which I think could present some

marketable quality. I intend to develop an application based on a PHP platform

for Facebook users who also play the MMORPG World of Warcraft. Now the initial

Page 111: Social Network Gaming

Social Network Gaming 2012

111 | P a g e

idea of my project is to allow users who play World of Warcraft to locate fellow

players by making specific enquires on the application. User must firstly

register by providing specific credentials in order for them to be stored onto a

database for future enquiries. Once users have registered, they can begin to make

use of specific features based on the application. If users are looking for fellow

players yet lack their real life details, they can make use of the search tool

feature. This allows them to send a PHP script enquiry to the database to check if

register members match the enquiry details.

If a search is successful, users will receive a list of results relating to their enquiry.

Once users have selected a resulted profile, they are redirected to a user profile

page that contains a specific collection of information. As I will be using the

Facebook API, each user profile will contain features such as the Like and Add

Friend button. This will allow users to trace each other over Facebook, adding

consistency to my application. Other profile features include user news feeds and

event organisers, where players can arrange game related activities. This will act

as a global notification to fellow players who are not available in game.

In addition to my project, I shall also be producing a project report and interim

report that will be included in my documentation.

Required Resources

Notepad ++, Adobe Dreamweaver CS5.5, XAMPP 1.7.7, phpMyAdmin 3.4.5

Page 112: Social Network Gaming

Social Network Gaming 2012

112 | P a g e

Appendix: C – Ethnics Checklist

Ethics Check Form: Notes for Guidance

Before completing the Ethics Check Form the person undertaking the activity

should consider the following questions:

Yes No N/A

1 Is the size of sample proposed for any group enquiry larger than justifiably necessary?

X

2 Will any lines of enquiry cause undue distress or be impertinent?

X

3 Has any relationship between the researcher(s) and the participant(s), other than that required by the academic activity, been declared?

X

4 Have the participants been made fully aware of the true nature and purpose of the study? If NO is there satisfactory justification (such as the likelihood of the end results being affected) for withholding such information? (Details to be provided to the person approving the proposal).

X

5 Have the participants given their explicit consent? If NO is there satisfactory justification for not obtaining consent? (Details to be provided to the person approving the proposal).

X

6 Have the participants been informed at the outset that they can withdraw themselves and their data from the academic activity at any time?

X

7 Are due processes in place to ensure that the rights of those participants who may be unable to assess the implications of the proposed work are safeguarded?

X

8 Have any risks to the researcher(s), the participant(s) or the University been assessed? If YES to any of the above is the risk outweighed by the value of the academic activity?

X

9 If any academic activity is concerned with studies on activities which themselves raise questions of legality is there a persuasive rationale which demonstrates to the satisfaction of the University

X

Page 113: Social Network Gaming

Social Network Gaming 2012

113 | P a g e

that: i) The risk to the University in terms of external (and internal) perceptions of the worthiness of the work has been assessed and is deemed acceptable;

ii) Arrangements are in place which safeguard the interests of the researcher(s) being supervised in pursuit of the academic activity objectives;

X

iii) Special arrangements have been made for the security of related documentation and artefacts. Appropriate expert advice should be sought as appropriate

X

10 Have the ethical principles and guidelines of any external bodies associated with the academic activity been considered?

X

Page 114: Social Network Gaming

Social Network Gaming 2012

114 | P a g e

Ethics Check Form 1 Name(s) of Applicant: Ashkan Mehran 2 Department: Computing & Mathematics

3 Name of Supervisor: Che-Guevara John

4 Title of Project: Social Network Gaming 5 Resume of ethical issues: 6 Does the project require the approval of any external agency?

YES/NO * If YES has approval been granted by the external agency? YES/NO *

* delete as appropriate

7 Statement by Applicant I confirm that to the best of my knowledge I have made known all relevant information and I undertake to inform my supervisor of any such information which subsequently becomes available whether before or after the research has begun Signature of Applicant: Ashkan Mehran Date: 23 / Mar / 2012 8 Statement by Supervisor/Line Manager (please sign the relevant statement)

Approval for the above named proposal is granted I confirm that there are no ethical issues requiring further consideration. (Any subsequent changes to the nature of the project will require a review of the ethical considerations): Signature of Supervisor: _________________Date:_______________

Page 115: Social Network Gaming

Social Network Gaming 2012

115 | P a g e

Approval for the above named proposal is not granted I confirm that there are ethical issues requiring further consideration and will refer the project proposal to the appropriate Committee** Signature of Supervisor: _________________ Date: ______________

** For work forming part of an MMU taught programme– refer to Faculty Academic Standards Committee ** For work forming part of an MMU research programme – refer to Faculty Research Degree Committee ** For PhD by published work – refer to Research Degree Committee ** For any other work – refer to appropriate Faculty/Department Committee or line manager.