Download as pdf or txt
Download as pdf or txt
You are on page 1of 236

o“LEGEND OF THE HEROES (LOTH): A 3D TACTICAL ROLE-

PLAYING GAME USING FUZZY LOGIC & MONTE CARLO

ALGORITHM”

Alcira, Rein Gereko L.

Aparicio, Redz Von Matthew V.

Magat, Jonathan N.

A Special Thesis presented to the

Department of Computer Education

City College of Calamba

in Partial Fulfillment

of the Requirements for the Degree

BACHELOR OF SCIENCE IN COMPUTER SCIENCE

City College of Calamba

April 2017
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

ACKNOWLEDGEMENT

This study became possible with the help and guidance of the following:

First, to Almighty God, the creator, the provider, giver of life, wisdom, and

protection. Without Him, this study would be nothing;

Dr. Phoebe R. Sese, College President, for giving her unending support and

guidance to the college;

Prof. Arwie H. Fernando, Director, Computer Studies Department, and thesis

coordinator, for providing invaluable support and reminders to the researchers in

accomplishing all the tasks in this study, and for consistently pushing us beyond our limits;

Prof. Elvinard R. Reyes, College Professor of Computer Studies Department, for

providing his time and effort for the betterment of this study and sharing his expertise;

Michael John F. Mirabueno, Instructor of Computer Studies, for sharing his

expertise in programming and never ending support;

Ms. Jesse Ann M. Salvador, Instructor of Computer Studies Department, for

providing moral support and encouragements;

Prof. Ma. Lielanie O. Barrion, Vice President for Administration, and Language

Editor, for patiently devoting her time in editing this study, and giving guidance and moral

support;

Prof. Regina G. Almonte, Thesis Adviser, and College Professor of Computer

Studies Department, for consistently offering her assistance and providing motivation to the

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba iv

researchers in all the aspects of this study for its improvement, for giving inspirations to

strive harder, and to continue when we thought of giving up, and for the motherly love that

she had shown us;

Prof. Fernando Odin B. Divina Jr., Teacher 3 English, for devoting his precious

time and giving his suggestions to further improve this study;

Classmates, friends, and loved ones, for providing encouragements, and

suggestions for the researchers;

And to their parents, who provided moral support, motivation, prayers,

encouragement, and suggestions for the researchers to make this study possible and fruitful.

Alcira, Rein Gereko L.

Aparicio, Redz Von Matthew V.

Magat, Jonathan N.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

ABSTRACT

ALCIRA, Rein Gereko L., APARICIO, Redz Von Matthew V., & MAGAT, Jonathan
N. April 2017, City College of Calamba, LEGEND OF THE HEROES (LOTH): A 3D
TACTICAL ROLE PLAYING GAME USING FUZZY LOGIC AND MONTE
CARLO ALGORITHM

Adviser: Prof. Regina G. Almonte

The main objective of the study was to develop a game which will not only serve as

for recreation but also an educational tool that will help users remember the iconic life event

of the Philippine national heroes.

C# was used as the programming language to create the 3D game under PC

platform on Windows operating system. Fuzzy Logic and Monte Carlo Algorithm were

applied in the game development.

Interviews and survey questionnaires were the tools utilized to gather data by the

researchers in order to answer each statement of the problems and how to rate the game in

terms of its reliability, functionality, efficiency, compatibility, and usability. Qualitative form

of analysis was used to analyze and represent the statistical data from the respondents’

answers.

Through careful analysis of the gathered data, the researchers were strongly

convinced that developing an alternative educational tool can help students easily remember

and study the iconic life event of the Philippine national heroes. Furthermore, the game

enhanced the respondents’ knowledge and sharpened their memory with deeper

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba vi

understanding about Philippine heroes through playing the tactical and challenging role-

playing game. It can also be a stress reliever and enhance an individual’s critical thinking

skills and reflexes.

Since the game had limited features, further studies and enhancements were suggested to

improve the game in terms of its content, coverage, and graphics quality. Moreover, the

developers recommended Blender to design the user-interface and heroes’ model, and Unity

game engine for the programming of the game.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba vii

TABLE OF CONTENTS

Pages

TITLE PAGE ………………………………………………………… i


APPROVAL SHEET ………………………………………………… ii
ACKNOWLEDGEMENT ………………………………………………… iii
ABSTRACT ………………………………………………………………… v
TABLE OF CONTENTS ……………………………………………….... vii
LIST OF TABLES ………………………………………………………… x
LIST OF FIGURES ………………………………………………………… xi
LIST OF APPENDICES ………………………………………………… xii

Chapter 1 INTRODUCTION

Project Context ………………………………………… 1

Statement of the Problem ………………………………… 3

Purpose and Description ………………………………… 3

Significance of the Study ………………………………… 5

Scope and Limitations ………………………………………… 6

Definition of Terms ………………………………………… 7

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba viii

Chapter 2 REVIEW OF RELATED LITERATURE

Related Literature ………………………………………… 9

Local Studies ………………………………………………… 13

Foreign Studies ………………………………………… 21

Synthesis ………………………………………………… 25

Chapter 3 RESEARCH FRAMEWORK

Research Methodology ………………………………………… 28

Research Design ………………………………………… 28

Software Development Model ………………………………… 29

Data Gathering Tools ………………………………………… 31

Data Gathering Procedure ………………………………… 32

Locale of the Study ………………………………………… 33

Population of the Study ………………………………… 34

Data Analysis Plan ………………………………………… 34

Technical Aspect of the Project ………………………… 35

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba ix

Chapter 4 DESIGN AND METHODOLOGY

Theoretical Framework ………………………………… 39

Conceptual Design ………………………………………… 41

Block Diagram ……………………………………………….... 42

Algorithm ………………………………………………… 43

Chapter 5 RESULTS AND DISCUSSIONS 49

Chapter 6 SUMMARY, CONCLUSIONS AND RECOMMENDATIONS

Summary ………………………………………………… 62

Conclusions ………………………………………………… 63

Recommendations ………………………………………… 65

REFERENCES …………………………………………………………. 66

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba x

LIST OF TABLES

Pages

Table1. Data analysis plan ………………………………………………….. 34

Table2. Hardware/system requirements ………………………………….. 35

Table3. Likert Scale ………………………………………………………….. 49

Table4. Results of the Post-Survey Evaluation in terms of the Game’s Reliability 53

Table5. Results of the Post-Survey Evaluation in terms of the Game’s Functionality 55

Table6. Results of the Post-Survey Evaluation in terms of the Game’s Efficiency 57

Table7. Results of the Post-Survey Evaluation in terms of the Game’s Compatibility 60

Table 8. Results of the Post-Survey Evaluation in terms of the Game’s Usability 62

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba xi

LIST OF FIGURES

Pages

Figure1. RAD Model ………………………………………………………. 28

Figure2. Map of Calamba City, Laguna ………………………………. 32

Figure3. Game Theory Diagram ………………………………………. 38

Figure4. Input-Process-Output ………………………………………. 40

Figure5. Block Diagram ………………………………………. 41

Figure6. Fuzzy Logic Algorithm Flowchart ………………………………. 44

Figure7. Monte Carlo Algorithm Flowchart ………………………………. 47

Figure8. Graphical Representation of the Post-Survey

evaluation in terms of the game’s reliability ………………………. 54

Figure9. Graphical representation of the post-survey

Evaluation in terms of the Game’s Functionality ………………. 56

Figure10. Graphical Representation of the Post-Survey

Evaluation in terms of the Game’s Efficiency ……………….. 59

Figure11. Graphical Representation of the Post-Survey

Evaluation in terms of the Game’s Compatibility ……………….. 61

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba xii

Figure 12. Graphical representation of the post-survey

Evaluation in terms of the Game’s Usability …..…………… 63

LIST OF APPENDICES

Appendix A. Forms

Appendix B. Request Letters

Appendix C. Transcripts

Appendix D. Survey Questionnaire

Appendix E. User Manual

Appendix F. Relevant Source Code

Appendix G. Curriculum Vitae

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

Chapter 1

INTRODUCTION

Project Context

The gaming industry of today has reached new heights and successes over the past

years. It truly had become a powerhouse industry and it sure would be for the coming years.

With so much to choose from gamers of all sorts enjoy games through different platforms

and kinds from 2D (2 dimensional) to the 3D (3 dimensional) games that now dominate the

market.

Recent research in the fields of neuroscience, psychology and cognitive science has

found evidence that playing certain video games can be like exercise for the brain. Studies

from the past decade have found that individuals who frequently play action games like first-

person shooters outperform non-gamers on a variety of perceptual and cognitive measures

— visual acuity, decision-making, object tracking, and task switching to name a few. Even

players of casual video games, such as Bejeweled Blitz or Candy Crush Saga report memory

improvements and quicker response time as a result. Hence, it was discovered that playing

3D video games — those that immerse the player in a three-dimensional world with a more

true-to-life, first-person perspective — may boost memory and stimulate the brain. (Kim,

2015)

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 2

History is very important because one cannot proceed to present or into the future if

people have no idea what our past or history is. History is not only about what happened in

the past, it also deals with the decisions and mistakes that were made that makes up the

present and the future. People often say that “history repeats itself”, but if they study the

successes and failures of the past, they may, ideally, be able to learn from their mistakes and

avoid repeating them in the future.

Recognizing the figures from the past is vital. It must be learned-not because it is a

requirement from certain subjects but because they are the factors, whether good or bad,

that shaped the world as of now. People can learn many things from them. Thus, it is a must

to know what and how they have done and accomplished things.

The researchers developed a system that will help the youth of Calamba City name,

recognize, and determine the history of our heroes. This is an interactive game that the

youth will enjoy while learning. This will change the way of learning because in this kind of

teaching, they will be able to have fun and, at the same time, gather new knowledge and

information.

The researchers find the topic unique, innovative and relevant. First, it is unique

because it can be played in a 3 dimensional environment, it has advanced features and the

topic itself is one of the few, if there is any other, which educates its user about Philippine

heroes. Second, it is innovative because it features new methods and an improved game. It is

better that 2 dimensional games and 8 bit games. Lastly, it is relevant because as of now,

individuals no longer recognize our fallen heroes. With the creation and implementation of

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 3

the game, the users will be able to name, identify and recognize the heroes. It is timely,

because it may be too late if no one paid attention to our fallen heroes.

Statement of the Problem

With the paragraphs stated previously, the researchers seek to answer the following

questions:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of

Calamba City about Philippine heroes?

2. How learning tools can promote historical awareness and deeper understanding of the

youth of Calamba City about Philippine heroes

3. What are the benefits of gaming or playing computer games?

4. How can the game be measured using ISO 9126 in terms of:

4.1. Reliability

4.2. Functionality

4.3. Efficiency

4.4. Compatibility

4.5. Usability

Purpose and Description

The proposed topic of the researchers is a 3 dimensional game that uses Philippine

heroes as the characters. The game is about the iconic life event of the hero. The main

purpose of the researchers is to help individuals remember the hero easily by reliving the

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 4

hero’s iconic life event. The researchers chose to create a game because it is one of the

effective ways to educate individuals, and with the development of technology, to entice the

majority.

The proposed system of the researchers is one of the few games that deals with

Philippine history or Philippine heroes. The game will be played in a 3 dimensional

environment and it is one of the games that can serve as an educational tool - other than that

is relaxation. The features of the game is surely user friendly. The researchers used some

verified facts in the game so the user can rest easy that all he/she will learn is true and

somewhat accurate.

This study helped the users to enhance their knowledge and make it easier to

remember the heroes. Specifically, the study aims to:

1. To determine the method to rekindle the knowledge and idea of the youth of Calamba

City about Philippine heroes

2. To promote the historical awareness and deeper understanding of the youth of Calamba

City about Philippine heroes

3. To identify the benefits of gaming or playing computer games

4. To determine how effective the game will be in terms of the following:

4.1. Reliability

4.2. Functionality

4.3. Efficiency

4.4. Compatibility

4.5. Usability

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 5

Significance of the study

This study will be a tool to easily remember, and learn information about the

Philippine heroes. These are the beneficiaries

The youth. It will help the youth identify, name and recognize the Philippine heroes while

having fun and it will promote patriotism.

The community. The game will encourage individuals to learn about our history and it will

also promote patriotism.

Future researchers. The game can serve as a basis for the future developers and researchers

that will discuss the same or relevant topic.

History teachers. This game can be used as a modern teaching tool to further implement

learning that the students will love.

History Enthusiasts. This game can be used to easily remember the heroes by their iconic

life event.

Professionals. This game can be used as a basis in presentation regarding the Philippine
heroes or 3 dimensional games.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 6

Scope and Limitations

The study is about reminiscing the users about Philippine heroes. The Philippine

heroes are the game characters, and the highlight of their life are told. Although the number

of heroes that can be chosen is limited to 3. The researchers chose on what their

respondents answered on their interview. The researchers gathered information and data in

the community, the school and different individuals. They used qualitative interview to

obtain data for the improvement of the game.

The respondents of the study and the data gathering were conducted in Calamba

City. The respondents were chosen randomly. The time table of the research is two

semesters. The first semester was used to gather information that were used in the game

while the second semester was for the development of the game and its implementation.

The study focuses on the preservation of the life of the heroes. The game is a single

player. In story mode, the user will play from the start of the iconic life event of the hero

which is based on the answer in the interview conducted by the researchers. There will be

cut scenes (a conversation of the hero and some known enemies like Lapu-lapu and

Magellan), quests/missions which is point capturing - defend the hero’s base and capture the

enemy base. The user must capture the enemy’s base by staying inside the base for a brief of

time, the game will notify the user if he/she successfully captures the enemy base. If the user

dies or fails to eliminate the enemies inside his/her base, the game will notify the user if

he/she fails to defend the base, and then return to the hero selection menu.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 7

Definition of Terms

2D games (2 dimensional) – the concept of everything being on one plane of existence. A

being within a two-dimensional plane can only move along the horizontal X-axis and the

vertical Y-axis. The Z-axis, which defines depth, is considered null.

3D games (3 dimensional) - an interactive computer entertainment that is graphically

presented in the three dimensions of height, width and depth. 3D games rely on models. As

an example, 3D models can be compared to sculptures.

AI (artificial intelligence) – AI is an area of computer science that emphasizes the creation

of intelligent machines that work and react like humans.

Algorithm - a step-by-step procedure for solving a problem or accomplishing some end

Arcade - an indoor area containing coin-operated video games.

Cognitive Science - Cognitive science is the interdisciplinary, scientific study of the mind

and its processes. It examines the nature, the tasks, and the functions of cognition.

Computer animation - the process used for generating animated images. The more general

term computer-generated imagery (CGI) encompasses both static scenes and dynamic

images, while computer animation only refers to the moving images. Modern computer

animation usually uses 3D computer graphics, although 2D computer graphics are still used

for stylistic, low bandwidth, and faster real-time renderings. Sometimes, the target of the

animation is the computer itself, but sometimes film as well.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 8

Console (game console) - a specialized computer system designed for interactive video

gameplay and display. Some examples are Wii, Play Station, and Xbox.

NPC (non-player character) – a NPC is a video game character that is controlled by the

game's artificial intelligence (AI) rather than by a gamer.

Neuroscience - a branch (as neurophysiology) of the life sciences that deals with the

anatomy, physiology, biochemistry, or molecular biology of nerves and nervous tissue and

especially with their relation to behavior and learning.

Point capturing – each team has a base, and the objective is to capture the enemy base.

Role-playing game (RPG) - a genre of video game where the gamer controls a fictional

character (or characters) that undertakes a quest in an imaginary world.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

Chapter 2

REVIEW OF RELATED LITERATURE

This chapter presents the literature and studies related to the proposed study to

determine the similarities and differences of the past studies and to gain insights into aspects

of the problem that are critical and controversial.

Related Literature

This part is composed of discussions of facts and principles to which the proposed

study is related. Materials which are usually printed and found in books, encyclopedias,

professional journals, magazines, newspapers and other publications.

Kim (2015) wrote that the recent research in the fields of neuroscience, psychology

and cognitive science has found evidence that playing certain video games can be like

exercise for the brain. Studies from the past decade have found that individuals who

frequently play action games like first-person shooters outperform non-gamers on a variety

of perceptual and cognitive measures — visual acuity, decision-making, object tracking, and

task switching. Participants who played the popular 2D game Angry Birds received fewer

cognitive benefits. Even players of casual video games, such as Bejeweled Blitz or Candy

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 10

Crush Saga report memory improvements and quicker response time as a result. Now,

researchers have discovered that playing 3D video games — those that completely involves

the player in a three-dimensional world with a more true-to-life, first-person perspective —

may boost memory and stimulate the brain.

Rapaport (2015) also wrote that Reuters Health said that playing three-dimensional

video games just 30 minutes a day might mean new memories are less likely to fade away.

For two weeks, researchers asked 69 novice gamers to devote a half-hour daily to playing

either the two-dimensional “Angry Birds” game, “Super Mario 3D World,” or nothing at all.

Based on tests taken at the start and end of the experiment, only the 3D players had memory

improvements. To see how the type of game might impact cognition, Stark and Clemson

recruited people 18 to 22 years old who claimed not to have prior experience with the games

and asked them to play in a testing facility each weekday for a total of 10 days.

According to the Entertainment Software Association (ESA) Games: Improving

Education (2012), educators have recognized the impact of entertainment software and

utilize games as a teaching device in a growing number of classrooms and business settings.

More than just play, entertainment software helps impart knowledge, teach life skills, and

reinforce positive habits in students of all ages. That is why the Department of Education

(United States) funded institutions that practices game development to develop educational

games, simulations , video games, virtual worlds and avatars that would serve as learning

tools. In fact, a game app that aims to reduce child obesity is already in the works as well as

the game adaptation of the CSI TV series wherein the players learn to examine crime scenes

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 11

and evidences, a game that aims to introduce to middle school children forensic sciences,

also the game Budget Hero 2.0, a game where players learn to manage a nation’s budget.

Chandler and Chandler (2011) said that video games are available in a wide variety of

formats, and developers must consider these differences carefully when creating games.

Developers must be also knowledgeable about the history of games. It allows developers to

learn from the past and to avoid the same mistakes. It also helps them think about new and

innovative ways to utilize technology in games.

In game development, Boyne (2016) opined that one of the main reasons people

enjoy using the Unity framework is how easy it is to import assets of various types and then

use them in game. While this is a fantastic feature for those who are able to create their own

assets, many of the developers (especially smaller indie studios) are forced to hunt for assets,

artwork and models across the internet.

Hussein (2016) remarked that making realistic virtual clothes is one of the most

challenging tasks since the innovation of computer graphics (CG) animation. Clothing is an

extremely important aspect of 3D character development; it can transform even free 3D

models and tell a story behind the character's personality. Making virtual clothes became

easier because of the advanced technology we have nowadays – we can use our creative

imagination with the right tools to create realistic clothes in just a few hours!

Bardwell (2016) observed that gamers playing the popular online puzzle game Foldit

beat scientists, college students and computer algorithms in a contest to see who could

identify a particular protein's shape. He also said that it shows that anybody with a 3D

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 12

mentality, including gamers, can do something that previously only scientists did, and in

doing so they can help scientific progress.

In deep research about AI, Douglas (2016) found out that AI is imbuing interaction

between people and machines. Video games already blend this line with player input being

the key factor of progressing the story. He also said that AI is still a developing format with

limited research. Sadly, the video game industry takes almost no note of cutting edge AI

research. As if we could combined or albeit limited research of AI with the expertise of

developers who knows what we could create. However, the challenge of learning with less

data known is well known and almost inspiring to computer scientists these days so it may

be possible one day soon we will have Terminators and Personal AI Assistants helping us

out in our regular routines!

While Togelius (2016) thought that the most important thing for humanity to do

right now is to invent true AI: machines or software that can think and act independently in

a wide variety of situations. Togelius added that once we have AI, it can help us solve all

manner of other problems. Luckily, thousands of researchers around work on inventing AI.

While most of them work on ways of using known AI algorithms to solve new problems,

some work on the overarching problem of artificial general intelligence.

About the nation’s heroes, The Lietuvos Istorijos Institutas [Lithuanian Institute of

History] (2014) discussed that studying a nation’s heroes comes with a price: doubts

on the scholar’s integrity. Scholars deeply reflect how a study of national heroes is forced

from criticisms. The worship of national heroes is appealing to people’s emotions.

Nationalists resort to historical and contemporary figureheads to promote ideals of

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 13

unity, beyond internal differences of class or religion. Heroes operate within a given

society by setting moral examples, to be followed by the people; often this goal is brought

within reach by ascribing human, recognizable traits to otherwise legendary, transcendent

figures. Established regimes equally see the value of heroes as a tool to increase their

legitimacy.

While Mattone (2013) mentioned that culture can give people a connection to certain

social values, beliefs, religions and customs. It allows them to identify with others of similar

mindsets and backgrounds. Cultural heritage can provide an automatic sense of unity and

belonging within a group and allows us to better understand previous generations and the

history of where we come from.

Local Studies

This part contains the various researches conducted within the country that are

related with this study.

With the continuous growth in the field of technology, from arcade to console to pc

now with mobile phones, games have become part of our daily life. In fact, gaming has

evolved too. It is not only used for entertainment. Banaag et al (2013) said that nowadays,

games can be used for learning too. Highly interactive games are being use as a way of

teaching where students get to learn and at the same time, have fun.

Solitario (2013) in his study entitled “Design and development of Ichapon: the

adventures of ichapons a rhythmic mobile game”, the game of ichapon is a combination of

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 14

two game categories which is an adventure and at the same time, a rhythmic game. The

players of this game should press the right button at the right time. In order to find your way

home, you should travel in a safe way. The players should guide the ichapons to overcome

game challenges.

According to Lechuga and Villanueva. (2013), today, there are few computer game

applications created to have touch of Filipino cultural or tradition, with this insight they

developed a game that has the genre of Filipino culture together with Filipino inspired

environment for the design. The purpose of their game is to introduce to younger

generations the belief of early Filipinos deities and retain those beliefs to young minds of

today’s generation.

Almonte et al (2013) expound that computer learning tools are developed not only

for entertainment and leisure purposes, but also for recognition of recreational educational

aspects. Most of the computer learning tools are introduced over-exaggerated rather than the

reality. The reason for this is that most of the students today are adventurous and they

wanted to play games that are fresh or different from what they played without learning. The

increasing numbers of computer learning tools are now considered as a promising industry

for today. Computer learning tools can be classified as strategical game. Every one of the

students have their freedom to choose whatever type of computer learning tool they wanted

to use for their studies. Nowadays, a computer learning tool uses high level of techniques in

animation for more realistic movement that can mimic the real world objects to attract users

to learn while playing. The researchers created a 3D web-based educational role-playing

game Visfontal. Visfontal is focused on the student’s interest to learn about programming. It

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 15

was designed to be user-friendly and interesting for students who has a programming course.

Visfontal was anticipated to follow the present demand and qualification for the computer

learning tools under the adventure category. It could help the students to improve their

strategy, and also their knowledge in computer programming languages, unlike other

computer learning tools or educational computer games. For this reason, the computer

learning tools were not just used for recitation, but, at the same time to introduce

programming languages that the students need to learn.

Abucay (2014) mentioned that the demand on high quality graphics and

realistic gameplay are the top priorities of most games nowadays. Stated on his study

“Cyborg – Rise of the Machine”, game development is a software process by which a video

game is produce. It starts with conceptualization stage, or the phase where ideas are being

formulated.

Almogbel et al (2014) developed a game entitled “First Person Shooter with

Multiplayer Features”. The system of the game was designed by the researchers to create the

game with high definition texture for every object which were also rendered in 3D. The

objects had their own graphical location inside the terrain. The system contained easy to use

menu, they added color schemes which blended harmoniously with the game, and the

character could be controlled using commands to make it user friendly. Every animation of

the main character were accurate based on the commands and the animations, as based on

embedded codes. The researchers rendered low polygon texture for smooth playing. For the

sound effects, the background music unified with the environment of the game and it was

closely realistic. The researchers concluded that the game would help enhance the users’

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 16

logical thinking, strategic planning, and leadership because of the concept of the game. They

recommended to use three dimensional (3D) for a realistic and amusing environment effects,

and also Blender to design characters and other objects in game.

Bulanon et al (2016) developed a game that will help the children to gain interest in

studying Philippine History, and to learn the heroic deeds of the very first Philippine hero,

Lapu-lapu. The proponents developed a game appropriate for the subject matter and

determined the effectiveness of edutainment games in terms of learning, usability,

entertainment, user-friendliness, reliability, and accuracy.

There are actually some benefits that games can or may provide depending on the

content. The study of Calamlam (2014) entitled “Phil Quiz: A Flash-Based Quiz Game on

Philippine History and Geography” aimed to develop a game that will help the user to gain

more knowledge about the history of the Philippines and its geography and its Mythology.

The respondents of their study were the first year students of Los Baños National High

School. With their study, they actually tend to promote Philippine culture through

educational game.

Barachina et al (2014) identified that there are a lot of computer games found in all

other websites. Those computer games help enhance an individual’s strategic mind and

develop his/her logical thinking skills. But sometimes as users give importance to the latest

and popular computer games of this generation (millennials) - especially the students, people

disregard traditional games and forget some of the important values and facts about their

country. Students spend more time in playing computer games than studying history. The

researchers designed and developed a Parallax Scrolling game entitled “The Adventure of

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 17

Juan” that could be accepted and appreciated by a lot of Filipino gamers. A Parallax Scrolling

game is a technique in computer graphics and web design, where background images move

by the camera slower than foreground images, creating an illusion of depth in a 2D scene

and adding to the immersion. It featured a Filipino character and included information about

the history of the Philippines. The game was developed using the application Construct2

which had the ability to create a computer game application. The researchers used the

application for the design and creation of the game itself. The game had also its website

which was developed using Adobe Dreamweaver. Dreamweaver has the ability to create a

web design and creation of the website interface. The researchers used the programming

language HTML5 for the creation of the links and functionalities.

Difuntorum, and Moliñawe (2014) concluded that their puzzle game, Elemental

Creator improved players’ analytical, critical and problem solving skills by making the players

acquire all the needed elements by simply combining the elements, and also acquired new

information about the elements with the researcher’s trivia feature in game. The respondents

rated the game ‘effective’ after playing it - in all particulars of the skills and techniques that

playing puzzle games. Puzzle games can challenge the thinking skills of each players and can

be beneficial in many ways – leisure and experience, learning, as well as improving the

cognitive, analytical, logical, and problem solving and managerial skills.

Banaag et al. (2013) said that game development is beneficial to children because

they can gain knowledge from the game and it is especially designed to be kid-friendly. The

game can be also helpful to teachers as they bring simple and fun game that can get the

attention of their students in remembering the given topics. Parents usually do not have the

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 18

time to teach children. But as they play this game together, the parents eventually will teach

and at the same time they can bond together in an enjoyable way.

Nietes et al (2012) stated that using artificial intelligence (AI) as an opponent

provides the player an AI arbiter that will provide the exact judgment in the game. They used

the A*(A Star) search algorithm for the best path finding of the AI.

Claveria (2014) stated that each individuals have their own unique way of adopting

and analyzing knowledge for new information. Those problems are being incorporated to

technology which yields to the creation of different strategies. Today, many application are

being develop to balance every problem that are encountered.

A study entitled “Educational Role Playing Game for Pre- Elementary Students”,

conducted by Cansanay et al (2016), they preferred to use the Fuzzy Logic (FL) Algorithm.

The researchers used FL because the system has many conditions that are compared based

on the degree of truthfulness or falseness. But most of it is used in the scoring of the game

and in proceeding to next stage of the game. The system will provide questions randomly

and compare the right answer from the user’s command then it will add scores if the answer

is correct or if it has truth value (1). In the process of proceeding to the next stage of the

game, this algorithm is also used because if the system is satisfied on the score of the user,

which depends on the conditions, that is only the time that they can access and proceed to

the next stage and perform more difficult task.

Agravante, Barce, and Paderes (2012) said that teaching of a history subject in the

classroom is intended to awaken the sense of patriotism and nationalism in every Filipino

youth and apply the principles left by our heroes as strength in their day to day experience.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 19

Traditional teaching of a subject history was the most obvious form of teaching followed by

most of the instructors. The approaches in teaching are not scientific and innovative in

nature. Instructors are using reading, memorizing and question and answer teaching styles

that it is becoming evident that students find history subject unattractive.

Today, with the fast innovation of the mobile application in the world, many

applications have been created to show the past of each country. Many application were

created to show Philippine Culture and History. The study of Barrientos (2012) entitled

“Where in the Philippines is Elisa” showcases the Philippines history background while

dealing with different obstacles in the application.

Delfinado et al (2013) developed a system to help the user remembered traditional

game. It is made in Unity3D using JavaScript and C# language. According to their

conclusions, the graphics give an appealing look to the user, given that it is in three-

dimensional feature. The researchers stated that Unity3D is efficient in making 3D games

including the objects, codes, formulating and animations.

Botalon et al (2016) developed a mobile game using Unity that can help the Grade 2

pupils in enhancing their knowledge about proper waste segregation. Unity was able to

provide the necessary graphics and support needed by the educational game. The mobile

game can also be used by the teachers as their module in teaching the children about the

four types of waste such as biodegradable, recyclable, residual and hazardous. The

developers of the game concluded that the system was able to impart or to educate the grade

two pupils on the proper way of segregating and disposing solid waste using modern

technology.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 20

According to the study of Angeles, Esquivel, and Pagaspas (2015) on adapting Jose

Rizal’s early life, 80% of the students from 450 correspondents had the difficulty in

memorizing events and 75% is hard to visualize the sequence of Rizal’s life, and 90% of

correspondents agreed that they are interested in learning.

Borja and Mangubat (2012) developed a game entitled “Time Travel for Rizal E-

Learning Game” entitled an application that will emphasizes and implements the life and

journey of our national hero Dr. Jose P. Rizal. This application wants to extent the

knowledge of the user while having fun in interacting with the game.

Historia: A Virtual School RPG is an application that showcase and cater the

information and facts about our Philippine Revolutionary Period. The developers of this

applications wants to give an overview of the past that can teach and enhance the knowledge

of the users. This applications present different character to choose from that will serve as

the main actor in the application will using. (Acu et al 2014).

The research study of Gonzales and Padugar (2012) wants to develop an application

that tackles the life and journey of Rizal. The outcome of the research is the “Quest for

Rizal’s Life, Mobile Game”. The said application desires to show the life of Dr. Jose Rizal.

Paraan et al (2015) developed a game that showcases the Filipino concept from a

game that is very popular in Europe. All of the places that is embedded on tiles have been

changed into known places; infrastructures and departments in the Philippines. The

proponents also changed some of the functionalities that the original game provided such as

putting some questions when a player picked a card, pertaining to “Chance (Tyansa)”, and

“Community Chest (Kaban ng Bayan)”.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 21

Collo et al (2016) developed a game that will help young Filipinos to gain knowledge

about Philippine Mythology and its mythical creatures, the researchers designed a game that

will benefit young Filipinos in gaining knowledge in term Android application and game

apps. The game they developed was made in Unity3D and the algorithms used were A* and

Monte Carlo. The researchers used the Monte Carlo algorithm for the spawning of enemies

in the map. It randomizes the spawning node to random the attack of the enemies. The

researchers also used A-star algorithm for the navigation of the character along the map and

for the enemies to attack the main character. It helped the enemies to easily attack the user.

Foreign Studies

This part contains the various researches conducted outside the country that are

related with this study.

Shuler (2012) expound that in the late ‘80s and early ‘90s, some of the best-selling

video games included familiar titles such as Where in the World is Carmen Sandiego? And Oregon

Trail—products that not only set the standard for video games as educational tools and but

also launched an entire industry of consumer products intended to both educate and

entertain. Through the success of these titles and numerous others, the “edutainment”

industry blossomed.

Salvini and his co-researchers (2016) researched and carefully evaluated whether a

role-playing game is an effective participatory tool to encourage social learning and collective

action among local stakeholders towards adoption of Climate Smart Agriculture (CSA)

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 22

strategies. They designed and implemented an RPG with three groups of farmers in Apuí

(Southern Amazonas), evaluating the game’s impact on social learning by interviewing each

farmer before and after the RPG. Their findings show that the RPG induced not only

technical learning, but also socio-institutional learning and engagement for collective action,

though outcomes varied between different RPG sessions and among farmer participants.

According to Beard (2011), game theory is a branch of mathematics that is

concerned with studying and analyzing games. A game is a situation in which several

individuals have choices to make. Generally, the study of games has two objectives: the

descriptive goal of understanding why the parties (players) in competitive situations behave

as they do and “being able to advise the players of the game the best way to play.

Jumping to AI in computer games, according to Knight (2016), the latest computer

games can be fantastically realistic. Surprisingly, these lifelike virtual worlds might have some

educational value, too—especially for fledgling AI algorithms. Knight stated that Adrien

Gaidon, a computer scientist at Xerox Research Center Europe in Grenoble, France,

remembers watching someone play the video game Assassins Creed when he realized that

the game’s photo-realistic scenery might offer a useful way to teach AI algorithms about the

real world. Gaidon is testing this idea by developing highly realistic 3-D environments for

training algorithms on how to recognize particular real-world objects or scenarios. Gaidon

and colleagues used a popular game development engine, called Unity, to generate virtual

scenes for training deep-learning algorithms—a very large type of simulated neural

network—to recognize objects and situations in real images. Unity is widely used to make

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 23

3D video games, and many common objects are available to developers to use in their

creations.

Graft (2015) wrote an article about artificial intelligence (AI) and stated that artificial

intelligence in video games helps bring virtual worlds to life; it lurks beneath the surface,

determining the way a player interacts with a game. As the brains of a game, AI engages our

brains. Often, we think of AI in terms of obvious AI agents like NPCs or enemies that duck

and roll away from gunfire. But speaking with numerous AI developers inside and outside of

game development over recent weeks, the potential for AI goes far beyond making

"smarter" enemies or more convincing NPCs. As game AI slowly converges with general AI

concepts and techniques, AI can change the way games are played, and even the way they are

developed.

Anderson (2014) observed that modern computer games employ 3D animated

graphics to give the impression of reality, this alone cannot necessarily make the experience

of the game realistic, especially if the behavior of the AI in game does not feel right. The

behavior displayed by the NPC is usually generated with the aid of AI, and algorithms.

Beard (2011) also agreed that Monte Carlo is a method of using repeated random

sampling to estimate the solutions to problems that are very hard or impossible to find

analytically.

Discussing Unity, the MAGES Institute of Excellence (2015) was glad to know that

Game Development Education has evolved over the years in Southeast Asia. While

traditional strongholds such as the United States and Japan have always pushed boundaries.

Southeast Asia has become a hub for mobile game development, and as a result, game

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 24

development and related studies have also grown in the region. Singapore has taken

advantage of the growth in the industry, bringing in respected countries to set-up shop on

the island’s shores to further boost the industry’s growth. Ubisoft, Electronic Arts, Konami,

GungHo Studios, Gumi Asia—all huge industry players, have been hiring local and regional

talents from their Singapore headquarters. Unity 3D course modules in particular, have been

very popular. The reason for the sudden popularity of Unity 3D courses is not singular.

Unity 3D holds a multitude of advantages—for one, its multi-platform capabilities means

that it can be developed across multiple platforms. The second advantage is that it uses

scripts, instead of actual programming language, and this allows designers and artists to assist

the programmers with inputs into the game, shortening the production timeline. The

increase in popularity for Unity 3D courses can be attributed to the fact that game

development studios themselves are adopting Unity as a core development tool. Private

institutions like MAGES Institute of Excellence, have even gone to the lengths of getting

Unity certification to train its students specifically in the course.

The United States Department of Education stated that technology can be used to

support both teaching and learning, it fills classrooms with digital learning tools, such as

computers and hand held devices; experiences, and learning materials; supports learning 24

hours a day, 7 days a week; builds 21st century skills. Technology also increases student

engagement and motivation and accelerates learning.

Ekwelem et al (2011) concluded that there is no doubt that preservation of Nigeria’s

cultural heritage resources is very important to the development of the various cultures. It

recognizes the importance of cultural continuity and of human history in nourishing social

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 25

cohesion, a sense of self, of belonging, and of place in a context within which to understand

the past and to contemplate the future”. This task underscores the required capacity building

in preservation techniques and commitment of librarians to preserve the various cultural

heritage resources in their custodies.

Synthesis

Based on the related literature and studies gathered by the researchers, followed the

statement of The United States Department of Education – that technology can be used to

support both teaching and learning. It fills the classrooms with digital learning tools, such as

computers and hand held devices; experiences, and learning materials which supports

learning 24 hours a day, 7 days a week and build 21st century skills. In the researchers’ game,

the users will enjoy and at the same time, they will more familiar with the Philippine heroes

included in game. Almonte et al (2013) added that computer learning tools are developed not

only for entertainment and leisure purposes, but also for recognition of recreational

educational aspects. Discussing benefits of 3D games, Kim (2015) wrote an article stating

that the recent research in the fields of neuroscience, psychology and cognitive science has

found evidence that playing certain video games can be like exercise for the brain.

Participants who played the popular 2D game Angry Birds received fewer cognitive benefits.

Even players of casual video games, such as Bejeweled Blitz or Candy Crush Saga report

memory improvements and quicker response time as a result. Now, researchers have

discovered that playing 3D video games — those that completely involves the player in a

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 26

three-dimensional world with a more true-to-life, first-person perspective — may boost

memory and stimulate the brain.

In another study, Abucay (2014) also said that the demand on high quality graphics

and realistic gameplay are the top priorities of most games nowadays. The researcher used

3D graphics to make it more realistic. His study entitled “Cyborg – Rise of the Machine”,

stated that game development is a software process by which a video game is produced. It

starts with conceptualization stage, or the phase where ideas are being formulated.

Knight (2016) cited Adrien Gaidon and colleagues’ work. Gaidon used a popular

