Final Year Project (Computing)
Final Year Project (Computing)
Acknowledgement
Firstly, I would like to take this opportunity to convey my deepest and most
sincere gratitude to my supervisor, Mr. Kalai Anand. For his helped and willingness in
guiding me in completing my research project. Mr. Kalai Anand has done his
responsibility for an unremitting betterment in this research. His guidance had helped me
to finish this project in an efficient and completed way. Beside that, I also would like to
take this opportunity to thank everyone who had lend their kind helping hands in ensuring
that this project is successful with fruitfully.
Once again, very special thanks for some of the participants and respondents who
have provide me time, share opinion and cooperation in completing my research. Without
their opinion and help, I cannot complete successfully in this project. Thus, the
knowledge that I gained from them is priceless and useful.
Further more, I would also convey my sincere thanks to all of my friends to
encourage me and support me all the time with their opinion and unlimited moral
support. And also who are had been my pillar of strength during this project. Their
constant morale support and encouragement are the critical success factors, which drives
me to try my best in finishing this project. Not to forget, I also would like to take this
opportunity to thank my seniors, who share their experience in coping and coming up
with successful projects. Their experience gave me insights of what are the challenges
that I have to face and what is expected to successfully complete the project.
Lastly, I would like to show appreciate to all the references from the primary and
secondary sources, which have guides me in gathering on my research project in order to
produce a well literature review.
Chapter 1
Introduction
Introduction
Games that can be used as promote the competition and cooperation between
human players (Dave Spohn). A review or investigations have been made in-order to
have deep understanding in this final year project which the online gaming has changed
to the extent that many gaming focused websites provide chat facilities enabling
simultaneous chatting between players.
The internet games (also known as online games) are games that are played online
via the Internet (Wikipedia, 2005). Normally, they are distinct from video and computer
games in that they are normally platform independent, relying solely on client-side
technologies. In general most of all that is required to play Internet games are a web
browser a game played in a browser is often called a browser-based game. Essentially,
this final year project will be categorize as a web application project as nowadays many
people will choose to play the online game frequently. There are many types of the online
games (Internet games), which is included text-based games, animation, RPG (Role play
game) and also browser based games. Those kind of games was always is available on
the Internet.
The title that I was chosen is Online text-based strategy games (Lord of the
Ring). This final year project main target is those from teenagers to adults. It was used
for the category of people such as gamers that who have the interest on online strategy
games and some sort of people who have the internet connection and always surfing
internet at home or offices. The reason why I chose this title was I able to offer a user
friendly system and in order to have the deep understanding for this project title that I
interest most.
Nowadays, the market was providing a lot of different type of the game types and
also the information. From there, I can learn lots of new and updated information for the
new games type which also will be provided with the popular game types, price,
comments and ratings. From this information, it will help me more to analyze and also as
a guide for me. There are many different way which is used to play online games. Some
of this way is the Java virtual machine, Shockwave, Flash, VRML 2.0/X3D and others
(Wikipedia, 2005).
There are generally included two-side which is the Client side and also the server
side. Thus, the game was usually based on the client-side which that is much of the
processing was done by the player's computer instead of the server hosting the game.
However, there is also having the server-side games and the process the data on the game
server instead of the player's computer. These games are typically not as visually
appealing as client-side based games, but in advanced functionality, particularly because
it is easier to implement multiplayer capabilities.
Basically in this online game system, there are included many modules for the
online system. The web application consists of register user module, login module,
manage attack module, manage build module, register gold user module, advertising
module, change password module, and manage user account module and also messaging
module.
Objective
In this final year project, it was involves the development of the online strategy
game (Lord of the ring). The online system can be used when the users of the system can
get the entertainment which it can be connect anywhere in the world when the users are
connected to the Internet. By utilizing the system, the client was able to gain income
through this system it was because when every time have a new member to join in the
gold member which can get the extra features from the games. With theses features, the
users game time consumption will reduce which mean when there add in these feature
compare to the normal member there will build up the game net worth faster.
For the objective of this final year project is to let me learn to how to handle, plan
and develop a project independently. It also used to build up more knowledge of the
online game system which can provide the chance of the business opportunity for the
client and provide the biggest entertainment for the game users. Beside that, it also will
increase a deep understanding of the online games through the internet information,
questionnaire and also the opinion from the gamers.
Beside I have to finish the project independently, it also a chance for me to
manage my time which mean from here I can learn to time management. Time manage to
meet the supervisor on time, finish the survey on time and also finish the project
successfully in order to meet the deadlines. And it also can let me learn the skill of
analysis the questionnaire from the survey.
Chapter 2
Problem Description
Before implemented this online game system I actually have found out
that some problem was occur around regarding the issue on online game; these problem
are just like; There are too many choices for the user to choose; There are some games
that are too complicated to play. And does the game price, game design, game type and
also the trend would be one of its factor to the consumer? And lastly what would be the
consumer choice of ideal online game.
From my own research and observation through the market, I have found out that
from the internet there are provided too many choices and lots of type of game for the
gamers to choose instead of wasting their time to choose. Mostly there are more than 10
types of games. Beside that, there are expected that the user who are struggling in
searching for the preferable game to play and register will view the entire thing.
Thus, the other problem was including the information about online games that
has direct intervened in this project; therefore I have to spend lot of time in-order to get
this related information to complete this final year project. Yet, after all this research been
conducted; I also facing another problem where I dont know the end-users comment,
therefore survey is (questionnaire) conducted to get the end-users opinion.
With all these problems that occur, what have come across my mind was to find
out all the answer for what me at wondering of the entire problem. Thus, I have brought
out the idea with all of those objectives I done in this project. Therefore the solution was
so important to be studied. If the online game system was complicated and no user
friendly, it may make the user feel frustrated. Such as, there are some online games will
provide with a nice design but with less features and no updates information. Thus, some
online games system tends to provide as many as features for the user and this also makes
thing complicated in their system.
The reason I choose to develop this online system is used to make the user feel
convenient, ease to use the system and also with a user friendly system. And not to makes
thing complicated. However, with all these problems that occur, what comes across the
researchers mind was to find out the answer for what a researcher wondering of the
entire problem. Thus, I have brought out the idea with all of these objectives to find out.
Thus, by having my online games system, the user actually can start using the
system it with a user friendly system and with a suitable features compare to the others
online games. My system was makes the thing easier to view, choose and also used. This
in fact is to make the users life much easier and much more effective. Other than that, the
user also can message to other user with the features provided while playing the games.
.
Chapter 3
RESEARCH METHOD
10
PRIMARY RESEARCH
11
12
Questionnaire
13
14
Respondent Rate
Response
No Response
Population
80
20
Percentage
80%
20%
15
Respondent Rate
Once a week
Twice a week
More than 3 times a
week
Everyday
Population
10
15
35
Percentage
12.5 %
18.75 %
43.75 %
20
25 %
Table 2: Respond Rate and Population for respondents frequency of online once a week
In the results, the respondents frequency of online once a week most collected back
are more than 3 times a week; where is takes almost 35 out of 80 participant of this
research. This category yields the highest, because there are mostly all from college and
university students, yet there are the highest usages of online and play games among the
16
others participants. As for the category once of the week, have a number of 10; where
mostly are working people, and while as for the category of everyday has return the result
is 20. With the result above stated, researcher had compiled everything into a pie chart,
figure 26 and table 4 for summary purpose.
Respondent Rate
30 minutes
1 hours
More than 1 hours
More than 5 hours
Population
16
27
14
23
Percentage
20 %
33.75 %
17.5 %
28.75 %
Table 3: Respond Rate and Population for respondents hours spent online per day
Data collection has proven that the highest hours of these gamer spent on
online once a week are mainly spending in a hours per day which is 27 out of 80;
which is 33.75%. In the process of collecting the questionnaires, I have found out
that people are spent more than 5 hour on online; which is 23 out of 80; 28.75%.
17
While others like there will spend 30 minutes which are 16 out of 80 people was
chosen. This also means that mainly people who will spend more than an hours
mostly that there are education either from level of student.
Respondent Rate
Yes
No
Population
50
30
Percentage
62.5%
37.5%
18
Respondent Rate
Animation
Text based
Mini game(Yahoo
games)
RPG
Population
35
5
22
Percentage
43.75 %
6.25 %
27.5 %
18
22.5 %
19
information, a pie chart (figure x), had been drawn out to show the type of online
game.
Question 8: In the website, what type of the back ground type do you prefer?
Respondent Rate
Futuristic
Stone age
Animated
Basic
Population
30
20
14
16
Percentage
37.5 %
25 %
17.5 %
20 %
Table 6: Respond Rate and Population for type of the back ground
In the process of collecting the questionnaires, there are lots of different types of
background for the online game such as futuristic, stone age, animated and also basic.
Thus, I have found that gamer who are more towards too futuristic which it was the
highest selection from the participants who had done the questionnaires. While others
also like Stone Age. In figure x, showing that the type of the background which is the
20
futuristic was 30 out of 80; 37.5%. Stone Age was 20 out of 80 people, animated was 14
out of 80 and lastly is the basic was 16 out of 80 people.
Respondent Rate
Yes
No
Population
50
30
Percentage
62.5%
37.5%
21
Question 10: Will you pay extra money for the extra features of the game?
Respondent Rate
Yes
No
Population
60
20
Percentage
75%
25%
Table 8: will you pay the extra money for the extra features of the game
From the result, mostly people were chose to pay for the extra money for the
features. For the online game gamers who are 60 out of 80; 75% was willing to spend the
extra money in order to get the extra feature to make the game more interesting and fun.
But there also some of the people were decline to pay for the extra money. Which there
are 20 out of 80 people.
22
SECONDARY RESEARCH
23
24
Graphics
Every web page in the site looks like it belongs to the same site; there are
repetitive elements that carry throughout the pages
25
Below are features that can make a web design looks dorky. The concept below will not
apply into the system.
Backgrounds
Color combinations of text and background that make the text hard to read
Text
26
Links that are not clear about where they will take user
Links in body copy that distract readers and lead them off to remote,
Links
useless pages
Text links that are not underlined makes user don't know they are links
Thumbnail images that are nearly as large as the full-sized images they
Graphics
link to
Graphics that don't fit on the screen (assuming a screen of 640x460 pixels)
Tables used as design elements, especially with extra large (dorky) borders
Tables
27
Counters on pages
Junk
Navigation
Orphan pages (no links back to where they came from, no identification)
Useless page titles that don't explain what the page is about
General Design
Entry page or home page that does not fit within standard browser window
(640 x 460 pixels)
28
ACADEMIC RESEARCH
29
PHP
According to PHP.net, PHP was stand for personal home page but in form of
recursive acronym PHP was also stands for Hypertext Preprocessor. Normally, PHP is a
widely-used Open Source general-purpose scripting language that especially matched for
Web development and can be embedded into HTML. PHP was an excellent choice for
Web programming. It has many advantages over other languages, including other Weboriented languages. Normally, PHP is mainly focused on server-side scripting, so that
programmer can do anything any other of CGI program can do, such as collect form data,
generate dynamic page content, or send and receive cookies. But PHP can do much more.
Thus, there are including 3 main areas where PHP script are used Server-side
scripting. Therefore, programmer can access the PHP program output with a web browser
and viewing the PHP page through the server. Programmer can make a PHP script to run
it without any server or browser with it Command line scripting. But only need the PHP
parser to use it this way. These scripts can also be used for simple text processing tasks.
PHP is probably not the very best language to create a desktop application with a
graphical user interface. Programmer also has the ability to write cross-platform
30
applications this way. But for the PHP-GTK is an extension to PHP, not available in the
main distribution.
Other than that, PHP also included some disadvantages of using it for the
programmed. Due to the reason of PHP much more focused on server-side programming,
and therefore PHP cannot do much more thing when comparing to Visual Basic.NET or
even Java. Because it is scripting language and is interpreted it will be a bit slower than
the optimized "C++" programs. Other than that, PHP is good if the PHP code size does
not exceed 3, 00,000 lines. Thus, the maintenance of PHP code greater than 1, 00,000
lines becomes much more difficult. And also the error handling, when it comes to error
handling, PHP has a very poor ability but even this disadvantage can be over come using
a feasible advantage solution.
Open source
General purpose scripting language much superior to PERL, VB script, ASP, JSP.
31
ASP
ASP is stand for Active Server Pages where it runs using Internet Information
Services (IIS). Dynamically can edit, change or add any content of a Web page. ASP can
respond to user queries or data submitted from HTML forms. It provides access any data
or databases and returns the results to a browser. ASP also customizes a Web page to
make it more useful for individual users. It provides security since the ASP code can not
be viewed from the browser. Since ASP files are returned as plain HTML, they can be
viewed in any browser
There are many advantages of using ASP such as the biggest advantage is low
cost of entry and very short setup time. The pay-as-you-go model is often significantly
less expensive for all but the most frequent users of the service. The ASP model also
eliminates specialized IT infrastructure for the application as well as supporting
applications. For example, if the application is want to use requires an Oracle or MS-SQL
database; it would have to support both the application and the database.
32
The growth of ASPs is the high cost of specialized software. As the costs grow, it
becomes nearly impossible for a small business to afford to purchase the software, so the
ASP makes using the software possible. Another important factor leading to the
development of ASPs has been the growing complexity of software and software
upgrades. Distributing huge, complex applications to the end user has become extremely
expensive from a customer service standpoint, and upgrades make the problem worse. In
a large company where there may be thousands of desktops, distributing software (even
something as simple as a new release of Microsoft Word) can cost millions of dollars.
The ASP model eliminates most of these headaches. After reading many of the above
advantages offered by an ASP, quick judge that an ASP solution is always a good thing if
available. Some ASP software services are just not worth the advantages it brings.
PHP coding is much cleaner and faster than ASP. ASP coding need to put more
character on paper to achieve the same global goal as PHP code. This is because
PHP is very similar to more efficient languages like C++. PHP is open source. It is
supported by a community of highly intelligent programmers and users. ASP is
proprietary software owned by Microsoft. ASP is free if and only if run it on IIS server
with Microsoft Windows; otherwise purchasing quite expensive software to make it
run on Linux/Apache combination. PHP will run on just about any OS / web server
combination. As mentioned earlier, PHP has been optimized to run with
Linux/Apache/MySQL combination. These 3 entities are probably the most powerful
and widely used Operating System, Web Server and Database engine combination in
use for web hosting these days. PHP runs generally faster without much tweaking.
PHP do not require to be stuck with a specific Web Server or Operating System.
Therefore it makes it flexible to choose what environment that wishes to have for the
script.
33
34
MySQL
MySQL 5.0 introduced Stored Procedures which allowed automating or programming the
way out of many tasks on directly on the server rather than having to write external
scripts to do complex manipulation of data. When used to writing stored Procedures in
MySQL 5.0, as with any other programming language, want to generalize the stored
procedures as much as possible. The more flexible the stored procedure is, the more tasks
it can be used for -- and the less places that have to go searching for that elusive bug that
just keeps giving the wrong result. Most stored procedures that will be writing for
MySQL 5.0 will undoubtedly reference static table and column names. However,
sometimes it is desirable to be able to pass these details to a stored procedure as
parameters.
Oracle
Oracle is a relational database management system used for storing large amounts
of data. An Oracle database which mean is consists of a collection of data managed by an
Oracle database management system or DBMS. It then allows queries or searches against
that data using a structured query language called SQL. An Oracle database is perfect for
ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY
35
keeping this type of information because it can keep millions of customers and search
those customers for past history.
When it refers nowadays to the Oracle RDBMS (the software it sells for the
purpose of managing databases) as the Oracle Database. The distinction between the
managed data (the database) and the software which manages the data (the DBMS /
RDBMS) relies, in Oracle's marketing literature, on the capitalization of the word
database.
Microsoft Access
Microsoft Access was an electronic database-management system where database
was a collection of related information or data; it purposes is to help the user to collect,
retrieve, and present data (Bill Rosenthal, 1997). Other than that, Microsoft Access also
was a unique product that it provides tools which can be mastered by even the most
inexperienced database users (Clear form software, 2003). For the Microsoft Access it
can be filtering, sorting, querying, and form and report creation.
Thus, the Microsoft Access also is a tool for building databases and a relational database
management system from Microsoft, packaged with Microsoft Office Professional which
combines the relational Microsoft Jet Database Engine with a graphical user interface. It
can use data stored in Access/Jet, SQL Server, Oracle, or any ODBC-compliant data
container. Skilled software developers and data architects use it to develop powerful,
complex applications. Relatively unskilled programmers and non-programmer "power
users" can use it to build simple applications without having to deal with features they
don't understand. It supports substantial object-oriented (OO) techniques but falls short of
being a fully OO development tool.
36
Beside that, when comparing the various database design systems, Microsoft
Access is by far the easiest way to share and move data. This ease of migration makes
Microsoft Access a favored tool when developing small databases. And also Microsoft
Access was the only one file system will provides a simple way to make backups. Instead
of backing up several to hundreds of data files, only one single file needs to be backed
up. Depending on the size of your database and location of your backup medium, this can
be as easy as copying and pasting the file to another drive.
The fact that Microsoft Access is the popular PC database system in the world,
thus the end-user has the flexibility to add to the application with his/her own hands.
Hence, Microsoft Access was popular, but it only supports singer-user system. Although
the end users can use Microsoft Access concurrently with no problems, this is not always
recommended. Most of the work in Access is done through wizards and GUI tools. One
can quickly develop a small, single user database with this one. MS Access is not very
good for a multi-user application for the end users. Although it also not very strong and
does not have good multi-user transactional control.
In addition, Access also cannot handle large amounts of data. All of the data in the
database will be stored in a single file. Microsoft Access will provide a build and
distribute solutions, including the royalty-free run-time license for distributing Microsoft
Access solutions and a lot feature that useful for the end user used it. Due to the structural
design of Microsoft Access will limit performance in high production environments but
end user was applies to high levels of concurrent usage, especially concurrent data entry
ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY
37
operations. It also not fulfill the requirement of nowadays what end user needs and their
wants which is need large database but the Access only provide small database.
Macromedia Flash
The Flash MX interface is now consistent with Dreamweaver and Fireworks.
Nested layer folders and improved cursor feedback for frame adjustment make the
timeline more manageable and the context-sensitive properties panel and collapsing, dock
able panels reduce screen clutter considerably. Vector drawing tools, one of Flash's
weaknesses, have been largely overlooked, but there is a new Free Transform tool, which
combines rotate, scale, and skew options. Video, another Flash weak spot, has fared much
better with the inclusion of the Sorensen Spark video codec. Users can import a variety of
formats, including MPEG, DV, and QuickTime. In addition, users can animate and script
AVI and video clip objects in the same way as bit maps, even using them on a mask layer.
38
METHODOLOGY RESEARCH
39
RUP METHODOLOGY
The Rational Unified Process was developed by Rational University for the object
oriented technology they had founded. RUP follows a waterfall-like pattern and
customizes it to meet the unique requirements of object-oriented design. The end result is
scalable, distributed; multi tiered and works in conjunction with the Unified Modeling
Language.
It is underpinned by a key practice - each project iteration cycle begins with clear
objectives and concludes with an evaluation of whether they have been met - and focuses
on 6 best practices designed to develop high quality enterprise applications:
40
The CDD software engineering team through a number of phases - inception, elaboration,
construction and transition.
The objective at the inception stage is to achieve concurrence among all stakeholders on
the lifecycle objectives for the project (e.g. project scope, boundaries and associated
conditions and acceptance criteria) and determination of project schedule, resources and
cost.
The elaboration stage focuses on the engineering process and involves analysis of the
software design architecture, base lining of the project vision and construction plan and
rationalization of the project plan. The outcome of this stage include the system use case
model, refined non-functional specifications, software architecture documentation,
revised risk list and a development plan.
In the third phase, construction, the actual implementation /development begins.
Objectives are to optimize resources and processes to produce a complete and fully
functional software product.
In the final transitional stage, the software product is deployed and the objectives are for
users to be self-supporting and for the project to be completed on time and budget, to
vision and specifications. Beta testing, acceptance testing, training, fine tuning, project
assessment and sign-off all occur at this stage.
41
Chapter 5
ANALYSIS AND DESIGN
42
43
44
A member logs into the system with their own login username and password.
Alternate Pathway(s):
A member cancelled the login
Exception Pathway(s):
User or Administrator keyed in the wrong username or password
45
1. User and administrator will be informed that username and password is wrong
2. User and administrator will be redirect to home page.
46
Alternate Pathway(s):
A user wants to cancel the registration.
Exception Pathway(s):
The username is already existed in the system.
47
48
49
50
51
52
53
54
55
56
57
4. Ban account
5. System shows result that the account changes are successful.
6. Administrator redirected to homepage.
58
59
60
61
62
63
View Result
Messaging
Change Password
Login
Administrator
User
Register User
Manage Attack
Advertising
Manage Build
64
Advertising
Add Advertisement
(from Main)
Change Password
Verify Password
(from Main)
(from Login)
Verify Username
Login
Verify Password
(from Main)
65
Calculate Win
Manage Attack
Calculate Lost
(from Mai n)
Calculate Remaining
Add Building
Manage Build
(from Main)
Delete Building
66
Delete Account
Ban Account
(from Main)
Recover Account
Send Message
Messaging
(from Mai n)
Delete Message
67
Add Feature
Register User
(from Main)
68
69
<<Submit>>
<<communicate>>
Advertise
AddAdvertisingUI
Administrator
AddAdvertising
Process
(from Main)
<<Submit>>
<<communicate>>
(from Main)
Member
(from Login)
ChangePasswor
dUI
ChangePasswor
dProcess
<<Communicate>>
Member
<<Submit>>
User
LoginUI
LoginProcess
(from Main)
70
Member
(from Login)
<<communicate>>
User
ManageAttackUI
CalculateResultProcess
(from Main)
<<communicate>>
Building
(from Manage Build)
AddBuildingUI
<<communicate>>
Building
User
ManageBuildProcess
(from Main)
<<Submit>>
DeleteBuildingUI
71
DeleteAccountUI
<<Submit>>
<<communicate>>
Member
<<Submit>>
ManageAccountUI
BanAccountUI
Administrator
(from Login)
(from Main)
<<Submit>>
<<Submit>>
(from Main)
MessagingUI
MessagingProcess
72
VerifyCreditCardProcess
<<Submit>>
<<communicate>>
Member
(from Login)
<<Submit>>
User
(from Main)
RegisterGoldUser
UI
<<communicate>>
AddFeatureProcess
CheckAvailableUsernamePr
ocess
<<Submit>>
<<communicate>>
User
RegisterUserUI
<<Submit>>
(from Main)
<<communicate>>
CheckEmailAccountProcess
73
74
: User
: LoginUI
: Member
: LoginProcess
3: Check details
4: Confirmation message
: User
: LoginUI
: LoginProcess
: Member
75
: User
: LoginUI
: LoginProcess
: Member
3: Check details
4: Error message
76
: User
: RegisterUserUI
:
CheckAvail...
:
CheckEmai...
: Member
: User
: RegisterUserUI
:
CheckAvail...
:
CheckEmai...
: Member
77
: User
: RegisterUserUI
:
CheckAvail...
:
CheckEmai...
: Member
4: Error message
Administrator
AddAdvertisi
ngUI
AddAdvertisi
ngProcess
Advertising
4: Confirmation message
78
Administrator
AddAdvertisin
gUI
AddAdvertisi
ngProcess
Advertising
1: Click advertisement
2: Cancel advetisement
: User
:
ChangePass...
:
ChangePas...
: Member
6: Confirmation message
79
: User
:
ChangePass...
:
ChangePas...
: Member
:
ChangePas...
: Member
: User
:
ChangePass...
80
: User
: ManageAttackUI
:
CalculateRe...
: Member
: Building
7: Calculate Win
8: Calculate Lose
9: Calculate Remaining
81
: User
: ManageAttackUI
:
CalculateRe...
: Member
: Building
: Member
: Building
: User
: ManageAttackUI
:
CalculateRe...
82
: User
: AddBuildingUI
:
ManageBuil...
: Building
2: Submit amount
4: Update database
5: Confirmation message
83
: User
: DeleteBuildingUI
:
ManageBuil...
: Building
2: Submit amount
3: Update database
4: Confirmation message
84
: User
: AddBuildingUI
:
ManageBuil...
: Building
2: Submit amount
4: Error message
85
: Administrator
: DeleteAccountUI
:
ManageAcc...
: Member
1: Key in username
2: Submit username
3: Search username
4: Username found
5: Click delete
6: Submit delete
7: Update database
8: Confirmation message
86
: Administrator
: BanAccountUI
:
ManageAcc...
: Member
1: Key in username
2: Submit username
3: Search username
4: Username found
5: Click ban
6: Submit ban
7: Update database
8: Confirmation message
87
: Administrator
:
RecoverAccountUI
:
ManageAcc...
: Member
1: Key in username
2: Submit username
3: Search username
4: Username found
5: Click recover
6: Submit recover
7: Update database
8: Confirmation message
88
: User
: MessagingUI
:
Messaging...
1: Type in username
2: Type in message
3: Submit message
4: Check username
5: Confirmation message
89
: User
: MessagingUI
:
Messaging...
1: Delete a message
2: Submit delete
3: Delete message
4: Confirmation message
90
: User
: MessagingUI
:
Messaging...
1: Type in username
2: Type in message
3: Submit message
4: Check username
5: Error message
91
: User
:
RegisterGold...
:
VerifyCredi...
:
AddFeature...
: Member
: User
:
RegisterGold...
:
VerifyCredi...
:
AddFeature...
: Member
92
: User
:
RegisterGold...
:
VerifyCredi...
:
AddFeature...
: Member
4: Error message
93
Chapter 6
Implementation
94
Hardware Tools
All hard wares that are listed down are recommended requirement. It is to ensure
the game can run smoothly.
Keyboard
Mouse
Monitor
Software
The soft wares that are used to develop the system are:-
95
Microsoft Office XP
o MicrosoftOfficeXP'sempoweringdocumentdesigntools,integrationof
voicerecognitionfunctionality,andimpressivenetworkandWebbased
sourcingcapabilitiesshouldbeenoughtoconvincethoseinterestedin
savingtimeandconsolidatingefforttotaketheleap.
Macromedia Flash 8
o Flash Professional 8 gives creative professionals the tools they crave, to
design and author interactive content rich with video, graphics, and
animation. For truly unique & engaging Websites, presentations or mobile
content.
Internet Explorer 6
o Internet Explorer, abbreviated IE or MSIE, is a proprietary web browser
made by Microsoft and currently available as part of Microsoft Windows.
Internet Explorer is the most widely used web browser today, although
since 2004 it has lost some usage share to other browsers, in part due to its
security issues.
Macromedia Dreamweaver 8
o Dreamweaver8istheindustryleadingwebdevelopmenttool,enabling
userstoefficientlydesign,developandmaintainstandardsbasedwebsites
andapplications.
Apache Tomcat
o Tomcat functions as a servlet container developed at the Apache Software
Foundation. Tomcat implements the servlet and the JavaServer Pages
(JSP) specifications from Sun Microsystems. That is to say, it provides an
environment for Java code to run in cooperation with a web server. It also
adds tools for configuration and management, but it can also be configured
by editing configuration files that are normally XML-formatted. Because
96
MySQL Server
o MySQL Server is for hosting a database to the internet and connects this
database from the program.
97
Before design the interface to the website, the interfaces are come from the
storyboard. But the challenge is the interface is not always the place we want and
sometimes some changes need to be made. Ensuring the website is simple and user
friendly is a challenge too. I also implement some animation using Macromedia Flash to
make the website looks interesting as the game must be interesting in order to get more
players.
Problems faced:
1) Storyboard and the real interface is not the same
2) Placing of the forms, contents and buttons.
3) The interface must able to view and consistent at each browser.
Solutions:
1) Type out the text manually on the sketch meaning using the notepad.
2) Try to keep the interface as similar as possible with the storyboard.
3) Try to keep the controls at the same place and make the form in a symmetrical
order and readable.
98
Chapter 7
Testing
Testing
99
Testing is very important after the system is developed. Testing can determine the
error and fix it as soon as possible. There are many kinds of error such as function,
interface, validation and etc. There are four testing plans that will be performing which
are unit testing, integration testing, system testing and lastly user acceptance testing. Each
of the testing will be documented. (Wikipedia, 2005)
Unit Testing
This testing is to the correctness of a module for source code. This test is carried
out by the develop themselves. This test is carried out by testing every module and fixes
the problem as soon as possible. During the construction phase according to RUP
methodology, this test had to be carried out.
Integration Testing
Integration testing is a logical extension of unit testing. In its simplest form, two
units that have already been tested are combined into a component and the interface
between them is tested. A component refers to an integrated aggregate of more than one
unit. Many units are combined into components, which are in turn aggregated into even
larger parts of the program. The idea is to test combinations of pieces and eventually
expand the process to test the modules with those of other groups. Eventually all the
modules making up a process are tested together. If the program is composed of more
than one process, they should be tested in pairs rather than all at once.
Integration testing identifies problems that occur when units are combined. By
using a test plan that requires testing each unit and ensuring the viability of each before
combining units, if any errors discovered when combining units are likely related to the
100
interface between units. This method reduces the number of possibilities to a far simpler
level of analysis.
There are many ways of testing, but the common testing is carried out using these three
methods. The top-down approach to integration testing requires the highest-level modules
be test and integrated first. This allows high-level logic and data flow to be tested early in
the process and it tends to minimize the need for drivers. However, the need for stubs
complicates test management and low-level utilities are tested relatively late in the
development cycle. Another disadvantage of top-down integration testing is its poor
support for early release of limited functionality.
The bottom-up approach requires the lowest-level units be tested and integrated first.
These units are frequently referred to as utility modules. By using this approach, utility
modules are tested early in the development process and the need for stubs is
minimized. The downside, however, is that the need for drivers complicates test
management and high-level logic and data flow are tested late. Like the top-down
approach, the bottom-up approach also provides poor support for early release of limited
functionality.
The third approach, sometimes referred to as the umbrella approach, requires testing
along functional data and control-flow paths. First, the inputs for functions are
integrated in the bottom-up pattern discussed above. The outputs for each function are
then integrated in the top-down manner. The primary advantage of this approach is the
degree of support for early release of limited functionality. It also helps minimize the
need for stubs and drivers. The potential weaknesses of this approach are significant,
however, in that it can be less systematic than the other two approaches, leading to the
need for more regression testing.
101
System Testing
Generally speaking, System testing is the first time that the entire system can be
tested as a whole system against the Functional Requirement Specification(s) (FRS)
and/or the System Requirement Specification (SRS), these are the rules that describe the
functionality that the vendor (the entity developing the software) and a customer have
agreed upon. System testing tends to be more of an investigatory testing phase, where the
focus is to have almost a destructive attitude and test not only the design, but also the
behavior and even the believed expectations of the customer. System testing is intended
to test up to and beyond the bounds defined in the software/hardware requirements
specifications. (Wikipedia, 2005)
User Acceptance Testing
User acceptance testing is one of the final stages of a software project and will
often occur before the customer accepts a new system. Users of the system will perform
these tests which, developers have derived from the User Requirements Specification, to
which the system should follow.
Test designers will draw up a formal test plan and devise a range of severity levels.
Developers should have worked out these issues during unit testing and integration
testing. The focus is on a final verification of the required business function and flow of
the system. The idea is that if the software works as intended and without issues during a
simulation of normal use, it will work just the same in production. (Wikipedia, 2005)
102
Unit Testing
Test Plan: Login
Test
No
1.
Expected Results
Actual Results
button.
2.
notify the user that the login notify the user that the
3.
is unsuccessful.
login is unsuccessful.
notify the user that the login notify the user that the
is unsuccessful.
login is unsuccessful.
login is unsuccessful.
Re-enter Password
login is unsuccessful.
103
Test
Expected Results
Actual Results
No
1
2
3
4
Enter name
Enter age
Enter gender
Enter Phone No
Enter address
Enter username
Enter password
Click Register button
input
Accept address input
Accept username input
Accept password
Register the user
5
6
7
8
Advertising
Test
Expected Result
Actual Result
No
1
2
picture
Send the message to the
player
player
Change password
Test
Expected Result
Actual Result
No
1
2
3
104
button
Manage Attack
Test
Expected Result
Actual Result
No
1
2
3
Enter username
Enter amount to attack
Click Attack
Accept username
Accept amount
Attack the player
Accept username
Accept amount
Attack the player
Manage Build
Test
Expected Result
Actual Result
No
1
2
3
Accept amount
Clear all textbox
Build according to
Accept amount
Clear all textbox
Build according to amount
amount
Expected Result
Actual Result
No
1
2
3
4
Enter username
Click Ban button
Click Delete button
Click Recover button
Accept username
Ban player account
Delete player account
Recover player account
Accept username
Ban player account
Delete player account
Recover player account
Expected Result
Actual Result
Messaging
Test
105
No
1
2
3
Accept receiver
Enter message
Click Submit button
username
Accept message
Send message
Accept message
Send message
Expected Result
Actual Result
No
1
2
number
Accept credit card expiry
date
Register the user as gold
date
Register the user as gold
user
user
Integration Testing
Member Module
Module Name
Login
Register User
Change Password
Manage Attack
Manage Build
Messaging
Register Gold User
Check List
()
()
()
()
()
()
()
Expected Result
No Error
No Error
No Error
No Error
No Error
No Error
No Error
Actual Result
Expected Result
Expected Result
Expected Result
Expected Result
Expected Result
Expected Result
Expected Result
Check List
Expected Result
Actual Result
Administrator Module
Module Name
106
()
()
No Error
No Error
Expected Result
Expected Result
107
No.
1.
2.
3.
4.
5.
6.
7.
Question
Information on the screen easy to see and read?
Navigation link separates and easy to click?
The link, buttons, textbox and drop down box easy to locate?
The form in symmetrical feel?
Clear on what information should be entered into the textbox?
Clearly know which pages you are in?
Overall of the visual precision?
108
Section 2: Consistency
This section is to determine whether the website is consistent enough. This is to avoid the
user form being lost in the website.
No.
1.
Question
The name of the buttons, links, labels are the same throughout the
2.
3.
109
No.
1.
2.
3.
4.
5.
6.
Question
System is useful enough?
System works in the way the user thinks it should work?
Information presented fits of what they are presenting?
Easy to adapt or easy to get familiar with the system?
Information shows what the system is doing?
Overall of the user requirement
Question
Feedback messages readable and understandable?
Do you know what the errors from the error message are?
Can user know what to correct for the errors?
Messages on the same location?
System clearly informs the user that the action is successful or not
successful?
Overall of the information feedback
Question
The game can easily understand?
Any imbalance of the game?
The production time is appropriate?
Messaging part working smoothly?
Overall of the game information
110
No.
1.
2.
3.
4.
5.
6.
7.
Question
Information on the screen easy to see and read?
Navigation link separates and easy to click?
The link, buttons, textbox and drop down box easy to locate?
The form in symmetrical feel?
Clear on what information should be entered into the textbox?
Clearly know which pages you are in?
Overall of the visual precision?
Section 2: Consistency
111
This section is to determine whether the website is consistent enough. This is to avoid the
user form being lost in the website.
No.
1.
Question
The name of the buttons, links, labels are the same throughout the
2.
3.
Question
System is useful enough?
System works in the way the user thinks it should work?
Information presented fits of what they are presenting?
Easy to adapt or easy to get familiar with the system?
Information shows what the system is doing?
Overall of the user requirement
Question
Feedback messages readable and understandable?
112
2.
3.
4.
5.
Do you know what the errors from the error message are?
Can user know what to correct for the errors?
Messages on the same location?
System clearly informs the user that the action is successful or not
6.
successful?
Overall of the information feedback
Question
The game can easily understand?
Any imbalance of the game?
The production time is appropriate?
Messaging part working smoothly?
Overall of the game information
No.
1.
Question
Information on the screen easy to see and read?
113
2.
3.
4.
5.
6.
7.
Section 2: Consistency
This section is to determine whether the website is consistent enough. This is to avoid the
user form being lost in the website.
No.
1.
Question
The name of the buttons, links, labels are the same throughout the
2.
3.
114
Question
System is useful enough?
System works in the way the user thinks it should work?
Information presented fits of what they are presenting?
Easy to adapt or easy to get familiar with the system?
Information shows what the system is doing?
Overall of the user requirement
Question
Feedback messages readable and understandable?
Do you know what the errors from the error message are?
Can user know what to correct for the errors?
Messages on the same location?
System clearly informs the user that the action is successful or not
successful?
Overall of the information feedback
Question
The game can easily understand?
Any imbalance of the game?
The production time is appropriate?
Messaging part working smoothly?
115
5.
Testing Conclusion
Visual Precision
The result of visual precision is good where the system can easily view and read
the information in the page.
Consistency
The result shows that the consistency of the system is excellent where all the text,
textbox, buttons and other are perfectly aligned and arranged.
User Requirement
User requirement is met accordingly where the system is easy to use and user
friendly.
Information Feedback
The result shows that the information feedback is an excellent where user can
react accordingly and able to solve the error from the feedback from the website.
Game Information
116
The game information is an excellent from the result shown above where the
game is easily understand and able to identify every unit, structure and process of the
game.
Chapter 8
CRITICAL EVALUATION
117
Based on the user testing testing, the result shows that the game is running
successfully. The system is user friendly, easy to use and understandable. This system
provides entertainment to the gamer and most if the player like the game. The reason
behind was the system is entertaining and the game look exciting because animation is
added. Moreover, this game is added registering gold user to add more features from the
user. This system can be implementing to anywhere and can access anytime and
anywhere.
118
Chapter 9
Conclusion
119
As for conclusion, I will adapt a new perspective in the online game system advanced
technology for the demanding market and future. Thus, in this chapter I have the deep
understanding of the system with obtaining the primary and secondary data which mean
its to get the information from the internet and also the questionnaire survey
The topic of this project is Online text-based strategy games (Lord of the Ring).
This online system was known as a web application system. Thus, normally the target
market person was the category for those people who are got the same interest or
knowledge on the online game system. The reason for me choose to develop the system,
it was because of I hope can the user easy to use, understand and convenient with a nice
user friendly system. Beside that, this kind of online game also can expand the friend
network with just using the feature (messaging) in the games. This was because this
online game system develops by me was just simple, nice and eases to use.
Start from the beginning, I was learn to start planning, studying, researching,
analyzing, designing, implementing, testing and also the documenting up until the
completion of this final year project. But, I have encountered several problems that what
come out from my minds that I was impossible to solve but until the last till now I was
solve it. This type of problem was giving me a special experience and I was just learning
more about the mistake that I have make. Therefore I managed to learn from my mistake
and gradually improve myself to be more adaptive and effective in managing this project.
ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY
120
121
Finally the system was develop successfully but if I given the extra time to redo
the online game system I will try to add more feature in this systems for the users in order
to make this system be more perfect and more satisfy the users needs.
Beside that, I will add more the gold user feature in this online game. Next, I also
will add more items in this game to make this game be more fun and enjoyable.
Furthermore, I also hope I can make this system with support more player in this games
which it maybe can be play with a bunch of friends in different country and location.
After that, the usability I will try to enhance more and add the customization
inside the system. Beside that, the interface of the online game system was also not
attractive enough in order to attract more users to play and easily interact with this
system. Thus, for my opinion I think the interface was needed to redesign with more
background color.
Although the final system that develops is successful and fulfills the requirement
of the user but this system is not considered as perfect system, because there still have a
few limitations in the system
122
At last the online game system was successfully create and develop which it can
also fulfill the requirement of the certain users. Although the system was successfully
develop but there also cannot consider as a perfect system for me. It still can be upgrade
and enhance be more perfect and nice. It was still have a few limitations in this online
game system. Which is it cannot view the entire player while playing the game in the
system. And it also cannot speed up more game play time for the gold user as well. But
overall I think in this system there are still satisfy the users.
.
Learning Experience
I had learned many things in this project and these experiences I will never forget.
The experiences I gain from this project will be very useful for my future.
Programming Skill
In this project, I had strengthened my programming language skill in PHP where
there is lesser error in the program and I had learned many other functions in PHP such as
email verification. I also learned on how to connect MySQL using PHP where I had tried
many times but failed to do so, but at last I manage to connect it. Other than that, I had
successfully managed to use MySQL where I never use before.
Communication Skills
In this project I had improved my communication skills by inviting my
friends for questionnaire, system testing and feedback from them. Im able to plead them
to spend their precious time in my project. This will help me to handle any conversation
with efficiently. This experience can be helpful because I can prepare myself for future
job interview in any company.
123
Decision Making
Previously, many projects are conducted in group and some decisions are made by
other group members. But in this project, I had to make all decisions by myself and it
need a lot of thinking power and skills. In this way, I had improved my thinking skill and
every decision I made will have reason behind it and it help me to solve many problems
in the project.
124
125
REFERENCES
126
References/Bibliography
127
128
14. Joey Reagan, 2002. Research basics: choosing a data-gathering technique and
crafting questionnaires Fountain Findings Communication World.
[Online].Available:http://www.findarticles.com/p/articles/mi_m4422/is_1_20/ai_9
6513663
15. Martin E. Modell, 2003. A Professional's Guide to Systems Analysis: The
Interview and Other Data Gathering Methods. [Online].Available: http://www.daisho.com/pgsa2/pgsa07.html
16. Sean Hull, 2003. PHP and ASP.NET Go Head-to-Head. [Online].Available:
http://www.oracle.com/technology/pub/articles/hull_asp.html
17. Marty Anstey, 2003. Martey Anstey: PHP vs. ASP. [Online].Available:
http://marty.anstey.ca/programming/php_asp.html
18. PHP Documentation Group, 2001. Chapter 35: PHP and other languages.
[Online].Available: http://webdocs.math.univrennes1.fr/php/en/faq.languages.html
19. PHP Resource index, 2003. Documentation: Reviews and Analysis: PHP vs. ASP.
[Online].Available: http://php.resourceindex.com/detail/00667.html
20. The PHP Group, 2005. What is PHP? [Online].Available: http://www.php.net/
21. Software & Support Verlag GmbH, 2005. International PHP Conference 2005.
[Online].Available: http://www.phpconference.com/
22. PHP Builder, 2005. Submit News/Tips/Reviews. [Online].Available:
http://www.phpbuilder.com/news/item.php?id=1016
129
23. Justin Kestelyn, 2005. The Oracle+PHP Cookbook: New HowTo's for Using
Oracle with PHP. [Online].Available:
http://www.oracle.com/technology/pub/articles/oracle_php_cookbook
24. GotDotNet, 2005. About Visual Basic .NET . [Online].Available:
http://www.gotdotnet.com/team/vb/
25. Msdn, 2005. An Overview of Visual Basic 2005. [Online].Available:
http://msdn.microsoft.com/vbasic/default.aspx?pull=/library/enus/dnvs05/html/vb2005_overview.asp
26. Wikipedia, the free encyclopedia, 2005. Visual Basic .NET (VB.NET).
[Online].Available: http://en.wikipedia.org/wiki/Visual_Basic_.NET
27. Dan Mabbutt, 2005. How to debug a web service. [Online].Available:
http://visualbasic.about.com/
28. Think soft global service, 2005. Services: Software testing. [Online].Available:
http://www.thinksoftglobal.com/services/softtest.html
29. Grove, 2005. User Acceptance Testing. [Online].Available:
http://www.grove.co.uk/Courses/UAT.html
30. Wikipedia, the free encyclopedia, 2005. Acceptance test. [Online].Available:
http://en.wikipedia.org/wiki/Acceptance_testing
31. Webware, 2005. User Acceptance Testing. [Online].Available:
http://webware.princeton.edu/dms/public/methodology/dev/testbase.html
32. User project - The Grant and Contract Initiative, 2005. User Acceptance Testing
[Online].Available:
http://www.washington.edu/research/gci/pubdocs/testing/uat.html
130
131
APPENDICES
132
133
the winner and loser. On the other hand, the main challenge also includes
updating the database every hour. In this case, the coding and database
connection must be as simple as possible and running in full
performance to reduce network congestion.
F. New ideas and theory that needed to learn to build the system...
The new idea for the system is updating the database hourly. In this
case, I need to learn some data structure to build the system as simple
as possible to reduce network congestion. I need to learn in how to
display the data in database in a report format.
Student ID : TP010199
Title
In Electronic Arts (EA Games) organization, find some difficult to get gamers to
browse through their website and introducing the new game, get the newest
patch, news, and etc. Therefore some way of doing this is necessary, possibly by
creating a game which is using an internet browser which is an online text based
strategy game. Therefore, advertisement on the new game can be post up to the
online text based strategy game. The gamers will spend some time to play the
game and on the same time can look through the new released game.
Since 2001, the number of games in the world is increasing tremendously because
of the online games. The online text based strategy game is very popular
nowadays, and the popularity of the game is much depending on the title of the
online text based game. The title that I had chosen for this game is The Lord of
The Ring. The reason for choosing this title is because this title is based on a
movie which is very popular.
Now that the problem has been identified, once implemented, the system could
bring about significant tangible and intangible benefits. The tangible benefits are:
(i) Can earn money from the text based game.
(ii) Hiring of system maintainer for the text based game.
The intangible benefits are:
(i) The text based game will get more popular.
(ii) More gamers will view the Electronic Arts (EA Games) website.
134
The specific problem area is Electronic Arts (EA Games) will find a hard time to
launch a new game to the public. The game installed in the computer will not get
newest patches in the web site.
The nature challenge for this system is the programming language. There are few
programming languages can be use for this system such as Visual Basic .Net, PHP,
ASP and etc. All these programming languages are very good but some research
must be carrying out which programming language suits to build my system.
C.
To solve the less gamers visit the Electronic Arts (EA Games) website problem (as
mentioned in section B) will require building this system, however, I will be
developing a online text based game system that will do advertisement, P2P (Pay
to Play) and entertainment.
The basic functionality of the online text based game is build, attacks and show
results. The build function is build new building and infantries. The attacks
function is attacking the other player and the do some calculation to determine
who the winner is. Finally, the show function is showing all results including war
result, province status and etc.
D.
To do this project I will need to consult/interview meet few lecturers. I will also
need Microsoft Windows XP Professional Edition with Visual Basic .NET software. I
will also need to obtain data and information using Microsoft Access.
Some of the gamer need to be interview for user requirements. The hardware
requirement is a computer which can connect to the internet and the software
requirement is an internet browser.
E.
Academic research being carried out and other information, techniques being learnt.
(i.e. what are the names of books you are going to read / data sets you are going to use)
F.
I will be doing this project using the Rational Unified Process (RUP) methodology
because this methodology includes Iterative Approach. I will first do interface for
the system, which will take about 1 month, then I will be designing the database
which is expected to take about 2 weeks, then I will be doing the database
connection and programming in the system, which will take about 4 5 months.
Lastly, testing the system, this will take about 2 weeks. The hardest part of the
project will be to do the programming part because it include many algorithm,
135
G.
Brief description of the evaluation and test plan for the proposed project.
(i.e. what is the success criteria and how will be evaluated & implementation will be tested,
indicate the estimated size of the demonstration/test database)
Student,
Chan Teik Yoong
ASIA PACIFIC INSTITUTE OF INFORMATION TECHNOLOGY
136
Questionnaire:
1. What is your name?
First name: __________________
Surname: ________________
Female
Twice a week
Everyday
(To know the interviewer how frequency there will online in a week)
1 hour
More
than 3 hours
(To find out the interviewer will spent how many hours online per week)
137
Text based
RPG
(To find out or specific which type of the online game is more preferable for the
interviewer)
7. In the website, what type of the back ground type do you prefer?
Futuristic
Stone Age
Animated
Basic
(To know the interviewer what kind of the background will attract them)
8. Will you use the banner / advertisement link?
Yes
No
(To find out whether the banner/ advertisement link is useful for the interviewer or will
there choose to use)
9. Will you pay extra money for the extra features for the game?
Yes
No
(To find out whether the interviewer will spent any extra money for the extra features for
the same there used to play)
138