Sei sulla pagina 1di 48

TEACH YOUR BOT

SESSION: BSCS (2010-2014)



Project Supervisor:
Mr. Muzamil Ur Rahman Qurashi

Submitted by:
Muhammad Zeeshan Anjum
Roll No. 153


Department of Computer Science and IT
Islamia University of Bahawalpur










DEDICATION

I Dedicate this project to
The Prophet of Mercy (S.A.W)
My Parents
My Respectable Teacher
These all are assets of my life


Final Approval
It is to certify, that we have gone through this project report that is submitted by Muhammad
Zeeshan Anjum Roll #153 BS (CS) Session 2010-2014
Our judgment is that this project is up to standard to warrant its acceptance by The Islamia
University of Bahawalpur for the BS Degree.

External Examiner:


Supervisor:


Mr. Muzamil Ur Rahman Qurashi
Lecture,
The Islamia University of Bahawalpur

Chairman:

Prof. Dr. Shahid Naveed
Department of Computer Science &IT,
The Islamia University of Bahawalpur


Project Brief
Project Title

Online Recruitment System
Supervised By:

Mr. Shehzada Khuram
Project Coordinator:

Mr. Shehzada Khuram
Starting Month:

June 2013
Completing Month:

July 2013
Operating System Used:

Microsoft Windows XP to 8
Programming Languages:

Html, PHP, Java Script,
Tools Used: Dreamweaver, Adobe Photoshop
Computer System Core i5


ABSTRACT
This project is aimed at developing a browser based game. In which user select a bot, then fight with
others bot by fighting bot will got experience. By getting experiences bot will got level upgrade. On
each level upgrade there are some rewards for bot, bot can learn new skills or can got weapons or hit
point or damages increase.
It is for children which can play from web browser. They can also take place in tournament
Some features of this game creating account, selecting your bot, fight with others bot. By fight with
others bot your bot will learn new skills, got new weapons and level upgrade.
This project Teach Your Bot is an online Browser based game in which children can register
themselves and then attend the interview. Based on the outcome of the interview the jobseekers will
be short listed.
Module in this project:
1. Game logic
2. Tournament
3. Web User Interface
4.
Brief description on the modules:
1. Game logic: Game logic have full logic of games. Who will and when attack on others and
what will be response of others and how much damage will occur. Which skills bot have and
when bot used it.
2. Tournament: there are five different tournament thats Rank 1, Rank 2, Rank 3, Rank 4 and
Rank 5. Each Rank have 4 slots. Each slots have 2 player. Winner will be rewarded.
3. Web User Interface: Html5 based user interface where user can login, select bot to fight with
each other and can also watch their previous fight.




ACKNOWLEDGMENTS
Al-Hamd-u-Lillah! I am very grateful to Almighty Allah, who made me able to and complete this
very tedious, complex and painful task. It is very exciting, pleasant and amusing moment for me,
because I never thought that sometime I would be able to complete a project and its report as well.
The full credit of this project goes to Almighty Allah, because I was unable to do anything without
His guidance and help.
After this, I am most indebted to my parents, family members whose love, prayers, encouragements
and moral support made it easy for me to face this tough, tedious, complex and mind boggling
project. Theyve greatly sacrificed for me.
At the moment, I would like to say special thanks to my teacher and supervisor Mr. Shehzada
Khurram who provided me with a constant, continuous and dynamic guidance, so that, I am able to
complete this project.


Muhammad Zeeshan Anjum



CONTENTS
1. History
2. Introduction
3. Require Analysis
4. Internal Technical Design & Database Design
5. Object Oriented Analysis And Design
6. User Interface And Design
7. Development And Testing


History

BBG is short for browser based games. In late 1990y browser games got first sign of light. They
where based on DHTML (dynamical hypertext markup language) which is commonly used for drop
down menus and simple image rollovers. A web browser game is a computer game that is played on
a browser. It is distinct from other video and computer games in that it usually does not ask for any
client-side software to be installed, apart from the web browser. Today we have a lot of web browser
games, some of them require Plugin like adobe flash or java script. But all of these Plugin are easy to
get and install. These games are generally costless, with additional, payable options occasionally
available.