game development engine, called Unity, to generate virtual scenes for training deep-learning

algorithms—a very large type of simulated neural network—to recognize objects and

situations in real images. Unity is widely used to make 3-D video games, and many common

objects are available to developers to use in their creations. Boyne (2016) also stated that one

of the main reasons people enjoy using the Unity framework is how easy it is to import

assets of various types and then use them in game. Almogbel et al. recommended to use 3D

for a realistic and amusing environment effects, and also Blender to design characters and

other objects in game. Graft (2015) added that artificial intelligence in video games helps

bring virtual worlds to life. AI can change the way games are played, and even the way they

are developed.

To sum it up, Abucay et al (2014) said that high quality graphics is the top priority of

most games nowadays. Computer Scientist like Adrien Gaidon recommended Unity, a game

development engine to create 3D games (Knight 2016). Boyne (2016) also stated that one of

the main reasons people enjoy using the Unity framework is how easy it is to import assets

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 27

of various types and then use them in game. Almogbel et al (2014) also recommended to

use 3D for a realistic and amusing environment - and to design characters and objects, they

recommended Blender. The researchers used Unity to develop the 3D game and incorporate

AI, and Blender for the design and model of heroes, and weapons. Whereas computer

learning tools are developed not only for entertainment and leisure purposes, but also for

recognition of recreational educational aspects as indicated by Almonte et al (2013). The

United States Department of Education also indicated that that technology can be used to

support both teaching and learning, it fills the classrooms with digital learning tools, such as

computers and hand held devices. In addition, Kim (2015) and other researchers have

discovered that playing 3D video games — those that completely involves the player in a

three-dimensional world with a more true-to-life, first-person perspective — may boost

memory and stimulate the brain.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

Chapter 3

RESEARCH FRAMEWORK

Research Methodology

This chapter discusses all the technical aspects of the system which are the hardware,

software, peopleware, and network that will be used.

Research Design

Descriptive method help provide answers to the questions of who, what, when,

where, and how associated with a particular research problem; a descriptive study cannot

conclusively ascertain answers to why. Descriptive method is used to obtain information

concerning the current status of the phenomena and to describe what exists with respect to

variables or conditions in a situation (University of Southern California, 2016).

Qualitative research design was used to describe characteristics of a population or

phenomenon being studied. Qualitative research is primarily exploratory research. It is used

to gain an understanding of underlying reasons, opinions, and motivations. Qualitative

Research is also used to uncover trends in thought and opinions, and dive deeper into the

problem. Qualitative data collection methods vary using unstructured or semi-structured

techniques. Some common methods include focus groups (group discussions), individual

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 29

interviews, and participation/observations. The sample size is typically small, and

respondents are selected to fulfill a given quota. The researchers interviewed students

personally and wrote down the dialogue for the interview transcript.

Software Development Model

This part of the study discusses the software development model used by the

researchers. The model aims to produce a high quality software that meets or exceeds user

expectations, and reaches completion within the required time.

Figure 1. RAD Model (Ghahrai, 2008)

Rapid Application Development (RAD) is a development life cycle designed to give

a faster development and higher quality results than those achieved with the traditional life

cycle. It is designed to take the maximum advantage of powerful development software that

has evolved recently. RAD will be implemented in developing Legend of the Heroes since

the developers will conduct minimal planning and in favor of rapid prototyping. In Rapid

application Development, if the requirements are well understood and defined, the RAD

process enables the researchers to create a fully functional system within a very short time.

RAD includes four phases; Requirements Planning, User Design, Construction and Cutover.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 30

Requirements Planning. This stage combines elements of the system planning and

system analysis phases of the System Development Life Cycle (SDLC). SDLC is a process

used by software industry to design, develop and test high quality softwares

(tutorialspoint.com). This stage involves reviewing the areas that are clearly necessary to the

system being built.

In the requirements planning stage, the researchers created a solid overview,

covering the requirements and outlining the functions performed by the system. A model of

how the game works was produced and the extent of the system, including its capabilities

and limitations are clearly defined. Resources are estimated, risks are considered and tasks

are selected and scheduled, and project tracking and monitoring initiate.

User Design. The second stage is called the user design state. This covers an in-depth

look of the operations that are related to the system being designed. This step is designed to

eliminate ideas that work in theory but are inefficient in actual practice.

The user design state is essential because in this phase the outline of the system is

clarified. The flow of how users will actually interact with the system is designed, including

sample scenes and procedures. By the end of this state, the general idea behind the new

system begins to transform into a specific plan.

Construction. It is the RAD phase during which hero is built and modified. At this

point, the researchers worked to finish the system design and begin building it.

During the construction stage, the researchers program key parts of the system and

immediately test features. As key pieces of the system are built, the overall project comes

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 31

together. Each module is built simultaneously and then combined together to produce a

system.

Cutover/Implementation. It is the RAD phase during which the system is

finalized and released to the user. It also allows the user to test the system. It involves

training the user on how to use the system. This implies the installing or converting of the

system, and completing the function and task for the success goal of the user.

Data Gathering Tools

Conducting the background study and interview were done by the researchers to

collect reliable information related to the study. These were the tools used in gathering the

relevant data:

Interview. Unstructured interview was used to ask the respondents. These are

sometimes referred to as ‘discovery interviews’ and are more like a ‘guided conservation’

than a strict structured interview. They are sometimes called informal interviews. An

interview schedule might not be used, and even if one is used, they will contain open-ended

questions that can be asked in any order.

Library. The researchers gathered some ideas in different libraries about their topic

in order to improve their study. Journals, magazines, books and other source of information

are also used by the researchers.

Internet. Internet was used if the topics are not seen inside the library. Legal and

accredited sites were only accessed.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 32

Online Survey Questionnaire. Google Forms was used to gather the data needed

for the system’s evaluation.

Data Gathering Procedure

Through the use of different data gathering tools, the researchers determined the

step by step process in gathering the important data.

Through the use of different data gathering tools, the researchers determined the

step by step process in gathering the important data.

The researchers visited the library of different school such as: Laguna College of

Business and Arts (LCBA) in Calamba City, Pamantasan ng Cabuyao (PNC) in Cabuyao

City, and Laguna State Polytechnic University (LSPU) in Sta. Cruz, and Los Baños campus.

Theses and books were reviewed and cited to acquire additional data and resources that may

help the researchers to reconstruct or established the concepts in the study. The researchers

acquired other information especially the foreign studies from the websites of different

schools and from reliable blogs, sites, journals and organizational sites.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 33

Locale of the Study

This part of the study indicates where the researchers conducted their study and

interviewed their respondents.

Figure 2. Map of Calamba City, Laguna (Google Maps, 2017)

The researchers gathered the information in the City of Calamba. Residents in

Calamba City are the target respondents of this study.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 34

Population of the Study

Population sampling is the process of taking a subset of subjects that is representative

of the entire population. The sample must have sufficient size to warrant statistical analysis.

Sampling is done usually because it is impossible to test every single individual in the

population.

The researchers used non-probability sampling - every individual in the population

have equal chance of being selected as a subject for the research. The researchers used

convenience sampling which falls under the non-probability sampling. The researchers

selected individuals to be sampled based on their knowledge and professional judgement.

Purposive sampling (also known as judgment, selective or subjective sampling) is a

sampling technique in which the researcher relies on his or her own judgment when

choosing members of population to participate in the study. Purposive sampling is a non-

probability sampling method and it occurs when elements selected for the sample are chosen

by the judgment of the researcher.

Data Analysis Plan

The researchers have gathered necessary information regarding the study; the

acquired information was analyzed and then classified as Qualitative or Quantitative analysis.

The source of data was also observed which the respondents are. The different procedures

were discussed in data gathering procedure.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 35

Table 1. Data analysis plan

PROBLEM STATEMENT PROCEDURE/ SOURCES OF ANALYSIS


TOOLS DATA

1. What kind of method can be Unstructured Students Qualitative


used to rekindle the knowledge Interview
and idea of students about our
Philippine heroes?

2. How the proposed system can Unstructured Students Qualitative


uplift historical awareness and Interview
deeper understanding of our
Philippine heroes?
3. What are the benefits of gaming Unstructured Students Qualitative
or playing computer games? Interview

4. How can the proposed system be Unstructured Students Qualitative


measured using ISO 9126 in Interview
terms of:
a. Reliability
b. Functionality
c. Efficiency
d. Compatibility
e. Usability

Technical Aspect of the Project


There are three (3) technical aspect of the proposed system that the researchers will

use to develop the game: hardware, software, and peopleware. For computers, hardware

refers to the physical property that makes up a system. This may include obvious things like

the keyboard and mouse. It may also include memory cards and other intricate pieces that

contribute to the operation of the motherboard.

Software, on the other hand, refers to the programs that operate from the computer.

This may include an operating system, like Microsoft Windows, as well as other programs,

such as Microsoft Word. It can also include applications like calculator, games and notepad.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 36

All of these things need human interaction to function properly. It is a human being

that has to input instructions for the computer to execute the task. If, for example, a person

wishes to send a message, he or she has to type the contents of the message through the

keyboard then press the send button before communication can take place.

Some examples of Peopleware include individual people, teams of people, business

innovators and end users. Though not tangible, the human component of computer

technology is quite vital.

Hardware

The following hardware/system requirements mentioned will be needed to run/play

the 3D role-playing game.

Table 2. Hardware/system requirements

Operating System Windows® 7, 8, 8.1, or 10


Processor Dual Core CPU
Memory 2 GB of RAM DDR3
Hard Drive 4gb of free space
Graphics At least 1gb of video memory

Software

The following software mentioned will be used to develop the 3D role-playing game.

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D

pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion

tracking, even video editing and game creation. It will used to design the model, weapons,

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 37

and clothes of the hero. The researchers used this to create the 3D models such as:

characters, weapons, and other 3d objects.

Unity is a cross-platform game engine developed by Unity Technologies and used to

develop video games for PC, consoles, mobile devices and websites. It will be used to design

the whole environment of the game. The researchers used this to develop their game.

GNU Image Manipulation Program (GIMP) is a cross-platform image editor

available for GNU/Linux, OS X, Windows and more operating systems. It is a free

software, users can change its source code and distribute the users’ changes. Whether users

are graphic designer, photographer, illustrator, or scientist, GIMP provides users with

sophisticated tools to get the job done. The software can further enhance users’ productivity

with GIMP; thanks to many customization options and 3rd party plugins. It will be used to

design the graphical user interface (GUI) of the game. The researchers used this to edit the

textures of the models created on blender and create backgrounds.

Audacity is a free open source digital audio editor and recording computer

software application, available for Windows, OS X, Linux and other operating systems. The

researchers used this to create and edit sound effects.

Visual studio is an integrated development environment (IDE) from Microsoft. It is used to

develop computer programs for Microsoft Windows, as well as web sites, web

applications and web services. Visual Studio uses Microsoft software development platforms

such as Windows API, Windows Forms, Windows Presentation Foundation, Windows

Store and Microsoft Silverlight. It can produce both native code and managed code. The

researchers used this to program the game.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 38

Peopleware

The students, community, future researchers, history teachers, history enthusiast,

professionals and individuals who have a PC that meets the system requirements can play

the 3D RPG. The game can be played heedlessly the age of the user as long as they have the

knowledge to operate a PC.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

Chapter 4

DESIGN AND METHODOLOGY

In this section, the necessity of an efficient design and methodology to create the 3D

RPG will be explained. It provides details of the conceptual designs, theoretical framework,

the block diagram, and algorithms. The researchers used Fuzzy logic and Monte Carlo

algorithms to create the game.

Theoretical Framework

This section will discuss all about the theories that the researchers will use to

integrate the game. The theoretical framework is the structure that can hold or support a

theory of a research study. It introduces and describes the theory that explains why the

research problem under study exists.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 40

Figure 3. Game Theory diagram (Jesse Schell, 2008)

Games are complex in the interactions they create, the challenges they provide, the

stories they tell, and the subjects they model. Theoretical frameworks have provided a

number of approaches for helping designers, critics, and players to make sense of this this

complexity. The framework formalizes the consumption of games by breaking them into

their distinct components: The more visible, aesthetics or design of the game, mechanics or

rules, story or content of the game, and the less visible, technology.

Game Theory

Game theory is a theory of social interaction, which attempts to explain the

interaction people have with one another. As the name of the theory suggests, game theory

sees human interaction as just that: a game. John Nash, the mathematician who was featured

in the movie A Beautiful Mind is one of the inventors of game theory along with

mathematician John von Neumann (Crossman, 2016). There are two main branches of game

theory: cooperative and noncooperative game theory. Noncooperative game theory deals

largely with how intelligent individuals interact with one another in an effort to achieve their

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 41

own goals. While cooperative game theory deals with individual players’ strategies and

instead focus on the coalition players may form (Levine). The researchers’ game is based on

noncooperative theory which will focus on the player’s achievements, and progress in game.

Conceptual Design

The conceptual design shows the input, process and output of the study. And also

includes the diagrams and scope of work for the study.

INPUT PROCESS OUTPUT

User Legend of the Enhances eye


Heroes: A 3D coordination, and
Keyboard for Tactical Role- cognitive skills
movement Playing Game
Mouse for camera Game Theory
control and action Enhances students’
movement Fuzzy Logic knowledge about
Algorithm Philippine history
and of our National
Monte Carlo heroes
Algoritim

Figure 4. Input-Process-Output

The conceptual design of the study is about the input, process and output of the

system. The researchers will create a game that contains certain facts and information

regarding the Philippine heroes. And it will develop the mental state of the user and enhance

his/her skills.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 42

Block Diagram

Main
Menu

Iconic Events Options Exit

Select a Hero
Audio /Sounds

Lapu - Lapu Jose Antonio


Rizal Luna

Selected Hero

Point Capturing

Base Defense Clear Enemy’s base

Figure 5. Block Diagram

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 43

On the main menu, the user can choose if he/she wants to play in Iconic Events, or

go to the Options tab to configure the audio/sounds of the game, or exit the game. In iconic

events, the user can select three different Philippine hero; Lapu-lapu, Jose Rizal, or Antonio

Luna. The gameplay of iconic events mode is point capturing. Under point capturing, there

are three bases. The user must capture all three bases. Upon capturing a base, the captor

must stay for a short period of time to conquer the base, only the side who has more troops

gets the right to capture the base. For example if the captor’s side are five, and the opposing

side have four, the user has the chance to capture the base. If the captor’s side are equal to

or less than the opposing side, the timer for capturing will be paused. It will resume if the

user kills a unit from the enemy’s troops, but if the user’s troops became less than the

opposing side, the timer will go to the opposite side. After successfully capturing all the

bases and finishing the game, the game will notify the user that he/she won. However, if the

user dies, the game will prompt a message ‘game over’, and will be brought back to the hero

selection menu.

Algorithm

Fuzzy Logic Algorithm

Fuzzy logic (FL) is a method of reasoning that resembles human reasoning.

The approach of FL imitates the way of decision making in humans that involves all

intermediate possibilities between digital values YES and NO. The conventional

logic block that a computer can understand takes precise input and produces a

definite output as TRUE or FALSE, which is equivalent to human’s YES or NO.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 44

FL is easy to construct and understand, and it is easy to modify by just

adding or deleting rules due to flexibility of FL. It is a solution to complex problems

in all fields of life, including medicine, as it resembles human reasoning and decision

making.

Like in game, FL will be used based on the hero’s animations, animation’s

sound, and player’s progress through the game. In the hero’s attack, the algorithm

will determine the gameobject if it is a kick or slash; if the name of the gameobject is

equal to slash, the gameobject will play the slashing action and sound, if kick, then

play the different action and sound. For the hero’s health, if it reaches 0 or no more

green color on the health bar, the gameobject will play the dead animation.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 45

Figure 6. Fuzzy Logic Algorithm flowchart

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 46

In the hero’s attack, the algorithm will determine the gameobject if it is a kick or

slash; if the name of the gameobject is equal to slash, the gameobject will play the slashing

action and sound, if kick, then play the different action and sound. For the hero’s health, if it

reaches 0 or no more green color on the health bar, the gameobject will play the dead

animation.

void OnTriggerEnter(Collider col) {


if (healthbar.value >= 0) { //if the health is greater than equal to zero then the AI is possible to
get hit.
if (col.gameObject.name == "slash") { //if the name of the collider of the hit object is “slash”
play sounds(“slashed”) , minus health, call
function to animate, play effects and update the
current health
anim.Play("gethit");
PlaySound(0);
StartCoroutine(hurt());
effect.Play();
health = health - 10;
healthbar.value = health;
Debug.Log("HIT"); }
if (col.gameObject.name == "kick") { //if the name of the collider of the hit
object is “kick” play sounds(“kick hit”) , minus
health, call function to animate, play effects and
update the current health
anim.Play("gethit");
PlaySound(1);
StartCoroutine(hurt());
effect.Play();
health = health – 10;
healthbar.value = health;
Debug.Log("HIT"); } }

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 47

//DEATH
if (healthbar.value <= 0) { //if the health is less than equal to zero then the AI is dead.
if (col.gameObject.name == "slash"){
anim.Play("dead");
PlaySound(0);
StartCoroutine(death());
effect.Play();
StartCoroutine(delay()); }
if (col.gameObject.name == "kick"){
anim.Play("dead");
PlaySound(1);
StartCoroutine(death());
PlaySound(2);
effect.Play();
StartCoroutine(delay()); } } }

Monte Carlo Algorithm


The Monte Carlo method is a method of statistical modeling that uses

random factors to create a set of results that can then be analyzed similarly to how a

statistical sample would be. This is a technique where the computer does a bunch of

random simulations and tries to draw conclusions based on the results. The name is

in honor of the creator’s uncle, who used to borrow lots of money to gamble at the

Monte Carlo Casino in Monaco.

The idea is that rather than try to calculate the probability of a series of

random events blindly, just create a dataset you can analyze. If you can define the

random elements, determine their constraints and associated probabilities, then you

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 48

can run a large number (Typically 1000 or more) of simulations to determine the

most likely result (Marriott 2013).

In developing the game, the researchers used Monte Carlo in showing

random damages from the heroes and AI characters.

Figure 7. Monte Carlo Algorithm flowchart

On the AI’s movements, the declaration of the variables affects the path. The

transition or path of the animation on Unity is set on the value of an integer that is

why the movements are randomized.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 49

//#1 randomInt = Random.Range(0, 4); //declaration of the range of


randomize numbers.
anim.SetBool("isattacking", true); //boolean animation
anim.SetBool("iswalking", false); //boolean animation
anim.SetInteger("strafewalk", randomInt); //applying randomized number to move
the AI differently.
//#2
IEnumerator hurt(){ //function to be called if the AI got hurt on the game.
yield return new WaitForSeconds(.3f); //to delay the run of the code.
randomInt = Random.Range(3, 5); //declaration of the range of randomize
numbers.
PlaySound(randomInt); } //applying randomized number to play sounds on the AI

got hurt.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

Chapter 5

RESULTS AND DISCUSSIONS

This chapter shows the tabulated results gathered by the researchers. The discussion

includes graphs, tables, and illustration. The researchers have conducted a pre-survey

interview, and a post survey questionnaire.

For the evaluation of the system’s effectiveness, it was interpreted using Likert’s

Scale. Each result in every criterion is stated.

Table 3. Likert scale


RANGE INTERPRETATION VALUE
4.51-5.00 Strongly agree 5
3.51-4.50 Agree 4
2.51-3.50 Undecided 3
1.51-2.50 Disagree 2
1.00-1.50 Strongly disagree 1

A Likert-type scale assumes that the strength/intensity of experience is linear, i.e. on

a continuum from strongly agree to strongly disagree, and makes the assumption that

attitudes can be measured. Respondents may be offered a choice of five to seven or even

nine pre-coded responses with the neutral point being neither agree nor disagree. In its final

form, the Likert scale is a five (or seven) point scale which is used to allow the individual to

express how much they agree or disagree with a particular statement (McLeod, 2008).

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 51

Corresponding to that is the formula of getting the Weighted Mean Score. It is

needed to get the overall result of each question.

Weighted Mean Score Formula:

WMS = (SA*5) + (A*4) + (U*3) + (D*2) + (SD*1)

TNR

Where:

W = Weighted Mean

TNR = Total Number of Respondents

SA = number of respondents who Strongly Agreed

A = number of respondents who Agreed

U = number of respondents who said Undecided

D = number of respondents who Disagreed

SD = number of respondents who Strongly Disagreed

A. To determine the method that can be used to rekindle the knowledge and idea of the

youth of Calamba City about Philippine heroes

According to the Entertainment Software Association (ESA) (2012), educators have

recognized the impact of entertainment software and utilize games as a teaching device in a

growing number of classrooms and business settings. More than just playing, entertainment

software helps impart knowledge, teach life skills, and reinforce positive habits in students of

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 52

all ages. That is why the Department of Education (United States) funded institutions that

practices game development to develop educational games, simulations , video games, virtual

worlds and avatars that would serve as learning tools.

On the other hand, the result of the interview revealed that the most effective

learning tool to study history is through ‘videos’ (57.14%) such as movie adaptations, and

YouTube videos, followed by ‘books’ (42.86%) because it is used by teachers as a traditional

tool in teaching history. Meanwhile, a number of respondents selected ‘games’ (28.57%) as

their choice because according to them, games entertain them, it also relieve them from

stress, and keeps their mind active. Given these points, the least indicated learning tool were

‘internet’ (9.52%), ‘theatre play’ (4.76%), and ‘exhibits/museum’ (4.76%).

B. To promote the historical awareness and deeper understanding of the youth of Calamba

City about Philippine heroes

According to Mattone (2013), mentioned that culture can give people a connection

to certain social values, beliefs, religions and customs. It allows them to identify with others

of similar mindsets and backgrounds. Cultural heritage can provide an automatic sense of

unity and belonging within a group and allows us to better understand previous generations

and the history of where we come from. In addition, Barachina et al (2014) identified that

there are a lot of computer games found in all other websites. Those computer games help

enhance an individual’s strategic mind and develop his/her logical thinking skills. But

sometimes as users give importance to the latest and popular computer games of this

generation (millennials) - especially the students, people disregard traditional games and

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 53

forget some of the important values and facts about their country. Students spend more time

in playing computer games than studying history.

According to the survey interview, 88.24% agreed that games can be an alternative

learning tool to promote historical awareness about Philippine heroes while only 11.76%

said that there is a potential.

Since there is a significant number of respondents who suggested games as an

alternative learning tool other than the traditional method, it can be deduced that there is a

possibility that it can be developed as an alternative way of teaching history particularly the

life of national heroes. Some of the respondents expressed that a game can be a learning tool

‘depending on its content’ (47.62%), and if it is ‘user-friendly and easy to play’ (23.81%).

Characteristics such as an eye-catchy interface, and ease of play throughout the game

contribute to the possibility. However, ‘technology dependence’ (23.81%) was suggested

because millennials are being hooked with it. Meanwhile, a number of respondents believed

that it is already time to implement the ‘gamification of education or through learning game

applications’ (19.05%). Other answers include games ‘make students focused’ (9.52%),

‘enhance their knowledge and sharpen their memory’ (4.76%), and they suggested games

because ‘books are old school’ (4.76%).

C. To identify the benefits of gaming or playing computer games

Kim (2015) wrote that the recent research in the fields of neuroscience, psychology

and cognitive science has found evidence that playing certain video games can be like

exercise for the brain. In addition, Rapaport (2015) cited from Reuters Health that playing

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 54

three-dimensional video games just 30 minutes a day might mean new memories are less

likely to fade away.

Results of the survey showed that the main reason why the respondents play games

is to ‘relieve from stress’ (55%) after a long day from school, followed by ‘bond with friends’

(35%), and ‘have fun’ (35%). On the other hand, others play games ‘to kill time’ (15%), ‘to

enhance their critical thinking skills and reflexes’ (10%), and ‘learn new things’ (10%).

D. How can the proposed system be measured using ISO 9126 in terms of:

ISO 9126 is an international standard for the evaluation of software. The standard is

divided into four parts which addresses, respectively, the following subjects: quality

model; external metrics; internal metrics; and quality in use metrics.

This part of the study answers the methods, and shows the table and graphs on how

the software is evaluated using ISO 9126 as to its reliability, functionality, efficiency,

compatibility, and usability.

Table 4. Results of the post-survey evaluation in terms of the game’s reliability

CRITERIA TOTAL SAMPLES


RELIABILITY SA A U D SD WMS INTERPRETATION
1. The game runs with no 13 8 0 0 0 4.62 Strongly Agree
errors and/or any bugs.

2. The cinematics are inspired 12 9 0 0 0 4.57 Strongly Agree


on the iconic life event of
the hero

3. There are appropriate 12 9 0 0 0 4.57 Strongly Agree


messages for every
achievements or moves
achieved/performed by the
user.

Total 4.59 Strongly Agree

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 55

Table 4 clearly shows a total weighted mean score of 4.59 which is verbally

represented as strongly agree. This proved that the game is reliable with no errors or any

bugs. Respondents did not meet a single error or glitch as they played the game be it in

controls, storyline, and design. Moreover, the cinematics are inspired on the iconic life event

of the hero. Respondents can relate their past knowledge and discussions where they used

traditional learning tools such as books, and videos about the heroes’ lives with the storyline

embedded in the game. Lastly, most of them strongly agreed that there are appropriate

messages for every achievements or moves achieved/performed by them. Being an

important element in every game, these messages complimented the gameplay. Overall, the

game garners a rating from the respondents that makes it reliable.

Reliability
14

12

10
SA
8 A
U
6
D

4 SD

0
STMT 1 STMT 2 STMT 3

Figure 8. Graphical representation of the post-survey evaluation in terms of the game’s


reliability

As the respondents explored the game and answered the post-survey questionnaire

for evaluation purposes. Figure 8 shows that majority of them strongly agreed that there is

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 56

no error or any bugs found in the game. They also strongly agreed that the cinematics are

inspired on the iconic life event of the heroes as they compare it with their knowledge of the

life of the heroes. Lastly, they were amenable that there are appropriate messages for every

achievements or moves achieved/performed by the user.

Table 5. Results of the post-survey evaluation in terms of the game’s functionality

CRITERIA TOTAL SAMPLES

FUNCTIONALITY SA A U D SD WMS INTERPRETATION

1. The game is not only 16 4 1 0 0 4.71 Strongly Agree


educational but recreational.

2. The game is challenging and 9 11 1 0 0 4.38 Agree


exciting in terms of gameplay.

3. The game stimulates curiosity 12 9 0 0 0 4.57 Strongly Agree


which makes the user’s
eagerness to keep on playing.

4. There are appropriate sound 11 10 0 0 0 4.52 Strongly Agree


effects that responds to each
activity.

5. All controls are working 13 8 0 0 0 4.62 Strongly Agree


according to user’s
expectations.
Total 4.56 Strongly Agree

Table 5 indicates a total weighted mean score of 4.56 which is verbally represented as

strongly agree. This only shows that the game serves various functions. As the respondents

rated the game, they agree that it is not only educational but also recreational. It provided an

avenue for them to entertain themselves at the same time learn the iconic moments of the

heroes. It served two functions at the same time. In addition, they found the game to be

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 57

challenging. It has features which makes the users think, plan, and prepare in order to finish

the game. It stimulated curiosity which makes the user more eager to play, especially when

the user comes across instances wherein he learns something new. However, the table also

revealed that both the first and second criteria have one respondent who was undecided.

Apparently, he/she did not see the function of the game as a form of recreation and

educational tool. Furthermore, he was not challenged by the game because he may have

played other RPGs with more difficult gameplays and more interesting themes. On the other

hand, the game was rated to have appropriate sound effects that respond to each activity

within it. Background music, movement and skills sounds, etc. were suitable in the theme

which created harmony in the game. In addition, controls were 100% functional according

to user’s expectations. The heroes responded to the commands of the user as he/she pushed

the keys designated to a specific action. All in all, the game was rated by the respondents to

be functional in its defined purpose.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 58

Functionality
18

16

14

12
SA
10 A
U
8
D
6
SD
4

0
STMT 1 STMT 2 STMT 3 STMT 4 STMT 5

Figure 9. Graphical representation of the post-survey evaluation in terms of the game’s


functionality

In terms of functionality, the respondents strongly agreed that the game serves not

only educational but also recreational purposes. They agreed that they were challenged by

the unique gameplay it offers. They also strongly agreed that the game arouses curiosity

among them so that they become eager to play even more. As to the sound effects, majority

strongly agreed that they are appropriate for each hero activity. And lastly, they strongly

agreed that all controls are fully functional.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 59

Table 6. Results of the post-survey evaluation in terms of the game’s efficiency

CRITERIA TOTAL SAMPLES

EFFICIENCY SA A U D SD WMS INTERPRETATION

1. The game improves the 16 4 1 0 0 4.71 Strongly Agree


knowledge of the user
about Philippine heroes.

2. The game is suitable for 11 10 0 0 0 4.52 Strongly Agree


educational purposes.

3. The game promotes fun 14 7 0 0 0 4.67 Strongly Agree


and enjoyment.

4. The game can be used as 10 9 2 0 0 4.38 Agree


an alternative learning tool
for studying Philippine
heroes.

Total 4.57 Strongly Agree

Table 6 reflects a total weighted mean score of 4.57 which is verbally represented

strongly agree. Respondents’ rating reflected that the game increases the knowledge of the

user about Philippine heroes. It adds their prior knowledge about the heroes’ lives and

defining moments. It was also rated to be suitable for education purposes. Since it promotes

learning while playing, it may result to an increased classroom performance in the subjects

covered by the game. In addition, it promotes fun and enjoyment among the users. The

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 60

game’s description to be “cute” as stipulated in the interviews with the respondents urged

them to play the game even more. Finally, respondents viewed the game as an alternative

learning tool for studying Philippine heroes. Because of the kind of students nowadays,

studying the lives of Philippine heroes can be dull and boring. With the proper

implementation and guidelines of the teacher/instructor, the game can become a promising

learning tool in the 21st century teaching and learning. This only reveals that the game is

efficient in serving its intended purposes.

Nonetheless, the table also revealed that there were two respondents who were

undecided with the game as a learning tool. Seemingly, the reason behind this is that they

may have already known the lives of the heroes specified and promoted in the game. Also,

they may have negative impressions when it comes to games of any kind, whether

educational or recreational.

Efficiency
18

16

14

12
SA
10 A
U
8
D
6
SD
4

0
STMT 1 STMT 2 STMT 3 STMT 4

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 61

Figure 10. Graphical representation of the post-survey evaluation in terms of the game’s
efficiency

One of the main reasons why the game is developed is its purpose in improving the

knowledge of the users regarding Philippine heroes. Results of the evaluation suggested that

that this purpose is obtained which makes the game efficient. Respondents strongly agreed

that the game is appropriate for educational purposes, and promotes fun and enjoyment.

Lastly, majority strongly agreed that the game can be used as an alternative learning tool for

studying Philippine heroes.

Table 7. Results of the post-survey evaluation in terms of the game’s compatibility

CRITERIA TOTAL SAMPLES


COMPATIBILITY SA A U D SD WMS INTERPRETATION
1. The screen resolution of 15 4 2 0 0 4.62 Strongly Agree
the game is compatible
with the user’s monitor
resolution.

Total 4.62 Strongly Agree

Table 7 displays a total weighted mean score of 4.62 which is verbally represented as

strongly agree. This only shows that the game is compatible with the user’s monitor

resolution. Since the default screen resolution of the user’s monitor is similar with the game’s

default resolution which is 1366 x 768, there is no problem with compatibility. However, the

table also reflects two responses that are undecided. Apparently, the said respondents were

not acquainted that the screen resolution can be modified depending on the user’s

preference. Not known to them that the game runs from minimum screen resolution 640 x

400 to maximum screen resolution of 1600 x 1024.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 62

Compatibility
16

14

12

10 SA
A
8
U
6 D

4 SD

0
STMT 1

Figure 11. Graphical representation of the post-survey evaluation in terms of the game’s
compatibility

The respondents strongly agreed that in terms of the game’s compatibility, it shows

that it is well-suited to the user’s monitor resolution. This only shows that game can be

played according to the user’s preferred screen resolution. Since the resolution is in default

and can be modified, the game can be played without any compatibility issues.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 63

Table 8. Results of the post-survey evaluation in terms of the game’s usability

CRITERIA TOTAL SAMPLES

USABILITY SA A U D SD WMS INTERPRETATION


1. The game is user 14 7 0 0 0 4.67 Strongly Agree
friendly based on its
ease of controls.

2. The game’s interface 12 9 0 0 0 4.57 Strongly Agree


is appealing to the eye
of the user.

3. The game’s graphics 12 8 1 0 0 4.52 Strongly Agree


conforms to the
modern day
aesthetics.

4. The game is not 14 6 1 0 0 4.62 Strongly Agree


difficult to play with
and it is possible to be
finished by the user.

Total 4.60 Strongly Agree

Table 8 shows a total weighted mean score of 4.60 which is verbally represented

strongly agree. This proved that everybody can play the game as long as he/she knows how

to operate the controls in the game. Moreover, the game has elements that are attractive to

the eyes of the user thus, making it more entertaining. Since the graphics conforms to the

modern day aesthetics, it has a strong potential to attract more players, therefore, more

youth can become aware of the life story of the heroes. In addition, the respondents agreed

that the game is easy to play and can be finished by the user especially if he/she already has

knowledge on RPGs. However, there were two undecided responses as to the game’s

graphics and difficulty. As it seems, the respondents were not oriented with the different

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 64

types of graphics mostly used in RPGs. Likewise, the respondents may have not yet explored

other RPGs with various game difficulties.

Usability
16

14

12

10 SA
A
8
U

6 D
SD
4

0
STMT 1 STMT 2 STMT 3 STMT 4

Figure 12. Graphical representation of the post-survey evaluation in terms of the game’s
usability

In terms of usability as shown above, the respondents strongly agreed that the game

is simple and easy to control. Also, they strongly agreed that the interface appeals to the eyes

of the users. It has a possibility to attract more players so as to serve its purpose. In addition,

its graphics conforms to the latter-day designs just like any other modern RPG’s. Lastly,

majority of them strongly agreed that the game is not difficult to play since it uses basic

controls thus, it has very high possibility to be completed.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba

Chapter 6

SUMMARY, CONCLUSIONS AND RECOMMENDATIONS

This chapter presents the summary of results, conclusions, and recommendations

based on the study conducted by the researchers.

Summary of Findings

The researchers aimed to administer a study that will lead to the development of a

3D game using object-oriented programming called C# under Microsoft Windows operating

system that can be an aid to rekindle the knowledge and idea of the youth of Calamba City,

promote historical awareness and deeper understanding of Philippine national heroes. After

all, millennials are into technology and playing computer games benefits the user in

enhancing their critical thinking skills and sharpens their memory.

The researchers were able to answer the following questions: what kind of method

can be used to rekindle the knowledge and idea of the respondents about Philippine heroes,

how learning tools can promote historical awareness and deeper understanding of Philippine

heroes, what are the benefits of gaming or playing computer games, and lastly, how can the

game be measured using ISO 9126 in terms of reliability, functionality, efficiency,

compatibility, and usability. The researchers used data gathering tools such as interview, and

internet. The following results were obtained:

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 66

In deducing what kind of method can be used to rekindle the knowledge and idea of

the respondents, how learning tools promote their historical awareness about Philippine

heroes, and what are the benefits of playing computer games, the researchers interviewed the

respondents orally to answer the questions. Furthermore, data from the post-survey

questionnaire acquired by the researchers were from Google Forms online.

For the first statement of the problem, “What kind of method can be used to

rekindle the knowledge and idea of the youth of Calamba City about Philippine heroes?” the

respondents answered honestly in the interview based on their own experiences when they

were studying and watching movies about Philippine heroes, and when they encountered

history related games.

The second statement was also answered based on the results of the interview.

88.24% of the respondents agreed that games can be an alternative learning tool to promote

historical awareness and deeper understanding about Philippine heroes.

The third statement was also answered based on the results of the interview. Majority

of respondents said that they play games to relieve themselves from stress, while others said

that they play games to enhance their critical thinking skills and reflexes, and learn new

things.

Lastly, in order to determine whether the game can be an alternative learning tool in

terms of reliability, functionality, efficiency, compatibility, and usability, an online survey

questionnaire was given to all of the respondents. The respondents agreed that the game is

an effective alternative learning tool for promoting historical awareness and deeper

understanding about Philippine heroes with a weighted mean score of 4.38.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 67

Conclusions

The main objective of the study was to help the youth to enhance their knowledge

about Philippine heroes and make it easier to remember them that will also serve as an

alternative learning tool. The specific objectives stated in the study were met using different

data gathering procedures that were thoroughly analyzed using quantitative and qualitative

analysis.

These objectives were attained by letting all of the respondents play the game, and

some sort of questions were administered to them after playing. For the first objective,

which was to determine the method that can be used to rekindle the knowledge and idea of

the youth of Calamba City about Philippine heroes, the researchers used interview with the

question “what learning tool would you easily remember the life story or history of the

hero?”, and “why choose that learning tool?”. The researchers concluded that the methods:

theatre play and exhibits/museums were less likely used or visited nowadays. However,

majority of the respondents answered videos as the most effective learning tool because of

movie adaptations, and YouTube videos that have tutorials that are easy to learn and

understand.

For the second objective, which was to promote the historical awareness and deeper

understanding of the youth of Calamba City about Philippine heroes, some questions were

given to the to the respondents such as “can a game be an alternative learning tool, and

why?”. Majority of the respondents answered that a game can be an alternative learning tool

depending on its content, and the least causes are to enhance their knowledge and sharpen

their memory, and books are old school.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 68

In order to identify the benefits of gaming or playing computer games, the

researchers asked the respondents “why do you play games?”, the researchers concluded that

half of the respondents expressed that they play games to relieve them from stress after a

long day from school.

Lastly, for the evaluation of the game in terms of reliability, functionality, efficiency,

compatibility, and usability, the respondents graded the game using the system evaluation or

