Post on 19-Jul-2016
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 toThe Prophet of Mercy (S.A.W)
My ParentsMy 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 TitleOnline 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
other’s 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 other’s bot. By fight with
other’s 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 that’s 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. They’ve 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 other’s 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 Description1 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_valuesColumn Type Null Default Comments
id int(11) No
armor int(11) No
value int(11) No
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No id 30 A No
instructionColumn 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
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No id 0 A No
levelColumn Type Null Default Comments
id int(11) No
level int(11) No
xp int(11) No
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No id 20 A No
player_figthColumn Type Null Default Comments
player_id int(11) No
id int(11) No
player2_id int(11) No
figth text No
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No id 97 A No
player_skillsColumn 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
IndexesKeyna
meType
Unique
Packed Column Cardin
alityCollat
ionNull
Comment
PRIMARY
BTREE Yes No player_skills
_id 20 A No
player_weaponeColumn 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
IndexesKeyna
meType
Unique
Packed Column Cardin
alityCollat
ionNull
Comment
PRIMARY
BTREE Yes No player_weapon
e_id 11 A No
player_id
BTREE No No
player_id 11 A No
weapone_id 11 A No
playersColumn 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
IndexesKeyna
meType
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_figthColumn 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
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No id 0 A No
skillsColumn Type Null Default Comments
id int(11) No
name varchar(30) No
value varchar(20) No
type varchar(30) No
level varchar(30) No
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No id 29 A No
skinsColumn 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
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No skin_i
d 3 A No
t_slotsColum
n 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
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No tsl_id 5 A No
tournamentColumn 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
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No t_id 3 A No
tournament_schemColumn 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
IndexesKeyna
meType
Unique
Packed
Column
Cardinality
Collation
Null
Comment
PRIMARY
BTREE Yes No ts_id 1 A No
weaponsColumn 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
IndexesKeyna
meType
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
Actor System Screen Database
Open register link
Execute Command
Sign up form
Enter fieldssend data
SuccessRedirect to Dashboard
Sequence Diagram for Sign-up
Use Case DiagramsThe 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 pageVistior
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.