Oldest web browser game was Earth: 2025 developed by Mehul Patel in year 1996, it was strategy
which was played on turn based system. But most popular older game was Utopia, developed in
1999 also strategy based on turn system. In year 1999 two games got developed which are today
played by millions of people, Hattrick, real time soccer strategy developed by extraLives and
Runescape, Massively Multiplayer Online Role Playing Game, real time game in fantasy world
developed by JAGeX.

Newest browser based game that is played by millions is Evony. Evony is a browser-based
multiplayer World Wide Web game, with significant similarities to Civilization. As with numerous
real-time strategy games, one first has to develop resources by building up iron mines, quarries,
farms and sawmills, and then begin building up their town and constructing an army.

There are many web browser games, especially flash games, Html 5 which are at present spread over
the world wide web. There are over zillions of websites giving and developing simple flash games
for adults and kids. If you check Evony then you know that in future we can only see special games
which will attract many people who will spend days and days of gameplay.



Introduction
This is Brower based game that develop for children where they can chose their bot and enjoy with
fight.

Features and Types
1. User can select bot with desire color.
2. Fight with others bot.
3. Can select things from skills or from point on upgrading
4. Play tournaments
5. Watch their previous fight.











Chapter No 3
Requirement Analysis



Requirement Analysis
Tools Required
Wamp, Web server Version 2.2
PHP Script Language Version 5.3.5
MYSQL Database Manager Version 5.5.8
Adobe Dreamweaver Version CS 6
IE 8, Google Chrome.
HARDWARE SPECIFICATION:-
Hardware used during the development process. The configuration of
the system, which was, used for the development process such coding is given
as below:

No.
Component Description
1 PROCESSOR Intel Dual-Core, 1.60 GHZ
2 CACHE 128 KB
3 RAM 1.00 GB
4 HARD DISK 80 GB
5 GRAPHICS ADAPTER
RESOLUTION
VGA - 1280*1024 (32-bit )

SOFTWARE SPECIFICATION
Operating System : Any Operating System

Language Used : PHP, Html5, JavaScript,
Game Logic
Iniciative: 0 to 100. Higher, attack first.

Player A attack and roll to see what happens (hit 90%, error/miss 5%, critical hit 5%) so a simple 0 -
100 roll.

If Miss(0%-5%): 0 damage, animation here can be a player b dodge or just a miss attack.
If HIT(5%-95%): damage is: No weapon (3-5) + strenght + 0.50*dexterity
If Critical hit(95%-100%): (No weapon (3-5) + strenght + 0.50*dexterity) * 2

After damage is calculated, you do a damage reduction based in the armor.

So each player starts with armor 1, wich is 5% damage reduction.

You can just follow the values bellow to find out all info you need.

If you have any question, just ask me :)

This should be enough.

And for extra weapons, just add random values, like: sword 5-10 damage, axe 6-12 damage and so. I
will have to fix this later.


//////////////////////// MANUAL START /////////////////////////////////////

Stats

Strenght - Add +1 to damage.
Dexterity - Add 0.25 armor and 0.50 damage.
Hit Points - Add 20 HP.

Armor (Cant level it up)
Value / Damage reduction
1 / 5% - -1 / -5%
2 / 10% - -2 / -10%
3 / 15% - -3 / -15%
4 / 19% - -4 / -20%
5 / 23% - -5 / -25%
6 / 27% - -6 / -30%
7 / 30%
8 / 33%
9 / 36%
10 / 38%
11 / 40%
12 / 42%
13 / 43%
14 / 44%
15 / 45%
16 / 45%
17 / 46%
18 / 46%
19 / 47%
20 / 47%
21 / 48%
22 / 48%
23 / 49%
24 / 49%
25+ / 50%


Combat

Hit 90%
Error/miss 5%
Critical hit 5%