post-survey questionnaire from which was designed and formulated by the researchers. The

respondents strongly agreed that the game was effective enough based on the criteria as

stated in the fourth objective with the weighted mean of 4.59.

To sum up, the researchers are fully convinced that developing a 3D game

depending on its contents can help the youth rekindle their knowledge and idea, and also

promote their historical awareness and deeper understanding about Philippine heroes. It can

also be a stress reliever and enhance an individual’s critical thinking skills and reflexes.

Recommendations

Based on the foregoing findings of the study, the following are recommended for

future enhancement of the developed Legend of the Heroes (LOTH): A 3D Tactical Role-

Playing Game using Fuzzy Logic and Monte Carlo Algorithm: 1. Since the game focuses

only on 3 heroes, the researchers recommend to further improve the storyline of each hero

as well as its content, coverage, and graphics quality. 2. An interactive game can be used to

promote historical awareness of a user. Games can be used to impart knowledge as long as it

contains facts and information. 3. The proposed system should be improved by means of

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
Office of the Director of
Department of Computer Education

Dalubhasaan ng Lungsod ng Calamba 69

extensive research of some algorithms that can be applicable for the system to increase its

reliability, functionality, efficiency, compatibility, and usability. 4. For the future researchers,

the developers recommend Blender to design the user-interface and heroes’ model, and

Unity game engine for the programming of the game.

Legend of the Heroes (LOTH): A 3D Role-Playing Game using Fuzzy Logic and Monte Carlo Algorithm
REFERENCES

2D. Retrieved November 25, 2016, from http://www.giantbomb.com/2d/3015-1427/


Abucay, J. (2014). Cyborg – rise of the machine. Unpublished thesis, Laguna State
Polytechnic University, Los Baños City, Laguna.
Acu, R., Cerezo, J. M. and Rivera, R. J. (2014). Historia: A Virtual School RPG. Unpublished
thesis, Laguna State Polytechnic University, Sta. Cruz City, Laguna.
Almogbel, Jr. W. T., Lingaya, L. S. & Tongson. K. K. E. (2014). First person shooter with
multiplayer features. Unpublished thesis, Pamantasan ng Cabuyao, Cabuyao City,
Laguna.
Almonte, J. E. M., Fontanilla, J. P. & Vispo, A. R. (2013). Design and development of a web based
3D educational role playing game (Visfontal). Unpublished thesis, Pamantasan ng
Cabuyao, Cabuyao City, Laguna.
Artificial Intelligence - Fuzzy Logic systems. Retrieved October 28, 2016, from
https://www.tutorialspoint.com/artificial_intelligence/artificial_intelligence_fuzzy_l
ogic_systems.htm
Agravante, Barce, & Paderes. (2013). E-Rizal: An online comics of Rizal's life and works.
Unpublished thesis, City College of Calamba, Calamba City, Laguna.
Angeles, Esquivel, & Pagaspas (2015). Vida Rizal: Adaptation of Jose Rizal's early life using
Monte Carlo algorithm. Unpublished thesis, City College of Calamba, Calamba City,
Laguna.
Banaag, Domingo, & Santos. (2013) Word infection: A game based learning using OS.
Unpublished thesis, City College of Calamba, Calamba City, Laguna.
Barachina, R. M., Caballes, M. J. G. & Manabat, A. J. M. (2014). Design and development of the
adventure of Juan: A parallax scrolling game using HTML5. Unpublished thesis,
Pamantasan ng Cabuyao, Cabuyao City, Laguna.
Barrientos, M. (2012). Where in the Philippines is Elisa? Unpublished thesis, Lyceum of the
Philippines University, Calamba City, Laguna.
Bardwell, J. (2016, September 21). Video gamers outdo scientists in contest to discover protein's shape.
Retrieved November 01, 2016, from
https://www.sciencedaily.com/releases/2016/09/160921162740.htm
Beard, D. (2011). Enhancing automated red teaming with Monte Carlo tree search. Retrieved
November 1, 2016, from http://ro.ecu.edu.au/theses_hons/36
Borja, K., & Mangubat, A. (2012). Time travel for Rizal e-learning game. Unpublished thesis.
Laguna State Polytechnic University, Sta. Cruz City, Laguna.
Botalon, M. I., Dela Trinidad, Q. R. & Llarena, R. P. (2016). Basu-Run: An educational game on
proper waste segregation using Fuzzy Logic algorithm. Unpublished thesis, City College of
Calamba, Calamba City, Laguna.
Boyne, A. (2016, February 07). The hunt for assets. Retrieved November 01, 2016, from
http://unt3dmag.com/the-hunt-for-assets/
Bulanon, R. J., Munda, A. P. & Oclarino, A. A. (2016). Mactan: A tower defense game with a
Filipino concept using Djiktra’s Algorithm in android platform. Unpublished thesis, City
College of Calamba, Calamba City, Laguna.
Calamlam, C. (2014). PhilQuiz: A flash-based Quiz Game on Philippine history and Geography.
Laguna State Polytechnic University, Los Baños, Laguna.
Cansanay, I. K., Haniel, G., & Marasigan, L. (2016). Educational role playing game for pre-
elementary students. Unpublished thesis, City College of Calamba, Calamba City,
Laguna.
Chandler, H. M. & Chandler, R. (2011) Fundamentals of game development. London, UK: Jones
& Barlett Learning Books.
Claveria, J. O. (2014). Strategies in teaching intermediate mathematics and problem-solving skills
development in selected public school in Cabuyao, Laguna. Unpublished master’s thesis,
Pamantasan ng Cabuyao, Cabuyao City, Laguna.
Collo, K. J. M., Lirio, J. A., & Tuazon, R. I. P. (2016) Philippine mythology in android using Monte
Carlo and AStar algorithm. Unpublished thesis, City College of Calamba, Calamba City,
Laguna.
Crossman, A. (2016, March 03). Social interaction game theory. Retrieved November 18, 2016,
from http://sociology.about.com/od/Sociological-Theory/a/Game-Theory.htm
Delfinado, M. T., Flores, B. R. L. & Manzano, M. D. (2013). The development and evaluation of a
3D siato game using A-star algorithm. Unpublished thesis, City College of Calamba,
Calamba City, Laguna.
Difuntorum, D. J., & Moliñawe, M. J. (2014). Elemental Creator (Puzzle). Unpublished thesis,
Laguna College of Business and Arts, Calamba City, Laguna, Philippines.
Douglas, A. (2016, September 28). How AI in Video Games is furthering our knowledge of
programming AIs in general. Retrieved November 01, 2016, from
https://andrewdouglasblog.wordpress.com/2016/09/28/how-ai-in-video-games-is-
furthering-our-knowledge-of-programming-ais-in-general/
Ekwelem, V., Okafor, V., & Ukwoma, S. (2011). Preservation of cultural heritage: The strategic role
of the library and information science professionals in South East Nigeria. Retrieved November
01, 2016, from http://www.webpages.uidaho.edu/~mbolin/ekwelem-okafor-
ukwoma.htm
Entertainment Software Association [ESA] (2012). Games: Improving education. Retrieved
November 1, 2016, from www.theesa.com/wp-
content/uploads/2014/.../Games_Improving_Education-11.4.pdf
Gonzales, C. K., and Padugar, R. (2012). Quest of Rizal’s life mobile game. Unpublished thesis,
Laguna State Polytechnic University, Sta. Cruz City, Laguna.
Graft, K. (2015, September 22). When artificial intelligence in video games becomes...artificially
intelligent. Retrieved November 01, 2016, from
http://www.gamasutra.com/view/news/253974/When_artificial_intelligence_in_vi
deo_games_becomesartificially_intelligent.php
Hussein, E. (2016, October 05). Create 3D clothes with realistic creases and folds. Retrieved
November 01, 2016, from http://www.creativebloq.com/how-to/create-3d-clothes-
with-realistic-creases-and-folds
Jorgensen, B. (2010, January 4). The Monte Carlo method for game AI. Retrieved October
28, 2016, from http://beej.us/blog/data/monte-carlo-method-game-ai/
Kim, M. (2015, December 25). 3D video games are good for you, say scientists. Retrieved November
01, 2016, from http://www.smh.com.au/digital-life/games/3d-video-games-are-
good-for-you-say-scientists-20151225-gluxrb.html
Knight, W. (2016, March 16). To get truly smart, AI might need to play more video games. Retrieved
November 01, 2016, from https://www.technologyreview.com/s/601009/to-get-
truly-smart-ai-might-need-to-play-more-video-games/
Lechuga, K. A., & Villanueva, K. M. (2013). Three dimensional game: Demigod. Unpublished
thesis, Pamantasan ng Cabuyao, Cabuyao City, Laguna.
Levine, D. K. What is Game Theory? Retrieved October 28, 2016, from
http://levine.sscnet.ucla.edu/general/whatis.htm
Lietuvos Istorijos Institutas [Lithuanian Institute of History] (2014, September 17). Heroes
and protagonists. Retrieved from http://nise.eu/wp-
content/uploads/2013/10/NISE2014Conference_CFP1.pdf
MAGES Institute of Excellence (2015, July). Why Unity 3D is being implemented into game
development education? Retrieved from http://mages.edu.sg/blog/why-unity-3d-is-
being-implemented-into-game-development-education
Marriott, E. D. (2013, September 17). Monte Carlo simulations for game design. Retrieved October
28, 2016, from https://boardsandbarley.com/2013/09/17/monte-carlo-simulations-
for-game-design/
Mattone, C. (2013, April 5). The Importance of cultural heritage - cultivating culture. Retrieved
November 01, 2016, from http://www.cultivatingculture.com/2013/04/05/the-
importance-of-cultural-heritage/
McLeod, S. A. (2014). The interview method. Retrieved November 27, 2016, from
http://www.simplypsychology.org/interviews.html
McLeod, S. A. (2008). Likert Scale. Retrieved from www.simplypsychology.org/likert-
scale.html
Merriam-Webster. Retrieved Nov 26, 2016, from http://www.merriam-webster.com/
Nietes, F. B., Belisario, J., & Madalura, A. R. (2012) Artificial Intelligence in the game of the
generals. Unpublished thesis, City College of Calamba, Calamba City, Laguna.
Paraan, Jr. R. F., Rull, K. D. & Velasco, R. D. (2015). Monopoly: An educational board game with
Filipino concept using the Monte Carlo algorithm and Fuzzy Logic in android platform.
Unpublished thesis, City College of Calamba, Calamba City, Laguna.
Purposive sampling. Retrieved February 24 2017 http://research-methodology.net/sampling-
in-primary-data-collection/purposive-sampling/
Rapaport, L. (2015, December 19). 3D video games may be good for your memory. Retrieved
November 01, 2016, from http://www.reuters.com/article/us-health-videogames-
idUSKBN0U12NT20151219
Salvini, G., van Paasen, A., Ligtenberg, A., & Bregt, A. K. (2016, September). Environmental
Science & policy (Vol. 63). Retrieved November 1, 2016, from
http://www.sciencedirect.com/science/article/pii/S1462901116302167
Saunders, K. & Novak, J. (2013). Game development essentials: Game interface design (2nd ed.).
Delmar Cengage Learning.
Silva, M. Difference between 2D & 3D games. Retrieved November 25, 2016 from
http://www.ehow.com/info_8490671_difference-between-2d-3d-games.html
Solitario, D. T. (2013), Design and development of ichapon: The adventures of ichapon a rhythmic mobile
game. Pamantasan ng Cabuyao, Cabuyao City, Laguna, Philippines.
Stynen (2014, September 17) Heroes and protagonists: Creating and interpreting heroes and
heroism in a national context. Retrieved November 1, 2016, from
http://nise.eu/wp-content/uploads/2013/10/NISE2014Conference_CFP1.pdf
Togelius, J. (2016, January 11). Why video games are essential for inventing artificial intelligence.
Retrieved November 1, 2016, from http://togelius.blogspot.ie/2016/01/why-video-
games-are-essential-for.html
United States Department of Education. Use of technology in teaching and learning. Retrieved
November 01, 2016, from http://www.ed.gov/oii-news/use-technology-teaching-
and-learning
What is a literature review? Literature Review Tutorial - Library Guides at CQUniversity,
CQUniversity Library. Retrieved November 20, 2016 from
http://libguides.library.cqu.edu.au/litrevie
What is the meaning of hardware and software? Retrieved November 19, 2016 from
https://www.reference.com/technology/meaning-hardware-software-
1a9fe5e844e5cbf5
What is role-playing game (RPG)? Retrieved November 04, 2016, from h
ttps://www.techopedia.com/definition/27052/role-playing-game-rpg
Wyse, S. E. (2011, September 16). Difference between qualitative research vs. quantitative research.
Retrieved November 27, 2016, from http://www.snapsurveys.com/blog/what-is-
the-difference-between-qualitative-research-and-quantitative-research/

Appendices
Forms
Request Letters
Transcripts
Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Albert Tamondong’s interview transcript.
Legend: Albert = A Interviewers = Q

Q: Goodevening Bert. We would like to conduct an interview for our thesis.

A: Ok boss rein.

Q: Uhm, are you familiar with our national heroes?

A: Yes, a little bit.

Q: Ah. So, who are those heroes?

A: Wait haha. Jose Rizal, Apolinario Mabini, Emilio Aguinaldo, Gregorio del Pilar, Lapu-
lapu, Emilio Jacinto, Antonio Luna, and Andres Bonifacio.

Q: That is okay, just 5 only. Among those heroes, who is it you are most familiar with?

A: Jose Rizal.

Q: Give two more heroes, to make it three.

A: Antonio Luna, and Lapu-lapu.

Q: Ok. About Rizal, what life event made you remember him??

A: When he was shot.

Q: Ok next, Lapu-lapu.

A: When he fought the Spaniards in Cebu.


Q: Oh ok, how about Antonio Luna?

A: When he was shot by the soldiers who were ordered by Emilio Aguinaldo.

Q: Okay, next question. Where would you easily remember the life story/history of a hero? In a
video, book, game, or any source that you know of?

A: Video and book.

Q: Ah I see. But what if we develop a game, do you think that it will help you about the life of the
hero?

A: Yes, but it depends on the content of the game.

Q: Do you think that the content of the game cqan help if we will include the highlight or iconic life
event of that hero? Just like how you mentioned the life story of Rizal.

A: Yes, focus on the part where he is well-known.

Q: Oh okay. Next question, are you a gamer?

A: Yeah, I am a gamer.

Q: As a gamer, do you think that playing video games can help easily learn a subject?

A: Yes, like the game Assassin’s Creed. The content of it are historical dates if I’m not
mistaken.

Q: Ah. Why do you play? To learn new information? Enhance your critical thinking? Stress reliever?
Bond with friend?

A: To enhance my critical thinking and reflexes, stress reliever and to bond with friends.

Q: Ah, ok thanks. Any questions?

A: Hmm. What is your study about, what are your plans?

Q: Ah, we will develop a 3D role playing game about Philippine heroes.

A: What is the overview of the game, how?

Q: We will develop a game that the user will control the hero, you will relieve the iconic life event of
that hero. The selection of the heroes will depend on the result of our interview.

A: Ah okay. Sounds good. Good luck, have fun.

Q: Any more questions? Clarifications?

A: No more.

Q: Ok, thanks for your time bro even if it is 1:30am hahahaha!


A: No problem haha.

Q: I will just arrange the transcript of your interview bro, then I will need you to sign it. And after
developing our game, we will let you play it for our post survey hahaha. Thanks again, good night.

A: Okay okay.

---- End of interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Joana Karel Carreon’s interview transcript

Legend: Karel = K Interviewer = Q

Q: Good afternoon Karel, we would like to interview you for our thesis. We will develop a 3D game
about our heroes. It will be a big help to acquire your knowledge about our Philippine heroes.

K: Okay.

Q: Are you familiar with our Philippine heroes?

K: How many? Because I know many heroes haha.

Q: It is up to you.

K; Jose Rizal, Andres Bonifacio, Apolinario Mabini, Lapu-lapu, and General Antonio Luna.
Is that enough?

Q: Yes it is hahaha. Among those heroes, who are your top 3 well-known hero?

K: Top 1 Jose Rizal, top 2 Lapu-lapu, and then Andres Bonifacio.

Q: Ah okay. So, what life event of the hero made you remember them?

K: For Lapu-lapu, when he fought Magellan and the Spaniards in Mactan, and for Andres
Bonifacio and his brother Procopio, when they were accused of treason, then Emilio
Aguinaldo ordered his troops to kill the both of them on a mountain, I just can’t remember
what mountain that is hahaha.

Q: Wow, you still remember hahaha.


K: Rein, can we continue later? I will just eat my lunch. Hahaha.

Q: Ok, go.

(After 30 minutes)

K: Rein, let us continue. For Rizal, when he wrote the books Noli Me Tangere and El
Filibusterismo that opened the eyes of the Filipinos on what is happening on the
Philippines, and when he was shot in Lunta.

Q: Sorry, I also ate my lunch hahaha. Let us continue again. Next question, where would you easily
remember the life story or history of the hero? Video, book, game, or any source that you know of?

K: Maybe movie or books.

Q: Ah, can you give an example of a movie?

K: For Rizal, the movie where Cesar Montano starred in, our high school teacher let us watch
it, and for Andres Bonifacio, where Robin Padilla starred in. For Lapu-lapu, I don’t know
any movie, but I read him on history books. Since elementary, when it comes to heroes, he is
always the first one (hero).

Q: Ah okay. What if we develop a game? Do you think it will help

K: Maybe it will help if the flow or content of game is educational where trivias are included.

Q: Let’s continue later Karel, I will just attend our worship service, I will just leave these questions:
Do you think that the game that we will develop can help if we include the highlight or iconic life
event of that hero? And are you a gamer? I will be back in 1 hour.

K: It can be easily remembered and understand if it is a big part of the game. I don’t know if
I am considered a gamer if I seldom play.

Q: Hi, I'm back. hahaha. Thank you for waiting and answering the questions. Let’s proceed to the
next question. But before we proceed, it is considered a gamer if you seldom play, it is called a casual
gamer. So onto the next question. As a casual gamer, do you think that playing games can help users
to easily remember or learn a certain subject?

K: If the game is catchy and user friendly, it can help the user play the game easily and
he/she can easily learn and expand his experience and knowledge even though it is virtual, it
can be applied in real life.

Q: How can you say that it can be applied in real life?

K: Maybe the strategy in game, and quick critical thinking.

Q: Ah ok. Why do you play? Is it for entertainment? Bonding with friends, or to learn new info?
Stress reliever? To make you sleepy?

K: Stress reliever and to wake me up.


Q: Oh ok. Our objective is to easily remember the hero that we will include in our system/game. The
user will relive the iconic life event of that hero, just like what you said earlier, on how did you know
your top 3 hero. The selection of the heroes depends on the result of our interview. Anyway, do you
have any questions? Maybe you have questions regarding our game, or suggestions that we can
include in it.

K: In what category is the game? Adventure or family? That is all.

For me, I think it is okay that you include the plot of the historical base following the game.
I think is it more exciting to learn many things and enjoy at the same time.

Q: The category of our game is tactical role-playing game (RPG), adventure. Tactical RPG because
our game is point or capturing. Point/base capturing means you have to claim the base of your
enemy, and defend your base

K: Ah okay interesting.

Q: And thank you for your comment about our game. Any further questions? Clarifications?

K: No more, looking to your group's game.

Q: Okaay thanks Karel, your answers are a big help. I will just let you sign the interview transcript,
for proof that I interviewd you. And after we develop the game, you’ll be one of the lucky testers
hahahaha.

K: Okay, no problem.

---- End of interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Marlon Bellen’s Interview Transcript

Legend: Marlon = M, Interviewer = Q

Q: Goodevening Marlong. We will just conduct an interview for our thesis. We will develop a 3D
game about our heroes. Our objective is to easily remember the heroes that we will include in the
game.

M: Ok.

Q: Okay game. First question, are you familiar or do you know any of our national heroes? Do you
remember your lessons in elementary or highschool?

M: Yes there is, but I can’t recall the lessons.

Q: Ah ok. Can you name 5 heroes that you know of?

M: Lapu lapu, Jose Rizal, Antonio Luna, Andres Bonifacio, Apolinario Mabini.

Q: Ah. Among those heroes, who are the 3 heroes that you think you still remember their iconic life
event?

M: About Rizal is that when he was shot, and when he wrote the 2 books. For Antonio Luna,
his bravery and leadership in battle, and when he was killed by the troops of Aguinaldo, and
the fight of Lapu-lapu and Magellan.

Q: Next question. Where can you easily remember the life story/history of the hero? Video, book,
game, or any source that you know of?
M: On the movies I think, the movie Heneral Luna. I want to watch it but I have no time.
And in games, because I play Assassin’s Creed. There are contents about the history of a
certain place.

Q: Ah, your answer were the same with our previous interviewee, he answered Assassin’s Creed. I
also played Assassin’s Creed, I learned a lot from it. Aside that, did Assassin’s Creed help you in any
way?

M: It gave me knowledge about the history of Acre, Damascus, and Jerusalem, it is based on
the plot of Assassin’s Creed 1. They mixed it with fiction but there are still facts in it. And on
Assassin’s Creed 3, about American Revolution.

Q: But what if we develop a game about our Philippine heroes? Do you think it will help?

M: Of course it will be a big help especially for this generation where kids are relying on
technologies and computer games. There are only few people left that has the knowledge
about our national heroes. And if you ever develop a game, it will help depending on the
content that you will include.

Q: Oh ok, thank you for your suggestion. Actually, we will include the iconic life event of the hero in
the game. And we will add fiction just like Assassin’s Creed. And why do you play? Stress reliever?
For entertainment? To make you sleepy, or is it to bond with friends? Or any reason you can think
of.

M: For entertainment only because I was curious on Assassin’s creed because there are a lot
of positive feedbacks about the game.

Q: Not just Assassin’s Creed, in general, why do you play?

M: For entertainment and bonding with friends. I get bored sometimes when I play alone. I
prefer to play with others.

Q: Ah ok. Next question Marlong. Among the heroes you said, who are the heroes you want us to
include in our game?

M: Jose Rizal, Lapu-lapu, and Antonio Luna or Andres Bonifacio.

Q: Oh okay. Do you have any suggestions about the content of our game?

M: For Rizal, maybe when he was shot in Luneta, and maybe add an enemy boss like a
General Spaniard.For Luna and Bonifacio, maybe just add fighting scenes. I really can’t
remember the story of the two of them. And for Lapu-lapu, in Mactan where he fought
Magellan, like Omaha beach battle.

Q: Omaha beach?

M: Maybe you can make it as a guide because it also happened on the beach side.

Q: Actually we included that scene in Lapu-lapu. We also included a cinematic view. After we
develop our game, we will let you test it, and for our post survey. Do you have any more suggestions?
Questions or clarifications?

M: No more, but I hope I can play the beta of your game.


Q: Oh sure. We will give you a copy of the game. Before I forget, the genre of our game is Tactical
RPG. It is a point capturing game, do you have an idea about point capturing?

M: What is it?

Q: Point capturing, it is where you capture the enemy base and defend your base. You win if you
capture the enemy base, and you lose if you die or if your base gets captured.

M: Okay, good luck on your defense. And please don’t forget to give me a copy of your
game.

Q: Okay Marlong, do you have any questions or clarifications?

M: No more.

Q: Ok, thank you Marlong, I will print the interview transcript and let you sign it for proof that I
interviewed you.

---- End of interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.

Statement of the Problem:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?

i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?

2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?

i) Can a game also be an alternative learning tool?

3. What are the benefits of gaming or playing computer games?

i) Why do you play games?

Abegail Divina’s Interview Transcript


Legend: Abegail = A, Interviewer = Q
Q: Goodevening, We would like to conduct an interview for our thesis. We will develop a 3D game about
Philippine heroes. Our main objective is to make the user easily remember the hero who is included in
our game.

A: Sure, go ahead, is it gonna be easy?

Q: Yes, no sweat.

A: Ok, game.

Q: First, are you familiar with our Philippine heroes?

A: Yes, I think. Jose Rizal, Andres Bonifacio, Antonio Luna, Apolinario Mabini, and Lapu-lapu.

Q: Among those heroes, who are your top 3 well-known hero?

A: Lapu-lapu, Rizal, Luna.

Q: Ah okay. So, what life event of the hero made you remember them?

A: For Lapu Lapu, The battle of Mactan. For Rizal, when he was shot at Luneta and his books El
Fili and Noli. Then for Luna, when he was betrayed by his countrymen.

Q: Ohh okay, Next question, where would you easily remember the life story or history of the hero?
Video, book, game, or any source that you know of?

A: Videos, books, and plays when it’s National Heroes’ day.


Q: Ah okay. What if we develop a game? Do you think it will help, or can it be an alternative learning
tool?

A: Yes, definitely. That’s more enjoyable and it depends on the content.

Q: Do you think that the game that we will develop can help if we include the highlight or iconic life
event of that hero?

A: I think it would really help. But if it is more on being educational and recreational, it’s better.
It will be pretty good if it has better features.

Q: Oh, okay, thanks for your suggestion. By the way, are you a gamer?

A: Yes, but I seldom play.

Q: Ah okay, you are a casual gamer then.

A: Yes hehe.

Q: As a casual gamer, do you think that playing games can help users to easily remember or learn a certain
subject?

A: Of course. Because, if it’s a game, the user will enjoy especially if it is user friendly. And of
course, lessons from the life of those heroes should be there.

Q: Oh. I see. You're right. So moving on. Why do you play? Is it for entertainment? Bonding with friends,
or to learn new info? Stress reliever? To make you sleepy?

A: I think, I play for entertainment and bonding with friends who play the same game. But
sometimes it helps me learn new information about things I do not know.

Q: Ohh. I see. Thank you. Anyway, do you have any questions regarding our game, or suggestions that we
can include in it?

A: I think the more accurate the game is with regards to the historical background and
information the better. Then if there is a little challenge like the actual experience of the hero,
that is more exciting.

Q: Ah okay, thank you for your suggestions. Any more questions?

A: No more. Good luck on your game!

Q: Thanks again. I will just let you sign the interview transcript, for proof that I interviewed you. And
after we develop the game, we will let you test it.

A: OK sure. Welcome!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.

Statement of the Problem:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?

i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?

2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?

i) Can a game also be an alternative learning tool?

3. What are the benefits of gaming or playing computer games?

i) Why do you play games?

Christian Javier’s Interview Transcript


Legend: Christian = C, Interviewer = Q
Q: Brad, Can I interview you? It’s for our thesis hehehe.

C: Yes

Q: Oh, thanks.

C: No problem haha.

Q: This interview is for our thesis . We will develop a 3D game about Philippine heroes. General
objective of our study is to help the users enhance their knowledge about Philippine heroes and
make it easier to remember them.

C: Oh that’s cool, ask away bro!

Q: Ok, first question, are you familiar with Philippine heroes?

C: Yes of course.

Q: Can you name 5 to 6 heroes?

C: Jose Rizal, Lapu-lapu, Andres Bonifacio, Antonio Luna, Apolinario Mabini, Emilio
Aguinaldo, and Juan Luna.

Q: Ok, among those heroes, tell me your 3 most familiar hero.

C: Rizal, Aguinaldo, Lapu-lapu.