Initinal char base status

Strenght: 3
Dexterity: 3
Hit Points: 30

Initial damage: Punch (3 a 5) + Strenght
Initial Armor: 1 (5% damage reduction)

Critical damage: 2x normal hit damage.

When creating the char, player will be able to chooe: +1 strenght or +1 dexterity or +10 Hit points.


Earning Levels

Each level up will give 5 HP and 3 status points (str, dex or hp) or 10 HP + 1 status point (str, dex or
hp) and 1 spell.


Spells/skills

Spells can be passive (active all the combat) or have a certain amount of usage per combat.

Stone skin
Type: Passive
Desc: Add +1 in armor.

Steel skin
Type: Passive
Desc: Add +2 in armor.

Titanium skin
Type: Passive
Desc: Add +3 in armor.

Fists of steel
Type: Passive
Desc: Your hands cause more damage, instead 3-5 damage to 5 to 10.

Martial Arts
Type: Passive
Desc: Your hands damage is increase by 3. (hands = 3-5, with Martial = 6-8, with Fist of Steel and
Martial arts = 8-13)

Apprentice Assassin
Type: Passive
Desc: Add 1% to critical chance.

Master Assassin
Type: Passive
Desc: Add 2% to critical chance.

Initiative
Type: Passive
Desc: You always win initiative, unless the other player also have this skill.

Precision
Type: Passive
Desc: Miss chance -1%.

Tenacious
Type: Passive
Desc: If you miss an attack, you have 50% to make a new attack that will hit (not crit or miss, just
hit).

Sabotage
Type: One use on the start of the combat
Desc: The other player lose 5% of his life.

Counter attack
Type: Passive
Desc: Every damage you take, the other player takes 10%. So player A cause 100 damage, he also
take 10 damage.

Disarm
Type: Passive
Desc: Everytime you hit the other player, there is 50% chance he will drop his weapon (if he is
holding any).

Regeneration
Type: Passive
Desc: Everty end of turn you heal 1% of your maximum life.

Immortal
Type: Passive
Desc: Your total life is increased by 50%.

Heavy Training
Type: Passive
Desc: Add 5 to your strenght.

Cat agility
Type: Passive
Desc: Add 5 to your dexterity.

Apprentice
Type: Passive
Desc: Your experience increase by 5%. (if you have Professor make it 15%)

Professor
Type: Passive
Desc: Your experience increase by 10%. (if you have apprentice make it 15%)

Dodge
Type: Passive
Desc: Increase the other player miss change by 3%.

Fury
Type: One use per combat
Desc: If your next attack hits, will make 3x times the damage.

Sixth Sense
Type: One use per combat
Desc: You get 50% more dodge when the other player attack you.

Weapon Master
Type: Passive
Desc: Increase all damage you cause by 10% when using a weapon.

Unbreakable
Type: One use per combat
Desc: If you get hit and die, instead die this damage leave you with 1 life.

Vampiric touch
Type: Passive
Desc: Everytime you cause damage, you heal 1% of the damage caused.

Titan
Type: Passive
Desc: Increase strenght, dexterity, life and armor. (+1 strenght, dexterity, armor and +20 life).

Anatomy
Type: Passive
Desc: Crit cause 2.5x damage instead 2.0x.

Stun
Type: One use per combat
Desc: When use it, your next attack will hit with a 5 amor reduction. (If the other player have 10
armor, its like he has 5 only).

Weak spot
Type: One use per combat
Desc: Your next attack will hit the other player like he have -5 armor. If your attack hits.


Level up and rakings

We gonna use a ranking system. Each ranking will let the player leve up till level 20. The last
ranking, they player will leve up till 30.

Ranking 1 - Apprentice
Ranking 2 - Street fighter
Ranking 3 - Ultimate Fighter
Ranking 4 - Assassin
Ranking 5 - Master

*** Leave a way to change these names, they are not that good :P

To change the ranking, the player must win a tournment. You can only play a tournment once a day.


Ranking 1 - Tournment with 4 slots, 8 players. Fight between 2 players, the winner goes on, the loser
gets out the tournment. They fight till only 1 player left, then this winner will level up a ranking.

Ranking 2 - Tournment with 5 slots.

Ranking 3 - Tournment with 6 slots.

Ranking 4 - Tournment with 8 slots.

Ranking 5 - Tournment with 10 slots.



Experience to level up.

Level 2 - 2 experience points.
Level 3 - 3 experience points.
Level 4 - 5 experience points.
Level 5 - 7 experience points.
Level 6 - 10 experience points.
Level 7 - 13 experience points.
Level 8 - 16 experience points.
Level 9 - 20 experience points.
Level 10 - 24 experience points.
Level 11 - 28 experience points.
Level 12 - 33 experience points.
Level 13 - 38 experience points.
Level 14 - 43 experience points.
Level 15 - 49 experience points.
Level 16 - 55 experience points.
Level 17 - 61 experience points.
Level 18 - 67 experience points.
Level 19 - 74 experience points.
Level 20 - 90 experience points.

Level 21 to 30 (only on ranking 5) - 100 experience points to each level.

Each combat you get 1 experience, even if you lose.
If you win without get any damage, you get 1 extra XP.
If you win with 1 hit only, you get 1 extra XP.

Note that you can get till 3 XP per combat (if you get all 3 situations above) (Not including bonus
like Apprentice or Professor)






Chapter No 4
INTERNAL TECHNICAL DESIGN &
DATABASE DESIGN


DATA DICTIONARY

armor_values
Column Type Null Default Comments
id int(11) No

armor int(11) No

value int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 30 A No

instruction
Column Type Null Default Comments
id int(11) No

t_id int(11) No

ins_id int(11) No

active text No

inactive text No

attack varchar(30) No

length int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 0 A No

level
Column Type Null Default Comments
id int(11) No

level int(11) No

xp int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 20 A No

player_figth
Column Type Null Default Comments
player_id int(11) No

id int(11) No

player2_id int(11) No

figth text No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 97 A No

player_skills
Column Type Null Default Comments
skills_id int(11) No

player_id int(11) No

player_skills_id int(11) No

custom varchar(30) No 0

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No player_skills_id 20 A No

player_weapone
Column Type Null Default Comments
player_id int(11) No

player_weapone_id int(11) No

player_weapone_amount int(11) No

player_weapone_dropable int(11) No

player_weapone_damage int(11) No

weapone_id int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No player_weapone_id 11 A No

player_id BTREE No No
player_id 11 A No

weapone_id 11 A No
players
Column Type Null Default Comments
id int(11) No

name varchar(30) No

password varchar(30) No

expreince int(11) No

strength int(11) No

armor int(11) No

dexterity int(11) No

hp int(11) No

level int(11) No

weapones int(11) No

skills int(11) No

skin int(11) No

skin_color varchar(30) No

rank int(11) No

tour_played int(11) No

levelup text No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 35 A No

weapones BTREE No No
weapones 2 A No

skills 2 A No
skin 5 A No
previous_figth
Column Type Null Default Comments
id int(11) No

player_figth_id int(11) No

ins_id int(11) No

active text No

inactive text No

attack varchar(30) No

length int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 0 A No

skills
Column Type Null Default Comments
id int(11) No

name varchar(30) No

value varchar(20) No

type varchar(30) No

level varchar(30) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 29 A No

skins
Column Type Null Default Comments
skin_id int(11) No

skin_name varchar(30) No

skip_color varchar(30) No

path varchar(400) No

speedFix int(11) No

stepFix int(11) No

weaponeFix_x int(11) No

weaponeFix_y int(11) No

color varchar(30) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No skin_id 3 A No

t_slots
Column Type Null Default Comments
t_id int(11) No

slot_no int(11) No

tsl_id int(11) No

p1_id int(11) No

p2_id int(11) Yes NULL