Q: Oh, what life event of those 3 heroes made you remember them?
C: For Emilio Aguinaldo, of course it`s because he is our 1st president. For Lapu-lapu, I
believe that he is our 1st hero that fought and defeat Magellan in Mactan. And for José
Protasio Rizal Mercado y Alonso Realonda, it's when he sacrificed his life for his
countrymen and when he wrote Noli and El Fili which gave us heartbreaks and headaches in
High School. Those sweet memories hahahah!

Q: Hahaha! Oh those memories indeed. Moving on… Where would you easily remember the life
story/history of a hero? In a video, book, game, or any source that you know of.

C: Videos of course, and games, but it depends on the content of the game.

Q: Based on your answer, it's safe to say that you're a gamer. And as a gamer, do you think that
playing video games can help easily learn a subject?

C: Yes of course, because it is fun, learning becomes interesting, and as I've mentioned
earlier, it depends on the content of the game.

Q: Ah I see, but, why do you play? For fun? Stress reliever? Any other reasons.

C: For fun and play with my friends to stay connected with each other.

Q: Ok, any more questions? Clarifications, suggestions?

C: How will you develop the game? Make me a game master ok? Hahaha

Q: This is how it goes, the results of the interviews will be the basis in the development of the game.
Like my question ‘who is your top 3 hero’, we will include those 3 heroes in the game.

C: Okay okay, goodluck ese.

Q: Thanks bro. I'll let you sign the transcript of our interview when we meet again.

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.

Statement of the Problem:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?

i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?

2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?

i) Can a game also be an alternative learning tool?

3. What are the benefits of gaming or playing computer games?

i) Why do you play games?

Jaya Maestrado’s Interview Transcript


Legend: Jaya = J, Interviewer = Q
Q: Hi Jaya, pede ka ba mainterview para sa thesis namin?

J: Hmm, about what?

Q: We're developing a game about Philippine heroes. Our aim is to help the user/player to easily
remember the hero that is in the game.

J: Ahh okay. So how can I help you?

Q: Just answer our questions hahaha.

J: Okay. Lets start.

Q: Okay, first question. Are you familiar with our Philippine heroes?

J: Yes, of course.

Q: Can you name at least 5?

J: Jose Rizal, Lapu-lapu, Andres Bonifacio, Antonio Luna, Emilio Jacinto

Q: Okay, among them, who are your top 3 well-known hero? And can you tell us what iconic life
event of that hero made you remember them?

J: Jose Rizal, Lapu-lapu and Antonio Luna. For Jose Rizal when he was shot to death at
Bagumbayan. For Luna: when Luna was assassinated in a brutal way by the troops of Emilio
Aguinaldo, and for Lapu-lapu, when he fought Magellan and his army in Mactan.
Q: Oh I see, next question... Where would you easily remember the life story/history of a hero? In a
video, book, game, or any source that you know of.

J: Book.

Q: Ahh ok, do you think that a game can help too?

J: I guess so, it depends on the content of the game.

Q: Oh yeah, it really depends on the content hahaha. Anyway, are you gamer?

J: No hahahhahahaha

Q: hahahahahaha. Do you think that playing games can help users to easily remember or learn a
certain subject?

J: I think so hahahhaha. And as I've said, it depends on the content of the game. If the game
is eye-catchy and user friendly.

Q: Have you played any mobile or pc games?

J: Yes.

Q: Ahhh okay, why do you play? Is it for entertainment? Bonding with friends, or to learn new info?
Any other reason...

J: To learn new things and when I’m stressed and bored hahhaha.

Q: Ahh I see. That's all of my questions, do you have any concerns, violent reactions or suggestions
that might help our study? Hahahha

J: Uhm, who are the heroes in your game

Q: Hmm it depends on the result of our interviews. We'll tally the answers of the interviewees and
then that's it hahahaha.

J: Ah okay, looking forward to your game. Thanks for the interview.

Q: You're welcome and thank you also for entertaining us. I’ll give you a copy of our game when it's
finished.

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.

Statement of the Problem:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?

i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?

2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?

i) Can a game also be an alternative learning tool?

3. What are the benefits of gaming or playing computer games?

i) Why do you play games?

Mica Edrielle Masongsong’s Interview Transcript


Legend: Mica = M Interviewer = Q
Q: Hello po, can we interview you for our thesis?
M: Okay.
Q: Okay, so here's the first question. Are you familiar with our Philippine heroes?
M: Since we've been studying it for years, of course I'm familiar with them.
Q: Can you name at least 5? Hehehe.
M: Jose Rizal, Lapu-Lapu, Antonio Luna, Apolinario Mabini and Andres Bonifacio.
Q: Ahh, give me your top 3 well-known hero.
M: Uhm, Jose Rizal of course given that we live in the same city. Antonio Luna for
his sudden fame because of the movie and Lapu-lapu, the elementary hero.
Q: Ah I see, can you tell me what iconic life event of those heroes made you
remember/recall them easily?
M: As for Jose Rizal, he's our national hero for so many reasons. One of them was
giving spark among the Filipino to revolutionize and see what the Spaniards are
really like. Antonio Luna was a general who was betrayed because he fought the
enemies and the government in a non-traditional way. These two heroes sought
freedom in the best possible way they can even though they could just run off and
live freely given by their status and educational attainment. As for Lapu-Lapu, he did
not kill Magellan for no apparent reason, he was appalled that Magellan touched his
people and he acted as a leader should.
Q: Wow, well-said. Moving on... Next question, what learning tool would you easily
remember the life story or history of the hero? Video, book, game, or any source that you
know of?
M: A game would be great since it's the era of the technologies. Children ignore
books and videos are boring for them. Video will be cool if you add a certain touch to
it though. But a game or app would be nice because application like answering trivia
questions in some app is the best way to remember them, in my opinion.
Q: Oh nice, I see. Uhm, why do you play? To relieve stress? Bond with friend?
M: I suppose the reason why I play depends on my mood, but mainly it's to block
my mind from overthinking and just to let time pass by.
Q: I see. By the way, we're developing a 3D role-playing game about Philippine heroes, our
objective is to help the user/player to enhancer their knowledge about Philippine heroes,
and make it easier to remember them.
M: Oh, good. It would help the next generation in a lot of ways and make them
believe that learning can be fun too.
Q: Yeah, that's your aim. To associate learning with fun and excitement hahaha. Anyway, do
you have any clarifications, or suggestions?
M: None, thank you.
Q: Ok, thanks. That's all. I'll give you a copy of our game once it's done.
---- End of Interview ----
Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.

Statement of the Problem:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?

i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?

2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?

i) Can a game also be an alternative learning tool?

3. What are the benefits of gaming or playing computer games?

i) Why do you play games?

Alejandro Neil Alinsub’s Interview Transcript


Legend: Neil = N Interviewer = Q
Q: Good morning Neil, can we interview you for our thesis?
N: Sure!
Q: Yey, thanks! Okay, first question...Are you familiar with Philippine heroes?
N: Yes.
Q: Can you please name at least 5 heroes that you know?
N: Jose Rizal, Apolinario Mabini, Antonio Luna Emilio Aguinaldo, Lapu-Lapu,
Tandang Sora.
Q: Oh okay. Can you tell us your top 3 well-known heroes among those 5, and their iconic
life event that made you remember them?
N: Jose Rizal, Lapu-lapu, Andres Bonifacio. For Rizal, his literatures, eL
Filibusterismo and Nolli Me Tangere. Also, he fought the spaniards through book,
pen and his knowledge.
For Lapu-lapu, he defend our land from Spaniards and killed Magellan.
For Antonio Luna, he fought the americans bravely eventhough some of the
government officials is backstabbing him and made bonifacio ordered them to kill
Luna. Aguinaldo** hahaha! Not Bonifacio but Aguinaldo.
Q: Hmmm moving on… Where would you easily remember the life story/history of a hero?
In a video, book, game, or any source that you know of.
N: Video
Q: Like movies?
N: Yes!
Q: Hmm, you're a gamer right?
N: Yes.
Q: Do you think that a game can also be an alternative learning tool? If yes, why?
N: Yes, because there are games that gives us information about history. Also, there
are games that can enhance our knowledge through things and can make our
memory sharper.
Q: Ah I see, can you name a game that helped you learn something new? Hehehe
N: For History, Assassin’s Creed.
Q: Ah. What an interesting game right? Especially when you finished all its series.
N: Yes, we can learn a lot in history from that game.
Q: Yeah, like the American Civil War theme in Assassin's Creed 3 Right? Hahaha! Anyway,
moving on to the next question. Why do you play? Stress reliever? Bond with friends? Kill
time? Any other reason is ok...
N: Yes! Hahaha i had fun playing that 3rd series of Assassin's creed. I play because
of my friends, it's like our bonding time. Moreover, playing video games is my stress
reliever haha. I like the competitive atmosphere in multiplayer mode.
Q: Ah I see, that is all of our questions. By the way, we're developing a 3D tactical role-
playing game that aims to help the user/player to easily remember/recall the heroes in our
game.
N: Ahhhh, that would be very nice! It could help other gamers to recall our national
heroes in a fun way.
Q: Yeah, hehehe. That is all of our questions Neil. Do you have any clarifications or
suggestions regarding our game?
N: None. I just hope you could develop that game because it can really help all the
people who don't know a lot about our national heroes.
Q: Don't worry bro, we will. It's almost done. We'll upload it. f you're interested, I'll give you
the download link.
N: Sure, I’ll be waiting.
Q: Thanks again Neil, for having us. Good night!
N: Always welcome! Likewise.
----- End of Interview -----
Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.

Statement of the Problem:

1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?

i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?

2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?

i) Can a game also be an alternative learning tool?

3. What are the benefits of gaming or playing computer games?

i) Why do you play games?

Ralph Aaron Reginio’s Interview Transcript


Legend: Ralph = R Interviewer = Q
Q: Yo Ralph, can we interview you for our thesis? This won't be long

R: Yes yes sure. What's your study about?

Q: Our study is about Philippine Heroes. We're developing a game that aims to help the user/player
to easily remember/recall the heroes in our game.

R: Ohh I see. That's great. Alright, let's start then.

Q: Okay! First question, are you familiar with our Philippine heroes?

R: Not really, but I know some heroes.

Q: I see, can you name at least 5 heroes?

R: Lapu-lapu, Rizal, Antonio Luna, Andres Bonifacio, Emilio Aguinaldo.

Q: Ah, among those, can you name your top 3 well-known heroes? And can you tell us what iconic
life event of that hero made you easily remember/recall them?

R: For Rizal, he sacrificed everything for the sake of the Freedom of the Philippines. he is
the writer of Mi Ultimo Adios(My Last Farewell). For Luna, he was a brave leader who never
gave up in battle. He was betrayed and surrounded by Emilio Aguinaldo's men, and got
killed. For Lapu-lapu, when he defended Mactan against Magellan and his troops.

Q: Okay okay. Moving to the Next question, what learning tool would you easily remember the life
story or history of the hero? Video, book, game, or any source that you know of?
R: In exhibits/museums. Because there are pictures and historical background included

Q: Ah yes, all in one right? Hahaha

R: Hahaha Yeah, you got it right!

Q: Hahahaha! Okay on to the next question. Hmmm why do you play? To relieve stress? Bond with
friends?

R: I play to relieve my stress after school hours haha.

Q: Ahh I see. Uhm, do you think that a game can also be an alternative learning tool?

R: Yes, because children (including adults) nowadays relies on technologies and it is a nice
way to get their attentions.

Q: Oh yeah. Well-said Ralph hahaha. Anyway, that's all, do you have any clarifications? Suggestions
for our game?

R: No further questions. But I hope you will give me a copy of your game.

Q: Oh sure. We will upload it and give you the link when it's done. Thanks again, Ralph

R: No problem.

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Paul Kevin Teodoros’ Interview Transcript
Legend: Paul = P Interviewer = Q
Q: Hello Pauly, can we interview you for our thesis?

P: Sure.

Q: Thanks bruv. Our study is about Philippine heroes. We're developing a 3d RPG that aims to help
user/player to easily remember/recall the hero.

P: Ahhh interesting. Ok game.

Q: Okay then, first question. Are you familiar with our Philippine heroes?

P: Not very much, but I’m familiar with some.

Q: Ah I see, it is okay. Can you name at least 5 heroes?

P: Jose Rizal, Andres Bonifacio, Apolinario Mabini, Lapu-lapu, Juan Luna

Q: Hmm, can you tell us your top 3 well-known heroes among them? And tell us what iconic life
event of that hero made you easily remember him?

P: That would be Jose Rizal, Apolinario Mabini and Lapu-lapu. For Rizal, when he
sacrificed his life for our countrymen, and his literary works that shaped the generation
today. For Mabini, I only knew him by his disability and that he is the brain of the rebellion.
And for Lapu-lapu, when he fought the Spaniards that was lead by Magellan, in Mactan,
Cebu. Is that enough?

Q: Yes it is Paul hahahaha. Thanks. Moving on to the next question… What learning tool would you
easily remember the life story or history of the hero? Video, book, game, or any source that you
know of?
P: From a game. Like the game Assassin's Creed it has some historical content.

Q: Ah so you've played AC too?

P: Yes. But i didn't finished it

Q: Ahh sad. On to the next question then. Hahahaha! Based on your previous answer, do you think
that a game can be an alternative learning tool? And why do you play games, for fun? Stress reliever,
bond with friends?

P: Yes, it's fun and exciting when playing, especially if the interface is appealing, and if the
game is easy to play. And it also depends on the content or story of the game. I play games
mostly for fun. It takes out the stress too

Q: Oh I see. Enough said. Hahahaha. That's all of our questions. Do you have any clarifications, or
suggestions for our game?

P: None. Just be sure to give me a copy of the game.

Q: Yes sure we will, and after you play the game I'll give you a survey about our game. Thanks again,
Paul!

P: Sure no problem

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Reymond Decillo’s Interview Transcript
Legend: Reymond = R Interviewer = Q
Q: Good afternoon, Reymond. Can we interview you for our thesis?

R: Yes, of course. But what is it all about?

Q: Our study is about Philippine heroes. We’re developing a 3D role-playing game that aims to help
the user/player to easily remember/recall the heroes in our game.

R: Uhm, sorry. If you don’t mind me asking, what is role-playing game?

Q: Role-playing game is where you control the character in the game that undertakes a quest in an
imaginary world. Games such as: Grand Theft Auto, Prototype, Assassin’s Creed, and many more.

R: I think that’s exciting, I think that it will help us easily remember them.

Q: It is surely exciting, we promise you. May we move on to the first question?

R: Yes you may.

Q: Okay, first question. Are you familiar with Philippine heroes?

R: Not quite, but I know some of them. Especially Dr. Rizal.

Q: Ah okay, can you name at least 4 heroes?

R: Andres Bonifacio, Lapu-lapu, Apolinario Mabini, and GOMBURZA.

Q: Uhm, can you tell us your top 3 well-known hero among those you mentioned, and tell us what
Iconic life event of that hero made you easily remember him?
R: Rizal, Lapu-lapu, and Andres Bonifacio. For Rizal, he is well-known for his extraordinary
writing, and when he opened the eyes of every Filipino under the colonization of Spain. For
Lapu-lapu, when he fought Magellan and his troops at Mactan, Cebu, and for Bonifacio,
when he showed his bravery and leadership among the Filipinos.

Q: Oh ok, thanks for that. On to the next question, what learning tool would you easily remember
the life story or history of the hero? Video, book, game, or any source that you know of?

R: For me, this generation have advanced technology, I prefer videos, in order to easily
remember.

Q: I see, but do you think that a game can also be an alternative learning tool?

R: Absolutely yes! Because people nowadays are more focused or interested in games than
books or other reading materials.

Q: I see, Hmmm do you play games? if yes, why? To relieve stress, bond with friends?

R: I play for fun, and to learn new things.

Q: Oh okay. That is all, thank you Reymond. Do you have any clarifications or suggestions?

R: After you develop the game, can you give me a copy so I can play it and show it to my
friends?

Q: Of course you can, and we will really give you a copy because there is a post-survey after you
played the game. Thanks again Reymond!

R: You’re welcome, good luck!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Abby Peña’s Interview Transcript
Legend: Abby = A Interviewer = Q
Q: Hello Abby! Can we interview you for our thesis?
A: Sure.
Q: Okay game, here's the first question. Are you familiar with our Philippine heroes?
A: Yes.
Q: Uhm can you name at least 5 heroes?
A: 1. Jose Rizal, Gabriela Silang, Apolinario Mabini, Lapu Lapu, and Antonio Luna.
Q: Among those heroes, give me your top 3, and can you tell me what iconic life event of
those heroes made you remember/recall them easily?
A: Rizal, Lapu Lapu, and Luna. First Jose Rizal, he is well known as our Philippine
National Hero, he fought for our country's freedom, and died with pride. His books
were discussed in every school but I remember him mostly from my hometown.
Calamba, Laguna, where he was born. General Antonio Luna was made famous
again from the recent movie about his bravery to fight the war from the countries
that wanted to colonize our country. He was known to be betrayed by his own kind,
the Filipinos. And lastly Lapu Lapu, the King of Mactan who killed Ferdinand
Magellan. He was known as the first hero of the Philippines.
Q: Oh wow, is that you Abby? hahaha! Moving on... What learning tool would you easily
remember the life story or history of the hero? Video, book, game, or any source that you
know of?
A: Hahahahaha! I am very fond of books myself but I know for most people these
days, that they would have greatest interest if it's a movie.
Q: Ah yes, but do you think that a game can also be an alternative learning tool?
A: Of course! People are into games too.
Q: Hmmm, do you play games? If yes why? Stress reliever? Bond with friends?
A: I do play games, for when I feel stressed and or when I've got time to waste.
Q: Time is gold, eh? hahaha! By the way, we're developing a 3D tactical role-playing game,
which aims to help the user/player to easily remember/recall the hero in our game by their
iconic life event.
A: That's a good idea. Especially if it is Filipino themed. I hope you'll be able to
emphasize their stories.
Q: Some content of our game will be based on the interviews that we've conducted.
Anyway, that's all of our questions. Do you have any clarifications, suggestions for our
game? And before I forgot, our game will only be available on PC, Windows 7 to 10.
A: Nothing more, looking forward to more Filipino themed games that will educate
the youth's mind!
Q: Okay, thanks again Abby! We will upload the game, and let you test it.
A: Okay, thank you!
---- End of Interview ----
Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
April Rose Tupas’ Interview Transcript
Legend: April = A Interviewer = Q
Q: Goodevening April! Can we interview you for our thesis?

A: Sure thing.

Q: Yey, thanks! Let's get on with the questions. First, are you familiar with our Philippine
heroes?

A: I can say that I'm familiar with some of them, and not all of them probably.

Q: Ah I see, can you give at least 5 heroes?

A: Melchora Aquino, Jose Rizal, Antonio Luna, Lapu-lapu, Andres Bonifacio

Q: Among them who are your top 3 well-known hero? And tell us what Iconic life event of
that hero made you easily remember him/her?

A: Jose Rizal - Since I grew up in Calamba City, Jose Rizal is very well known in the
city because first he was also born in Calamba. And in our schools here in the
Philippines, his novels are part of the curriculum making his heroic act known all
over the country. Antonio Luna- I have always known Antonio Luna as the "Fiery
General." Mainly because he was known as the fiercest generals of his time during
the Philippine-American war. Lapu lapu - And lastly, my well-kown Philippine hero
is Lapu lapu. Mainly because he is considered as the first Philippine hero who
defeated Ferdinand Magellan and the Spanish colonizers together with his soldiers in
Mactan, Cebu.

Q: Well-said April! On to the next question... where would you easily remember the life
story/history of a hero? In a video, book, game, or any source that you know of?

A: Game

Q: Why game?

A: A game would be awesome because in our generation today, every millennial


would want something new. We've been learning their life story/history in books and
it seems like old school. But if there would be a game or app about the heroes' life
story/history, not only it will be enjoyable but also learning at the same time.

Q: I see, I see... Hmm do you play games? If yes, why? To relieve your stress, kill time? Bond
with friends?

A: Yes, I still often play games. Mainly because I want to take a break from school
works and also to relieve stress.

Q: Ohh. I see. That's all of our questions. Do you have any clarifications, suggestions for our
game? Before I forget, we're developing a game that aims to help the user/player to easily
remember/recall the heroes in our game. The 3 heroes that we will include in game will
depend on the result of our interviews.

A: I see, also I would suggest that the game would be user friendly and really focus
on the player's learning while playing the game.

Q: Oh okay, noted April! Thanks again!

A: Thank you too!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Christian Manaig’s Interview Transcript
Legend: Chano = C Interviewer = Q
Q: Goodmorning Chano! Can we interview you for our thesis? This won't be long.

C: Uki.

Q: By the way, our study is about Philippine heroes. We're developing a 3D tactical role-
playing game that aims to help the user/player to easily recall/remember the heroes in our
game.

C: Ohhhhhh cool.

Q: Hihihi. Let's start?

C: Lezz go mate.

Q: Okay! First question, are you familiar with our Philippine heroes?

C: Yes.

Q: Can you name at least 5 heroes?

C: Rizal, Bonifacio, Tandang Sora, Mabini, and Faptain. I mean Luna

Q: hahaha! Among them, who are your top 3 heroes, and what life event of the hero made
you remember them?
C: Rizal, Bonifacio, and Heneral Luga. *Luna.
Rizal - When he created his famous novels like Noli Me Tangere and El
Filibusterismo.
Bonifacio - When he organized KKK and fought for our countrymen.
Heneral Luna - When he is shot by the soldiers ordered by Emilio Aguinaldo

Q: Ah I see, moving on to the next question… What learning tool would you easily
remember the life story or history of the hero? Video, book, game, or any source that you
know of?

C: Book and Video.

Q: Hmm okay. But, do you think that a game can also be an alternative learning tool?

C: Of course yes, I'm also a gamer I think it would be fun if a game is created to
introduce our local heroes

Q: Couldn't have said it better Chano! Hahahaha Hmm and, why do you play? You said that
you're a game. Is it to relieve your stress? Bond with friends? Any other reason?

C: I just wanna have fun and bond with my friends. HAHAHA! Anyway thanks for
your compliment.

Q: Hahaha you're welcome. That is all Chano, thank you for having us, do you have any
questions regarding our game? Suggestions?

C: None, just let me try your game after you finish it.

Q: Don't worry, we will give you a copy Sir Chano. Thanks again! Have a good day!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Lianne Henzon’s Interview Transcript
Legend: Anne = A Interviewer = Q
Q: Hi Anne, good morning! Can we interview you for our thesis?

A: Yes haha.

Q: Our study is about Philippine heroes. We're developing a 3D tactical role-playing game that aims to
help the user/player to easily recall/remember the heroes in our game.

A: Are there any games the same as yours? Hahaha

Q: Hmmm, in calamba there is none. But we’re not sure in our country. Hahahaha

A: What is 3D Tactical role playing?

Q: When we say role-playing game. It is where you control the character in the game that undertakes a
quest in an imaginary world.

A: Oh really? Hahaha. How do you play? Is it like that I can be Lapu-lapu?

Q: There's a tutorial in game. We are still working on the heroes. The heroes that we will include will
depend on the result of our interviews.

A: Ahhh okay haha.

Q: So, let's start?

A: Sure haha.

Q: Okay, first question. Are you familiar with our Philippine heroes?
A: Yes of course. Hehe.

Q: Can you name at least 5 heroes, Anne?

A: Rizal, Lapu-lapu, Bonifacio, Mabini, Antonio Luna.

Q: Among them, can you tell us your top 3 well-known hero, with their life event that made you
remember them?

A: Si Rizal, Bonifacio at Luna. Because they have movies.

Q: Hahaha. Can you give a specific event that made you remember them? A sentence or phrase is ok.

A: For Rizal, the moment when his back was shot. For Bonifacio, when he ripped the cedulas,
KKK and his machete. Haha. And for Antonio Luna, when he was shot.

Q: I see. Moving on... What learning tool would you easily remember the life story or history of the hero?
Video, book, game, or any source that you know of?

A: Video haha.

Q: Like movies, yeah?

A: Yes that’s it. Haha

Q: Ahh hahaha. Anyway, are you a gamer? Or do you play games, mobile or pc games?

A: No. It’s not my hobby to play, even mobile/pc games.

Q: Ahh. I see. But do you think that games can be an alternative learning tool?

A: Yes of course. There are kids that learned in learning apps of 123 or ABC. Especially kids who
always uses tablet/cp.

Q: I couldn't agree more Anne. hahaha! Even toddlers right? Hahaha

A: Yes yes. I know that for a fact that I kept my eye on my little brother.

Q: Hahahaha! That is all of our questions Anne, do you have any more questions? Clarifications?
Suggestions regarding our game?

A: None. You explained the questions well. I feel that your thesis will be great. It follows with the
modern way of learning. Good luck.

Q: Thanks Anne! Thank you for having us. If you want to try our game, we'll give you a copy. Just
message me in FB. Thanks again!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Abegail Ho’s Interview Transcript

Legend: Abie = A Interviewer = Q


Q: Hello Abie. Good afternoon! Can we interview you for our thesis?

A: Sure.

Q: Thanks Abie! Our study is about Philippine heroes. We're developing a 3d RPG that aims to help
user/player to easily remember/recall the hero.

A: What to do, what is RPG?

Q: Uhm, RPG or role playing game is where you control the character in the game that undertakes a
quest in an imaginary world.

A: I see. Sounds interesting

Q: Hehehe. Let's start with the questions then?

A: Sure. What’s the question?

Q: First question, are you familiar with our Philippine heroes?

A: Slight but not too much

Q: Ahh I see. Can you at least name 5 heroes that you still remember?

A: Jose Rizal, Apolinari Mabini, Gregorio del Pilar, Andres Bonifacio, And Diego Silang
Q: Ah, among those heroes, can you tell us your top 3 well-known hero among them, with their life
event that made you remember them?

A: I remember Jose Rizal, the national hero who wrote the books Noli Me Tangere and El
Filibusterismo to fight Spaniards and to awake the hearts of the Filipinos to fight against
them.
Andres Bonifacio is well known because he is the father of katipunan. He is a revolutionary
leader and founder of KKK which aims to give the Philippines freedom.
Gregorio Del Pilar the hero of Tirad Pass. He sacrifced his life in order for Aguinaldo to
escape.

Q: Oh you still remember Gregorio's. I forgot about that. Ahahah! Moving on to the next question,
what learning tool would you easily remember the life story or history of the hero? Video, book,
game, or any source that you know of?

A: Books, and with help of internet.

Q: Oh I see. Do you play games, may it be mobile or pc?

A: Yes. Both PC and Mobile.

Q: Ah, why do you play? Stress reliever? Bond with friends? Kill time?

A: Stress reliever, and bond with friends.

Q: Uhm, do you think that a game can also be an alternative learning tool?

A: Yes of course.

Q: How so?

A: Because even children nowadays are using gadgets and games to learn. It will be more
interesting for children to learn with the use of Learning tools that show heroes so that in an
early age. They can learn already.

Q: Thank you candidate number 4 for that answer. hahahaha! Well-said Abie! That is all of our
questions. Do you have any clarifications or suggestions regarding our game?

A: Thank you also for your time. Nothing. Good luck!

Q: Thanks again abie! I'll give you a copy of our game when it's finished.

A: Looking forward.

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Randell Christopher Ciceron’s Interview Transcript
Legend: Randell = R Interviewer = Q
Q: Good afternoon bro! Can we interview you for our thesis?

R: Sure

Q: Thanks bro, we're developing a 3d tactical RPG that aims to help the user/player to easily
remember/recall the hero in game by their iconic life event.

R: Ohhh okay okay. That's neat haha since most kids nowadays are not even familiar with
what these heroes did for our country

Q: Yep, you're right bro hahaha! Let' start?

R: Game haha.

Q: Okay, first question, are you familiar with our Philippine heroes?

R: Sort of. I don't remember each of their stories but I think that I'm still familiar with some
of them

Q: Ah I see, can you give us at least 5 heroes that you still remember?

R: Hmmm... Jose Rizal, Andres Bonifacio, Mabini, Luna, and Melchora Aquino. Is Lapu-
lapu considered as one? Haha.

Q: Yes sirrrrooooo! He's our first hero based on books ahaha!

R: Yep yep.
Q: Hahaha! Okay, among those you've mentioned. Tell us your top 3 well-known hero, and with
their iconic life event that made you remember them

R: Well, I'll start off with Lapu-lapu since you already said something about him being the
first Filipino hero. He helped resist the first batch of colonizers. He also defeated Magellan
during that time haha.
Uhhh there's also Andres Bonifacio. The so-called Father of the Philippine Revolution. He
was the leader of KKK, a group which fought for our country's freedom.
Lastly, there's General Antonio Luna. He is known for fighting in the Philippine-American
War. He's also known for writing in La Solidaridad.

Q: Oh wow, well-said sir Randell, Hahaha! Moving on... What learning tool would you easily
remember the life story or history of the hero? Video, book, game, or any source that you know of?

R: In my opinion, it would be easier to be able to remember all of those information either


though a video (a movie perhaps?) or through a game.

Q: Oh yeah, movies, and why game?

R: Yeah. With the advancements in technology nowadays, games are becoming a good way
of telling stories. It helps the player know the character more, experience his or her story,
and at the same time, enjoy what he or she is playing. Movies are almost as good as video
games but games provide more specific details.

Q: Yes, couldn't have said it better bro hahaha! Hmm, you're a gamer right?

R: Yeah hahahaha! Yes, I am.

Q: Ah, why do you play then? To relieve stress? Bond with friends? Any other reason...

R: I play mostly to relax myself. Being a college student, I need time to calm myself down
from all of the stress that I experience at school.

Q: I see. That is all of our questions bro, do you have any questions, clarifications, or suggestions
about our game?

R: Uhhh I think that you should put in some female heroes in the game if you want to make
it as realistic as possible. This is also a good way to show that women also contributed
greatly for our country's freedom.

Q: Well, that will depend on the result of the interviews bro. We'll see hahahaha!

R: Okay okay. Well, that's all, I guess hahaha!

Q: Sure? HAHAHA

R: Yep hahaha!

Q: Ok, thanks again bro. We'll upload the game, and once it's uploaded, ill give you the link for
testing.
R: Sure. No problem, bro. Any time! Kudos to you and your game!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Prince Castillo’s Interview Transcript
Legend: Prince = P Interviewer = Q
Q: Good evening brader. Can we interview you for our thesis? This won't take long. I know you're
exhausted hahaha

P: Okay.

Q: Game, let's start. First question, are you familiar with our Philippine heroes>

P: Yes. Of course.

Q: Oh, can you name at least 5 heroes?

P: Uhm. Jose Rizal , Lapu- Lapu, Antonio Luna, Marcelo H. del Pilar and Melchora Aquino.

Q: Among those heroes, who are your top 3 well-known among them? And tells us the life event that
made you remember them

P: Jose Rizal, Lapu-Lapu and Antonio Luna.


First Jose Rizal was introduced to me since I'm a grade schooler and of course he is our
National Hero.
Second is Lapu- Lapu the first one to resist Spanish Colonization because he defeated
Ferdinand Magellan.
Lastly is Antonio Luna because he was a bad ass and who doesn't want bad ass people? The
life event that made me remember him was when he defended our land even others was mad
at him.
Q: I see. Next question. What learning tool would you easily remember the life story or history of the
hero? Video, book, game, or any source that you know of?

P: Videos on YouTube.

Q: You're a gamer right?

P: Yep.

Q: Do you think that a game can also be an alternative learning tool? If yes, why?

P: Yes because when you are in game we tend to think and because our generation and the
next generation are technology dependent.

Q: Ah I see. Why do you play? For fun? Stress reliever? Any other reason...

P: I play for fun and when my other friends that I don't see very often, in there we can
communicate.

Q: Oh okay, anyway that is all of our questions. Thanks for having us. By the way, we are developing
a 3d tactical role playing game that aims to help the user/player to easily remember/recall the heroes
in our game.

P: No problem man. Anytime!

Q: Thanks again Prince! I'll give you the DL link of the game after we upload it.

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Jeaina Samonte’s Interview Transcript
Legend: Jeaina = J Interviewer = Q
Q: Good evening Jeaina, can we interview you for our thesis, this won't take long. I know you're
sleepy ahaha

J: Yes po, you may.

Q: Yey, thanks! We're developing a 3D tactical role playing game that aims to help the user/player to
easily remember/recall the hero in our game.

J: That seems new for me, so what is role playing game?

Q: Oh, role-playing game is where you control the character in the game that undertakes a quest in
an imaginary world.

J: Oh okay, quite interesting.

Q: Hihihi, let’s start?

J: Sure.

Q: Okaaay, first question: Are you familiar with our Philippine heroes?

J: Yes po.

Q: Ah, can you name at least 5 heroes?

J: Ahm. Jose Rizal, Antonio Luna, Lapulapu, Marcelo del Pilar and Gabriela Silang.
Q: Hmm, among them, who are your top 3 well-known heroes? And tell us also their life event that
made you remember them.

J: Jose Rizal for writing Noli me Tangere that gave spirit for the movement and paved the
way to the revolution against Spain.
Antonio Luna because he was a brilliant, brave soldier and tactician during his revolution.
Lapu-lapu because he and his man defeated and overpowered Spanish force.

Q: I see. On to the next question. Where would you easily remember the life story/history of a hero?
In a video, book, game, or any source that you know of?

J: In a video in a movie because we remember things more easily if our senses have been
exposed on it.

Q: Ahhh. Hmm do you play games? In mobile/pc?

J: Yes po.

Q: Ah, do you think that a game can be an alternative learning tool? If yes, why?

J: Yes because gamification of education is a way to future and a tool that allows the
students/us to take a more active role in learning as they develop the technology skills they
needed to succeed throughout their academic and professional careers.

Q: Thank you for that answer candidate number 5, well-said! Hahaha! By the way, why do you play?
To relieve stress, bond with friends? Any other reason...

J: I guess, games keeps my mind active haha. It increases my problem solving skills,
processing speed and it can boost my memory power.

Q: Oh really now? Hahaha! Okay, Thanks J! That is all of our questions, do you have any
clarifications, or suggestions regarding our game?

J: You're welcome. Make it a skillful game that will broaden cognitive development. As a
graduate on a medical field course, I know 3D environment promotes the growth of neurons
that can lead to increase the size of our hippocanpus. Hippocanpus, part of the brain that is
involved in forming, storing and processing memory.

Q: Awww schooled. Labyu big sis! Hahahahaha! We will upload our game, and I'll give you the DL
link.Thanks again! Good night!

J: Hahahaha thank you din po. Good night!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
ii) Why choose that learning tool?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Anna Marie Bianca Habacon’s Interview Transcript
Legend: Anna = A Interviewer = Q
Q: Goodevening Anna! Can we interview you for our thesis? I know you're beuatiful and charming.
hahaha!

A: Yes, you can. Go ahead. Thanks for the compliment, by the way!

Q: Just kidding ahahahah! Okay first question, are you familiar with our Philippine heroes?

A: Tss. Yes.

Q: Can you name at least 5 heroes?

A: Jose Rizal, Andres Bonifacio, Melchora Aquino, Lapu Lapu, Antonio Luna.

Q: Oh, among them, pick your top 3 well-known hero, and tell us their life event that made you
remember them

A: 1. Jose Rizal - he wrote the famous Noli Me Tangere and El Filibusterismo which stirred
the conscience of his people to fight for their freedom against the Spaniards
2. Lapu Lapu - defeated Magellan, who wanted to colonize the Filipino people under Spain,
in the battle of Mactan.
3. Antonio Luna - a general who bravely fought in the Philippine - American War for the sake
of his countrymen

Q: Okay, uhm, next question. What learning tool would you easily remember the life story or history
of the hero? Video, book, game, or any source that you know of?

A: Books because since elementary up until college, the stories of our brave heroes has
always been tackled in class and taught by our teachers to remind us the dedication of those
people to fight for the love of country and fellow Filipino people for without them, there will
be no freedom and Filipinos would still be oppressed by those other powerful countries such
as Spain and America, who wanted to colonize us.

Q: Well-said! Thanks for that answer contestant number 6 hahahaha! Anyway, do you play games? It
can be mobile/pc.

A: Hahahahaha! Whatever! I don't play games. I'm studious so I don't have time for that.
Kidding! I do play, say mobile games. To kill time.

Q: AHAHAHA! Okay okay. Hmm do you think that a game can also be an alternative learning tool?

A: Yes. Cause nowadays, teens are so into using their phone and learning materials such as
books and PowerPoints might bore them. So yeah, I think a game can be an alternative
learning tool.

Q: Ah I see. Before I forgot, we're developing a 3d tactical role playing game that aims to help t e
user/player to easily remember the heroes in our game.

A: That's good to know. It can be an interactive game not only for the kids to remember our
national heroes but for us, adults, too. It'll be fun and informational in both ways. Way to go!
Good luck team!

Q: That is all of our questions. Do you have any clarifications or suggestions regarding our game?

A: Thanks Anna! Hihihi. Any questions, clarifications, suggestions for our game?

Q: You're welcome. Naaaah! I'm good. Just do your best, cause I really think it will be beneficial.
Rooting for it! Go beshy! Go team.

A: Good night and God bless!

---- End of Interview ----


Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:
1. What kind of method can be used to rekindle the knowledge and idea of the youth of
Calamba City about our Philippine heroes?
i) What learning tool would you easily remember the life story or history of the
hero?
2. How learning tools can promote historical awareness and deeper understanding of the
youth of Calamba City about Philippine heroes?
i) Why choose that learning tool?
ii) Can a game also be an alternative learning tool?
3. What are the benefits of gaming or playing computer games?
i) Why do you play games?
Eros Rodriguez’s interview transcript.
Legend: Eros = E Interviewers = Q
Q: Good morning Eros! Can we interview you for our thesis?

E: Yes of course.

Q: Thanks ahaha. Okay first question, are you familiar with our Philippine heroes?

E: Yes.

Q: Can you name at least 5 heroes?

E: Rizal, Antonio Luna, Lapu-lapu, Apolinario Mabini, Aguinaldo.

Q: Hmm, among the 5, can you tell us your top 3 well-known hero among them, with their life event
that made you remember them?

E: Rizal - El Fili and Noli Me Tangere.


Antonio Luna – Spoliarium.
Lapu-lapu - the first hero of PH islands.

Q: I see, next question… I see, next question... What learning tool would you easily remember the
life story or history of the hero? Video, book, game, or any source that you know of?

E: Books and internet.

Q: Okay. Hmmm.... You're a gamer right?

E: Yep.

Q: Do you think that a game can also be an alternative learning tool? If yes, why?
E: Yes because some games have a connection with the story of heroes, like how they are
willing to sacrifice to save their loved ones or etc.

Q: Ohhh. Can you name a certain game?

E: I think it's the Assassin’s Creed game.

Q: Ah, there are lots of history there right? Each Assassin's Creed game has different history. Great
game.

E: Yup. Different places different history.

Q: So, why do you play? To bond with friends, stress reliever? Any other reason....

E: It's for my stress reliever.

Q: Ahh okay. Thanks Eros! That is all of our questions. By the way, we're developing a 3D tactical
role-playing game that aims to help the user/player to easily remember/recall the heroes in our game

E: Wow that's nice. Thanks also for the chance to answer those questions HAHA.

Q: Do you have any questions? Clarifications, suggestions regarding our game?

E: No it’s all clear.

Q: Here's a sneak peek of our game: https://www.youtube.com/watch?v=Hy0lvkUwirs

E: Wow nice. I’m gonna watch it later.

Q: Ok, thanks again Eros! Have a great day. Hahaha.

---- End of Interview ----


Survey Questionnaire
SYSTEM EVALUATION
Name: _________________________________________
Title: Legend of the Heroes (LOTH): A 3D Tactical Role-Playing Game Using Fuzzy Logic
and Monte Carlo Algorithm
Objective: The general objective of this study is to help the youth to enhance their
knowledge about Philippine heroes and make it easier to remember them.
Statement of the Problem:

4. How can the proposed system be measured using ISO 9126 in terms of:

4.1. Reliability

4.2. Functionality

4.3. Efficiency

4.4. Compatibility

4.5. Usability

Directions: Fill out the questionnaire below by checking the box indicating its
corresponding score.
5 – Srongly Agree 4 – Agree 3 – Undecided 2 – Disagree 1 – Strongly Disagree

Reliability 5 4 3 2 1
1. The game runs with no errors and/or any bugs.

2. The cinematics are inspired on the iconic life event of the


hero.
3. There are appropriate messages for every achievements
or moves achieved/performed by the user.
Functionality
1. The game is not only educational but recreational.

2. The game is challenging and exciting in terms of


gameplay.

3. The game stimulates curiosity which makes the user’s


eagerness to keep on playing.
4. There are appropriate sound effects that responds to each
activity.
5. All controls are working according to user’s expectations.
Efficiency
1. The game improves the knowledge of the user about
Philippine heroes.
2. The game is suitable for educational purposes.

3. The game promotes fun and enjoyment.

4. The game can be used as an alternative learning tool for


studying Philippine heroes.
Compatibility
1. The screen resolution of the game is compatible with the
user’s monitor resolution.
Usability
1. The game is user friendly based on its ease of controls.
2. The game’s interface is appealing to the eye of the user.

3. The game’s graphics conforms to the modern day


aesthetics.

4. The game is not difficult to play with and it is possible to


be finished by the user.
User’s Manual
LOTH: Installation Guide

Step 1: Mount/Insert the CD in the CD-ROM, and locate ‘LOTH Installer.exe’.


Double click to run the installer.

Step 2: A window will appear like the one shown above. Click next.
Step 3: On the next window, select the desired directory/location where to install
the game.

Step 4: Afterwards, a confirmation window will appear. Click start.


Step 5: Then, wait for the program to finish installing the game.

Step 6: Once the installation is done, a confirmation window will appear that the
program is successfully installed.
Step 7: To determine if the installation is completed, a confirmation window will
appear as shown above.

How to Start Playing the Game

Step 1: Locate the folder ‘Legend of the Heroes’ as what is shown above.
Step 2: Search ‘Legend of the Heroes.exe’ file and then double click.

Step 3: A configuration window will appear where the user can adjust graphics
as shown above. The user can also play the game in window or full screen
mode.
Step 4: After adjusting the graphics, the main menu will appear.
The user can immediately start playing the game, go to options, or exit the game.
Step 5: After clicking the play button, the game will direct to the hero selection.
The user can choose among Antonio Luna, Rizal, or Lapu-lapu to play.
User Interface Guide

1. Character Level
2. Health Bar
3. Map
4. Target Switch
5. Objective
6. Skills
7. Bag/Inventory
8. Settings
Map Guide

Red Dot = Hero’s location


White Dot = Flag/Checkpoint Location
Inventory Window
Skills Window
Options

Controls
Relevant Source Code
//Camera_Movement using System.Collections;
using UnityEngine; using UnityEngine.UI;
using System.Collections; using UnityEngine.SceneManagement;

public class camera_movement : MonoBehaviour public class lapulapu : MonoBehaviour


{ {
public Transform player_cam, center_point; public RawImage death;
public float distance, max_height, min_height, public RawImage playergothit;
orbiting_speed, vertical_speed; public Slider healthbar;
float height; public int health = 100;
AudioSource myaudio;
void Update(){ public Rigidbody rgb;
public AudioClip[] audioClip;
if(Input.GetAxis("Mouse ScrollWheel")>0) private GameObject lapu,MaII;
{ AttackControl ac;
if (distance == 5) {distance = 5;} shield s;
else {distance--;} private GameObject
} EnemyDmg,deadnote,LoadandNewO,playercam;
Enemydamage ed;
if(Input.GetAxis("Mouse public int enemydmg=0;
ScrollWheel")<0) public ParticleSystem hit;
{ public ParticleSystem shieldE;
if (distance == 10) public bool isdead;
{distance = 10;} public Rigidbody lapurig;
else {distance++;} OpenOption oo;
} public float totalhp=0;
private Animator gothitanim,anim;
center_point.position =
gameObject.transform.position + new // Use this for initialization
Vector3(0,1.57f,0); void Start()
center_point.eulerAngles += new Vector3(0, {
Input.GetAxis("Mouse X") * Time.deltaTime * gothitanim =
orbiting_speed, 0); playergothit.GetComponent<Animator> ();
height -= Input.GetAxis("Mouse Y") * playercam = GameObject.Find ("PlayerCam");
Time.deltaTime * vertical_speed; deadnote = GameObject.Find ("dead");
height = deadnote.SetActive (false);
Mathf.Clamp(height,min_height,max_height); shieldE.GetComponent<ParticleSystem> ();
} EnemyDmg = GameObject.Find
("Enemies");
void LateUpdate() ed =
{ EnemyDmg.GetComponent<Enemydamage> ();
player_cam.position = center_point.position hit.GetComponent<ParticleSystem> ();
+ Vector3.up * height + center_point.forward * -1 rgb = GetComponent<Rigidbody> ();
* distance; death.GetComponent<RawImage>();
player_cam.LookAt(center_point); gameObject.SetActive(true);
} anim = GetComponent<Animator>();
} lapu = GameObject.Find ("lapulapu");
ac =
//Lapu- Lapu Health Settings and Audio lapu.GetComponent<AttackControl> ();
Settings s = lapu.GetComponent<shield> ();
lapurig = GetComponent<Rigidbody>
using UnityEngine; ();
} {
if (healthbar.value < 0)
IEnumerator loadmenu(){ {isdead = true;}
gothitanim.Play ("gothit");
anim.Play ("dead"); anim.Play ("gethit");
deadnote.SetActive (true); PlaySound (0);
lapurig.constraints = hit.Play ();
RigidbodyConstraints.FreezeAll; health = health - 6;
yield return new WaitForSeconds (5); healthbar.value = health;
deadnote.SetActive (false); Debug.Log ("HIT");
}
}
if (col.gameObject.name == "ms3attack")
// Update is called once per frame {
void Update() if (healthbar.value < 0) {isdead = true;}
{
if(isdead==true){StartCoroutine gothitanim.Play
(loadmenu());} ("gothit");
anim.Play ("gethit");
} PlaySound (0);
hit.Play ();
IEnumerator playdead() health = health - 15;
{ healthbar.value =
yield return new WaitForSeconds(.3f); health;
PlaySound(2); Debug.Log ("HIT");
yield return new WaitForSeconds(4); }
SceneManager.LoadScene(0);
} if (col.gameObject.name == "ms4attack")
{
void PlaySound(int clip) if (healthbar.value < 0) {isdead = true;}
{ gothitanim.Play ("gothit");
myaudio = GetComponent<AudioSource>(); anim.Play ("gethit");
myaudio.clip = audioClip[clip]; PlaySound (0);
myaudio.Play(); hit.Play ();
} health = health - 25;
healthbar.value =
void OnTriggerEnter(Collider col) health;
{ Debug.Log ("HIT");
if (healthbar.value > 0) { }}
if (col.gameObject.name == else {isdead = true;}
"ms1attack")
{ }
if (healthbar.value < 0)
{isdead = true;} void OnTriggerExit()
gothitanim.Play {
("gothit"); if (healthbar.value < 0) {isdead = true;}
anim.Play ("gethit"); }
PlaySound (0);
hit.Play (); }
health = health - 2;
healthbar.value = //Second Skill of Lapu
health;
Debug.Log ("HIT"); using UnityEngine;
} using System.Collections;

if (col.gameObject.name == public class Lapu2ndSkill : MonoBehaviour {


"ms2attack") Vector3 direction;
private Animator anim; }
int randomInt = 0; foreach (GameObject target in targets) {
GameObject[] targets;
int x=0; if (target.gameObject==true) {
private GameObject msihitbox;
Rigidbody lapusoldier; if (Vector3.Distance (target.transform.position,
// Use this for initialization this.transform.position) < 5) {
void Start () { direction = target.transform.position -
lapusoldier = this.transform.position;
GetComponent<Rigidbody> (); this.transform.rotation =
anim = Quaternion.Slerp (this.transform.rotation,
GetComponent<Animator> (); Quaternion.LookRotation (direction), 0.1f);
anim.SetBool ("attackon",true); anim.SetBool ("Idle", false);
StartCoroutine (delaydestroy());
msihitbox = GameObject.Find if (direction.magnitude < 2.5) {
("allyhit"); lapusoldier.constraints =
RigidbodyConstraints.FreezeAll;
msihitbox.gameObject.SetActive (false); randomInt =
} Random.Range (0, 4);
anim.SetBool
IEnumerator delaydestroy(){ ("isattacking", true);
yield return new WaitForSeconds (10f); anim.SetBool
Destroy (gameObject); ("iswalking", false);
}
anim.SetInteger ("strafewalk",
IEnumerator delayhit(){ randomInt);}
msihitbox.gameObject.SetActive (false);
yield return new WaitForSeconds (0.1f); else {lapusoldier.constraints =
msihitbox.gameObject.SetActive (true); RigidbodyConstraints.FreezeRotation;
}
anim.SetBool ("Idle", false);
// Update is called once per frame
anim.SetBool ("iswalking", true);
void Update () {
lapusoldier.constraints = anim.SetBool ("isattacking", false);}}}}}}
RigidbodyConstraints.FreezeRotation;
//Lapu Attack Controls
if (anim.GetCurrentAnimatorStateInfo
(0).normalizedTime > 0.6) using UnityEngine;
{msihitbox.gameObject.SetActive (false);} using System.Collections;
using UnityEngine.UI;
else if (anim.GetCurrentAnimatorStateInfo
(0).IsName ("slash1")) public class AttackControl : MonoBehaviour {
{StartCoroutine (delayhit ());} private GameObject enemy;
public int damage =0;
targets = private GameObject lapusold,
GameObject.FindGameObjectsWithTag hitboxes,trail1,trail2,trail3,blockhitbox,mob1,mob2
("EnemyTarget"); ,mob3,mob4,mob5;
if(targets!=null){ public Collider[] attackhitboxes;
Debug.Log (" No Enemies Detected"); public ParticleSystem effect1;
anim.SetBool public ParticleSystem effect2;
("iswalking", false); public ParticleSystem rage;
anim.SetBool public int randomdamage;
("isattacking", false); public ParticleSystem skill2;
anim.SetBool ("Idle", public ParticleSystem skill3;
true); private GameObject targeteffect;
public GameObject lapusoldier,skilllocate;
Animator anim, enemyanim; trail2.SetActive (false);
public int type =0; trail3.SetActive (false);
magellan m; mob1 = GameObject.Find
ms1 smob1; ("ms1");
AudioSource myaudio; mob2 = GameObject.Find
public AudioClip[] audioClip; ("ms2");
public double impactTime; mob3 = GameObject.Find
private GameObject PlayerMapLocCube; ("ms3");
public bool impacted, mob4 = GameObject.Find
skill1ison,skill3ison,shieldattack; ("ms4");
public int skill1damage, skill3damage; mob4 = GameObject.Find
//Targetting ("ms5");
GameObject lapucomp,targetcube; anim =
private bool istargetlocked, this.GetComponent<Animator> ();
isskilling,locktarget;
public bool mainon,secon,weaponon; effect1.GetComponent<ParticleSystem>
UnityStandardAssets.Characters.ThirdPer ();
son.ThirdPersonCharacter tpc;
GameObject[] target; effect2.GetComponent<ParticleSystem>
int x=0; ();
UIManager um;
private GameObject skill2.GetComponent<ParticleSystem>
MainCanvas,defaultlookat; ();
private GameObject lapuweapon;
public Rigidbody lapurig; skill3.GetComponent<ParticleSystem>
IKHands ik; ();

// Use this for initialization rage.GetComponent<ParticleSystem> ();


void Start () { ik.enabled = false;
//weapons PlayerMapLocCube =
weaponon = false; GameObject.Find ("PlayerCubeLocation");
secon = true; targetcube = GameObject.Find
mainon = false; ("Target");
lapurig = hitboxes = GameObject.Find
GetComponent<Rigidbody> (); ("slash");
defaultlookat = GameObject.Find blockhitbox =
("LookatPlayer"); GameObject.Find ("blockcube");
MainCanvas = hitboxes.gameObject.SetActive
GameObject.Find ("MainCanvas"); (false);
um = blockhitbox.SetActive (false);
MainCanvas.GetComponent<UIManager> (); Destroy (mob1);
lapucomp = GameObject.Find Destroy (mob2);
("lapulapu"); Destroy (mob3);
ik = Destroy (mob4);
lapucomp.GetComponent<IKHands>(); Destroy (mob5);
tpc = }
lapucomp.GetComponent<UnityStandardAssets.C
haracters.ThirdPerson.ThirdPersonCharacter> (); public IEnumerator skill1effect(){
skilllocate = GameObject.Find skill1ison = true;
("SkillLocation"); rage.Play ();
trail1 = GameObject.Find anim.Play ("skill1start");
("Trail1"); yield return new
trail2 = GameObject.Find WaitForSeconds (1);
("Trail2"); skill1damage = 5;
trail3 = GameObject.Find blockhitbox.SetActive (false);
("Trail3"); trail1.SetActive (true);
trail1.SetActive (false); anim.Play ("skill1a1");
Quaternion.Euler (new
StartCoroutine (delayhit1 ()); Vector3(0,this.transform.localEulerAngles.y,0));
effect1.transform.position = trail1.SetActive (true);
new Vector3 anim.Play ("skill1a1");
(skilllocate.transform.position.x,skilllocate.transfor StartCoroutine (delayhit1 ());
m.position.y,skilllocate.transform.position.z); effect1.transform.position =
effect1.Play (); new Vector3
PlaySound (0); (skilllocate.transform.position.x,skilllocate.transfor
yield return new m.position.y,skilllocate.transform.position.z);
WaitForSeconds (.5f); effect1.Play ();
blockhitbox.SetActive (false); PlaySound (0);
this.transform.rotation = yield return new
Quaternion.Euler (new WaitForSeconds (.5f);
Vector3(0,this.transform.localEulerAngles.y,0)); blockhitbox.SetActive (false);
anim.Play ("skill1a2"); this.transform.rotation =
StartCoroutine (delayhit1 ()); Quaternion.Euler (new
trail1.SetActive (true); Vector3(0,this.transform.localEulerAngles.y,0));
effect2.transform.position = anim.Play ("skill1a2");
new Vector3 StartCoroutine (delayhit1 ());
(skilllocate.transform.position.x,skilllocate.transfor trail1.SetActive (true);
m.position.y,skilllocate.transform.position.z); effect2.transform.position =
effect2.Play (); new Vector3
PlaySound (1); (skilllocate.transform.position.x,skilllocate.transfor
yield return new m.position.y,skilllocate.transform.position.z);
WaitForSeconds (.5f); effect2.Play ();
blockhitbox.SetActive (false); PlaySound (1);
this.transform.rotation = isskilling = true;
Quaternion.Euler (new yield return new
Vector3(0,this.transform.localEulerAngles.y,0)); WaitForSeconds (.8f);
trail1.SetActive (true); blockhitbox.SetActive (false);
anim.Play ("skill1a1"); trail1.SetActive (false);
StartCoroutine (delayhit1()); lapurig.constraints =
effect1.transform.position = RigidbodyConstraints.FreezeRotation;
new Vector3 isskilling = false;
(skilllocate.transform.position.x,skilllocate.transfor blockhitbox.SetActive (false);
m.position.y,skilllocate.transform.position.z); skill1ison = false;
effect1.Play (); skill1damage = 0;
PlaySound (0); }
yield return new
WaitForSeconds (.5f); public IEnumerator skill2effect(){
blockhitbox.SetActive (false);
this.transform.rotation = isskilling = true;
Quaternion.Euler (new lapurig.constraints =
Vector3(0,this.transform.localEulerAngles.y,0)); RigidbodyConstraints.FreezeAll;
anim.Play ("skill1a2"); this.transform.rotation =
StartCoroutine (delayhit1 ()); Quaternion.Euler (new
trail1.SetActive (true); Vector3(0,this.transform.localEulerAngles.y,0));
effect2.transform.position = Instantiate (lapusoldier, new
new Vector3 Vector3 (this.transform.position.x,
(skilllocate.transform.position.x,skilllocate.transfor this.transform.position.y,this.transform.position.z-
m.position.y,skilllocate.transform.position.z); 1.5f), Quaternion.identity);
effect2.Play (); Instantiate (lapusoldier, new
PlaySound (1); Vector3 (this.transform.position.x+0.5f,
yield return new this.transform.position.y,this.transform.position.z-
WaitForSeconds (.5f); 1.5f), Quaternion.identity);
blockhitbox.SetActive (false); skill2.Play ();
this.transform.rotation = skill2.transform.position = new
Vector3
(this.transform.position.x,0.8f+this.transform.posit IEnumerator delayhit1(){
ion.y,this.transform.position.z); isskilling = true;
yield return new lapurig.constraints =
WaitForSeconds (0); RigidbodyConstraints.FreezeAll;
lapurig.constraints = this.transform.rotation =
RigidbodyConstraints.FreezeRotation; Quaternion.Euler (new
isskilling = false; Vector3(0,this.transform.localEulerAngles.y,0));
} yield return new
WaitForSeconds (0.2f);
public IEnumerator skill3effect(){ hitboxes.gameObject.SetActive
skill3damage = 10; (true);
skill3ison = true; yield return new
isskilling = true; WaitForSeconds (0);
lapurig.constraints = hitboxes.gameObject.SetActive
RigidbodyConstraints.FreezeAll; (false);
this.transform.rotation = lapurig.constraints =
Quaternion.Euler (new RigidbodyConstraints.FreezeRotation;
Vector3(0,this.transform.localEulerAngles.y,0)); isskilling = false;
trail3.SetActive (true); skill3damage = 0;
anim.Play ("skill3a1"); }
StartCoroutine (delayhit2 ());
skill3.transform.position = new IEnumerator delayhit2(){
Vector3 isskilling = true;
(skilllocate.transform.position.x,skilllocate.transfor lapurig.constraints =
m.position.y,skilllocate.transform.position.z); RigidbodyConstraints.FreezeAll;
skill3.Play (); this.transform.rotation =
yield return new WaitForSeconds (0.4f); Quaternion.Euler (new
PlaySound (0); Vector3(0,this.transform.localEulerAngles.y,0));
yield return new yield return new
WaitForSeconds (1.2f); WaitForSeconds (0.5f);
trail3.SetActive (false); hitboxes.gameObject.SetActive
lapurig.constraints = (true);
RigidbodyConstraints.FreezeRotation; yield return new
isskilling = false; WaitForSeconds (0);
skill3ison = false; hitboxes.gameObject.SetActive
} (false);
lapurig.constraints =
IEnumerator normalattack(){ RigidbodyConstraints.FreezeRotation;
isskilling = true; isskilling = false;
lapurig.constraints = }
RigidbodyConstraints.FreezeAll; // Update is called once per frame
this.transform.rotation = void Update () {
Quaternion.Euler (new if (anim.GetBool ("LockTarget") == true
Vector3(0,this.transform.localEulerAngles.y,0)); || anim.GetBool ("battlemode") == true){
yield return new if (ik.enabled == false)
WaitForSeconds (0); {ik.enabled = true;}}
hitboxes.gameObject.SetActive else {
(true); if(ik.enabled == true){ik.enabled = false;}
yield return new }
WaitForSeconds (0); if(skill1ison==true ||
hitboxes.gameObject.SetActive skill3ison==true ){
(false); if(ik.enabled ==
lapurig.constraints = true){ik.enabled = false;}
RigidbodyConstraints.FreezeRotation; }
isskilling = false;
} if(
anim.GetBool("isinvenmode")==true && ("slash2") || anim.GetCurrentAnimatorStateInfo
anim.GetBool("battlemode")==true){ (0).IsName ("shieldattack"))) {StartCoroutine
lapurig.constraints = (normalattack ());}
RigidbodyConstraints.FreezeAll;
} else if
(anim.GetCurrentAnimatorStateInfo (0).IsName
if(skill1ison==true || ("gethit")) {
skill3ison==true || impacted = false;
anim.GetBool("isinvenmode")==true){
lapurig.constraints = hitboxes.gameObject.SetActive (false);
RigidbodyConstraints.FreezeAll; }
} //TARGET

if(skill1ison ==false || target =


!skill3ison ==false || GameObject.FindGameObjectsWithTag
anim.GetBool("isinvenmode")==false){ ("EnemyTarget");
lapurig.constraints = //IFTARGETLOCKED
RigidbodyConstraints.FreezeRotation;
} if (Input.GetKeyDown
(KeyCode.Tab)) {
if(weaponon ==
PlayerMapLocCube.transform.position = false){weaponon = true;}
this.transform.position; anim.SetBool
("battlemode",true);
// HITBOXES..............................................
Attackdamage (); if(anim.GetBool("battlemode")==true){
tpc.m_MoveSpeedMultiplier = 2.5f;}
if istargetlocked = true;
(anim.GetCurrentAnimatorStateInfo this.transform.rotation
(0).normalizedTime >=0 && = Quaternion.Euler (new
(anim.GetCurrentAnimatorStateInfo (0).IsName Vector3(0,this.transform.localEulerAngles.y,0));
("slash") um.lockontext.text=
"LOCK TARGET: ON";
||anim.GetCurrentAnimatorStateInfo }
(0).IsName ("slash2") ||
anim.GetCurrentAnimatorStateInfo (0).IsName if (Input.GetKeyDown
("shieldattack")) ) {if(ik.enabled == (KeyCode.R) && (!skill1ison && !skill3ison)) {
true){ik.enabled = false;}} if(weaponon ==
true){weaponon = false;}
if
(anim.GetCurrentAnimatorStateInfo if (mainon == true
(0).normalizedTime < 0.24 && &&secon == false) {secon = true;mainon =
(anim.GetCurrentAnimatorStateInfo (0).IsName false;}
("slash")
this.transform.rotation
||anim.GetCurrentAnimatorStateInfo = Quaternion.Euler (new
(0).IsName ("slash2") || Vector3(0,this.transform.localEulerAngles.y,0));
anim.GetCurrentAnimatorStateInfo (0).IsName anim.SetBool
("shieldattack")) ) {PlaySound (0);} ("battlemode",false);

if if(anim.GetBool("battlemode")==false){t
(anim.GetCurrentAnimatorStateInfo pc.m_MoveSpeedMultiplier = 1.5f;}
(0).normalizedTime > 0.45 && um.lockontext.text=
(anim.GetCurrentAnimatorStateInfo (0).IsName "LOCK TARGET: OFF";
("slash") anim.SetBool
|| ("LockTarget",false);
anim.GetCurrentAnimatorStateInfo (0).IsName istargetlocked = false;
(0).normalizedTime < 1) &&
tpc.m_MoveSpeedMultiplier = 1.5f; (anim.GetCurrentAnimatorStateInfo (0).IsName
targetcube.SetActive ("slash2") ||anim.GetCurrentAnimatorStateInfo
(false); (0).IsName
("slash")||anim.GetCurrentAnimatorStateInfo
targetcube.transform.position = new (0).IsName ("shieldattack") || skill1ison==true )
Vector3 (0,0,0); ){
this.transform.LookAt
} (target [x].transform.position);
if ((target [x].gameObject.name == "ms1(Clone)" lapurig.constraints =
|| target [x].gameObject.name == "ms2(Clone)" RigidbodyConstraints.FreezeAll;}
||target [x].gameObject.name == "ms3(Clone)" targetcube.SetActive
|| target [x].gameObject.name == (true);
"ms5(Clone)"|| target [x].gameObject.name ==
"ms4(Clone)" || target [x].gameObject.name == targetcube.transform.position = new
"MiniBoss1" || target [x].gameObject.name == Vector3 (target [x].transform.position.x, target
"MiniBoss2")&& Vector3.Distance (target [x].transform.position.y + 2.2f, target
[x].transform.position, this.transform.position) < [x].transform.position.z);
9) {} anim.SetBool ("LockTarget", true);
else {this.transform.rotation = Quaternion.Euler
(new tpc.m_MoveSpeedMultiplier = 2.5f;
Vector3(0,this.transform.localEulerAngles.y,0)); um.lockontext.text = "LOCK TARGET: ON";
um.lockontext.text = if (Input.GetKeyDown (KeyCode.R) &&
"LOCK TARGET: OFF"; (!skill1ison && !skill3ison)) {
targetcube.SetActive if (weaponon == true)
(false); {weaponon = false;}
if (mainon == true
targetcube.transform.position = new && secon == false) {secon = true;mainon =
Vector3 (0, 0, 0); false;}
if (x == 14) {x = 0;} this.transform.rotation = Quaternion.Euler (new
else {x++;}} Vector3 (0, this.transform.localEulerAngles.y, 0));
if (istargetlocked == true) { um.lockontext.text = "LOCK TARGET: OFF";
um.lockontext.text = "LOCK TARGET: ON"; istargetlocked = false;
if (Input.GetKeyDown (KeyCode.Tab)) { anim.SetBool
("LockTarget", false);
if(weaponon == false){weaponon = true;}
tpc.m_MoveSpeedMultiplier = 1.5f;
if (mainon == false &&secon == true) { targetcube.SetActive
secon = false;mainon = true;} (false);
um.lockontext.text= "LOCK TARGET: ON";
targetcube.transform.position = new
if (x == 14) {x = 0;} else {x++;}} Vector3 (0, 0, 0);
}
if ((target [x].gameObject.name == "ms1(Clone)" }}
|| target [x].gameObject.name == "ms2(Clone)" else {
||target [x].gameObject.name == "ms3(Clone)" this.transform.rotation = Quaternion.Euler (new
|| target [x].gameObject.name == "ms5(Clone)" Vector3(0,this.transform.localEulerAngles.y,0));
|| target [x].gameObject.name == "ms4(Clone)" um.lockontext.text= "LOCK TARGET: OFF";
|| target [x].gameObject.name == "MiniBoss1" targetcube.SetActive (false);
|| target [x].gameObject.name == "MiniBoss2") targetcube.transform.position = new Vector3
&& Vector3.Distance (target (0,0,0);
[x].transform.position, this.transform.position) < istargetlocked = false;
9) { }
}
if((anim.GetCurrentAnimatorStateInfo
(0).normalizedTime > 0 void Attackdamage(){
&&anim.GetCurrentAnimatorStateInfo
if (Input.GetMouseButtonDown (0) && public List<Skill> skills;
!skill1ison && !skill3ison && void Start(){
anim.GetBool("isinvenmode")==false && ac = GetComponent<AttackControl> ();
weaponon ) { }
randomdamage = Random.Range (1, 4); void FixedUpdate(){
type = 1; if(Input.GetKeyDown("1")){

anim.SetInteger ("attacktype", 1); if (skills [0].currentcooldown >= skills


[0].cooldown) {
//Launchattack (attackhitboxes [0]); if(!ac.skill3ison && ac.weaponon){skills
anim.SetBool [0].currentcooldown = 0;
("block", false); StartCoroutine (ac.skill1effect ());
}
if }
(anim.GetCurrentAnimatorStateInfo }
(0).normalizedTime > 0.6 && if(Input.GetKeyDown("2")){
anim.GetCurrentAnimatorStateInfo (0).IsName if (skills [1].currentcooldown >= skills
("slash")) {type = 2;anim.SetInteger ("attacktype", [1].cooldown) {
2);} skills [1].currentcooldown = 0;
if StartCoroutine (ac.skill2effect ());}}
(anim.GetCurrentAnimatorStateInfo if(Input.GetKeyDown("3")){
(0).normalizedTime > 0.1 && if (skills [2].currentcooldown >= skills
anim.GetCurrentAnimatorStateInfo (0).IsName [2].cooldown) {
("slash2")) {type = 3;anim.SetInteger if (!ac.skill1ison && ac.weaponon) {
("attacktype", 3);} skills [2].currentcooldown = 0;
if (type == 1 StartCoroutine (ac.skill3effect ());}}}}
|| type == 0) {damage = 1;anim.Play ("slash");}
if (type == 2) void Update(){
{ damage = 1;anim.Play ("slash2");} foreach (Skill s in skills) {
} if (s.currentcooldown < s.cooldown) {
s.currentcooldown += Time.deltaTime;
if (Input.GetMouseButtonDown (1)&& s.skillicon.fillAmount = s.currentcooldown /
(!skill1ison ||!skill3ison) && weaponon ) { s.cooldown;}}}
shieldattack = true; [System.Serializable]
damage = 1; public class Skill{
anim.Play public float cooldown;
("shieldattack"); public Image skillicon;
} public float currentcooldown;
} }}
//Cursor Hide Settings
void PlaySound(int clip)
{ using UnityEngine;
myaudio = using System.Collections;
GetComponent<AudioSource>(); using System.Collections.Generic;
myaudio.clip = audioClip[clip];
myaudio.Play(); public class CursorHideShow : MonoBehaviour {
} bool isLocked;
} public Texture2D cursorTexture;
public bool onEnabled;
//Lapu Skill Cooldowns
// Use this for initialization
using UnityEngine; void Start () {
using UnityEngine.UI; SetCursorLock (true);
using System.Collections; this.onEnabled = true;
using System.Collections.Generic; SetCustomCursor ();}
public class SkillCooldown : MonoBehaviour {
AttackControl ac; // Update is called once per frame
void Update () { float m_ForwardAmount;
if(Input.GetKeyDown(KeyCode.Escape) Vector3 m_GroundNormal;
){ float m_CapsuleHeight;
SetCursorLock (!isLocked);this.onEnabled = Vector3 m_CapsuleCenter;
false;}} CapsuleCollider m_Capsule;
bool m_Crouching;
void SetCursorLock(bool isLocked){
this.isLocked = isLocked;
Screen.lockCursor = isLocked; void Start()
Cursor.visible = !isLocked; {
}
m_Animator =
private void SetCustomCursor(){ GetComponent<Animator>();
Cursor.SetCursor (this.cursorTexture, m_Rigidbody =
Vector2.zero, CursorMode.Auto); GetComponent<Rigidbody>();
this.onEnabled = true;}} m_Capsule =
GetComponent<CapsuleCollider>();
//ThirdPersonJump and Ground Detection m_CapsuleHeight =
m_Capsule.height;
using UnityEngine; m_CapsuleCenter =
m_Capsule.center;
namespace
UnityStandardAssets.Characters.ThirdPerson
{ m_Rigidbody.constraints =
[RequireComponent(typeof(Rigidbody))] RigidbodyConstraints.FreezeRotationX |
[RequireComponent(typeof(CapsuleColli RigidbodyConstraints.FreezeRotationY |
der))] RigidbodyConstraints.FreezeRotationZ;
[RequireComponent(typeof(Animator))]
public class ThirdPersonCharacter : m_OrigGroundCheckDistance =
MonoBehaviour m_GroundCheckDistance;
{ }
[SerializeField] float
m_MovingTurnSpeed = 360; public void Move(Vector3
[SerializeField] float move, bool crouch, bool jump)
m_StationaryTurnSpeed = 180; {
[SerializeField] float
m_JumpPower = 12f; // convert the world
[Range(1f, 4f)][SerializeField] relative moveInput vector into a local-relative
float m_GravityMultiplier = 2f; // turn amount and
[SerializeField] float forward amount required to head in the desired
m_RunCycleLegOffset = 0.2f; //specific to the // direction.
character in sample assets, will need to be modified if (move.magnitude >
to work with others 1f) move.Normalize();
[SerializeField]public float move =
m_MoveSpeedMultiplier = 1f; transform.InverseTransformDirection(move);
[SerializeField] float CheckGroundStatus();
m_AnimSpeedMultiplier = 1f; move =
[SerializeField] float Vector3.ProjectOnPlane(move,
m_GroundCheckDistance = 0.1f; m_GroundNormal);
m_TurnAmount =
Rigidbody m_Rigidbody; Mathf.Atan2(move.x, move.z);
Animator m_Animator; m_ForwardAmount =
bool m_IsGrounded; move.z;
float
m_OrigGroundCheckDistance;
const float k_Half = 0.5f; ApplyExtraTurnRotation();
float m_TurnAmount;
// control and velocity m_Capsule.radius * k_Half;
handling is different when grounded and airborne:
if (m_IsGrounded) if (Physics.SphereCast(crouchRay,
{HandleGroundedMovement(crouch, m_Capsule.radius * k_Half, crouchRayLength,
jump);} Physics.AllLayers,
else{HandleAirborneMovement();} QueryTriggerInteraction.Ignore)){

ScaleCapsuleForCrouching(crouch); m_Crouching = true;


}}}
PreventStandingInLowHeadroom();
void UpdateAnimator(Vector3 move)
// send input and {
other state parameters to the animator // update the animator parameters
UpdateAnimator(move);
} m_Animator.SetFloat("Forward",
m_ForwardAmount, 0.1f, Time.deltaTime);
void ScaleCapsuleForCrouching(bool crouch)
{ m_Animator.SetFloat("Turn",
if (m_IsGrounded && crouch) m_TurnAmount, 0.1f, Time.deltaTime);
{ m_Animator.SetBool("OnGround",
if (m_Crouching) return; m_IsGrounded);
m_Capsule.height = m_Capsule.height / if (!m_IsGrounded)
2f; {
m_Capsule.center = m_Capsule.center / m_Animator.SetFloat("Jump",
2f; m_Rigidbody.velocity.y);
m_Crouching = true;} }
else{
Ray crouchRay = new Ray(m_Rigidbody.position // calculate which leg is behind, so as to leave that
+ Vector3.up * m_Capsule.radius * k_Half, leg trailing in the jump animation
Vector3.up); // (This code is reliant on the specific run cycle
float crouchRayLength = m_CapsuleHeight - offset in our animations,
m_Capsule.radius * k_Half; // and assumes one leg passes the other at the
normalized clip times of 0.0 and 0.5)
if (Physics.SphereCast(crouchRay, float runCycle =Mathf.Repeat(
m_Capsule.radius * k_Half, crouchRayLength, m_Animator.GetCurrentAnimatorStateIn
Physics.AllLayers, fo(0).normalizedTime + m_RunCycleLegOffset,
QueryTriggerInteraction.Ignore)){ 1);
float jumpLeg = (runCycle < k_Half ? 1 : -1) *
m_Crouching = true; m_ForwardAmount;
return; if (m_IsGrounded){
}
m_Animator.SetFloat("JumpLeg",
m_Capsule.height = m_CapsuleHeight; jumpLeg);
m_Capsule.center = m_CapsuleCenter; }
m_Crouching = false;
}} // the anim speed multiplier allows the overall
speed of walking/running to be tweaked in the
void PreventStandingInLowHeadroom() inspector,
{ // which affects the movement speed because of
// prevent standing up in crouch-only zones the root motion.
if (!m_Crouching) if (m_IsGrounded && move.magnitude > 0)
{ {
Ray crouchRay = new Ray(m_Rigidbody.position
+ Vector3.up * m_Capsule.radius * k_Half, m_Animator.speed =
Vector3.up); m_AnimSpeedMultiplier;
float crouchRayLength = m_CapsuleHeight - }
else
{ if (m_IsGrounded && Time.deltaTime > 0)
// don't use that while airborne {
m_Animator.speed = 1;
} Vector3 v = (m_Animator.deltaPosition *
} m_MoveSpeedMultiplier ) / Time.deltaTime;

void HandleAirborneMovement() // we preserve the existing y part of the current


{ velocity.
// apply extra gravity from multiplier: v.y = m_Rigidbody.velocity.y;
Vector3 extraGravityForce = (Physics.gravity *
m_GravityMultiplier) - Physics.gravity; m_Rigidbody.velocity = v;

m_Rigidbody.AddForce(extraGravityFor }
ce); }

m_GroundCheckDistance = void CheckGroundStatus()


m_Rigidbody.velocity.y < 0 ? {
m_OrigGroundCheckDistance : 0.01f; RaycastHit hitInfo;
} #if UNITY_EDITOR
// helper to visualise the ground check ray in the
void HandleGroundedMovement(bool crouch, scene view
bool jump){
// check whether conditions are right to allow a Debug.DrawLine(transform.position +
jump: (Vector3.up * 0.1f), transform.position +
(Vector3.up * 0.1f) + (Vector3.down *
if (jump && !crouch && m_GroundCheckDistance));
m_Animator.GetCurrentAnimatorStateInfo(0).IsN #endif
ame("Grounded")){ // 0.1f is a small offset to start the ray from inside
// jump! the character
// it is also good to note that the transform
m_Rigidbody.velocity = new position in the sample assets is at the base of the
Vector3(m_Rigidbody.velocity.x, m_JumpPower, character
m_Rigidbody.velocity.z);
m_IsGrounded = false; if (Physics.Raycast(transform.position +
(Vector3.up * 0.1f), Vector3.down, out hitInfo,
m_Animator.applyRootMotion = false; m_GroundCheckDistance)){

m_GroundCheckDistance = 0.1f; m_GroundNormal = hitInfo.normal;


}} m_IsGrounded = true;

void ApplyExtraTurnRotation(){ m_Animator.applyRootMotion = true;

// help the character turn faster (this is in addition }


to root rotation in the animation) else{
float turnSpeed = m_IsGrounded = false;
Mathf.Lerp(m_StationaryTurnSpeed,
m_MovingTurnSpeed, m_ForwardAmount); m_GroundNormal = Vector3.up;
transform.Rotate(0, m_TurnAmount * turnSpeed
* Time.deltaTime, 0); m_Animator.applyRootMotion = false;
} }
}
public void OnAnimatorMove() }
{ }
// we implement this function to override the
default root motion. //ThirdPersonUserControl
// this allows us to modify the positional speed
before it's applied. using System;
using System.Collections; private void Update()
using System.Collections.Generic; {
using UnityEngine; if (!m_Jump)
using UnityStandardAssets.CrossPlatformInput; {
m_Jump
namespace =CrossPlatformInputManager.GetButtonDown("J
UnityStandardAssets.Characters.ThirdPerson ump");
{ }

}
[RequireComponent(typeof(ThirdPersonCharacter
))] // Fixed update is called in sync with physics
public class ThirdPersonUserControl : private void FixedUpdate()
MonoBehaviour {
{
// read inputs
private ThirdPersonCharacter m_Character; float h =
// A reference to the ThirdPersonCharacter on CrossPlatformInputManager.GetAxis("Horizontal
the object ");
private Transform m_Cam; // A float v =
reference to the main camera in the scenes CrossPlatformInputManager.GetAxis("Vertical");
transform bool crouch = Input.GetKey(KeyCode.C);
private Vector3 m_CamForward; //
The current forward direction of the camera // calculate move direction to pass to
private Vector3 m_Move; character
private bool m_Jump; // the if (m_Cam != null)
world-relative desired move direction, calculated {
from the camForward and user input. // calculate camera relative direction to
move:
private void Start() m_CamForward =
Vector3.Scale(m_Cam.forward, new Vector3(1, 0,
{ 1)).normalized;
m_Move = v*m_CamForward +
h*m_Cam.right;
// get the transform of the main camera }
if (Camera.main != null) else
{ {
m_Cam = Camera.main.transform; // we use world-relative directions in the
} case of no main camera
else m_Move = v*Vector3.forward +
{ h*Vector3.right;
Debug.LogWarning(
"Warning: no main camera found. }
Third person character needs a Camera tagged #if !MOBILE_INPUT
\"MainCamera\", for camera-relative controls.", // walk speed
gameObject); multiplier
// we use self-relative controls in this if
case, which probably isn't what the user wants, but (Input.GetKey(KeyCode.LeftShift)) m_Move *=
hey, we warned them! 0.5f;
} #endif

// get the third person character ( this // pass all parameters to the character
should never be null due to require component ) control script
m_Character = m_Character.Move(m_Move, crouch,
GetComponent<ThirdPersonCharacter>(); m_Jump);
} m_Jump = false;
}
} //Open Skill Window
}
using UnityEngine;
//Lapu IK hands using System.Collections;

using UnityEngine; public class OpenSkillWindow : MonoBehaviour {


using System.Collections; public Animator anim;

public class IKHands : MonoBehaviour { // Use this for initialization


void Start () {
public Transform leftHandObj; anim =
public Transform rightHandObj; GetComponent<Animator> ();
public Transform attachLeft; }
public Transform attachRight;
public void ShowMenu() {
public float leftHandPositionWeight;
public float leftHandRotationWeight;
public float rightHandPositionWeight; if(anim.GetBool("isOpenskill")==true){
public float rightHandRotationWeight;
anim.SetBool
private Animator animator; ("isOpenskill",false);
}
void Start() {
animator = else
this.gameObject.GetComponent<Animator>(); if(anim.GetBool("isOpenskill")==false){
}
anim.SetBool
void OnAnimatorIK(int layerIndex) { ("isOpenskill",true);
if(leftHandObj != null){ }}}
//Lapu Mob Script
animator.SetIKPositionWeight(AvatarIK
Goal.LeftHand,leftHandPositionWeight); using UnityEngine;
using UnityEngine.UI;
animator.SetIKRotationWeight(AvatarIK using System.Collections;
Goal.LeftHand,leftHandRotationWeight);
public class ms1: MonoBehaviour {
animator.SetIKPosition(AvatarIKGoal.L
eftHand,attachLeft.position); public GameObject attackbox;
public Slider healthbar;
animator.SetIKRotation(AvatarIKGoal.L public int health = 100;
eftHand,attachLeft.rotation); AudioSource myaudio;
} public AudioClip[] audioClip;
if(rightHandObj != null){ public ParticleSystem effect;
public ParticleSystem effect2;
animator.SetIKPositionWeight(AvatarIK private GameObject player;
Goal.RightHand,rightHandPositionWeight); private Animator animms1;
int randomInt = 0;
animator.SetIKRotationWeight(AvatarIK private GameObject hpoff,
Goal.RightHand,rightHandRotationWeight); hitcol,ms1canv,lapulapu;
public double impactTime;
animator.SetIKPosition(AvatarIKGoal.Ri
ghtHand,attachRight.position); public bool impacted;
EnemyManager em;
animator.SetIKRotation(AvatarIKGoal.R Vector3 direction;
ightHand,attachRight.rotation); GameObject theenemy1;
}}} private PlayerStats thePlayerStats;
public int expToGive;
// Use this for initialization }
private Animator dmgpop; IEnumerator delay()
{
public GameObject[] waypoints; lo.killedenemies++;
int currentWP = 0; effect2.Play ();
string state = "patrol"; animms1.Play ("dead");
public float rotspeed=0.2f; PlaySound (0);
public float speed=1.5f;
float accuracyWP=2.0f; thePlayerStats.AddExperience
public int ms1dmg = 5; (expToGive);
private UIManager WeapDamage;
AttackControl ac; yield return new WaitForSeconds (0.1f);
public GameObject CBTprefab;
this.transform.position = new Vector3 (0,
float counter1=0; 0, 0);
float counter2=0; healthbar.value = 1000;
float totalcounter=0;
private bool istriggered;
GameObject maincanv,lapobj; yield return new WaitForSeconds (10);
LapuObjectives lo; em.soldier1--;
Rigidbody ms1rigid; em.Spawn1 ();
void Start() Destroy (gameObject,2);
{
}
lapobj = GameObject.Find ("LapuObj");
lo = lapobj.GetComponent<LapuObjectives> ();

ms1rigid = GetComponent<Rigidbody> (); // Update is called once per frame


maincanv = GameObject.Find ("Map and void Update()
Inventory Icon Canv"); {
istriggered = false;
thePlayerStats = FindObjectOfType<PlayerStats> player.transform.position = new Vector3
(); (lapulapu.transform.position.x,4,lapulapu.transfor
WeapDamage = m.position.z);
FindObjectOfType<UIManager> (); counter1 = healthbar.value;
this.transform.rotation = Quaternion.Euler (new
lapulapu = GameObject.Find ("lapulapu"); Vector3(0,this.transform.localEulerAngles.y,0));
ac = lapulapu.GetComponent<AttackControl> (); float angle = Vector3.Angle (direction,
this.transform.forward);
thePlayerStats = FindObjectOfType<PlayerStats>
(); direction.y = 0;
//ENEMYMANAGER
theenemy1= GameObject.Find if (Vector3.Distance (lapulapu.transform.position,
("EnemyManager"); this.transform.position) < 8 && (angle < 20 ||
em = state == "pursuing")) {
theenemy1.GetComponent<EnemyManager> ();
ms1canv = GameObject.Find ("ms1canv"); direction = lapulapu.transform.position -
this.transform.position;
animms1 = GetComponent<Animator>();
ms1rigid.constraints =
effect.GetComponent<ParticleSystem>() RigidbodyConstraints.FreezeRotation;
; state = "pursuing";
animms1.SetBool ("Idle", false);
effect2.GetComponent<ParticleSystem> if (direction.magnitude > 2) {
();
player = GameObject.Find ("LookatPlayer"); this.transform.LookAt
attackbox.SetActive (false); (lapulapu.transform.position);
this.transform.Translate (0, 0, 0.05f); //rotates
this.transform.rotation = direction =
Quaternion.Slerp (this.transform.rotation, waypoints[currentWP].transform.position -
Quaternion.LookRotation (direction), rotspeed * transform.position;
Time.deltaTime);
animms1.SetBool ("isrunning", true); this.transform.rotation =
animms1.SetBool ("isattacking", false); Quaternion.Slerp (this.transform.rotation,
} Quaternion.LookRotation (direction),
//randomize
if (direction.magnitude < 1.5) { rotspeed* Time.deltaTime);

this.transform.LookAt this.transform.Translate
(lapulapu.transform.position); (0,0,Time.deltaTime*speed);
}
ms1rigid.constraints = }
RigidbodyConstraints.FreezeAll;
if (healthbar.value <= 0) {
randomInt = Random.Range (0, 4); healthbar.value =
1000;
animms1.SetBool ("isattacking", true); StartCoroutine
(delay());
animms1.SetBool ("isrunning", false);
return;
animms1.SetInteger ("randomtran", }
randomInt);
} // impact
}
if (animms1.GetCurrentAnimatorStateInfo
//return to their base. (0).normalizedTime > 0.6) {
else {
state = "patrol"; attackbox.gameObject.SetActive (false);
}
animms1.SetBool ("isattacking", false);
animms1.SetBool ("isrunning", false); else if (animms1.GetCurrentAnimatorStateInfo
if ( state == "patrol" && waypoints.Length > 0) { (0).IsName ("gethit")) {

animms1.SetBool ("Idle", false); attackbox.gameObject.SetActive (false);


animms1.SetBool ("iswalking", true); }
animms1.SetBool ("isattacking", false); else
if (Vector3.Distance (waypoints if(animms1.GetCurrentAnimatorStateInfo(0).IsNa
[currentWP].transform.position, me("attack")){StartCoroutine (delayhit());}
transform.position) < accuracyWP)
{ }

animms1.SetBool ("Idle", true); IEnumerator delayhit(){

animms1.SetBool ("iswalking", false); attackbox.gameObject.SetActive (true);


yield return new WaitForSeconds (0);
animms1.SetBool ("isattacking", false); attackbox.gameObject.SetActive (false);
}
currentWP++;
void Slashes(int clip)
if(currentWP>=waypoints.Length){ {
myaudio = GetComponent<AudioSource>();
currentWP = 0; myaudio.clip = audioClip[clip];
} myaudio.Play();
} }
void PlaySound(int clip) tempRect.localPosition =
{ CBTprefab.transform.localPosition;
myaudio = GetComponent<AudioSource>(); tempRect.localScale =
myaudio.clip = audioClip[clip]; CBTprefab.transform.localScale;
myaudio.Play(); tempRect.localRotation =
} CBTprefab.transform.localRotation;
temp.GetComponent<Text> ().text = text;
void OnTriggerEnter(Collider col){ temp.GetComponent<Animator> ().SetTrigger
if (col.gameObject.name == "slash") { ("NormalHit");
if (istriggered==true) {istriggered = false;} Destroy (temp.gameObject,1);
}}
else {
if (istriggered==true) {istriggered = false;} //Access Navigation Btn or Open Option

istriggered = true; using UnityEngine;


using System.Collections;
this.transform.LookAt using UnityEngine.UI;
(player.transform.position); using UnityEngine.SceneManagement;
animms1.Play ("gethit");
PlaySound (0); public class OpenOption : MonoBehaviour {
effect.Play ();
public Slider lapuhp;
healthbar.value = healthbar.value - private GameObject
(WeapDamage.weapdmg +ac.randomdamage + settingPanel,controlsPanel,soundspanel,InvenPane
ac.skill1damage + ac.skill3damage) ; l,LoadandNewO,intro,MaII,playercam,lapobj,Final
Phase_collider;
totalcounter = counter1 - healthbar.value; private bool
openoption,opencontrol,opensounds,openinven;
CBT (totalcounter.ToString ()); private bool sounds, faderon;
Debug.Log ("HIT"); AudioSource myaudio;
} public AudioClip[] audioClip;
} GameObject positionoflapu, lvl, fader,hp;
AttackControl ac;
if (col.gameObject.name == "AllyEvade") { UIManager um;
if(state=="patrol" && state != "pursuing"){ lapulapu lapudead;
this.transform.Rotate (0,160,0);} private PlayerStats thePlayerStats;
} private Animator anim;
public static bool isnewgame,loadgame;
if (col.gameObject.name == "allyhit") { public float finalhp;
animms1.Play ("gethit"); LapuObjectives lo;
PlaySound (0); FinalPhaseLapu fpl;
effect.Play ();
healthbar.value = healthbar.value - endofcinemactic eoc;
WeapDamage.weapdmg;
totalcounter = counter1 - healthbar.value; void Start(){
Debug.Log ("HIT");
CBT (totalcounter.ToString ()); lapobj = GameObject.Find ("LapuObj");
} lo = lapobj.GetComponent<LapuObjectives> ();
} FinalPhase_collider = GameObject.Find
("FinalPhaseWarningCol");
void CBT(string text){ fpl
GameObject temp = Instantiate (CBTprefab) as =FinalPhase_collider.GetComponent<FinalPhase
GameObject; Lapu> ();
RectTransform tempRect = eoc = GetComponent<endofcinemactic> ();
temp.GetComponent<RectTransform> (); thePlayerStats = FindObjectOfType<PlayerStats>
temp.transform.SetParent ();
(transform.FindChild("ms1canv")); fader = GameObject.Find ("LoadFinFout");
isnewgame = false;
//LoadandNewO = GameObject.Find loadgame = false;
("LoadandNew");
//LoadandNewO.SetActive (true); }
public void showoptions(){
fader.SetActive (false);
positionoflapu= GameObject.Find ("lapulapu"); if(openoption==true){
anim = if(Time.timeScale==0){
positionoflapu.GetComponent<Animator> (); Time.timeScale = 1;
ac = }
positionoflapu.GetComponent<AttackControl> PlaySound (0);
(); settingPanel.SetActive (false);
lapudead = openoption = false;
positionoflapu.GetComponent<lapulapu> (); }
//hp = GameObject.Find
("content").GetComponent<Slider> ().value; else if(openoption==false){
lvl= GameObject.Find ("MainCanvas"); if(Time.timeScale==1){
um = lvl.GetComponent<UIManager> (); Time.timeScale = 0;}
InvenPanel.SetActive (false);
sounds = true; openinven = false;
InvenPanel = GameObject.Find ("Inventory anim.SetBool ("isinvenmode",false);
Panel"); PlaySound (0);
settingPanel = GameObject.Find ("settingpanel"); controlsPanel.SetActive (false);
controlsPanel = GameObject.Find soundspanel.SetActive (false);
("controlspanel"); opencontrol = false;
soundspanel = GameObject.Find ("Soundpanel"); opensounds = false;
settingPanel.SetActive (false); settingPanel.SetActive (true);
openoption = false; openoption = true;
}
InvenPanel.SetActive (false);
openinven = false; }

controlsPanel.SetActive (false); public void showcontrols(){


opencontrol = false; if(opencontrol==true){
PlaySound (0);
soundspanel.SetActive (false); controlsPanel.SetActive (false);
opensounds = false; opencontrol = false;
}
}
else if(opencontrol==false){
IEnumerator delayback(){
yield return new WaitForSeconds (5); PlaySound (0);
isnewgame = false; controlsPanel.SetActive (true);
loadgame = false; opencontrol = true;
Application.LoadLevel (0); settingPanel.SetActive (false);
lapudead.isdead = false; openoption = false;
} }
}
void Update(){
public void showsounds(){
if(lapudead.isdead==true){StartCoroutine if(opensounds==true){
(delayback());}
PlaySound (0);
} soundspanel.SetActive (false);
opensounds = false;
public void backtomainmenu(){ }
Application.LoadLevel (0);
else if(opensounds==false){ //Player's level
thePlayerStats.currentExp
PlaySound (0); =PlayerPrefs.GetInt("currentEXP");
soundspanel.SetActive (true); //hp = PlayerPrefs.GetFloat ("currentHP");
opensounds = true; }
settingPanel.SetActive (false); public void exitGame(){
openoption = false; Application.Quit ();
} }

} void PlaySound(int clip)


{
public void SaveData(){ myaudio = GetComponent<AudioSource>();
//Player's Position and Rotation myaudio.clip = audioClip[clip];
PlayerPrefs.SetFloat("lapulapux",positionoflapu.tra myaudio.Play();
nsform.position.x); }
PlayerPrefs.SetFloat("lapulapuy",positionoflapu.tra
nsform.position.y); public void offsound(){
PlayerPrefs.SetFloat AudioListener.volume = 0.0f;
("lapulapuz",positionoflapu.transform.position.z); AudioListener.pause = true;
}
//Player's level public void onsound(){
PlayerPrefs.SetInt("currentEXP",thePlayerStats.cu
rrentExp); AudioListener.pause = false;
PlayerPrefs.SetInt("currentOBJ",lo.isonM); AudioListener.volume = 1.0f;

lapuhp.value = lapudead.healthbar.value; }
PlayerPrefs.Save ();
} public void openweaponwindow(){

public void NewGame(){ if(openinven==true){


PlaySound (0);
isnewgame = true; InvenPanel.SetActive (false);
Time.timeScale = 1; openinven = false;
SceneManager.LoadScene ("cinematic1"); anim.SetBool ("isinvenmode",false);
}
}
else if(openinven==false){
public void LoadData(){
lo.isonM =PlayerPrefs.GetInt("currentOBJ"); settingPanel.SetActive (false);
openoption = false;
if(lo.isonM==2){StartCoroutine (lo.startobj2());} PlaySound (0);
if(lo.isonM==3){StartCoroutine (fpl.finalscene());} InvenPanel.SetActive (true);
openinven = true;
loadgame = true; anim.SetBool ("isinvenmode",true);
Time.timeScale =1; }}}
//Player's Position and Rotation
float x = PlayerPrefs.GetFloat ("lapulapux"); //Player Level and Experience
float y = PlayerPrefs.GetFloat ("lapulapuy");
float z = PlayerPrefs.GetFloat ("lapulapuz"); using UnityEngine;
positionoflapu.transform.position = new Vector3 using System.Collections;
(x,y,z);
positionoflapu.transform.rotation = public class PlayerStats : MonoBehaviour {
Quaternion.Euler (new
Vector3(0,positionoflapu.transform.localEulerAngl public int currentLevel,counterlvl;
es.y,0));
public ParticleSystem lvlupeffect;
lapuhp.value = lapudead.healthbar.value; public int currentExp;
GameObject lapucomp;
public int[] toLevelUp; using UnityEngine;
AudioSource myaudio; using System.Collections;
public AudioClip[] audioClip; using UnityEngine.UI;
private bool leveled; public class UIManager : MonoBehaviour {
public Text levelText,lockontext;
// Use this for initialization private PlayerStats thePS;
void Start () { private GameObject
counterlvl = currentLevel; weap0,weap1,weap2,weap3,weap4,weap5,sw,trail1,
lapucomp = GameObject.Find trail2,trail3,lapulapu;
("lapulapu"); private bool isclicked;
public int weapdmg;
lvlupeffect.GetComponent<ParticleSyste AttackControl ac;
m> (); public bool base1,base2,base3;
} private GameObject
weap0off,weap1off,weap2off,weap3off,weap4off,
// Update is called once per frame weap5off,weap6off,weap7off;
void Update () { public GameObject[] weapon ;
leveled = false;
if(currentExp >= public GameObject[] weaponoff ;
toLevelUp[currentLevel]){ public int selectweapon;
leveled = true; // Use this for initialization
currentLevel++; void Start () {

if(leveled==true && currentLevel!=1){ thePS =


GetComponent<PlayerStats> ();
lvlupeffect.Play ();
PlaySound (0); selectweapon = 0;
weap0off = GameObject.Find
} ("Shield (1)");
weap1off = GameObject.Find
leveled = false; ("Kahoy (1)");
weap2off = GameObject.Find
} ("Panabas (1)");
if(currentLevel==10 || currentExp >=2560){ weap3off = GameObject.Find
currentLevel = 10; ("Kris (1)");
weap4off = GameObject.Find
if(leveled==true && currentLevel!=1){ ("Hinalung (1)");
lvlupeffect.Play (); weap5off = GameObject.Find
PlaySound (0);} ("Kampilan (1)");
leveled = false;}} weap6off = GameObject.Find
("Powerful Kampilan (1)");
public void AddExperience (int experiencetoAdd) weap7off = GameObject.Find
{ ("KampilanCase");
currentExp += experiencetoAdd;
} weap0off.SetActive (true);
weap1off.SetActive (true);
void PlaySound(int clip) weap2off.SetActive (false);
{ weap3off.SetActive (false);
myaudio = weap4off.SetActive (false);
GetComponent<AudioSource>(); weap5off.SetActive (false);
myaudio.clip = audioClip[clip]; weap6off.SetActive (false);
myaudio.Play(); weap7off.SetActive (false);
}
} weap0 = GameObject.Find
("Shield");
//UI of the Level and Weapon Equipping weap1 = GameObject.Find
("Kahoy"); if(selectweapon==3){weapon4 ();}
weap2 = GameObject.Find
("Panabas"); if(selectweapon==4){weapon5 ();}
weap3 = GameObject.Find
("Kris"); if(selectweapon==5){secretweapon();}
weap4 = GameObject.Find }}
("Hinalung"); levelText.text = "" + thePS.currentLevel;
weap5 = GameObject.Find //KAHOY WEAPON
("Kampilan"); //Debug.Log (weapdmg);

sw = GameObject.Find ("Powerful Kampilan"); }


sw.SetActive (false);
public void weapon1(){
lapulapu = GameObject.Find ("lapulapu");
ac = lapulapu.GetComponent<AttackControl> (); if (thePS.currentLevel == 1 || thePS.currentLevel
weap0.SetActive (false); >= 1) {
weap1.SetActive (false);
weap2.SetActive (false); selectweapon = 0;
weap3.SetActive (false); if (ac.mainon == true && ac.secon==false) {
weap4.SetActive (false);
weap5.SetActive (false); weap0.SetActive (true);
isclicked = false; weap1.SetActive (true);
weapdmg = 1; weap2.SetActive (false);
} weap3.SetActive (false);
// Update is called once per frame weap4.SetActive (false);
void Update () { weap5.SetActive (false);
sw.SetActive (false);
if (Input.GetKeyDown (KeyCode.Tab)) { weap0off.SetActive (false);
if (ac.mainon == false && ac.secon == true) {
ac.secon = false; weap1off.SetActive (false);
ac.mainon = true;
weap2off.SetActive (false);
if(selectweapon==0){weapon1 ();}
weap3off.SetActive (false);
if(selectweapon==1){weapon2 ();}
weap4off.SetActive (false);
if(selectweapon==2){weapon3 ();}
weap5off.SetActive (false);
if(selectweapon==3){weapon4 ();}
weap6off.SetActive (false);
if(selectweapon==4){weapon5 ();}
weap7off.SetActive (false);
if(selectweapon==5){secretweapon();} }
}
} else if (ac.mainon ==
if (Input.GetKeyDown (KeyCode.R) && false && ac.secon==true) {
(!ac.skill1ison && !ac.skill3ison)) {
if (ac.mainon == true && ac.secon == false) {
ac.secon = true; weap0.SetActive (false);
ac.mainon = false; weap1.SetActive
(false);
if(selectweapon==0){weapon1 ();} weap2.SetActive
(false);
if(selectweapon==1){weapon2 ();} weap3.SetActive
(false);
if(selectweapon==2){weapon3 ();} weap4.SetActive
(false);
weap5.SetActive weap2off.SetActive (false);
(false);
sw.SetActive (false); weap3off.SetActive (false);

weap4off.SetActive (false);
weap0off.SetActive (true);
weap5off.SetActive (false);
weap1off.SetActive (true);
weap6off.SetActive (false);
weap2off.SetActive (false);
weap3off.SetActive weap7off.SetActive (false);
(false); }
weap4off.SetActive
(false); else if (ac.mainon ==
false && ac.secon==true) {
weap5off.SetActive (false);
weap0.SetActive (false);
weap6off.SetActive (false);
weap1.SetActive (false);
weap7off.SetActive (false);
weap2.SetActive (false);
}
weap3.SetActive (false);
}
weap4.SetActive (false);
}
weap5.SetActive (false);
public void weapon2(){ sw.SetActive
(false);
if (thePS.currentLevel == 3 ||
thePS.currentLevel >= 3) {
weap0off.SetActive (true);
selectweapon = 1;
weapdmg = 5 ; weap1off.SetActive (false);
if (ac.mainon == true
&& ac.secon==false) { weap2off.SetActive (true);

weap3off.SetActive (false);
weap0.SetActive (true);
weap4off.SetActive (false);
weap1.SetActive (false);
weap5off.SetActive (false);
weap2.SetActive (true);
weap6off.SetActive (false);
weap3.SetActive (false);
weap7off.SetActive (false);
weap4.SetActive (false);
}
weap5.SetActive (false); }
sw.SetActive
(false); }

public void weapon3(){


weap0off.SetActive (false);

weap1off.SetActive (false); if (thePS.currentLevel == 5 ||


thePS.currentLevel >= 5) {
weapdmg = 10;
weap1off.SetActive (false);
selectweapon = 2;
if (ac.mainon == true weap2off.SetActive (false);
&& ac.secon==false) {
weap3off.SetActive (true);

weap4off.SetActive (false);
weap0.SetActive (true);
weap5off.SetActive (false);
weap1.SetActive (false);
weap7off.SetActive (false);
weap2.SetActive (false);
}
weap3.SetActive (true); }

weap4.SetActive (false); }

weap5.SetActive (false); public void weapon4(){


sw.SetActive
(false);
if (thePS.currentLevel == 8 ||
thePS.currentLevel >= 8) {
weap0off.SetActive (false); weapdmg = 14;

weap1off.SetActive (false); selectweapon = 3;


if (ac.mainon == true
weap2off.SetActive (false); && ac.secon==false) {

weap3off.SetActive (false); weap0.SetActive (true);

weap4off.SetActive (false); weap1.SetActive (false);

weap5off.SetActive (false); weap2.SetActive (false);

weap7off.SetActive (false); weap3.SetActive (false);


}
weap4.SetActive (true);
else if (ac.mainon ==
false && ac.secon==true) { weap5.SetActive (false);
sw.SetActive
weap0.SetActive (false); (false);

weap1.SetActive (false); weap0off.SetActive (false);

weap2.SetActive (false); weap1off.SetActive (false);

weap3.SetActive (false); weap2off.SetActive (false);

weap4.SetActive (false); weap3off.SetActive (false);

weap5.SetActive (false); weap4off.SetActive (false);


sw.SetActive
(false); weap5off.SetActive (false);

weap7off.SetActive (false);
weap0off.SetActive (true); }
weap4.SetActive (false);
else if (ac.mainon ==
false && ac.secon==true) { weap5.SetActive (true);
sw.SetActive
weap0.SetActive (false); (false);

weap1.SetActive (false); weap0off.SetActive (false);

weap2.SetActive (false); weap1off.SetActive (false);

weap3.SetActive (false); weap2off.SetActive (false);

weap4.SetActive (false); weap3off.SetActive (false);

weap5.SetActive (false); weap4off.SetActive (false);


sw.SetActive
(false); weap5off.SetActive (false);

weap7off.SetActive (true);
weap0off.SetActive (true); }

weap1off.SetActive (false); else if (ac.mainon ==


false && ac.secon==true) {
weap2off.SetActive (false);
weap0.SetActive (false);
weap3off.SetActive (false);
weap1.SetActive (false);
weap4off.SetActive (true);
weap2.SetActive (false);
weap5off.SetActive (false);
weap3.SetActive (false);
weap7off.SetActive (false);
weap4.SetActive (false);
}
} weap5.SetActive (false);
sw.SetActive
} (false);

public void weapon5(){


weap0off.SetActive (true);
if (thePS.currentLevel == 10 ||
thePS.currentLevel >= 10) { weap1off.SetActive (false);

selectweapon = 4; weap2off.SetActive (false);


weapdmg = 20;
weap3off.SetActive (false);
if (ac.mainon == true
&& ac.secon==false) { weap4off.SetActive (false);

weap0.SetActive (true); weap5off.SetActive (true);

weap1.SetActive (false); weap7off.SetActive (true);

weap2.SetActive (false); }
}
weap3.SetActive (false);
}
weap5.SetActive (false);
public void secretweapon(){ sw.SetActive
(false);
if (thePS.currentLevel == 10 ||
thePS.currentLevel >= 10 &&
thePS.currentExp==3000) { weap0off.SetActive (true);

weapdmg = 100; weap1off.SetActive (false);

weap2off.SetActive (false);
selectweapon = 5;
weap3off.SetActive (false);
if (ac.mainon == true
&& ac.secon==false) { weap4off.SetActive (false);

weap0.SetActive (true); weap5off.SetActive (false);

weap1.SetActive (false); weap6off.SetActive (true);

weap2.SetActive (false); weap7off.SetActive (true);


}
weap3.SetActive (false); }
}
weap4.SetActive (false); }

weap5.SetActive (false); //EnemyManager


sw.SetActive
(true); using UnityEngine;
using System.Collections;
weap0off.SetActive (false);
public class EnemyManager : MonoBehaviour {
weap1off.SetActive (false);

weap2off.SetActive (false); public GameObject


enemy1,enemy2,enemy3,enemy4,enemy5;
weap3off.SetActive (false);
public Transform
weap4off.SetActive (false); spawnPoint1,spawnPoint2,spawnPoint3,spawnPoi
nt4,spawnPoint5;
weap5off.SetActive (false); public int
soldier1=0,soldier2=0,soldier3=0,soldier4=0,soldi
weap7off.SetActive (true); er5=0;
} public Vector3 soldier1pos;
void Start(){
else if (ac.mainon ==
false && ac.secon==true) {
Spawn2 ();
weap0.SetActive (false); }

weap1.SetActive (false); void Update(){

weap2.SetActive (false); if (soldier1 < 3) {


Spawn1 ();
weap3.SetActive (false);
}
weap4.SetActive (false);
if (soldier2 < 3) { Instantiate (enemy2, new
Spawn2(); Vector3 (soldier2 +
} spawnPoint2.transform.position.x,
spawnPoint2.transform.position.y,soldier2+spawn
Point2.transform.position.z),Quaternion.identity,g
if (soldier3 < 3) { ameObject.transform);
Spawn3(); }
}
public void Spawn3 () {
if (soldier4 < 3) { soldier3++;
Spawn4(); Instantiate (enemy3, new
} Vector3 (soldier3 +
spawnPoint3.transform.position.x,
if (soldier5 < 1) { spawnPoint3.transform.position.y,soldier3+spawn
Spawn5(); Point3.transform.position.z),Quaternion.identity,g
} ameObject.transform);
}
} }
//MS1
public void Spawn1 () { //Lapu Final Cinematic
soldier1++;
Instantiate (enemy1, new using UnityEngine;
Vector3 (0.1f*soldier1 + using System.Collections;
spawnPoint1.transform.position.x ,
spawnPoint1.transform.position.y,soldier1+spawn using UnityEngine.UI;
Point1.transform.position.z),Quaternion.identity,g
ameObject.transform); public class FinalPhaseLapu : MonoBehaviour {

} private GameObject FinalPhase_Gate,


FinalPhase_Note,MC,FinalPhase_collider,finalcam
public void Spawn4 () { ,lapobj,BOM;
soldier4++; private static bool isonwarning;
Instantiate (enemy4, new UIManager um;
Vector3 (soldier4 + PlayerStats ps;
spawnPoint4.transform.position.x, public Text final_warning;
spawnPoint4.transform.position.y,soldier4+spawn
Point4.transform.position.z),Quaternion.identity,g LapuObjectives lo;
ameObject.transform);
} // Use this for initialization
void Start () {

public void Spawn5 () { BOM= GameObject.Find


soldier5++; ("BattleOfMactan");
Instantiate (enemy5, new lapobj = GameObject.Find
Vector3 (soldier5 + ("LapuObj");
spawnPoint5.transform.position.x, lo =
spawnPoint5.transform.position.y,soldier5+spawn lapobj.GetComponent<LapuObjectives> ();
Point5.transform.position.z),Quaternion.identity,g
ameObject.transform); finalcam = GameObject.Find
("lastcamscene");
} finalcam.SetActive (false);
FinalPhase_Gate =
GameObject.Find ("FinalPhaseGate");
FinalPhase_Note =
GameObject.Find ("FinalPhaseWarning");
public void Spawn2 () { FinalPhase_collider =
soldier2++; GameObject.Find ("FinalPhaseWarningCol");
FinalPhase_Note.SetActive
(false); }
FinalPhase_Gate.SetActive
(true); void OnTriggerExit(){

BOM.SetActive (false);
FinalPhase_Note.SetActive
FinalPhase_Note.SetActive (false);
(false); isonwarning = false;

MC = GameObject.Find }
("MainCanvas"); }
um =
MC.GetComponent<UIManager> (); //Lapu Objectives
ps =
MC.GetComponent<PlayerStats> (); using UnityEngine;
using System.Collections;
using UnityEngine.UI;
final_warning.GetComponent<Text> ();
} public class LapuObjectives : MonoBehaviour {
private GameObject
public IEnumerator finalscene(){ mission1,mission2,mission3,obj2,obj2flags,mc;
lo.isonM = 3;
finalcam.SetActive (true); private bool m1,m2,m3;
yield return new public int killedenemies=0;
WaitForSeconds (4); public RawImage Fade;
private Animator anim;
FinalPhase_Note.SetActive public int isonM=0;
(false); private GameObject N1, B1, R1, N2, B2,
isonwarning = false; R2, N3, B3, R3;
FinalPhase_Gate.SetActive UIManager um;
(false);
FinalPhase_collider.SetActive // Use this for initialization
(false); void Start () {
BOM.SetActive (true);
mc = GameObject.Find
} ("MainCanvas");
// Update is called once per frame um =
void Update () { mc.GetComponent<UIManager> ();

//FLAGS
} N1 = GameObject.Find ("N1");
N2 = GameObject.Find ("N2");
void OnTriggerEnter(){ N3 = GameObject.Find ("N3");
B1 = GameObject.Find ("B1");
if(ps.currentLevel>=8 &&( B2 = GameObject.Find ("B2");
um.base1 && um.base2 && um.base3)){ B3 = GameObject.Find ("B3");
StartCoroutine R1 = GameObject.Find ("R1");
(finalscene ()); R2 = GameObject.Find ("R2");
} R3 = GameObject.Find ("R3");

if(!isonwarning){ N1.SetActive (true);


N2.SetActive (true);
N3.SetActive (true);
FinalPhase_Note.SetActive (true);
isonwarning = true; B1.SetActive (false);
} B2.SetActive (false);
B3.SetActive (false); R1.SetActive (false);
}
R1.SetActive (false);
R2.SetActive (false); if(!um.base1){
R3.SetActive (false);
N1.SetActive (true);
isonM = 1; R1.SetActive (true);
StartCoroutine (obj1()); B1.SetActive (false);
}
obj2flags = GameObject.Find
("Flags");
obj2 = GameObject.Find if(um.base2){
("Objective2"); N2.SetActive (false);
B2.SetActive (true);
mission1 = GameObject.Find R2.SetActive (false);
("Mission1"); }
mission2 = GameObject.Find
("Mission2"); if(!um.base2){
mission3 = GameObject.Find
("Mission3"); N2.SetActive (true);
mission1.SetActive (false); R2.SetActive (true);
mission2.SetActive (false); B2.SetActive (false);
mission3.SetActive (false); }
obj2.SetActive (false);
obj2flags.SetActive (false); if(um.base3){
m2 = true; N3.SetActive (false);
anim = B3.SetActive (true);
Fade.GetComponent<Animator> (); R3.SetActive (false);
isonM = 1; }
}
if(!um.base3){
public IEnumerator startobj2(){
N3.SetActive (true);
m2 = false; R3.SetActive (true);
isonM = 2; B3.SetActive (false);
anim.Play }
("BlackScreenEffect"); if(killedenemies>=20 && m2 ){
yield return new StartCoroutine
WaitForSeconds (1); (startobj2());
}
obj2flags.SetActive (true);
obj2.SetActive (true); }

mission2.SetActive (true); IEnumerator obj1(){


yield return new
WaitForSeconds (3); yield return new
mission2.SetActive (false); WaitForSeconds (2);
mission1.SetActive (true);
} yield return new
WaitForSeconds (4);
// Update is called once per frame mission1.SetActive (false);
void Update () {

if(um.base1){ }

N1.SetActive (false); }
B1.SetActive (true);
//Main Menu Camera Animation AudioListener.volume = 0.0f;
AudioListener.pause = true;
using UnityEngine;
using System.Collections; }
using UnityEngine.UI; public void onsound(){
using UnityEngine.SceneManagement;
AudioListener.pause = false;
public class FlyingCamera : MonoBehaviour { AudioListener.volume = 1.0f;
public Transform currentMount;
public float speedFactor; }

AudioSource myaudio; void PlaySound(int clip)


public AudioClip[] audioClip; {
myaudio =
// Use this for initialization GetComponent<AudioSource>();
void Start () { myaudio.clip = audioClip[clip];
myaudio.Play();
} }

// Update is called once per frame }


void Update () {
//Antonio Luna Enemy1
transform.position =
Vector3.Lerp (transform.position, using UnityEngine;
currentMount.position, speedFactor); using UnityEngine.UI;
transform.rotation = using System.Collections;
Quaternion.Slerp
(transform.rotation,currentMount.rotation,speedFa public class Alunaenemy1: MonoBehaviour {
ctor);
} public Slider healthbar;
public int health = 100;
public void setMount(Transform AudioSource myaudio;
newMount){ public AudioClip[] audioClip;
PlaySound (0); public ParticleSystem effect;
currentMount = newMount; public ParticleSystem effect2;
} private GameObject player;
private Animator animAlunaenemy1;
public void StartLapu () { int randomInt = 0;
PlaySound (0); private GameObject hpoff, hitcol;
Time.timeScale = 1; public double impactTime;
private Transform Aluna;
Application.LoadLevel(1); public bool impacted;
} EnemyManager2 em2;
public void StartLuna () {
PlaySound (0); GameObject theenemy1;
Time.timeScale = 1; private PlayerStats2 thePlayerStats2;
Application.LoadLevel(3); public int expToGive2;
// Use this for initialization
}
public void StartRizal () { LunaControl lc;
PlaySound (0); public GameObject[] waypoints;
Time.timeScale = 1; int currentWP = 0;
Application.LoadLevel(4); string state = "patrol";
public float rotspeed=0.2f;
} public float speed=1.5f;
float accuracyWP=2.0f;
public void offsound(){
//Bullet yield return new
WaitForSeconds (0.1f);
float counter1=0; this.transform.position = new
float counter2=0; Vector3 (0, 0, 0);
float totalcounter=0; healthbar.value = 1000;
GameObject bulletinstance;
public GameObject prefabbullet;
public float force; yield return new
public GameObject bullet_emmiter; WaitForSeconds (10);
private float FireTime=0.0f; em2.soldier1--;
em2.Spawn1 ();
public GameObject CBTprefab; Destroy (gameObject);
UIManager2 WeapDamage;
}
void Start()
void AiShoot(){
{
WeapDamage =
FindObjectOfType<UIManager2> (); bulletinstance = Instantiate
thePlayerStats2 = (prefabbullet,bullet_emmiter.transform.position,
FindObjectOfType<PlayerStats2> (); bullet_emmiter.transform.rotation) as
//ENEMYMANAGER GameObject;
theenemy1= GameObject.Find
("EnemyManager2"); FireTime = Time.time+2;
em2 = bulletinstance.transform.Rotate
theenemy1.GetComponent<EnemyManager2> (); (Vector3.left*90);

Rigidbody temp_rb;
animAlunaenemy1 =
GetComponent<Animator>(); temp_rb =
bulletinstance.GetComponent<Rigidbody> ();
effect.GetComponent<ParticleSystem>()
;
temp_rb.AddForce
effect2.GetComponent<ParticleSystem> (transform.forward*force);
();
player = GameObject.Find
("ALuna"); Destroy (bulletinstance, 1.0f);
}
Aluna =
GetComponent<Transform> (); // Update is called once per frame
lc = void Update()
player.GetComponent<LunaControl> (); {
}
counter1 = healthbar.value;
IEnumerator delay() randomInt = Random.Range (0,
{ 2);
effect2.Play (); animAlunaenemy1.SetInteger
em2.killedenemies++; ("randomtran", randomInt);
animAlunaenemy1.Play Vector3 direction =
("dead"); player.transform.position - this.transform.position;
PlaySound (0);
float angle = Vector3.Angle
(direction, this.transform.forward);
thePlayerStats2.AddExperience2
(expToGive2);
if (Vector3.Distance animAlunaenemy1.SetBool ("Idle", false);
(player.transform.position, this.transform.position)
< 16 && (angle < 30 || state == "pursuing")) { animAlunaenemy1.SetBool ("iswalking",
state = "pursuing"; true);
this.transform.rotation
= Quaternion.Slerp (this.transform.rotation, animAlunaenemy1.SetBool ("isattacking",
Quaternion.LookRotation (direction), rotspeed * false);
Time.deltaTime); if
(Vector3.Distance (waypoints
[currentWP].transform.position,
animAlunaenemy1.SetBool ("Idle", false); transform.position) < accuracyWP)
if (direction.magnitude {
> 14) {

this.transform.Translate (0, 0, 0.05f); animAlunaenemy1.SetBool ("Idle", true);

animAlunaenemy1.SetBool ("iswalking",
animAlunaenemy1.SetBool ("isrunning", false);
true);
animAlunaenemy1.SetBool ("isattacking",
animAlunaenemy1.SetBool ("isattacking", false);
false);
} currentWP++;
//randomize
else { if(currentWP>=waypoints.Length){

currentWP = 0;
animAlunaenemy1.SetBool ("isattacking", }
true); }
//rotates
animAlunaenemy1.SetBool ("isrunning", direction =
false); waypoints[currentWP].transform.position -
if (Time.time transform.position;
> FireTime) {
this.transform.rotation =
Quaternion.Slerp (this.transform.rotation,
AiShoot (); Quaternion.LookRotation (direction),
}
rotspeed* Time.deltaTime);
}
this.transform.Translate
} (0,0,Time.deltaTime*speed);

//return to their base. }


else {
state = "patrol"; }

animAlunaenemy1.SetBool ("isattacking", if (healthbar.value <= 0) {


false);
healthbar.value =
animAlunaenemy1.SetBool ("isrunning", 1000;
false); StartCoroutine
if ( state == "patrol" (delay());
&& waypoints.Length > 0) {
return;
} if (col.gameObject.name ==
"AllyEvade") {
// impact if(state=="patrol" &&
state != "pursuing"){
if
(animAlunaenemy1.GetCurrentAnimatorStateInfo this.transform.Rotate (0,160,0);}
(0).normalizedTime > 0.25) { }

if (col.gameObject.name ==
// "Bullet(Clone)") {
attackbox.gameObject.SetActive (false);
} this.transform.LookAt
(player.transform.position);
else if
(animAlunaenemy1.GetCurrentAnimatorStateInfo animAlunaenemy1.Play ("gethit");
(0).IsName ("gethit")) { PlaySound (0);
effect.Play ();
healthbar.value =
//attackbox.gameObject.SetActive healthbar.value - (WeapDamage.weapdmg
(false); +lc.randomdamage + lc.skill2damage) ;
}
totalcounter =
else counter1 - healthbar.value;
if(animAlunaenemy1.GetCurrentAnimatorStateInf Debug.Log ("HIT");
o(0).IsName("shoot"))
{StartCoroutine (delayhit()); CBT
} (totalcounter.ToString ());

} }

if (col.gameObject.name ==
IEnumerator delayhit(){ "first Skill(Clone)") {

yield return new this.transform.LookAt


WaitForSeconds (0); (player.transform.position);
// attackbox.gameObject.SetActive
(true); animAlunaenemy1.Play ("gethit");
} PlaySound (0);
effect.Play ();
void Slashes(int clip) healthbar.value =
{ healthbar.value- (lc.randomdamage
myaudio = +lc.skill1damage);
GetComponent<AudioSource>();
myaudio.clip = audioClip[clip]; totalcounter =
myaudio.Play(); counter1 - healthbar.value;
} Debug.Log ("HIT");
void PlaySound(int clip)
{ CBT
myaudio = (totalcounter.ToString ());
GetComponent<AudioSource>();
myaudio.clip = audioClip[clip]; }
myaudio.Play();
}
}
void OnTriggerEnter(Collider col){

void CBT(string text){


yield return new
GameObject temp = Instantiate WaitForSeconds (1);
(CBTprefab) as GameObject;
DestroyObject(gameObject);
RectTransform tempRect =
temp.GetComponent<RectTransform> ();
temp.transform.SetParent cam2.gameObject.SetActive(true);
(transform.FindChild("ale1hp1"));
tempRect.localPosition = }
CBTprefab.transform.localPosition; // Update is called once per frame
tempRect.localScale = void Update () {
CBTprefab.transform.localScale;
tempRect.localRotation = StartCoroutine
CBTprefab.transform.localRotation; (delay());

temp.GetComponent<Text> }}
().text = text;
//Second Camera
temp.GetComponent<Animator>
().SetTrigger ("NormalHit"); using UnityEngine;
using System.Collections;
Destroy (temp.gameObject,1); using UnityEngine.UI;
}
} public class lunacinematiccammovement2 :
MonoBehaviour {
//Antonio Luna First Cinematic Camera public Vector3 center;
private float limit =0.05f;
//First Camera Vector3 v = Vector3.zero;
public Camera cam1, cam2, cam3;
using UnityEngine; public RawImage Fade;
using System.Collections; private Animator anim;
using UnityEngine.UI; // Use this for initialization
void Start () {
public class lunacinematiccammovement :
MonoBehaviour { cam2.GetComponent<Camera>();
public Vector3 center;
private float limit =0.1f; Fade.GetComponent<RawImage> ();
Vector3 v = Vector3.zero; anim =
public Camera cam1, cam2, cam3; Fade.GetComponent<Animator> ();
public RawImage Fade; }
private Animator anim;
// Use this for initialization IEnumerator delay(){
void Start () {
yield return new
cam2.GetComponent<Camera>(); WaitForSeconds (4);

Fade.GetComponent<RawImage> (); anim.Play


anim = ("BlackScreenEffect");
Fade.GetComponent<Animator> (); yield return new
} WaitForSeconds (1);
DestroyObject(gameObject);
IEnumerator delay(){

yield return new cam3.gameObject.SetActive(true);


WaitForSeconds (4);
anim.Play }
("BlackScreenEffect"); // Update is called once per frame
void Update () { }

StartCoroutine //AntonioLuna Enemy2/3 Soldier Script


(delay());
using UnityEngine;
using UnityEngine.UI;
} using System.Collections;
}
public class Alunaenemy3: MonoBehaviour {
//Third Camera
public Slider healthbar;
using UnityEngine; public int health = 100;
using System.Collections; AudioSource myaudio;
using UnityEngine.UI; public AudioClip[] audioClip;
public ParticleSystem effect;
public class lunacinematiccammovement3 : public ParticleSystem effect2;
MonoBehaviour { private GameObject player;
public Vector3 center; private Animator animAlunaenemy1;
private float limit =0.05f; int randomInt = 0;
Vector3 v = Vector3.zero; private GameObject hpoff, hitcol;
public Camera cam1, cam2, cam3; public double impactTime;
public RawImage Fade; private Transform Aluna;
private Animator anim; public bool impacted;
private GameObject game,cine1; LunaLastStage lls;
TriggerCinematic tc;
GameObject theenemy3;
// Use this for initialization private PlayerStats2 thePlayerStats2;
void Start () { public int expToGive2;
tc = // Use this for initialization
GetComponent<TriggerCinematic> ();
cine1 = GameObject.Find LunaControl lc;
("FirstCinematic"); public GameObject[] waypoints;
int currentWP = 0;
cam2.GetComponent<Camera>(); string state = "patrol";
public float rotspeed=0.2f;
Fade.GetComponent<RawImage> (); public float speed=1.5f;
anim = float accuracyWP=2.0f;
Fade.GetComponent<Animator> ();
//Bullet
}
float counter1=0;
IEnumerator delay(){ float counter2=0;
float totalcounter=0;
yield return new GameObject bulletinstance;
WaitForSeconds (4); public GameObject prefabbullet;
anim.Play public float force;
("BlackScreenEffect"); public GameObject bullet_emmiter;
private float FireTime=0.0f;
}
// Update is called once per frame public GameObject CBTprefab;
void Update () { UIManager2 WeapDamage;

StartCoroutine void Start()


(delay());
{
WeapDamage =
} FindObjectOfType<UIManager2> ();
thePlayerStats2 = (prefabbullet,bullet_emmiter.transform.position,
FindObjectOfType<PlayerStats2> (); bullet_emmiter.transform.rotation) as
//ENEMYMANAGER GameObject;
theenemy3= GameObject.Find
("LunaLastStage"); FireTime = Time.time+2;
lls = bulletinstance.transform.Rotate
theenemy3.GetComponent<LunaLastStage> (); (Vector3.left*90);

Rigidbody temp_rb;
animAlunaenemy1 =
GetComponent<Animator>(); temp_rb =
bulletinstance.GetComponent<Rigidbody> ();
effect.GetComponent<ParticleSystem>()
;
temp_rb.AddForce
effect2.GetComponent<ParticleSystem> (transform.forward*force);
();
player = GameObject.Find
("ALuna"); Destroy (bulletinstance, 1.0f);
}
Aluna =
GetComponent<Transform> (); // Update is called once per frame
lc = void Update()
player.GetComponent<LunaControl> (); {
}
counter1 = healthbar.value;
IEnumerator delay() randomInt = Random.Range (0,
{ 2);
effect2.Play (); animAlunaenemy1.SetInteger
lls.killedenemies++; ("randomtran", randomInt);
animAlunaenemy1.Play Vector3 direction =
("dead"); player.transform.position - this.transform.position;
PlaySound (0);
float angle = Vector3.Angle
(direction, this.transform.forward);
thePlayerStats2.AddExperience2
(expToGive2);

yield return new


WaitForSeconds (0.1f); if (Vector3.Distance
this.transform.position = new (player.transform.position, this.transform.position)
Vector3 (0, 0, 0); < 16 && (angle < 30 || state == "pursuing")) {
healthbar.value = 1000; state = "pursuing";
this.transform.rotation
= Quaternion.Slerp (this.transform.rotation,
yield return new Quaternion.LookRotation (direction), rotspeed *
WaitForSeconds (10); Time.deltaTime);
lls.soldier1--;
lls.Spawn1 ();
Destroy (gameObject); animAlunaenemy1.SetBool ("Idle", false);
if (direction.magnitude
} > 14) {

void AiShoot(){ this.transform.Translate (0, 0, 0.05f);

bulletinstance = Instantiate animAlunaenemy1.SetBool ("isrunning",


true);
animAlunaenemy1.SetBool ("isattacking",
animAlunaenemy1.SetBool ("isattacking", false);
false);
} currentWP++;
//randomize
else { if(currentWP>=waypoints.Length){

currentWP = 0;
animAlunaenemy1.SetBool ("isattacking", }
true); }
//rotates
animAlunaenemy1.SetBool ("isrunning", direction =
false); waypoints[currentWP].transform.position -
if (Time.time transform.position;
> FireTime) {
this.transform.rotation =
Quaternion.Slerp (this.transform.rotation,
AiShoot (); Quaternion.LookRotation (direction),
}
rotspeed* Time.deltaTime);
}
this.transform.Translate
} (0,0,Time.deltaTime*speed);

//return to their base. }


else {
state = "patrol"; }

animAlunaenemy1.SetBool ("isattacking", if (healthbar.value <= 0) {


false);
healthbar.value =
animAlunaenemy1.SetBool ("isrunning", 1000;
false); StartCoroutine
if ( state == "patrol" (delay());
&& waypoints.Length > 0) {
return;
}
animAlunaenemy1.SetBool ("Idle", false);
// impact
animAlunaenemy1.SetBool ("iswalking",
true); if
(animAlunaenemy1.GetCurrentAnimatorStateInfo
animAlunaenemy1.SetBool ("isattacking", (0).normalizedTime > 0.25) {
false);
if
(Vector3.Distance (waypoints //
[currentWP].transform.position, attackbox.gameObject.SetActive (false);
transform.position) < accuracyWP) }
{
else if
(animAlunaenemy1.GetCurrentAnimatorStateInfo
animAlunaenemy1.SetBool ("Idle", true); (0).IsName ("gethit")) {

animAlunaenemy1.SetBool ("iswalking",
false); //attackbox.gameObject.SetActive
(false); +lc.randomdamage + lc.skill2damage) ;
}
totalcounter =
else counter1 - healthbar.value;
if(animAlunaenemy1.GetCurrentAnimatorStateInf Debug.Log ("HIT");
o(0).IsName("shoot"))
{StartCoroutine (delayhit()); CBT
} (totalcounter.ToString ());

} }

if (col.gameObject.name ==
IEnumerator delayhit(){ "first Skill(Clone)") {

yield return new this.transform.LookAt


WaitForSeconds (0); (player.transform.position);
// attackbox.gameObject.SetActive
(true); animAlunaenemy1.Play ("gethit");
} PlaySound (0);
effect.Play ();
void Slashes(int clip) healthbar.value =
{ healthbar.value- (lc.randomdamage
myaudio = +lc.skill1damage);
GetComponent<AudioSource>();
myaudio.clip = audioClip[clip]; totalcounter =
myaudio.Play(); counter1 - healthbar.value;
} Debug.Log ("HIT");
void PlaySound(int clip)
{ CBT
myaudio = (totalcounter.ToString ());
GetComponent<AudioSource>();
myaudio.clip = audioClip[clip]; }
myaudio.Play();
}
}
void OnTriggerEnter(Collider col){

void CBT(string text){


if (col.gameObject.name ==
"AllyEvade") { GameObject temp = Instantiate
if(state=="patrol" && (CBTprefab) as GameObject;
state != "pursuing"){
RectTransform tempRect =
this.transform.Rotate (0,160,0);} temp.GetComponent<RectTransform> ();
} temp.transform.SetParent
(transform.FindChild("ale1hp1"));
if (col.gameObject.name == tempRect.localPosition =
"Bullet(Clone)") { CBTprefab.transform.localPosition;
tempRect.localScale =
this.transform.LookAt CBTprefab.transform.localScale;
(player.transform.position); tempRect.localRotation =
CBTprefab.transform.localRotation;
animAlunaenemy1.Play ("gethit");
PlaySound (0); temp.GetComponent<Text>
effect.Play (); ().text = text;
healthbar.value =
healthbar.value - (WeapDamage.weapdmg temp.GetComponent<Animator>
().SetTrigger ("NormalHit"); }

Destroy (temp.gameObject,1);
}} void Update(){

//Antonio Luna Skill Cooldowns foreach (Skill s in skills) {

using UnityEngine; if (s.currentcooldown


using UnityEngine.UI; < s.cooldown) {
using System.Collections;
using System.Collections.Generic;
s.currentcooldown += Time.deltaTime;
public class SkillCooldownLuna : MonoBehaviour
{ s.skillicon.fillAmount =
s.currentcooldown / s.cooldown;
}
LunaControl lc; }

public List<Skill> skills; }

void Start(){
lc = [System.Serializable]
GetComponent<LunaControl> (); public class Skill{
}

public float cooldown;


void FixedUpdate(){ public Image skillicon;
public float currentcooldown;
if(Input.GetKeyDown("1")){ }
}
if (skills
[0].currentcooldown >= skills [0].cooldown) { //Antonio Luna Control

using UnityEngine;
skills using System.Collections;
[0].currentcooldown = 0; using UnityEngine.UI;
using UnityEngine.SceneManagement;
StartCoroutine (lc.skill1effect ());
} public class LunaControl : MonoBehaviour {

public int enemiesinfield=0;


} public RawImage Fade;
public RawImage playergothit;
if(Input.GetKeyDown("2")){ private Animator anim;

if (skills public GameObject


[1].currentcooldown >= skills [1].cooldown) { prefabbullet,skill1bullet;
public float force;
public GameObject
skills bullet_emmiter,defaultlookat;
[1].currentcooldown = 0; private GameObject
rifleobject,mob1,mob2,mob3,mob4,mob5;
StartCoroutine (lc.skill2effect ()); static Animator Lunaanim;
} //TARGETVARIABLES
private GameObject
targetcube,PlayerMapLocCube,weaponoff,MainCa
} nvas,playdead;
GameObject lapucomp; skill2buff = GameObject.Find
("effectskill2");
UnityStandardAssets.Characters.ThirdPer skill2buff.SetActive (false);
son.ThirdPersonCharacter tpc; mob1 = GameObject.Find
GameObject[] target; ("Soldier Amerikano");
int x=0; mob2 = GameObject.Find
public int skill1damage, skill2damage; ("Officer");
public ParticleSystem skill1; mob3 = GameObject.Find
public ParticleSystem skill2; ("Soldier aguinaldo");
private GameObject mob4 = GameObject.Find
skill2buff,deadnote,maincav; ("Soldier aguinaldo2");
AudioSource myaudio; mob5 = GameObject.Find
public AudioClip[] audioClip; ("Soldier Amerikano Melee");
public Slider healthbar; playdead.SetActive (false);
public int health = 100; targetcube = GameObject.Find
private bool ("Target");
skill1ison,skill2ison,canshoot,istargetlocked; Lunaanim =
public bool GetComponent<Animator>();
isweaponmode,isdead,killedbyally; Destroy (mob1);
Destroy (mob2);
public Rigidbody lunarig; Destroy (mob3);
UIManager2 um2; Destroy (mob4);
EnemyManager2 em2; Destroy (mob5);
public int randomdamage; lunarig =
private Animator gothitanim; GetComponent<Rigidbody> ();

// Use this for initialization MainCanvas =


void Start () { GameObject.Find ("MainCanvas");
um2 =
MainCanvas.GetComponent<UIManager2> ();

gothitanim = }
playergothit.GetComponent<Animator> ();

enemiesinfield = 5; public IEnumerator skill1effect(){

Fade.GetComponent<RawImage> (); yield return new


anim = WaitForSeconds (0.4f);
Fade.GetComponent<Animator> (); Lunaanim.Play ("LastSkill");
playdead = GameObject.Find
("dead"); skill1.Play ();
skill1ison = true;
maincav = GameObject.Find }
("Maincanvas");
public IEnumerator skill2effect(){
canshoot = true;
//weapons um2.weapdmg = um2.weapdmg
isweaponmode=false; + 10;
yield return new
isweaponmode = false; WaitForSeconds (0.4f);
PlayerMapLocCube = skill2.Play ();
GameObject.Find ("PlayerCubeLocation"); skill2ison = true;
skill2buff.SetActive (true);

skill1.GetComponent<ParticleSystem> yield return new


(); WaitForSeconds (10);
skill2buff.SetActive (false);
yield return new
um2.weapdmg = um2.weapdmg WaitForSeconds (5);
+ 0; SceneManager.LoadScene
} ("Updated Main Menu");

IEnumerator delayshoot(){ }
// Update is called once per frame
canshoot = false; void Update () {
PlaySound (0); Debug.Log (enemiesinfield);
GameObject bulletinstance = if (isdead == true &&
Instantiate (prefabbullet,new !killedbyally) {
Vector3(bullet_emmiter.transform.position.x,bullet
_emmiter.transform.position.y,bullet_emmiter.tran StartCoroutine
sform.position.z) (delaydead());
, }
bullet_emmiter.transform.rotation) as
GameObject; if( isdead == true &&
killedbyally){
randomdamage = StartCoroutine
Random.Range (1, 4); (loadmenu());
bulletinstance.transform.Rotate
(Vector3.left*90); }
Rigidbody temp_rb;
temp_rb =
bulletinstance.GetComponent<Rigidbody> (); PlayerMapLocCube.transform.position =
temp_rb.AddForce this.transform.position;
(bullet_emmiter.transform.forward*force); if(skill1ison==true){
Destroy (bulletinstance, 1.0f); PlaySound (0);
yield return new skill1damage = 40;
WaitForSeconds (1); GameObject
canshoot = true; skill1bulletinstance = Instantiate (skill1bullet,new
Vector3(bullet_emmiter.transform.position.x,bullet
} _emmiter.transform.position.y,bullet_emmiter.tran
sform.position.z)
,
IEnumerator loadmenu(){ bullet_emmiter.transform.rotation) as
GameObject;

Lunaanim.Play ("dead");
skill1bulletinstance.transform.Rotate
lunarig.constraints = (Vector3.left*90);
RigidbodyConstraints.FreezeAll; Rigidbody
temp_rbskill1;
yield return new temp_rbskill1 =
WaitForSeconds (5); skill1bulletinstance.GetComponent<Rigidbody>
();
anim.Play
("BlackScreenEffect"); temp_rbskill1.AddForce
yield return new (bullet_emmiter.transform.forward*force);
WaitForSeconds (1); Destroy
SceneManager.LoadScene (skill1bulletinstance, 1.0f);
("ALunaEnding"); skill1ison = false;
}
}
IEnumerator delaydead(){ if (Lunaanim.GetBool
anim.Play ("dead"); ("LockTarget") == true) {
playdead.SetActive (true);
bullet_emmiter.transform.position = new (isweaponmode){
Vector3
(this.transform.position.x,this.transform.position.y
+1.2f,this.transform.position.z+0.2f); isweaponmode = true;
}
bullet_emmiter.transform.LookAt (target Lunaanim.SetBool
[x].transform.position); ("Weaponup",true);
istargetlocked = true;

}
this.transform.rotation
else { = Quaternion.Euler (new
Vector3(0,this.transform.localEulerAngles.y,0));
um2.lockontext.text= "LOCK
bullet_emmiter.transform.position = new TARGET: ON";
Vector3
(defaultlookat.transform.position.x,defaultlookat.tr }
ansform.position.y,defaultlookat.transform.positio
n.z );
if (Input.GetKeyDown
bullet_emmiter.transform.LookAt (KeyCode.R)) {
(defaultlookat.transform.position); if(isweaponmode){
}
isweaponmode = false;
}

//SHOOT else if
(!isweaponmode){
if(Input.GetMouseButtonDown(0) &&
(Lunaanim.GetBool("Weaponup")==true
||Lunaanim.GetBool("LockTarget")==true) ){ isweaponmode = false;
}
if(canshoot){ Lunaanim.SetBool
("Weaponup",false);
StartCoroutine (delayshoot()); um2.lockontext.text= "LOCK
TARGET: OFF";
} Lunaanim.SetBool
("LockTarget",false);
} istargetlocked = false;

//tpc.m_MoveSpeedMultiplier = 1.5f;
target = targetcube.SetActive
GameObject.FindGameObjectsWithTag (false);
("EnemyTarget");
//IFTARGETLOCKED targetcube.transform.position = new
Vector3 (0,0,0);

if (Input.GetKeyDown
(KeyCode.Tab)) {
if(!isweaponmode){ if ((target [x].gameObject.name
== "Soldier Amerikano(Clone)" || target
isweaponmode = true; [x].gameObject.name == "Officer1"|| target
} [x].gameObject.name == "Officer2" ||target
[x].gameObject.name == "Officer3"
else if || target
[x].gameObject.name == "Soldier Amerikano
Melee(Clone)" || target [x].gameObject.name == um2.lockontext.text=
"Soldier aguinaldo(Clone)" "LOCK TARGET: ON";
|| target if (x
[x].gameObject.name == "Soldier ==enemiesinfield) {
aguinaldo2(Clone)" ) && Vector3.Distance
(target [x].transform.position, x=
this.transform.position) < 9) { 0;
} } else {
else {
x++;
}
bullet_emmiter.transform.LookAt
(defaultlookat.transform.position);
}
Lunaanim.SetBool
("LockTarget", false); if ((target
[x].gameObject.name == "Soldier
Amerikano(Clone)" || target [x].gameObject.name
um2.lockontext.text = "LOCK == "Officer1"|| target [x].gameObject.name ==
TARGET: OFF"; "Officer2" ||target [x].gameObject.name ==
targetcube.SetActive "Officer3"
(false); ||
target [x].gameObject.name == "Soldier
targetcube.transform.position = new Amerikano Melee(Clone)" || target
Vector3 (0, 0, 0); [x].gameObject.name == "Soldier
if (x == aguinaldo(Clone)"
enemiesinfield) { || target
[x].gameObject.name == "Soldier
x = 0; aguinaldo2(Clone)" ) && Vector3.Distance
} else { (target [x].transform.position,
x++; this.transform.position) < 9) {
}

this.transform.LookAt (target
} [x].transform.position);

if (istargetlocked == true) {
targetcube.SetActive (true);
um2.lockontext.text =
"LOCK TARGET: ON"; targetcube.transform.position = new
if (Input.GetKeyDown Vector3 (target [x].transform.position.x, target
(KeyCode.Tab)) { [x].transform.position.y + 2.2f, target
[x].transform.position.z);
if(!isweaponmode){

isweaponmode = true; Lunaanim.SetBool ("LockTarget", true);


}
else if //tpc.m_MoveSpeedMultiplier = 2.2f;
(isweaponmode){

um2.lockontext.text = "LOCK
isweaponmode = true; TARGET: ON";
}
if
(Input.GetKeyDown (KeyCode.R)) { void OnTriggerEnter(Collider col){

if(isweaponmode){ if(col.gameObject.name=="AttackCol)")
{
isweaponmode = false;
} if (healthbar.value <=
0) {
else isdead = true;
if (!isweaponmode){
}

isweaponmode = false;
}
gothitanim.Play
um2.lockontext.text = "LOCK ("gothit");
TARGET: OFF"; Lunaanim.Play
("gethit");
istargetlocked = false; PlaySound (0);
// effect.Play();
Lunaanim.SetBool ("LockTarget", false); health = health - 5;
healthbar.value =
//tpc.m_MoveSpeedMultiplier = 1.5f; health;
Debug.Log ("HIT");
targetcube.SetActive (false);

targetcube.transform.position = new
Vector3 (0, 0, 0); }

}
} if(col.gameObject.name=="AIBullet(Clo
ne)"){

if (healthbar.value <=
} 0) {
isdead = true;

}
else {
Lunaanim.SetBool
("LockTarget", false);
//um.lockontext.text= gothitanim.Play
"LOCK TARGET: OFF"; ("gothit");
targetcube.SetActive Lunaanim.Play
(false); ("gethit");
PlaySound
targetcube.transform.position = new (0);
Vector3 (0,0,0); //
istargetlocked = false; effect.Play();
health =
health - 3;

} healthbar.value = health;
Debug.Log
("HIT");
}
} }

}
if(col.gameObject.name=="AIBulletOffi
cer(Clone)"){
void PlaySound(int clip)
if (healthbar.value <= {
0) { myaudio =
isdead = true; GetComponent<AudioSource>();
myaudio.clip = audioClip[clip];
} myaudio.Play();
}

gothitanim.Play
("gothit"); void OnTriggerExit(Collider col){

Lunaanim.Play if (col.gameObject.name ==
("gethit"); "AIBullet(Clone)") {
PlaySound (0); if (healthbar.value<=
// effect.Play(); 0) {
health = health - 5; isdead = true;
healthbar.value =
health; }
Debug.Log ("HIT"); }

}
} }

//TriggerCinematic ALuna
using UnityEngine;
if(col.gameObject.name=="Auginaldobul using System.Collections;
let(Clone)"){ using UnityEngine.UI;

if (healthbar.value <= public class TriggerCinematic : MonoBehaviour {


0) { private GameObject game,
isdead = true; cine1,cine2,playerCam;
killedbyally = public bool
true; cine1trigger,objective1on,objective2on,isoncapture
stage;
} private GameObject Openopt, enemy1,
enemy2, mission_1, mission_2, ambushscene,
capture_quest, officers,ALuna,obj2flags,mc;
gothitanim.Play public RawImage Fade;
("gothit"); private Animator anim;
public int scene1=0;
Lunaanim.Play LunaControl lc;
("gethit"); private GameObject N1, B1, R1, N2, B2,
PlaySound (0); R2, N3, B3, R3;
// effect.Play();
health = health - 5; OpenOption2 openO2;
healthbar.value = GameObject theenemies;
health; EnemyManager2 em2;
Debug.Log ("HIT"); UIManager2 um2;
// Use this for initialization officers = GameObject.Find
void Start () { ("Officers");

//ambushscene =
GameObject.Find ("ambushscene"); mission_1 = GameObject.Find
("Objective1");
obj2flags = GameObject.Find mission_2 = GameObject.Find
("Flags"); ("Mission2");
obj2flags.SetActive (true);
//FLAGS cine1 = GameObject.Find
N1 = GameObject.Find ("N1"); ("FirstCine");
N2 = GameObject.Find ("N2");
N3 = GameObject.Find ("N3"); Fade.GetComponent<RawImage> ();
B1 = GameObject.Find ("B1");
B2 = GameObject.Find ("B2"); capture_quest.SetActive (false);
B3 = GameObject.Find ("B3"); playerCam.SetActive (true);
R1 = GameObject.Find ("R1"); game.SetActive (true);
R2 = GameObject.Find ("R2");
R3 = GameObject.Find ("R3"); cine1.SetActive (false);

N1.SetActive (false); anim =


N2.SetActive (false); Fade.GetComponent<Animator> ();
N3.SetActive (false); cine1trigger = false;
//ambushscene.SetActive
B1.SetActive (false); (false);
B2.SetActive (false);
B3.SetActive (false); theenemies= GameObject.Find
("EnemyManager2");
R1.SetActive (false); em2 =
R2.SetActive (false); theenemies.GetComponent<EnemyManager2> ();
R3.SetActive (false); mission_1.SetActive (false);
officers.SetActive (false);
}
obj2flags.SetActive (false);

mc = GameObject.Find
("MainCanvas"); IEnumerator displayobjective1()
um2 = {
mc.GetComponent<UIManager2> (); if (objective1on) {
mission_1.SetActive
game = GameObject.Find (true);
("Game"); yield return new
playerCam = GameObject.Find WaitForSeconds (4);
("PlayerCam"); mission_1.SetActive
Openopt = GameObject.Find (false);
("Map and Inventory Icon Canv"); objective1on = false;
openO2 = }
Openopt.GetComponent<OpenOption2> ();

ALuna = GameObject.Find else {


("ALuna"); }
lc = }
ALuna.GetComponent<LunaControl> ();

objective1on = true; IEnumerator fadein(){


capture_quest =
GameObject.Find ("CaptureQuest"); anim.Play
("BlackScreenEffect"); objective2on = false;
yield return new
WaitForSeconds (1); }

cine1.SetActive (true);
// Update is called once per frame
void Update () {
}
IEnumerator cinematic1(){
anim.Play if(um2.Lunabase1){
("BlackScreenEffect");
yield return new N1.SetActive (false);
WaitForSeconds (1); B1.SetActive (true);
R1.SetActive (false);
playerCam.SetActive (false); }
game.SetActive (false);
yield return new if(!um2.Lunabase1){
WaitForSeconds (15);
N1.SetActive (true);
game.SetActive (true); R1.SetActive (true);
playerCam.SetActive (true); B1.SetActive (false);
cine1.SetActive (false); }
Destroy (cine1.gameObject, 1);

}
if(um2.Lunabase2){
N2.SetActive (false);
B2.SetActive (true);
R2.SetActive (false);
public IEnumerator capturequestready(){ }
obj2flags.SetActive (true);
N1.SetActive (true); if(!um2.Lunabase2){
N2.SetActive (true);
N3.SetActive (true); N2.SetActive (true);
R2.SetActive (true);
B2.SetActive (false);
lc.enemiesinfield = 8; }
em2.killedenemies = 21;
openO2.mission = 1; if(um2.Lunabase3){
N3.SetActive (false);
anim.Play B3.SetActive (true);
("BlackScreenEffect"); R3.SetActive (false);
yield return new }
WaitForSeconds (1);
game.SetActive (true); if(!um2.Lunabase3){
yield return new
WaitForSeconds (1); N3.SetActive (true);
officers.SetActive (true); R3.SetActive (true);
capture_quest.SetActive (true); B3.SetActive (false);
objective2on = true; }
yield return new
WaitForSeconds (1); if(objective2on == true){

mission_2.SetActive
(true);
yield return new }
WaitForSeconds (5); else if(objective2on == false){
//TriggerCinematic2
mission_2.SetActive
(false); using UnityEngine;
} using System.Collections;
//if(em2.killedenemies==2){ using UnityEngine.UI;
// StartCoroutine public class TriggerCinematicAmbush :
(delayendcine2()); MonoBehaviour {
private GameObject
ambushscene,ambushcine,game,target,mission_3,c
//} apture_quest,officers,Openopt,ALuna,cine2;
private bool
if(em2.killedenemies==20){ isambushsceneon,redspoton,objective3,lastsceneis
done,lastscene;
public bool isonlaststage;
StartCoroutine (capturequestready ()); public RawImage Fade;
private Animator anim;

GameObject
} theenemies,LLS,MC,theenemies2;
EnemyManager2 em2;
UIManager2 um2;
} LunaControl lc;
OpenOption2 openO2;
// Use this for initialization
void OnTriggerEnter(){ void Start () {
if(scene1==1){
ALuna = GameObject.Find
("ALuna");
cine1trigger = true; lc =
ALuna.GetComponent<LunaControl> ();

scene1=1;
} cine2 = GameObject.Find
("SecondCinematic");
if (cine1trigger ==false && cine2.SetActive (false);
scene1 == 0) { mission_3 = GameObject.Find
StartCoroutine (fadein ("Mission3");
()); mission_3.SetActive (false);
}
anim =
if(cine1trigger ==false && Fade.GetComponent<Animator> ();
scene1 ==0){ target = GameObject.Find
StartCoroutine ("Red Location");
(cinematic1()); target.SetActive (false);
cine1trigger = true;
scene1=1; LLS = GameObject.Find
("FinalStage");
} LLS.SetActive (false);

} ambushscene =
GameObject.Find ("AmbushCineObject");
void OnTriggerExit(){
StartCoroutine ambushcine =
(displayobjective1 ()); GameObject.Find ("AmbushCine");
} ambushcine.SetActive (false);
}
game = GameObject.Find
("Game"); // Update is called once per frame
void Update () {
Openopt = GameObject.Find if(objective3 == true){
("Map and Inventory Icon Canv");
openO2 = mission_3.SetActive
Openopt.GetComponent<OpenOption2> (); (true);
}
theenemies= GameObject.Find else if(objective3 == false){
("EnemyManager2");
theenemies2= mission_3.SetActive
GameObject.Find ("EnemyManagersecond"); (false);
capture_quest = }
GameObject.Find ("CaptureQuest");
officers = GameObject.Find
("Officers");
MC= GameObject.Find if (redspoton == true) {
("MainCanvas"); target.SetActive (true);
um2 =
MC.GetComponent<UIManager2> (); target.transform.position = new Vector3
em2 = (ambushscene.transform.position.x,
theenemies.GetComponent<EnemyManager2> (); ambushscene.transform.position.y + 2.2f,
} ambushscene.transform.position.z);
redspoton = false;

IEnumerator obj3(){ }
else if (redspoton == false){
redspoton = false;
yield return new
WaitForSeconds (1);
lastsceneisdone = true; target.transform.position = new Vector3
anim.SetBool ("PlayFade",true); (0,0, 0);
yield return new }
WaitForSeconds (1);
game.SetActive (false); else {
cine2.SetActive (true); target.SetActive (false);
yield return new
WaitForSeconds (4); target.transform.position = new Vector3
(0,0, 0);
openO2.mission = 2; }
capture_quest.SetActive (false);
officers.SetActive (false);
if(em2.killedenemies>=20 &&
game.SetActive (true); (um2.Lunabase1 && um2.Lunabase2 &&
cine2.SetActive (false); um2.Lunabase3) && !lastsceneisdone){

objective3 = true; StartCoroutine


yield return new (obj3());
WaitForSeconds (1); }

}
yield return new
WaitForSeconds (5);
objective3 = false;
IEnumerator ambushcinematic(){

} lc.enemiesinfield = 5;
anim.SetBool ("PlayFade",true); GameObject theenemy3;
yield return new private PlayerStats2 thePlayerStats2;
WaitForSeconds (1); public int expToGive;
game.SetActive (false); // Use this for initialization
ambushcine.SetActive (true); private Animator dmgpop;
yield return new
WaitForSeconds (5); public GameObject[] waypoints;
lastscene = false; int currentWP = 0;
ambushcine.SetActive (false); string state = "patrol";
game.SetActive (true); public float rotspeed=0.2f;
isambushsceneon = false; public float speed=1.5f;
LLS.SetActive (true); float accuracyWP=2.0f;
theenemies.SetActive (false); public int ms1dmg = 5;
theenemies2.SetActive (false); private UIManager2 WeapDamage;
isonlaststage = true; LunaControl lc;
Destroy (gameObject, 1); public GameObject CBTprefab;

}
void OnTriggerEnter(Collider col){ float counter1=0;
float counter2=0;
if(col.gameObject.name == float totalcounter=0;
"ALuna"){ private bool istriggered;
GameObject maincanv,lapobj;
if(isambushsceneon LapuObjectives lo;
== true|| (openO2.mission==2&& Rigidbody ms1rigid;
isambushsceneon == true) &&lastscene){ void Start()
redspoton =
true; {
StartCoroutine
(ambushcinematic()); // lapobj = GameObject.Find
}}}} ("LapuObj");
// lo =
//Antontio Luna Melee Enemy lapobj.GetComponent<LapuObjectives> ();
using UnityEngine;
using UnityEngine.UI; ms1rigid =
using System.Collections; GetComponent<Rigidbody> ();
maincanv = GameObject.Find
public class ALenemyMelee: MonoBehaviour { ("Map and Inventory Icon Canv");
istriggered = false;
public int enemiesinfield=0; thePlayerStats2 =
public GameObject attackbox; FindObjectOfType<PlayerStats2> ();
public Slider healthbar; WeapDamage =
public int health = 100; FindObjectOfType<UIManager2> ();
AudioSource myaudio;
public AudioClip[] audioClip;
public ParticleSystem effect; luna = GameObject.Find
public ParticleSystem effect2; ("ALuna");
private GameObject player; lc =
private Animator animale3; luna.GetComponent<LunaControl> ();
int randomInt = 0;
private GameObject hpoff,
hitcol,ale3hp3,luna; thePlayerStats2 =
public double impactTime; FindObjectOfType<PlayerStats2> ();
//ENEMYMANAGER
public bool impacted; theenemy3= GameObject.Find
EnemyManager2 em2; ("EnemyManager2");
Vector3 direction; em2 =
theenemy3.GetComponent<EnemyManager2> (); float angle = Vector3.Angle
ale3hp3 = GameObject.Find (direction, this.transform.forward);
("ale3hp3");

animale3 = direction.y = 0;
GetComponent<Animator>();

effect.GetComponent<ParticleSystem>()
; if (Vector3.Distance
(luna.transform.position, this.transform.position)
effect2.GetComponent<ParticleSystem> < 8 && (angle < 20 || state == "pursuing")) {
();
// player = GameObject.Find
("LookatPlayer");
attackbox.SetActive (false); this.transform.LookAt
} (luna.transform.position);
direction =
IEnumerator delay() luna.transform.position - this.transform.position;
{
// lo.killedenemies++;
effect2.Play ();
animale3.Play ("dead");
PlaySound (0); ms1rigid.constraints =
RigidbodyConstraints.FreezeRotation;

thePlayerStats2.AddExperience2 state = "pursuing";


(expToGive);

yield return new animale3.SetBool


WaitForSeconds (0.1f); ("Idle", false);
if (direction.magnitude
this.transform.position = new > 2) {
Vector3 (0, 0, 0);
healthbar.value = 1000;

this.transform.Translate (0, 0, 0.05f);

yield return new


WaitForSeconds (10); this.transform.rotation =
em2.soldier2--; Quaternion.Slerp (this.transform.rotation,
em2.Spawn2 (); Quaternion.LookRotation (direction), rotspeed *
Destroy (gameObject,2); Time.deltaTime);

}
animale3.SetBool ("isrunning", true);
// Update is called once per frame
void Update() animale3.SetBool ("isattacking", false);
{
}
//player.transform.position = //randomize
new Vector3 if (direction.magnitude
(luna.transform.position.x,4,luna.transform.positio <2) {
n.z);
counter1 = healthbar.value; this.transform.LookAt
this.transform.rotation = (luna.transform.position);
Quaternion.Euler (new
Vector3(0,this.transform.localEulerAngles.y,0)); ms1rigid.constraints =
RigidbodyConstraints.FreezeAll; Quaternion.Slerp (this.transform.rotation,
Quaternion.LookRotation (direction),
randomInt = Random.Range (0, 3);
rotspeed* Time.deltaTime);
animale3.SetBool ("isattacking", true);
this.transform.Translate
animale3.SetBool ("isrunning", false); (0,0,Time.deltaTime*speed);
}
animale3.SetInteger ("randomtran", }
randomInt);
if (healthbar.value <= 0) {
}
} healthbar.value = 1000;
StartCoroutine (delay());
//return to their base. return;
else { }
state = "patrol";
// impact
animale3.SetBool
("isattacking", false); if
animale3.SetBool (animale3.GetCurrentAnimatorStateInfo
("isrunning", false); (0).normalizedTime > 0.6) {
if ( state == "patrol" attackbox.gameObject.SetActive (false);
&& waypoints.Length > 0) { }

else if
animale3.SetBool ("Idle", false); (animale3.GetCurrentAnimatorStateInfo
(0).IsName ("gethit")) {
animale3.SetBool ("iswalking", true);

animale3.SetBool ("isattacking", false);


if attackbox.gameObject.SetActive (false);
(Vector3.Distance (waypoints }
[currentWP].transform.position,
transform.position) < accuracyWP)
{ else
if(animale3.GetCurrentAnimatorStateInfo(0).IsNa
me("slash"))
animale3.SetBool ("Idle", true); {

animale3.SetBool ("iswalking", false); StartCoroutine


(delayhit());
animale3.SetBool ("isattacking", false); }

currentWP++; }

if(currentWP>=waypoints.Length){

currentWP = 0; IEnumerator delayhit(){


}
}
//rotates attackbox.gameObject.SetActive
direction = (true);
waypoints[currentWP].transform.position - yield return new
transform.position; WaitForSeconds (0);
attackbox.gameObject.SetActive
this.transform.rotation = (false);
}
if (col.gameObject.name ==
void Slashes(int clip) "first Skill(Clone)") {
{
myaudio = this.transform.LookAt
GetComponent<AudioSource>(); (luna.transform.position);
myaudio.clip = audioClip[clip]; animale3.Play
myaudio.Play(); ("gethit");
} PlaySound (0);
void PlaySound(int clip) effect.Play ();
{ healthbar.value =
myaudio = healthbar.value- (lc.randomdamage
GetComponent<AudioSource>(); +lc.skill1damage);
myaudio.clip = audioClip[clip];
myaudio.Play(); totalcounter =
} counter1 - healthbar.value;
Debug.Log ("HIT");
void OnTriggerEnter(Collider col){
CBT
(totalcounter.ToString ());
if (col.gameObject.name ==
"AllyEvade") { }
if(state=="patrol" &&
state != "pursuing"){

this.transform.Rotate (0,160,0);}
}
if (col.gameObject.tag == }
"Untagged") {
if(state=="patrol" &&
state != "pursuing"){

this.transform.Rotate (0,1000,0);} void CBT(string text){


}

if (col.gameObject.name == GameObject temp = Instantiate


"Bullet(Clone)") { (CBTprefab) as GameObject;

this.transform.LookAt RectTransform tempRect =


(luna.transform.position); temp.GetComponent<RectTransform> ();
animale3.Play temp.transform.SetParent
("gethit"); (transform.FindChild("ale3hp3"));
PlaySound (0); tempRect.localPosition =
effect.Play (); CBTprefab.transform.localPosition;
healthbar.value = tempRect.localScale =
healthbar.value - (WeapDamage.weapdmg CBTprefab.transform.localScale;
+lc.randomdamage + lc.skill2damage) ; tempRect.localRotation =
CBTprefab.transform.localRotation;
totalcounter =
counter1 - healthbar.value;
Debug.Log ("HIT"); temp.GetComponent<Text>
().text = text;
CBT
(totalcounter.ToString ()); temp.GetComponent<Animator>
().SetTrigger ("NormalHit");
}
haracters.ThirdPerson.ThirdPersonCharacter> ();
Destroy (temp.gameObject,1); gothitanim =
}} playergothit.GetComponent<Animator> ();

fencingeffect =
GameObject.Find ("fencingtrail");

deadnote = GameObject.Find
("dead");
deadnote.SetActive (false);
//Rizal Control
using UnityEngine;
using System.Collections;
using UnityEngine.UI; skill1.GetComponent<ParticleSystem>
using UnityEngine.SceneManagement; ();

public class RizalControl : MonoBehaviour { skill2.GetComponent<ParticleSystem>


();
public RawImage playergothit; anim =
private GameObject GetComponent<Animator> ();
attackCollider,secondskill; attackCollider =
private Animator anim,animarnis; GameObject.Find ("RA");
private bool canattackagain,skilling; attackCollider.SetActive (false);
public int type =0;
AudioSource myaudio; secondskill = GameObject.Find
("2ndskillCollider");
public bool isdead; secondskill .SetActive
public ParticleSystem skill1; (false);
public ParticleSystem skill2; targetcube = GameObject.Find
public AudioClip[] audioClip; ("Target");
private GameObject mob1,mob2, Arnis, MainCanvas =
MainCanvas,targetcube,fencingeffect,rizalcomp,de GameObject.Find ("MainCanvas");
adnote; um3=
MainCanvas.GetComponent<UIManager3> ();
GameObject[] target;
UIManager3 um3;
public bool istargetlocked; mob1 = GameObject.Find
public Slider healthbar; ("enemy1");
public int health = 100; mob1 = GameObject.Find
("enemy2");
public Rigidbody rizalrig; Destroy (mob1);
private Animator gothitanim; Destroy (mob2);
}
UnityStandardAssets.Characters.ThirdPer
son.ThirdPersonCharacter tpc; IEnumerator loadmenu(){

int x=0;
// Use this for initialization anim.Play ("dead");
void Start () { deadnote.SetActive (true);
rizalrig.constraints =
rizalcomp = GameObject.Find RigidbodyConstraints.FreezeAll;
("Rizal");
yield return new
tpc = WaitForSeconds (5);
rizalcomp.GetComponent<UnityStandardAssets.C deadnote.SetActive (false);
SceneManager.LoadScene
("Updated Main Menu");
if (Input.GetKeyDown
} (KeyCode.Tab)) {

void Update () { anim.SetBool


("battlemode",true);
if(isdead==true){
StartCoroutine if(anim.GetBool("battlemode")==true){
(loadmenu());
tpc.m_MoveSpeedMultiplier =
} 2.5f;
}
Attackdamage (); istargetlocked = true;

if
(anim.GetCurrentAnimatorStateInfo this.transform.rotation
(0).normalizedTime < 0.18 && = Quaternion.Euler (new
(anim.GetCurrentAnimatorStateInfo (0).IsName Vector3(0,this.transform.localEulerAngles.y,0));
("attack1") um3.lockontext.text=
"LOCK TARGET: ON";
||anim.GetCurrentAnimatorStateInfo
(0).IsName ("attack2") ) ) { }

PlaySound (0); if (Input.GetKeyDown


(KeyCode.R)) {
}
if
(anim.GetCurrentAnimatorStateInfo
(0).normalizedTime > 0.24 &&
(anim.GetCurrentAnimatorStateInfo (0).IsName
("attack1") this.transform.rotation
= Quaternion.Euler (new
||anim.GetCurrentAnimatorStateInfo Vector3(0,this.transform.localEulerAngles.y,0));
(0).IsName ("attack2")) ) { anim.SetBool
("battlemode",false);

StartCoroutine if(anim.GetBool("battlemode")==false){
(rizalnormalattack());

} tpc.m_MoveSpeedMultiplier = 1.5f;
}
um3.lockontext.text=
"LOCK TARGET: OFF";
if(!skilling){ anim.SetBool
("LockTarget",false);
rizalrig.constraints = istargetlocked = false;
RigidbodyConstraints.FreezeRotation; tpc.m_MoveSpeedMultiplier = 1.5f;
} targetcube.SetActive
(false);

target = targetcube.transform.position = new


GameObject.FindGameObjectsWithTag Vector3 (0,0,0);
("EnemyTarget");
//IFTARGETLOCKED }
if (target
if (target [x].gameObject.name [x].gameObject.name == "enemy1(Clone)"&&
== "enemy1(Clone)"&& Vector3.Distance (target Vector3.Distance (target [x].transform.position,
[x].transform.position, this.transform.position) < this.transform.position) < 9) {
9) {
}
else {
if((anim.GetCurrentAnimatorStateInfo
this.transform.rotation (0).normalizedTime > 0
= Quaternion.Euler (new &&anim.GetCurrentAnimatorStateInfo
Vector3(0,this.transform.localEulerAngles.y,0)); (0).normalizedTime < 1)
um3.lockontext.text = &&
"LOCK TARGET: OFF"; (anim.GetCurrentAnimatorStateInfo (0).IsName
targetcube.SetActive ("attack1") ||anim.GetCurrentAnimatorStateInfo
(false); (0).IsName ("attack2"))){

targetcube.transform.position = new
Vector3 (0, 0, 0);
if (x == 2) {
this.transform.LookAt (target
x = 0; [x].transform.position);
} else {
x++; rizalrig.constraints =
} RigidbodyConstraints.FreezeAll;
}

targetcube.SetActive (true);
if (istargetlocked == true) {
targetcube.transform.position = new
um3.lockontext.text = Vector3 (target [x].transform.position.x, target
"LOCK TARGET: ON"; [x].transform.position.y + 2.2f, target
if (Input.GetKeyDown [x].transform.position.z);
(KeyCode.Tab)) {
anim.SetBool
("LockTarget", true);

tpc.m_MoveSpeedMultiplier = 2.5f;
um3.lockontext.text= "LOCK
TARGET: ON";
if (x == 2) { um3.lockontext.text = "LOCK
TARGET: ON";
x= if
0; (Input.GetKeyDown (KeyCode.R)) {
} else {

x++;
}
this.transform.rotation =
Quaternion.Euler (new Vector3 (0,
} this.transform.localEulerAngles.y, 0));
}
um3.lockontext.text = "LOCK
TARGET: OFF"; public IEnumerator elfili()
{ skilling = true;
istargetlocked = false; rizalrig.constraints =
RigidbodyConstraints.FreezeAll;
anim.SetBool ("LockTarget", false); anim.Play ("skill2");

tpc.m_MoveSpeedMultiplier = 1.5f; skill2.Play ();


yield return new
targetcube.SetActive (false); WaitForSeconds (1);
secondskill.SetActive (true);
targetcube.transform.position = new
Vector3 (0, 0, 0);
yield return new
} WaitForSeconds (0.1f);
}} rizalrig.constraints =
RigidbodyConstraints.FreezeRotation;
skilling = false;
else { secondskill.SetActive (false);
this.transform.rotation }
= Quaternion.Euler (new
Vector3(0,this.transform.localEulerAngles.y,0));
um3.lockontext.text= public IEnumerator special()
"LOCK TARGET: OFF"; { skilling = true;
targetcube.SetActive rizalrig.constraints =
(false); RigidbodyConstraints.FreezeAll;

targetcube.transform.position = new anim.Play ("attack1");


Vector3 (0,0,0);
istargetlocked = false;
yield return new
WaitForSeconds (1);
rizalrig.constraints =
} RigidbodyConstraints.FreezeRotation;
skilling = false;
}

// Update is called once per frame


}

public IEnumerator heal() IEnumerator rizalnormalattack(){


{

healthbar.value += 20; yield return new


skilling = true; WaitForSeconds (0);
rizalrig.constraints = attackCollider.SetActive (true);
RigidbodyConstraints.FreezeAll;
anim.Play ("skill1"); yield return new
skill1.Play (); WaitForSeconds (0);
attackCollider.SetActive (false);
yield return new }
WaitForSeconds (1);
rizalrig.constraints =
RigidbodyConstraints.FreezeRotation; void Attackdamage(){
skilling = false;
myaudio.Play();
if }
(Input.GetMouseButtonDown (0) && !skilling){
type = 1;
if void OnTriggerEnter(Collider col){
(anim.GetCurrentAnimatorStateInfo if (col.gameObject.name ==
(0).normalizedTime > 0.6 && "AIBullet(Clone)") {
anim.GetCurrentAnimatorStateInfo (0).IsName
("attack1")) {
type = 2; if (healthbar.value <=
0) {
anim.SetInteger ("attacktype", 2); isdead = true;
}
}
if gothitanim.Play
(anim.GetCurrentAnimatorStateInfo ("gothit");
(0).normalizedTime > 0.1 &&
anim.GetCurrentAnimatorStateInfo (0).IsName
("attack2")) { anim.Play ("gethit");
type = 3; PlaySound (1);
// effect.Play();
anim.SetInteger ("attacktype", 3);
healthbar.value =
healthbar.value- 3;
} Debug.Log ("HIT");
}}}

//Rizal Skill Cooldowns


if (type == 1 || type using UnityEngine;
== 0) { using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
anim.Play ("attack1"); public class SkillCooldownRizal : MonoBehaviour
{

} RizalControl rc;
if (type == 2) {
public List<Skill> skills;
anim.Play ("attack2");
void Start(){
rc =
GetComponent<RizalControl> ();
} }
}

void FixedUpdate(){

if(Input.GetKeyDown("1")){

} if (skills
[0].currentcooldown >= skills [0].cooldown) {

void PlaySound(int clip)


{ skills
myaudio = [0].currentcooldown = 0;
GetComponent<AudioSource>();
myaudio.clip = audioClip[clip]; StartCoroutine (rc.heal());
} public float currentcooldown;
} }
}
if(Input.GetKeyDown("2")){

if (skills
[1].currentcooldown >= skills [1].cooldown) { //Rizal Enemy1

using UnityEngine;
skills using UnityEngine.UI;
[1].currentcooldown = 0; using System.Collections;

StartCoroutine (rc.elfili()); public class RizalEnemy1: MonoBehaviour {


}
} public GameObject attackbox;
public Slider healthbar;
public int health;
if(Input.GetKeyDown("3")){ AudioSource myaudio;
public AudioClip[] audioClip;
if (skills public ParticleSystem effect;
[2].currentcooldown >= skills [2].cooldown) { public ParticleSystem effect2;
private GameObject player;
private Animator re1anim;
skills int randomInt = 0;
[2].currentcooldown = 0; private GameObject hpoff,
hitcol,re1canv,rizal,cinematicmanager;
StartCoroutine (rc.special()); public double impactTime;
}
} public bool impacted,ischasing;
RizalEnemyManager em;
} Vector3 direction;
GameObject theenemy1;
private PlayerStats3 thePlayerStats;
void Update(){ public int expToGive;
// Use this for initialization
foreach (Skill s in skills) { private Animator dmgpop;

if (s.currentcooldown public GameObject[] waypoints;


< s.cooldown) { int currentWP = 0;
string state = "patrol";
public float rotspeed=0.2f;
s.currentcooldown += Time.deltaTime; public float speed=1.5f;
float accuracyWP=2.0f;
s.skillicon.fillAmount = public int renemy1dmg = 5;
s.currentcooldown / s.cooldown; private UIManager3 WeapDamage;
} RizalControl rc;
} public GameObject CBTprefab;

}
float counter1=0;
float counter2=0;
[System.Serializable] float totalcounter=0;
public class Skill{ private bool istriggered;
GameObject maincanv;
Rigidbody re1rigid;
public float cooldown;
public Image skillicon; private float FireTime=0.0f;
GameObject bulletinstance;
Cinematic_Manager cm;
}
public float force;
public GameObject bullet_emmiter;
public GameObject prefabbullet; IEnumerator delay()
{
effect2.Play ();
void Start() re1anim.Play ("dead");
PlaySound (0);
{
cinematicmanager = thePlayerStats.AddExperience3
GameObject.Find ("CinematicManager"); (expToGive);
cm = cm.enemykilled++;
cinematicmanager.GetComponent<Cinematic_Ma yield return new
nager> (); WaitForSeconds (0.1f);

ischasing = false; this.transform.position = new


re1rigid = Vector3 (0, 0, 0);
GetComponent<Rigidbody> (); healthbar.value = 1000;
maincanv = GameObject.Find
("Map and Inventory Icon Canv");
istriggered = false;
thePlayerStats = yield return new
FindObjectOfType<PlayerStats3> (); WaitForSeconds (10);
WeapDamage = em.soldier1--;
FindObjectOfType<UIManager3> (); em.Spawn1 ();
Destroy (gameObject,2);

rizal = GameObject.Find }
("Rizal");
rc =
rizal.GetComponent<RizalControl> ();
void AiShoot(){

thePlayerStats =
FindObjectOfType<PlayerStats3> ();
//ENEMYMANAGER bulletinstance = Instantiate
theenemy1= GameObject.Find (prefabbullet,bullet_emmiter.transform.position,
("RizalEnemyManager"); bullet_emmiter.transform.rotation) as
em = GameObject;
theenemy1.GetComponent<RizalEnemyManager
> (); FireTime = Time.time+2;
re1canv = GameObject.Find bulletinstance.transform.Rotate
("Renemy1canv"); (Vector3.left*90);

re1anim = Rigidbody temp_rb;


GetComponent<Animator>();
temp_rb =
effect.GetComponent<ParticleSystem>() bulletinstance.GetComponent<Rigidbody> ();
;

effect2.GetComponent<ParticleSystem>
(); temp_rb.AddForce
// player = GameObject.Find (transform.forward*force);
("LookatPlayer");
attackbox.SetActive (false);
Destroy (bulletinstance, 1.0f); > FireTime) {
}

AiShoot ();
// Update is called once per frame }
void Update()
{ }

counter1 = healthbar.value; }
this.transform.rotation =
Quaternion.Euler (new
Vector3(0,this.transform.localEulerAngles.y,0)); //return to their base.
float angle = Vector3.Angle else {
(direction, this.transform.forward); state = "patrol";

randomInt = Random.Range (0, re1anim.SetBool


2); ("isattacking", false);
re1anim.SetInteger re1anim.SetBool
("randomtran", randomInt); ("isrunning", false);
if ( state == "patrol"
direction.y = 0; && waypoints.Length > 0) {

if (Vector3.Distance re1anim.SetBool ("Idle", false);


(rizal.transform.position, this.transform.position)
< 16 && (angle < 30 || state == "pursuing")) { re1anim.SetBool ("iswalking", true);
state = "pursuing";
this.transform.rotation re1anim.SetBool ("isattacking", false);
= Quaternion.Slerp (this.transform.rotation, if
Quaternion.LookRotation (direction), rotspeed * (Vector3.Distance (waypoints
Time.deltaTime); [currentWP].transform.position,
transform.position) < accuracyWP)
{
re1anim.SetBool
("Idle", false);
if (direction.magnitude re1anim.SetBool ("Idle", true);
> 14) {
re1anim.SetBool ("iswalking", false);
this.transform.Translate (0, 0, 0.05f);
re1anim.SetBool ("isattacking", false);

currentWP++;
re1anim.SetBool ("iswalking", true);
if(currentWP>=waypoints.Length){
re1anim.SetBool ("isattacking", false);
} currentWP = 0;
//randomize }
else { }
//rotates
this.transform.LookAt direction =
(rizal.transform.position); waypoints[currentWP].transform.position -
transform.position;
re1anim.SetBool("isattacking", true);
this.transform.rotation =
re1anim.SetBool ("iswalking", false); Quaternion.Slerp (this.transform.rotation,
if (Time.time Quaternion.LookRotation (direction),
IEnumerator delayhit(){
rotspeed* Time.deltaTime);

this.transform.Translate attackbox.gameObject.SetActive
(0,0,Time.deltaTime*speed); (true);
yield return new
} WaitForSeconds (0);
attackbox.gameObject.SetActive
} (false);

if (healthbar.value <= 0) { void Slashes(int clip)


{
healthbar.value = myaudio =
1000; GetComponent<AudioSource>();
StartCoroutine myaudio.clip = audioClip[clip];
(delay()); myaudio.Play();
}
return; void PlaySound(int clip)
} {
myaudio =
// impact GetComponent<AudioSource>();
myaudio.clip = audioClip[clip];
if myaudio.Play();
(re1anim.GetCurrentAnimatorStateInfo }
(0).normalizedTime > 0.6) {
void OnTriggerEnter(Collider col){

if (col.gameObject.name ==
"RA") {
attackbox.gameObject.SetActive (false);
} istriggered =
true;
else if this.transform.LookAt
(re1anim.GetCurrentAnimatorStateInfo (rizal.transform.position);
(0).IsName ("gethit")) {
re1anim.Play
("gethit");
PlaySound
attackbox.gameObject.SetActive (false); (0);
} effect.Play ();

else //healthbar.value = healthbar.value -


if(re1anim.GetCurrentAnimatorStateInfo(0).IsNa (WeapDamage.weapdmg +rc.randomdamage +
me("attack")) rc.skill1damage + rc.skill3damage) ;
{
healthbar.value = healthbar.value - 5;
StartCoroutine totalcounter
(delayhit()); = counter1 - healthbar.value;
}
CBT
} (totalcounter.ToString ());
Debug.Log
("HIT");
counter1 - healthbar.value;
} Debug.Log ("HIT");

if (col.gameObject.name == CBT
"2ndskillCollider") { (totalcounter.ToString ());
}

istriggered =
true;
this.transform.LookAt
(rizal.transform.position);

re1anim.Play }
("gethit");
PlaySound
(0);
effect.Play ();
void CBT(string text){

//healthbar.value = healthbar.value -
(WeapDamage.weapdmg +rc.randomdamage + GameObject temp = Instantiate
rc.skill1damage + rc.skill3damage) ; (CBTprefab) as GameObject;

healthbar.value = healthbar.value - 10; RectTransform tempRect =


totalcounter temp.GetComponent<RectTransform> ();
= counter1 - healthbar.value; temp.transform.SetParent
(transform.FindChild("Renemy1canv"));
CBT tempRect.localPosition =
(totalcounter.ToString ()); CBTprefab.transform.localPosition;
Debug.Log tempRect.localScale =
("HIT"); CBTprefab.transform.localScale;
tempRect.localRotation =
CBTprefab.transform.localRotation;
}

temp.GetComponent<Text>
().text = text;
if (col.gameObject.name ==
"AllyEvade") { temp.GetComponent<Animator>
if(state=="patrol" && ().SetTrigger ("NormalHit");
state != "pursuing"){

this.transform.Rotate (0,160,0);} Destroy (temp.gameObject,1);


} }

if (col.gameObject.name ==
"allyhit") { }

re1anim.Play //Rizal Enemy2


("gethit");
PlaySound (0); using UnityEngine;
using UnityEngine.UI;
effect.Play (); using System.Collections;
healthbar.value =
healthbar.value - WeapDamage.weapdmg +8; public class RizalEnemy2Melee: MonoBehaviour {

totalcounter = public GameObject attackbox;


public Slider healthbar; re1rigid =
public int health; GetComponent<Rigidbody> ();
AudioSource myaudio; maincanv = GameObject.Find
public AudioClip[] audioClip; ("Map and Inventory Icon Canv");
public ParticleSystem effect; istriggered = false;
public ParticleSystem effect2; thePlayerStats =
private GameObject player; FindObjectOfType<PlayerStats3> ();
private Animator re1anim; WeapDamage =
int randomInt = 0; FindObjectOfType<UIManager3> ();
private GameObject hpoff,
hitcol,re1canv,rizal,cinematicmanager;
public double impactTime; rizal = GameObject.Find
("Rizal");
public bool impacted,ischasing; rc =
RizalEnemyManager em; rizal.GetComponent<RizalControl> ();
Vector3 direction;
GameObject theenemy1;
private PlayerStats3 thePlayerStats; thePlayerStats =
public int expToGive; FindObjectOfType<PlayerStats3> ();
// Use this for initialization //ENEMYMANAGER
private Animator dmgpop; theenemy1= GameObject.Find
("RizalEnemyManager");
public GameObject[] waypoints; em =
int currentWP = 0; theenemy1.GetComponent<RizalEnemyManager
string state = "patrol"; > ();
public float rotspeed=0.2f; re1canv = GameObject.Find
public float speed=1.5f; ("Renemy1canv");
float accuracyWP=2.0f;
public int renemy1dmg = 5; re1anim =
private UIManager3 WeapDamage; GetComponent<Animator>();
RizalControl rc;
public GameObject CBTprefab; effect.GetComponent<ParticleSystem>()
;

float counter1=0; effect2.GetComponent<ParticleSystem>


float counter2=0; ();
float totalcounter=0; // player = GameObject.Find
private bool istriggered; ("LookatPlayer");
GameObject maincanv; attackbox.SetActive (false);
Rigidbody re1rigid;

private float FireTime=0.0f; }


GameObject bulletinstance;
Cinematic_Manager cm;
IEnumerator delay()
{
effect2.Play ();
void Start() re1anim.Play ("dead");
PlaySound (0);
{
cinematicmanager = thePlayerStats.AddExperience3
GameObject.Find ("CinematicManager"); (expToGive);
cm = cm.enemykilled++;
cinematicmanager.GetComponent<Cinematic_Ma yield return new
nager> (); WaitForSeconds (0.1f);

ischasing = false; this.transform.position = new


Vector3 (0, 0, 0); re1anim.SetBool
healthbar.value = 1000; ("Idle", false);
if (direction.magnitude
> 2) {

yield return new


WaitForSeconds (10);
em.soldier2--; this.transform.Translate (0, 0, 0.05f);
em.Spawn2 ();
Destroy (gameObject,2);
this.transform.rotation =
} Quaternion.Slerp (this.transform.rotation,
Quaternion.LookRotation (direction), rotspeed *
Time.deltaTime);

re1anim.SetBool ("isrunning", true);


// Update is called once per frame
void Update() re1anim.SetBool ("isattacking", false);
{
}
//randomize
counter1 = healthbar.value; if (direction.magnitude
this.transform.rotation = <2) {
Quaternion.Euler (new
Vector3(0,this.transform.localEulerAngles.y,0)); this.transform.LookAt
float angle = Vector3.Angle (rizal.transform.position);
(direction, this.transform.forward);
re1rigid.constraints =
randomInt = Random.Range (0, RigidbodyConstraints.FreezeAll;
2); randomInt =
re1anim.SetInteger Random.Range (0, 3);
("randomtran", randomInt);
re1anim.SetBool ("isattacking", true);
direction.y = 0;
re1anim.SetBool ("isrunning", false);

if (Vector3.Distance re1anim.SetInteger ("randomtran",


(rizal.transform.position, this.transform.position) randomInt);
< 8 && (angle < 20 || state == "pursuing")) {

this.transform.LookAt
(rizal.transform.position); }
direction =
rizal.transform.position - this.transform.position;
//return to their base.
else {
state = "patrol";

re1rigid.constraints = re1anim.SetBool
RigidbodyConstraints.FreezeRotation; ("isattacking", false);
re1anim.SetBool
state = "pursuing"; ("isrunning", false);
if ( state == "patrol"
&& waypoints.Length > 0) {
// impact
re1anim.SetBool ("Idle", false);
if
re1anim.SetBool ("iswalking", true); (re1anim.GetCurrentAnimatorStateInfo
(0).normalizedTime > 0.6) {
re1anim.SetBool ("isattacking", false);
if
(Vector3.Distance (waypoints
[currentWP].transform.position,
transform.position) < accuracyWP) attackbox.gameObject.SetActive (false);
{ }

else if
re1anim.SetBool ("Idle", true); (re1anim.GetCurrentAnimatorStateInfo
(0).IsName ("gethit")) {
re1anim.SetBool ("iswalking", false);

re1anim.SetBool ("isattacking", false);


attackbox.gameObject.SetActive (false);
currentWP++; }

if(currentWP>=waypoints.Length){
else
currentWP = 0; if(re1anim.GetCurrentAnimatorStateInfo(0).IsNa
} me("attack"))
} {
//rotates
direction = StartCoroutine
waypoints[currentWP].transform.position - (delayhit());
transform.position; }

this.transform.rotation = }
Quaternion.Slerp (this.transform.rotation,
Quaternion.LookRotation (direction),

rotspeed* Time.deltaTime); IEnumerator delayhit(){

this.transform.Translate
(0,0,Time.deltaTime*speed); attackbox.gameObject.SetActive
(true);
} yield return new
WaitForSeconds (0);
} attackbox.gameObject.SetActive
(false);

if (healthbar.value <= 0) { void Slashes(int clip)


{
healthbar.value = myaudio =
1000; GetComponent<AudioSource>();
StartCoroutine myaudio.clip = audioClip[clip];
(delay()); myaudio.Play();
}
return; void PlaySound(int clip)
} {
myaudio = rc.skill1damage + rc.skill3damage) ;
GetComponent<AudioSource>();
myaudio.clip = audioClip[clip]; healthbar.value = healthbar.value - 10;
myaudio.Play(); totalcounter
} = counter1 - healthbar.value;

void OnTriggerEnter(Collider col){ CBT


(totalcounter.ToString ());
if (col.gameObject.name == Debug.Log
"RA") { ("HIT");

istriggered =
true; }
this.transform.LookAt
(rizal.transform.position);

re1anim.Play if (col.gameObject.name ==
("gethit"); "AllyEvade") {
PlaySound if(state=="patrol" &&
(0); state != "pursuing"){
effect.Play ();
this.transform.Rotate (0,160,0);}
}
//healthbar.value = healthbar.value -
(WeapDamage.weapdmg +rc.randomdamage + if (col.gameObject.name ==
rc.skill1damage + rc.skill3damage) ; "allyhit") {

healthbar.value = healthbar.value - 5; re1anim.Play


totalcounter ("gethit");
= counter1 - healthbar.value; PlaySound (0);

CBT effect.Play ();


(totalcounter.ToString ()); healthbar.value =
Debug.Log healthbar.value - WeapDamage.weapdmg +8;
("HIT");
totalcounter =
counter1 - healthbar.value;
} Debug.Log ("HIT");

if (col.gameObject.name == CBT
"2ndskillCollider") { (totalcounter.ToString ());
}

istriggered =
true;
this.transform.LookAt
(rizal.transform.position);

re1anim.Play }
("gethit");
PlaySound
(0);
effect.Play ();
void CBT(string text){

//healthbar.value = healthbar.value -
(WeapDamage.weapdmg +rc.randomdamage + GameObject temp = Instantiate
(CBTprefab) as GameObject; void Start () {

RectTransform tempRect = //FLAGS


temp.GetComponent<RectTransform> (); N1 = GameObject.Find ("N1");
temp.transform.SetParent N2 = GameObject.Find ("N2");
(transform.FindChild("Renemy1canv")); N3 = GameObject.Find ("N3");
tempRect.localPosition = B1 = GameObject.Find ("B1");
CBTprefab.transform.localPosition; B2 = GameObject.Find ("B2");
tempRect.localScale = B3 = GameObject.Find ("B3");
CBTprefab.transform.localScale; R1 = GameObject.Find ("R1");
tempRect.localRotation = R2 = GameObject.Find ("R2");
CBTprefab.transform.localRotation; R3 = GameObject.Find ("R3");

N1.SetActive (true);
temp.GetComponent<Text> N2.SetActive (true);
().text = text; N3.SetActive (true);

temp.GetComponent<Animator> B1.SetActive (false);


().SetTrigger ("NormalHit"); B2.SetActive (false);
B3.SetActive (false);

Destroy (temp.gameObject,1); R1.SetActive (false);


} R2.SetActive (false);
R3.SetActive (false);

} Endingcine1 =
GameObject.Find ("EndingofScene1");
middlecam = GameObject.Find
("2ndif1scene");
//Rizal Cinematic Manager
Caught = GameObject.Find
using UnityEngine; ("CaughtScene");
using System.Collections; Caught.SetActive (false);
using UnityEngine.UI;
using UnityEngine.SceneManagement; cq = GameObject.Find
public class Cinematic_Manager : MonoBehaviour ("CaptureQuest");
{
anim =
public GameObject game; Fade.GetComponent<Animator> ();
public bool firstsceneisplaying;
public RawImage Fade; cine1 = GameObject.Find
private Animator anim; ("Cinematic1");
private bool iscine2firstscene,isending; cine2 = GameObject.Find
private GameObject ("Cinematic2");
cine1,cine2,middlecam,Endingcine1,cine1firstscene flags = GameObject.Find
,cine2firstscene,cq,Caught,maincanv,finalScene,flag ("Flags");
s; flags.SetActive (false);

private GameObject N1, B1, R1, N2, B2, cine1firstscene =


R2, N3, B3, R3; GameObject.Find ("FirstScene");
RizalFirstScene3 RFS3; cine2firstscene =
public int enemykilled; GameObject.Find ("Next Scene");
public int progress;
UIManager3 um3; finalScene = GameObject.Find
("FinalScene");
finalScene.SetActive (false);
// Use this for initialization
maincanv = GameObject.Find cine2firstscene.SetActive (true);
("MainCanvas"); iscine2firstscene =
um3 = false;
maincanv.GetComponent<UIManager3> (); }

yield return new


game = GameObject.Find WaitForSeconds (7);
("Game"); cine2.SetActive (false);
cine2.SetActive (false); }
cine1firstscene.SetActive (false);
cine2firstscene.SetActive (false); IEnumerator cinematic3(){
anim.Play
StartCoroutine (scene1()); ("BlackScreenEffect");
} yield return new
WaitForSeconds (1);
IEnumerator scene1(){
game.SetActive (false); game.SetActive (false);
yield return new Caught.SetActive (true);
WaitForSeconds (17); isending = true;
anim.Play yield return new
("BlackScreenEffect"); WaitForSeconds (6);
yield return new anim.Play
WaitForSeconds (1); ("BlackScreenEffect");
cine1.SetActive (false); yield return new
game.SetActive (true); WaitForSeconds (1);
cq.SetActive (false); if(isending){
} Caught.SetActive (false);
finalScene.SetActive (true);
isending = false;
IEnumerator scene2(){ }
cine2.SetActive (true); yield return new
game.SetActive (false); WaitForSeconds (6);
yield return new SceneManager.LoadScene
WaitForSeconds (17); ("RizalEnding");
anim.Play }
("BlackScreenEffect"); void Update () {
yield return new if(um3.rizalbase1){
WaitForSeconds (1);
flags.SetActive (true); N1.SetActive (false);
cine2.SetActive (false); B1.SetActive (true);
game.SetActive (true); R1.SetActive (false);
cq.SetActive (true); }
}
// Update is called once per frame if(!um3.rizalbase1){
IEnumerator cinematic2(){
N1.SetActive (true);
enemykilled = 22; R1.SetActive (true);
yield return new B1.SetActive (false);
WaitForSeconds (1); }
cine1firstscene.SetActive (true);
cine2firstscene.SetActive (false);
iscine2firstscene = true;
yield return new if(um3.rizalbase2){
WaitForSeconds (7); N2.SetActive (false);
B2.SetActive (true);
if(iscine2firstscene){ R2.SetActive (false);
cine1firstscene.SetActive (false); }
StartCoroutine
if(!um3.rizalbase2){ (scene2());
StartCoroutine
N2.SetActive (true); (cinematic2());
R2.SetActive (true); }
B2.SetActive (false);
} if(um3.rizalbase1 &&
um3.rizalbase2 && um3.rizalbase3){
if(um3.rizalbase3){ um3.rizalbase1 =
N3.SetActive (false); !um3.rizalbase1;
B3.SetActive (true); um3.rizalbase2 =
R3.SetActive (false); !um3.rizalbase2;
} um3.rizalbase3 =
!um3.rizalbase3;
if(!um3.rizalbase3){ StartCoroutine
(cinematic3());
N3.SetActive (true); }
R3.SetActive (true);
B3.SetActive (false);
}
}
if(enemykilled==20){ }
Curriculum Vitae
Rein Gereko L. Alcira
Address: Blk 16 Lot 22 Manfil,
Kapayapaan Village, Brgy. Canlubang,
Calamba City, Laguna, 4027
Philippines

Contact No.: 09174180110/5083728


Email: reinalcira11@gmail.com

OBJECTIVE

To qualify for a position in a field where my skills and qualities can be utilized and
developed to its fullest potential.

PERSONAL INFORMATION
Nickname : Rein/Gereko
Age : 21 years old
Civil Status : Single
Date of Birth : October 14, 1995
Place of Birth : Calamba Medical Center, Calamba City, Laguna
Height : 5’3”
Weight : 110 lbs.
Father : Roger C. Alcira
Occupation : OFW
Mother : Katherene L. Alcira
Occupation : OFW
Religion : Iglesia Ni Cristo

EDUCATIONAL BACKGROUND

Tertiary CITY COLLEGE OF CALAMBA


P. Burgos St. Calamba City, Laguna
A.Y 2013-2017

Secondary ST. SIMON MONTESSORI SCHOOL


Brgy. 1, Crossing, Calamba City, Laguna
S.Y 2009-2013
Primary ST. SIMON MONTESSORI SCHOOL
Brgy. 1, Crossing, Calamba City, Laguna
S.Y 2003-2009

EMPLOYMENT EXPERIENCE

Universal Robina Corporation (URC)


Human Resources OJT
June 2016 – July 2016

TECHNICAL SKILLS

 Basic knowledge in C and C++ programming, and Photoshop CS6


 Software installation
 Troubleshooting and debugging of codes
 Microsoft Office applications (Word, Excel & PowerPoint)

AFFILIATIONS

 Member of Christian Brotherhood International July 2013


 Member of Computer Science Society August 2013

SEMINARS ATTENDED

COMSCI: Creating an Innovative World General Assembly


Calamba City

Career Path of BSCS Graduate Seminar


Calamba City

Pre-Employment Seminar
2017
REFERENCES

Prof. Regina G. Almonte


College Professor of Computer Studies
City College of Calamba
+63930 126 5847

Prof. Ma. Lielanie Olanosa Barrion


Vice President of Administration
City College of Calamba
+63917 545 0826

DECLARATION

I hereby certify to the truth of all the above-stated information to be true and
correct to the best of my abilities.

REIN GEREKO L. ALCIRA


Applicant’s Signature
Redz Von Matthew V. Aparicio
Address: Blk2 lot2 Rosal Street, Marcville Subdivision,
Parian, Calamba City, Laguna, 4027
Philippines
Contact No.: 09750318305
Email: rvmvaparicio@gmail.com

OBJECTIVE

To be able to qualify for a position related to my field of specialization in computer


science and/or Information technology, which will serve not only as a career growth but also
as a challenge to my profession.

PERSONAL INFORMATION
Nickname : Redz
Age : 20 years old
Civil Status : Single
Date of Birth : October 26, 1996
Place of Birth : Calamba City, Laguna
Height : 5’6”
Weight : 141 lbs.
Father : Robesphiere C. Aparicio
Occupation : Marine Engineer
Mother : Lecel V. Aparicio
Occupation : Real estate broker
EDUCATIONAL BACKGROUND

Tertiary CITY COLLEGE OF CALAMBA


P. Burgos St. Calamba City, Laguna
A.Y 2013-2017

Secondary ST. SIMON MONTESSORI SCHOOL


Brgy. 1, Crossing, Calamba City, Laguna
S.Y 2009-2013

Primary CHILD JESUS ACADEMY


Cabuyao, Laguna
S.Y 2001-2009

EMPLOYMENT EXPERIENCE

SPi Global
Technical Support OJT
June 2016 – August 2016

TECHNICAL SKILLS

 C, C++, HTML, CSS, Photoshop CS6, Blender, Unity


 Software installation
 Troubleshooting
 Microsoft Office applications (Word, Excel & PowerPoint)

AFFILIATIONS

 Member of Brotherhood and Sorority for December 2013


the Advancement of Taekwondo
 Member of Computer Science Society August 2013
SEMINARS ATTENDED

COMSCI: Creating an Innovative World General Assembly


Calamba City

Career Path of BSCS Graduate Seminar


Calamba City

Pre-Employment Seminar
2017

REFERENCES

Prof. Regina G. Almonte


College Professor of Computer Studies
City College of Calamba
+63930 126 5847

Prof. Jose Catador Jr.


Math Instructor
City College of Calamba
+63916384 3675

Mr. Frederick Simbulan


Taekwondo Instructor
+6391782827403

DECLARATION

I hereby declare that all the information furnished are true and correct to the
best of my knowledge and belief.

REDZ VON MATTHEW V. APARICIO


Applicant’s Signature
Jonathan N. Magat
Address: #23 Barandal Calamba City

Contact No.: 09202122175


Email: jonathanmagat96@gmail.com

OBJECTIVE

To take a challenging role in the field of Computer programming and implement the
expertise and experience gained in this field to develop complex project with efficiency and
quality.

PERSONAL INFORMATION
Nickname : Jonas/ Magat
Age : 20 years old
Civil Status : Single
Date of Birth : June 2, 1996
Place of Birth : Calamba City, Laguna
Height : 5’5”
Weight : 147 lbs.
Father : Renato T. Magat
Occupation : Warehouse Operator
Mother : Neiylen N. Magat
Occupation : Housewife
Religion : Catholic

EDUCATIONAL BACKGROUND

Tertiary CITY COLLEGE OF CALAMBA


P. Burgos St. Calamba City, Laguna
A.Y 2013-2017

Secondary Laguna College of Business and Arts


Burgos St. Calamba City, Laguna
S.Y 2009-2013

Primary Laguna College of Business and Arts


Burgos St. Calamba City, Laguna
S.Y 2003-2009
EMPLOYMENT EXPERIENCE

SPi Global Laguna


Tech Support
June 2016 – July 2016

SKILLS

Programming Languages: C / C++, Java, PHP, Html , CSS, C#.

Database: Mysql.

PC Troubleshooting

Applications: Microsoft Office, Android Studio, Photoshop CS6, Camtasia Studio, NetBeans, Dev
C++, Unity.

Good Interpersonal Skills

AFFILIATIONS

 Member of Computer Science Society August 2013

SEMINARS ATTENDED

COMSCI: Creating an Innovative World General Assembly


Calamba City

Career Path of BSCS Graduate Seminar


Calamba City

Pre-Employment Seminar
2017

REFERENCES

Prof. Regina G. Almonte


College Professor of Computer Studies
City College of Calamba
+63930 126 5847
Sonny Ermino
IT Officer
SPi Global Laguna
09189302485

Gico Calvento
Web Developer
Accenture
09989522153

DECLARATION

I hereby declare that the above written particulars are true to the best of my knowledge and
belief.

JONATHAN N. MAGAT
Applicant’s Signature

You might also like