winner_id int(11) Yes NULL

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No tsl_id 5 A No

tournament
Column Type Null Default Comments
ts_id int(11) No

t_id int(11) No

t_status varchar(30) No

t_active_slot int(11) No

t_wait_time varchar(11) No

t_currTSolt int(11) No

level int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No t_id 3 A No

tournament_schem
Column Type Null Default Comments
ts_id int(11) No

ts_slot int(11) No

ts_rank int(11) No

ts_exp int(11) No

ts_level_req int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No ts_id 1 A No

weapons
Column Type Null Default Comments
id int(11) No

name varchar(30) No

damage varchar(11) No

path varchar(500) No

dropable int(11) No

description text No

hp_require int(11) No

level_unlock int(11) No

Indexes
Keyname Type Unique Packed Column Cardinality Collation Null Comment
PRIMARY BTREE Yes No id 3 A No








Chapter No 5
OBJECT ORIENTED ANALYSIS AND
DESIGN



SEQUENCE DIAGRAMS
A sequence diagram depicts the sequence of actions that occur in a system. The invocation of
methods in each object, and the other in which the invocation occurs is captured in a sequence
diagram. This makes the sequence diagram a very useful tool to easily represent the dynamic
behavior of a system.
A sequence diagram is two-dimensional in nature. On the horizontal axis, it shows the life of the
object that it represents, while on the vertical axis, it shows the sequence of creation or invocation of
these objects.
The sequence diagrams of the PPS Online Recruitment System are shown below:

Sequence Diagram For Login


Sequence Diagram for Sign-up


Actor System Screen Database
Open register
link
Execute
Command
Sign up form
Enter fields
Success Redirect to
Dashboard
Use Case Diagrams
The objective of Object Oriented Analysis and Design is to develop a model that describes computer
software as it works to satisfy a set of requirements. After understanding the current situation of the
problem domain the team is ready to strive for the solution by using OOAD approach.
Use Cases


view contact
view About us
Home page
Vistior
Sign Up

user
Login
Dashboard
Fight
Tournament









Chapter No 6
USER INTERFACE AND DESIGN



Site Map:
As the website is actor based on so the site plan is according to the rules of the actors.
1. Home
2. SignUp
3. About T.Y.B
4. Contact
User
1. Home
2. Logout
3. About T.Y.B
4. Contact
5. View old fight
6. Fight
7. Dashboard


Screen Shots
Home




About T.Y.B






Contact





Sign Up






Dashboard





Select Bot for fighting





Fight




Previous Fights




DEVELOPMENT AND TESTING








DEVELOPMENT AND TESTING
Development approach
During project I have used RUP (Rational Unified Process) modeling to:
Identify deliverables for all modules.
Develop and Interaction matrix to specify actors and Sub System.
Describe high level business use cases and business models.
Verifying that modeling meets the requirements.
Identify business objects and develop object interaction, sequence and activity diagrams.
Identify user inputs and outputs and develop a story board.
Identify dependencies between solution modules.
Develop high level information architecture.
Develop the different concept designs for approval.
Development Platform
Following technologies are used for development of software.
VERTRIGO
DREAM WEAVER
JAVA SCRIPT

Following hardware are used for development
Core i5
Deployment Platform
Deployment Platform will have following technologies
PHP MY ADMIN
WINDOWS 7

Testing
We shall check the system in accordance with the test plan that shall specify the following:
Testing techniques and tools to b employed.
Types of testing to be done.
User acceptance test .
verification of interaction between objects, integration of all modules and ensure that defects
are addresses prior to the activation of software.

List of Deliverables
User acceptance test use case.
QA/Test reports (based on each iteration) identified bugs and their current status.
Iteration released notes.
Iteration feedback.
User manuals site operation guide.
Setup installations and configuration manuals.

Project Management
Duration project management phase we shall perform the following activites.
Resource planning.
Deployment planning.
Iteration release planning.
Quality assurance and test planning.
Requirement change control planning.

Potrebbero piacerti anche