Anda di halaman 1dari 21

Dynamic Learning Approach to Artificial Intelligence

Based Generated Combat Game Tactics


Pendekatan Pembelajaran Dinamis Berbasis Kecerdasan Buatan dengan Taktik Permainan Tempur

Abstract-- Game (Artificial Intelligence) is defined as the decision making process of computer-controlled
opponent in video games. To improve the entertainment value of games, Adaptive game AI can be used
to allowing computer-controlled opponents to fix weaknesses automatically in the game AI, and to
respond to changes in human-player tactics. Dynamic Scripting is a reinforcement learning technique
succeeds in endowing computer-controlled opponents with adaptive performance. Dynamic Scripting
gives illusion of Human_like behavior; it plays the game for a while, evaluates its own behavior, and
builds up a tactic from behaviors that it has been successful with so far. If it starts to lose, it quickly
adapts and discards current tactics, trying to learn how to deal with the new threat. In Dynamic Scripting
rule_bases are manually designed using domain_specific knowledge. Manually designing these
knowledge bases may be time_intensive, and risks errors in analysis and encoding. In this paper we
generate the tactics for the knowledge rule of Dynamic Scripting fully automatically by using
Evolutionary algorithm technique.

Permainan Abstract-- (Artificial Intelligence) didefinisikan sebagai proses pengambilan keputusan lawan
yang dikendalikan komputer dalam video game. Untuk meningkatkan nilai hiburan permainan, Adaptive
permainan AI dapat digunakan untuk memungkinkan lawan dikendalikan komputer untuk memperbaiki
kelemahan secara otomatis dalam permainan AI, dan untuk merespon perubahan taktik manusia-player.
Scripting dinamis adalah teknik penguatan pembelajaran berhasil endowing lawan dikendalikan
komputer dengan kinerja adaptif. Dinamis Scripting memberikan ilusi perilaku Human_like; memainkan
permainan untuk sementara waktu, mengevaluasi perilaku sendiri, dan membangun taktik dari perilaku
yang telah sukses dengan sejauh ini. Jika mulai kalah, dengan cepat beradaptasi dan membuang taktik
saat ini, mencoba untuk belajar bagaimana menghadapi ancaman baru. Dalam Dinamis Scripting
rule_bases dirancang secara manual menggunakan pengetahuan domain_specific. Manual merancang
basis pengetahuan ini mungkin time_intensive, dan risiko kesalahan dalam analisis dan encoding. Dalam
tulisan ini kita menghasilkan taktik untuk aturan pengetahuan Dinamis Scripting sepenuhnya otomatis
dengan menggunakan teknik algoritma evolusioner.

Keywords- Artificial Intelligence, Dynamic Scripting, Reinforcement learning, First Person Shooter, Finite State Machine, Zone
Impact, Self Defense, Impact Factor, Intelligence Factor, Fire Action Time, Application Programming Interface, Real Time
Strategy Game, Computer Role Play Games, Artificial Neural Network.

Kata kunci Artificial Intelligence, Dinamis Scripting, belajar Penguatan, First Person Shooter, Finite State
Machine, Zona Dampak, Pertahanan Diri, Faktor Dampak, Faktor Intelligence, Api Waktu Action,
Application Programming Interface, Real Time Strategy Game, Peran Komputer Play Game, Artificial
Jaringan syaraf.
I. INTRODUCTION
Popularity of commercial computer games is directly related to their entertainment value. Games pose challenges
for the human to overcome, usually in the form of combat. And the decision making process of computer
controlled opponent in combat is refers as Game AI. The goal of computer controlled opponent to get defeated by
its human-player in more challenging, impressive and unpredictable manner. So if the Game AI manages to keep
players indulge in the game, we call it “entertaining”. However, the time allocated to develop game AI is typically
short; but with the growing power of CPUs, and as computers becoming cheaper, it's time for game developers to
dedicate significant CPU cycles to employ academic AI techniques. A typical approach for creating AI components in
a game is using Finite State Machine. But after some time Human Players can observe predictable and deterministic
Game Character and exploit weaknesses in the Character behavior and the very next, game loses its appeal.

I. PENDAHULUAN
Popularitas game komputer komersial secara langsung berkaitan dengan nilai hiburan mereka. Game
menimbulkan tantangan bagi manusia untuk mengatasi, biasanya dalam bentuk pertempuran. Dan
proses pengambilan keputusan dikendalikan komputer lawan dalam pertempuran adalah merujuk
sebagai permainan AI. Tujuan dari komputer yang dikendalikan lawan untuk mendapatkan dikalahkan
oleh manusia-pemain dalam cara yang lebih menantang, mengesankan dan tak terduga. Jadi jika Game
AI berhasil menjaga pemain menikmati permainan, kita menyebutnya "menghibur". Namun, waktu yang
dialokasikan untuk mengembangkan permainan AI biasanya singkat; tetapi dengan pertumbuhan
kekuatan CPU, dan komputer menjadi lebih murah, saatnya untuk pengembang game untuk
mendedikasikan siklus CPU yang signifikan untuk menggunakan teknik AI akademik. Pendekatan khas
untuk menciptakan komponen AI dalam game menggunakan Finite State Machine. Tapi setelah beberapa
waktu Pemain Manusia dapat mengamati diprediksi dan deterministik Karakter Game dan
mengeksploitasi kelemahan dalam perilaku Karakter dan berikutnya, permainan kehilangan daya
tariknya.

Sebagai penekanan saat ini adalah pada game yang lebih baik semakin lama kita bermain mereka. Jadi,
Adaptive Game AI dengan pembelajaran online memiliki kemampuan otomatis beradaptasi perilaku
Komputer Controlled Lawan, untuk menjaga permainan menarik untuk Manusia-Player. Dengan terus
belajar strategi baru Adaptive Game AI berpotensi dapat meningkatkan kualitas permainan AI.
Sejak awal pengembangan game, pengembang game selalu digunakan permainan AI untuk karakter
permainan untuk membuat mereka tampak cerdas. Hal ini dapat hantu di permainan klasik PAC manusia
atau bot canggih di FIRST_PERSON game shooter Half_life. Bertujuan untuk menciptakan entitas AI yang
mencapai kecerdasan human_level mengungguli manusia. Tapi high_level ini kecerdasan tidak dapat
diterima dalam permainan AI karena high_level seperti kecerdasan mungkin tidak memberikan pemain
manusia kesempatan untuk menang. Jadi, jika seorang pemain tidak bisa maju dalam tingkat atau jika
bermain game tidak maju pada akhirnya pemain akan kehilangan minat dalam permainan. Jadi,
seseorang dapat merumuskan bahwa tujuan dari permainan AI harus tersingkir oleh pemain manusia
dengan cara yang paling menantang, mengesankan dan belum pernah terjadi sebelumnya.
Penggunaan saat ini AI di Game
Di sini, di tulisan ini kita mempelajari tingkat AI yang saat ini digunakan dalam video game. Jadi, kami
memilih beberapa permainan yang paling populer dan memeriksa mereka. Ternyata bahwa mayoritas AI
scripted atau sulit kode dalam logika tanpa menggunakan teknik AI akademik.
Age of Empires
Age of Empires adalah permainan strategi real-time. Dalam Age of Empires pemain membangun
kerajaan dan tentara dengan tujuan untuk bertahan hidup melalui usia, mempertahankan kerajaannya
sendiri dan menaklukkan kerajaan lainnya. Seorang pemain dimulai dengan beberapa pekerja dan /
bangunan utamanya dan kemudian perlahan-lahan membangun sebuah kota lengkap dan banyak
bangunan. AI dari Age of Empires cukup pintar untuk menemukan dan meninjau kembali kerajaan lain
dan bangunan mereka, yaitu jalan temuan, dan juga mulai menyerang mereka. Salah satu kelemahan
utama dengan permainan ini adalah bahwa AI adalah terlalu mudah ditebak.
Setengah hidup
Paruh adalah fiksi ilmiah pertama-person shooter (FPS). Paruh mengambil game shooter ke tingkat
berikutnya dari perilaku cerdas monster musuh dan memenangkan 35 "permainan tahun" penghargaan
di tahun 2004.

Half-life is a more or less a traditional game in which a player advances by killing creatures coming in his way.
Monsters in this game can hear, see, and track human players
Bots in Computer Game
Bots in Counter-strike, also called NPCs, are used to replace human players. Bots play as a part of the team and
achieve goals similar to humans. Bots simulate human players and are aimed to give game players the `illusion' of
playing against actual human players. Currently, bots used in Counter-strike are programmed to find path, attack
opponent players, or run away from the site if they have heavy retaliation, providing an illusion that they are
intelligent. Similar species of bots are used in many other FPS games, with similar methods of programming. Bots
are usually preprogrammed according to the requirements of a game and play for or against human players. Based
on the method of programming, there can be two styles of bots (Patel, P., 2009).
1. Static: Static bots are static in the levels and maps have already been processed. This means that they need to
have all information about the maps and level prior to the start of game.
2. Dynamic: Dynamic bots learn as they go through the level. They can be played at any level while static bots
cannot.

An FSM for Bot of Combat Game is quite simple like firstly making initial decision i.e. game strategies, selecting
weapon etc. and the start searching for enemy. After the enemy is spotted, it makes a transition to attack state
where it fires bullets at enemy.

Paruh adalah lebih atau kurang permainan tradisional di mana seorang pemain kemajuan oleh makhluk
membunuh datang di jalan. Monster dalam game ini bisa mendengar, melihat, dan melacak pemain
manusia
Bot di Game Komputer
Bot di Counter-pemogokan, juga disebut NPC, digunakan untuk menggantikan pemain manusia. Bot
bermain sebagai bagian dari tim dan mencapai tujuan yang sama dengan manusia. Bot mensimulasikan
pemain manusia dan ditujukan untuk memberikan pemain game `ilusi 'bermain melawan pemain
manusia yang sebenarnya. Saat ini, bot digunakan dalam Counter-pemogokan yang diprogram untuk
menemukan jalan, pemain serangan lawan, atau melarikan diri dari situs jika mereka memiliki
pembalasan berat, memberikan ilusi bahwa mereka cerdas. spesies yang sama bot digunakan di banyak
game FPS lainnya, dengan metode yang serupa pemrograman. Bot biasanya diprogram sesuai dengan
persyaratan dari permainan dan bermain untuk atau melawan pemain manusia. Berdasarkan metode
pemrograman, bisa ada dua gaya bot (Patel, P., 2009).
1. Static: bots statis statis di tingkat dan peta sudah diproses. Ini berarti bahwa mereka harus memiliki
semua informasi tentang peta dan tingkat sebelum awal permainan.
2. Dinamis: bots Dinamis belajar saat mereka pergi melalui tingkat. Mereka bisa dimainkan di tingkat
manapun sementara bot statis tidak bisa.
FSM untuk Bot Combat Permainan ini cukup sederhana seperti pertama membuat keputusan awal
strategi yaitu permainan, memilih senjata dll dan awal mencari musuh. Setelah musuh adalah melihat,
itu membuat transisi untuk menyerang negara di mana kebakaran peluru musuh.

Figure 1: FSM for Bots in Combat Game.

Gambar 1: FSM untuk Bot di Tempur Permainan.

Path finding is necessary for almost every video game, for navigating the computer player in a complex
environment. Fortunately, an effective solution to this problem is provided by A* algorithm which is one of the most
commonly used algorithms by game programmers (J. Matthews, 2002)( D. Higgins, 2002).
Formally, A* is a best_first graph search algorithm to finds the path with least_cost between given initial node and
to one goal node using distance_plus_cost heuristic function (f(x)). A* uses two functions to compute
distance_plus_cost function:
• Path_cost_function(g(x)): calculates the cost from start note to current node.
• Heuristic estimate (h(x)): a heuristic function to estimate the cost from current node to goal node.

So, f(x) = g(x) + h(x) is used to determine a promising path.


Fuzzy logic is derived from fuzzy set theory. It is a method of dealing with reasoning using approximate values
rather than precise crisp values. On the contrary to conventional set theory, fuzzy theory uses membership values
in the range between 0 to 1 instead of using 1 and 0. These membership values are used to represent linguistic
variables like short, average and tall. The main idea behind fuzzy logic is to represent a computer problem in the
way a human being would. Consider an example of Combat Bot, which got various inputs like Hit Point, Enemy Unit,
etc. Based on these parameters a bot needs to decide whether to Attack or not. So, a membership function for this
type of system is shown in table 1.

Jalan Temuan ini diperlukan untuk hampir setiap video game, untuk navigasi pemain komputer dalam
lingkungan yang kompleks. Untungnya, solusi efektif untuk masalah ini disediakan oleh algoritma A *
yang merupakan salah satu algoritma yang paling umum digunakan oleh programmer permainan (J.
Matthews, 2002) (D. Higgins, 2002).
Secara formal, A * adalah algoritma pencarian graf best_first untuk menemukan jalan dengan least_cost
antara diberikan simpul awal dan ke satu simpul tujuan menggunakan fungsi heuristik
distance_plus_cost (f (x)). A * menggunakan dua fungsi untuk menghitung fungsi distance_plus_cost:
• Path_cost_function (g (x)): menghitung biaya dari awal catatan untuk node saat.
• estimasi Heuristic (h (x)): fungsi heuristik untuk memperkirakan biaya dari node saat ke node tujuan.
Jadi, f (x) = g (x) + h (x) digunakan untuk menentukan jalan yang menjanjikan.
logika fuzzy berasal dari teori himpunan fuzzy. Ini adalah metode berurusan dengan penalaran
menggunakan nilai perkiraan dan bukan nilai-nilai renyah tepat. Sebaliknya untuk menetapkan teori
konvensional, teori kabur menggunakan nilai keanggotaan dalam kisaran antara 0 sampai 1 daripada
menggunakan 1 dan 0 nilai keanggotaan ini digunakan untuk mewakili variabel linguistik seperti pendek,
rata-rata dan tinggi. Gagasan utama di balik logika fuzzy adalah untuk mewakili masalah komputer dalam
cara manusia akan. Pertimbangkan contoh Tempur Bot, yang mendapat berbagai masukan seperti Titik
Hit, Musuh Unit, dll Berdasarkan parameter tersebut bot perlu memutuskan apakah akan Serang atau
tidak. Jadi, fungsi keanggotaan untuk jenis sistem ditunjukkan dalam tabel 1.

Table 1
Fuzzified Bot's State
Table 2:
Fuzzy Rules

This kind of fuzzy system model reduces the time and effort game programmers require for configuring crisp values.
Also, the number of rules needed in a Bot can be significantly reduced using a fuzzy system.
II. BACKGROUND STUDY
Spronck et al. (2005) evaluates Dynamic scripting performance in experiments in which Adaptive game AI agents
are pitted against a collective of manually designed tactics in a simulated computer Role Playing Game. With the
enhancement, dynamic scripting meets all computational and functional requirements. (Spronck, P., 2005).
Szita, I., et al. (2008) described learning methods which can increase adaptively, and diversity, while retaining
playing strength. In practice, random actions are also often applied to make AI more diverse and unpredictable.
However, the style of game AI still remains predictable because it is rarely affected by this kind of randomness.
(Szitz, I., 2008).
Andrade, G. et al. (2005) provide mechanisms to dynamically balance the difficulty level of the games in order to
keep the user interested in playing. First, the game must, as quickly as possible, identify and adapt itself to the
human player‟s initial level, which can vary widely from novices to experts. Second, the game must track as close
and as fast as possible the evolutions and regressions in the player‟s performance. Third, in adapting itself, the
behavior of the game must remain believable, since the user is not meant to perceive that the computer is somehow
facilitating things. (Andrade, G., 2005).
Spronck et al. (2004) experimental result indicated that, the time needed by Dynamic Scripting to generate effective
opponents becomes unacceptably long. (Spronck, P., 2004).
The performance of Adaptive Game AI, by using an offline evolutionary algorithm to evolve new tactics that are
able to deal with optimized tactics which Dynamic Scripting cannot defeat using its original rule base. But the
translation of the evolved solutions to improvements in domain knowledge was done manually (Ponsen, M., 2004).
Few attempts have been made to automatically create game AI.
Madeira et al. (2004) focused on a new approach to the semiautomatic generation of a game AI using Machine
Learning techniques i.e. used reinforcement learning as a basic technique, and bootstrapping the learning process
by letting the learning Game AI play against another AI to get more and more control of the decision-making. To the
very best Ponsen et al. (2005) introduced a novel methodology that uses an evolutionary algorithm to
automatically generate high-quality domain knowledge used by dynamic scripting (Ponsen, M., 2005).

model semacam ini sistem fuzzy mengurangi waktu dan usaha permainan programmer memerlukan
untuk mengkonfigurasi nilai renyah. Juga, jumlah aturan yang diperlukan dalam Bot dapat dikurangi
secara signifikan menggunakan sistem fuzzy.
II. STUDI LATAR BELAKANG
Spronck et al. (2005) mengevaluasi kinerja scripting dinamis dalam percobaan di mana agen Adaptive
permainan AI diadu kolektif taktik yang dirancang secara manual dalam simulasi komputer Role Playing
Game. Dengan perangkat tambahan, scripting dinamis memenuhi semua kebutuhan komputasi dan
fungsional. (Spronck, P., 2005).
Szita, I., et al. (2008) dijelaskan metode yang dapat meningkatkan adaptif, dan keragaman belajar,
sementara tetap mempertahankan bermain kekuatan. Dalam prakteknya, tindakan acak juga sering
diterapkan untuk membuat AI lebih beragam dan tak terduga. Namun, gaya permainan AI masih tetap
diprediksi karena jarang terkena semacam ini keacakan. (Szitz, I., 2008).
Andrade, G. et al. (2005) menyediakan mekanisme untuk secara dinamis menyeimbangkan tingkat
kesulitan permainan untuk menjaga pengguna tertarik bermain. Pertama, permainan harus, secepat
mungkin, mengidentifikasi dan menyesuaikan diri dengan pemain manusia "s tingkat awal, yang dapat
bervariasi dari pemula untuk ahli. Kedua, permainan harus melacak sedekat dan secepat mungkin
evolusi dan regresi dalam pemain "s kinerja. Ketiga, dalam menyesuaikan diri, perilaku permainan harus
tetap dipercaya, karena pengguna tidak dimaksudkan untuk melihat bahwa komputer entah bagaimana
memfasilitasi hal. (Andrade, G., 2005).
Spronck et al. (2004) hasil percobaan menunjukkan bahwa, waktu yang dibutuhkan oleh Dinamis
Scripting untuk menghasilkan lawan efektif menjadi terlalu lama. (Spronck, P., 2004).
Kinerja Adaptive Game AI, dengan menggunakan algoritma evolusi secara offline berkembang taktik baru
yang mampu menangani taktik dioptimalkan yang dinamis Scripting tidak bisa mengalahkan
menggunakan rule base aslinya. Tapi terjemahan dari solusi berevolusi untuk perbaikan dalam domain
pengetahuan dilakukan secara manual (Ponsen, M., 2004). Beberapa upaya telah dilakukan untuk secara
otomatis membuat permainan AI.
Madeira et al. (2004) difokuskan pada pendekatan baru untuk generasi semi-otomatis dari permainan AI
menggunakan teknik Machine Learning yaitu digunakan penguatan pembelajaran sebagai teknik dasar,
dan bootstrap proses pembelajaran dengan membiarkan belajar Game AI bermain melawan AI lain
untuk mendapatkan lebih banyak dan lebih banyak kontrol dari pengambilan keputusan. Untuk yang
terbaik Ponsen et al. (2005) memperkenalkan metodologi baru yang menggunakan algoritma
evolusioner untuk secara otomatis menghasilkan berkualitas tinggi pengetahuan domain yang digunakan
oleh scripting dinamis (Ponsen, M., 2005).

III. PROBLEM AND APPROACH


In the past mainly focused on sound and graphics. But by setting aside old „Finite State Machine‟ and using
advanced Adaptive Game AI techniques, the trend is shifting and AI is often assigned an equal priority to graphics
and sound. So the next breakthrough for Game Industry will be with Computer Controlled Opponent character
behave realistically and that can learn and adapt rather than just more resolution textures and more frames-per-
second. Major problem area was to produce an AI which learned online i.e. allowing the game to adapt its fighting
style mid-game if a Human-Player decided to try a new technique. A novel technique called Dynamic Scripting
successfully endowed Computer Controlled Opponent with Adaptive performance. Dynamic Scripting has already
been shown to be successful for CRPGs (Spronck, 2003), but not yet for Fighting games. As we expect that it is
applicable to Fighting games, we decide to focus on these for our research.
Problem statement: “To What Extent Dynamic Scripting Technique Can Be Improved, In Order to Improve Adaptive
Behavior of Computer-Player in Combat Games”.
Player is the term used to point human being playing the computer game.
Avatar is the game‟s representation of a player.
Game World is the virtual universe where the game takes place.
Game Objects are the objects that appear in computer game. Game objects can either be active or reactive. Active
means that the object can actively conduct actions upon itself or upon the game world. Reactive means that the
object cannot by itself perform actions, but only react as an effect of an action.
Characters are active game objects situated in the game world.
Non-Player Characters are those characters who participate in the game‟s theme. They are considered as side
character in game.
Participants are active game objects which assume the role of a player.
Support Routine is software that assists the player in playing the game.
Game AI is the term used to describe the commercial game industry‟s methods for controlling active game objects.
Game AI includes methods which create interesting auto-generated worlds and create opposing participants and
characters for the player to face in the game. In our search for an appropriate environment, we took the following
list of requirements into account:

AKU AKU AKU. MASALAH DAN PENDEKATAN


Di masa lalu terutama difokuskan pada suara dan grafis. Tapi dengan menyisihkan tua "Finite State
Machine" dan menggunakan maju teknik Adaptive Game AI, tren bergeser dan AI sering ditugaskan
prioritas sama dengan grafis dan suara. Jadi terobosan berikutnya untuk Industri Game akan dengan
Komputer Controlled karakter Lawan berperilaku realistis dan dapat belajar dan beradaptasi daripada
tekstur resolusi hanya lebih dan lebih frame per detik. bidang masalah utama adalah untuk
menghasilkan AI yang belajar secara online yaitu memungkinkan permainan untuk beradaptasi nya gaya
bertarung pertengahan permainan jika Manusia-pemain memutuskan untuk mencoba teknik baru.
Sebuah teknik baru disebut Dynamic Scripting berhasil diberkahi Komputer Controlled Lawan dengan
kinerja Adaptive. Scripting dinamis telah terbukti sukses untuk CRPGs (Spronck, 2003), tetapi belum
untuk Memerangi permainan. Seperti yang kita harapkan bahwa itu berlaku untuk Melawan permainan,
kami memutuskan untuk fokus pada ini untuk penelitian kami.
Soal pernyataan: "Untuk Apa Luas Dinamis Scripting Teknik Bisa Peningkatan, Dalam Rangka
Meningkatkan Perilaku Adaptive Komputer-Player Memerangi Games".
Pemain adalah istilah yang digunakan untuk menunjuk manusia bermain game komputer.
Avatar adalah representasi permainan "s dari pemain.
Game World adalah jagad maya di mana permainan berlangsung.
Permainan Objects adalah benda-benda yang muncul dalam permainan komputer. objek permainan
dapat menjadi aktif atau reaktif. Aktif berarti bahwa objek aktif dapat melakukan tindakan pada dirinya
sendiri atau pada dunia game. Reaktif berarti bahwa objek tidak dapat dengan sendirinya melakukan
tindakan, tetapi hanya bereaksi sebagai efek dari suatu tindakan.
Karakter adalah objek permainan aktif yang terletak di dunia game.
Non-pemain Karakter adalah mereka karakter yang berpartisipasi dalam permainan "s tema. Mereka
dianggap sebagai karakter sisi dalam permainan.
Peserta adalah objek permainan aktif yang berperan pemain.
Dukungan rutin adalah perangkat lunak yang membantu pemain dalam bermain game.
Game AI adalah istilah yang digunakan untuk menggambarkan industri game komersial "s metode untuk
mengendalikan objek permainan aktif. Game AI termasuk metode yang menciptakan dunia yang
dihasilkan otomatis menarik dan membuat menentang peserta dan karakter untuk pemain untuk
menghadapi dalam permainan. Dalam pencarian kami untuk lingkungan yang sesuai, kami mengambil
daftar berikut persyaratan ke rekening:

1. The game environment required being easily accessible and changeable.


2. The game environment should include a scripting language, preferably with a sophisticated AI API, able to
support learning techniques.
3. Preferably experiments in the environment should be fast.
4. The game environment must be state-of-the-art in terms of game play, meaning that game will have to incorporate
non-trivial AI. Here for this research we opted to build own game in java for implementing Dynamic Scripting in
Fighting games.
3.1 Design description of Battle City Game
Aim of the proposed system is to successfully implement reinforcement learning using Dynamic Scripting in Java
Game specifically created to show the learning process.

1. lingkungan game diperlukan menjadi mudah diakses dan dapat berubah.


2. lingkungan game harus mencakup bahasa scripting, sebaiknya dengan API AI canggih,
mampu mendukung teknik pembelajaran.
3. Lebih disukai percobaan di lingkungan harus cepat.
4. lingkungan game harus state-of-the-art dalam hal bermain game, yang berarti game yang harus
menggabungkan non-sepele AI. Berikut untuk penelitian ini kami memilih untuk membangun
permainan sendiri dalam java untuk menerapkan Dinamis Scripting di game Fighting.
3.1 Desain deskripsi Pertempuran Kota permainan
Tujuan dari sistem yang diusulkan adalah untuk berhasil menerapkan pembelajaran penguatan
menggunakan Dynamic Scripting di Game Java khusus diciptakan untuk menunjukkan proses
pembelajaran.

Figure 2: Battle City Game


3.2 Battle City Game Terminology
In this Java Game we have three enemy tanks that move in their specified zone and only attack when the Player
tank enters their zone. The Game consists of three Stages. In first stage the game EnemyTank learn about
Explosions Position and next time when the player detected at that position, the EnemyTank attack the Player.

Gambar 2: Pertempuran Kota permainan


3.2 Pertempuran Kota permainan Terminologi
Dalam Game Java ini kami memiliki tiga tank musuh yang bergerak di zona mereka ditentukan
dan hanya menyerang ketika tangki Pemain memasuki zona mereka. Game terdiri dari tiga
Tahapan. Pada tahap pertama permainan EnemyTank belajar tentang Ledakan Posisi dan waktu
berikutnya ketika pemain terdeteksi pada posisi itu, serangan EnemyTank Player.
Figure 3: Transitions between the various game states
Java Battle City Game is quite simple like firstly start the battle game then the player enters the decision stage i.e.
game strategies, explosion etc. and the start searching for enemy. After the enemy is spotted, it makes a transition to
attack state where it fires bullets at enemy.

Gambar 3: Transisi antara berbagai negara permainan


Java Pertempuran Kota permainan cukup sederhana seperti pertama memulai permainan pertempuran
maka pemain memasuki tahap keputusan yaitu strategi permainan, ledakan dll dan awal mencari musuh.
Setelah musuh adalah melihat, itu membuat transisi untuk menyerang negara di mana kebakaran peluru
musuh.
Gambar 4: Analyzer Diagram Activity Thread

The Activity Analyzer generates rules based on the explosion i.e. it sense the position at which the enemy was killed
as that particular position including margin is added to the dangerous Zone and that specific Rule is added to the
Rule-List.
Kegiatan Analyzer menghasilkan aturan berdasarkan ledakan yaitu itu merasakan posisi di mana musuh
tewas sebagai posisi tertentu termasuk marjin ditambahkan ke Zona berbahaya dan bahwa Peraturan
tertentu ditambahkan ke Peraturan-Daftar.

Figure 5: Learning Process State diagram


3.3 Automatically Generated Tactics in Battle City
Reinforcement algorithm technique is used for automatically generating knowledge bases for dynamic scripting.
Reinforcement algorithm searches for strategies which can defeat specific opponent strategies.
Reinforcement Learning is a type of Machine Learning that allows machines to automatically determine the ideal
Strategy, i.e. to maximize the performance of the system. The feedback process is necessary to use in this type of
learning because the agent have to learn its behavior, and this is basically known as the reinforcement signal.
Like in AI games robot player repeatedly observes the state of its environment, and then chooses and performs an
action in the standard framework of reinforcement learning. The respective action performed can changes the state
of the world, and the agent also obtains an immediate numeric result. Positive outputs are rewards and negative
outputs are punishments. The agent must learn to choose actions so as to maximize the future results it will receive.
Like in AI gaming the Bot player will be able to choose preventive actions as it learns from the agent's behavior.
Dynamic scripting is an unsupervised reinforcement online learning technique for commercial computer games.

Gambar 5: Proses Pembelajaran diagram Negara


3.3 Taktik Generated otomatis di Battle Kota
Teknik algoritma penguatan digunakan untuk secara otomatis menghasilkan basis pengetahuan untuk
scripting dinamis. algoritma penguatan mencari strategi yang dapat mengalahkan strategi lawan
tertentu.
Penguatan Belajar adalah jenis Machine Learning yang memungkinkan mesin untuk secara otomatis
menentukan Strategi yang ideal, yaitu untuk memaksimalkan kinerja sistem. Proses umpan balik yang
diperlukan untuk digunakan dalam jenis ini belajar karena agen harus belajar perilaku, dan ini pada
dasarnya dikenal sebagai sinyal penguatan.
Seperti di AI game robot pemain berulang kali mengamati keadaan lingkungannya, dan kemudian
memilih dan melakukan tindakan dalam rangka standar pembelajaran penguatan. Tindakan masing
dilakukan bisa mengubah keadaan dunia, dan agen juga memperoleh hasil numerik langsung. output
positif imbalan dan output negatif hukuman. agen harus belajar untuk memilih tindakan sehingga dapat
memaksimalkan hasil di masa mendatang akan menerima. Seperti di AI game player Bot akan dapat
memilih tindakan preventif karena belajar dari perilaku agen.
scripting dinamis adalah penguatan teknik pembelajaran online tanpa pengawasan untuk game
komputer komersial.

It maintains several rule-bases, one for each opponent type in the game. These rule-bases are used to create new
scripts that control opponent behavior every time a new opponent is generated. The probability that a rule is
selected for a script is influenced by a weight value that is associated with each rule. The release adapts by
changing the weight values to reflect the success or failure rate of the corresponding rules in scripts. The size of the
weight changes is determined by a weight-update function. Figure 6 describe the dynamic scripting for a Combat
game.

Ia memelihara beberapa aturan-basa, satu untuk setiap jenis lawan dalam permainan. Aturan-basis ini
digunakan untuk membuat script baru yang mengendalikan perilaku lawan setiap kali lawan baru
dihasilkan. Probabilitas bahwa aturan dipilih untuk naskah dipengaruhi oleh nilai bobot yang terkait
dengan setiap aturan. Rilis beradaptasi dengan mengubah nilai bobot untuk mencerminkan keberhasilan
atau kegagalan tingkat aturan yang sesuai dalam skrip. Ukuran dari perubahan berat badan ditentukan
oleh fungsi berat-update. Gambar 6 menggambarkan scripting dinamis untuk permainan Tempur.
Figure 6. Flow of Dynamic Scripting
IV. EXPERIMENTAL RESULTS
In this Paper we have compared the Simple game with Dynamically generating Script Game AI in Battle City Java
game. Key issues with any learning techniques is setting various parameters, which in case of Reinforcement-
learning are Zone Impact( ), Self Defense( ), and Impact Factor( ) . Zone Impact calculated to determine the
strength of attack.
Algorithm 1: Zone Impact Factor Calculation Algorithm

Gambar 6. Alur Dinamis Scripting


IV. HASIL PERCOBAAN
Dalam Kertas ini kami telah membandingkan permainan sederhana dengan dinamis menghasilkan Script
Game AI dalam game Pertempuran Kota Jawa. isu-isu kunci dengan teknik pembelajaran adalah
pengaturan berbagai parameter, yang dalam kasus Penguatan-learning adalah Zona Dampak (), Self
Defense (), dan Faktor Dampak (). Zona Dampak dihitung untuk menentukan kekuatan serangan.
Algoritma 1: Faktor Dampak Zona Perhitungan algoritma

1. Set Count=0;
2. For i=1 to N
3. If x <= xi+10 or x >= xi-10
4. Count++;
5. End if
6. End for
7. impactfactor = Count;
8. return impactfacot

Self Defense automatically fire the bullet when the Player enters the dangerous Zone calculated thought
reinforcement learning.
Algorithm 2: Self Defense Automated

Pertahanan Diri otomatis menembakkan peluru ketika pemain memasuki berbahaya Zona dihitung
pemikiran penguatan pembelajaran.
Algoritma 2: Pertahanan Diri Automated

1. Set inDanger = false;


2. For i=1 to N
3. If x <= x+10 or x >= x-10

4. inDanger=true;
5. Break;
6. End if
7. End for
8. If(inDanger)
9. ImpactFactor = calculateImapact(x,y)
10. Fire(Impact Factor)
11. End if

Impact Factor Respective Firing


Algorithm 3: Fire (ImpactFactor)

Faktor Dampak Masing-masing Firing


Algoritma 3: Api (Factor Impact)

1. For i=1 to ImpactFactor


2. fire;
3. End for

Firstly in Simple Non-AI Game the player is learning nothing and as it moves to next stage, the intelligence of the
player is same and the chances of losing the game with proceeding further is increased. And due to that the Player is
easily get defeated.
Static Experiment
The static AI is used in game with no Online-Learning. In static Script case all levels are priory set and maps have
already been processed. During the game three playing factors are taken into consideration i.e. Movement,
Direction, and Fire. So Enemy Hit depends upon on these three factors.
Static Experiment Result
The static scripted Player fought the standard game enemies. So here we evaluate two factors i.e IntelligenceFactor
and FireActionTime. So in case of Static Script Experiment IntelligenceFactor is Zero as the Game is learning
nothing new tactics and FireActionTime will be high as Player has to manually fire when it enters the dangerous
zone.
Dynamic Experiment
In Dynamic game AI the Player Online-learn tactics of game play. So here the Player learn as they go through the
levels. So IntelligenceFactor is calculated as the Player learns more and more from its dynamically created
Explosion rules.
IntelligenceFactor = Impact Factor / [ Movemement + Direction + Fire ]

Pertama di Wikipedia Non AI-Game pemain adalah belajar apa-apa dan ketika bergerak ke tahap
berikutnya, kecerdasan pemain adalah sama dan kemungkinan kehilangan permainan dengan
meneruskan lebih lanjut meningkat. Dan karena bahwa Player mudah mendapatkan dikalahkan.
Percobaan statis
Statis AI yang digunakan dalam permainan tanpa online-Learning. Dalam hal Script statis semua
tingkatan adalah set biara dan peta sudah diproses. Selama permainan tiga faktor bermain
dipertimbangkan yaitu Gerakan, Arah, dan Api. Jadi Musuh Hit tergantung pada tiga faktor ini.
Statis Percobaan Hasil
Statis scripted Pemain berjuang musuh permainan standar. Jadi di sini kita mengevaluasi dua faktor mis
IntelligenceFactor dan FireActionTime. Jadi dalam kasus Static Script Percobaan IntelligenceFactor adalah
nol sebagai Game adalah belajar apa-apa taktik baru dan FireActionTime akan tinggi sebagai Pemain
harus secara manual api ketika memasuki zona berbahaya.
Percobaan dinamis
Dalam permainan dinamis AI Player online-belajar taktik bermain game. Jadi di sini Player belajar saat
mereka pergi melalui tingkat. Jadi IntelligenceFactor dihitung sebagai pemain belajar lebih banyak dan
lebih dari aturan ledakan yang dibuat secara dinamis.
IntelligenceFactor = Faktor Dampak / [Mobilitas + Direction + Api]

Here, Impact Factor is incremented as the Player learns during its hitting the enemy. As Impact Factor is more
than zero the Player learns and FireAction is performed automatically when the Player enter the Danger Zone.
Dynamic Experiment Result
Here the Player learns smartly through Reinforcement Learning and the Player gets better as it moves to next
Stage. So in case of Dynamic Script Experiment IntelligenceFactor is more than Zero as the Game is learning new
tactics and FireActionTime will be small as Player need not to manually fire when it enters the dangerous zone
beside fire is automatically fire when AI sense that the Player is entered the dangerous zone.

Di sini, Faktor Dampak bertambah sebagai belajar Player selama nya memukul musuh. Sebagai Faktor
Dampak lebih dari nol Player belajar dan FireAction dilakukan secara otomatis ketika pemain memasuki
Zona Bahaya.
Dinamis Percobaan Hasil
Berikut Player belajar cerdas melalui Penguatan Belajar dan pemain akan lebih baik ketika bergerak ke
Tahap berikutnya. Jadi dalam kasus Dinamis Script Percobaan IntelligenceFactor lebih dari Nol sebagai
Game adalah belajar taktik baru dan FireActionTime akan menjadi kecil sebagai Pemain tidak perlu
secara manual api ketika memasuki zona berbahaya di samping api secara otomatis api ketika akal AI
yang pemain yang dimasukkan zona berbahaya.
Figure 7. BattleCite Game
Player in South-West Zone:
At start when the game is just started the FireActionTime is high as the Player has to hit manually.
IntelligenceFactor (IF) will be:
IF= ImpactFactor / 3 ;
Intially ImpactFactor is Zero;
So, IF= 0/3 = 0
Now when the Player Kill One Enemy then,
IF= 1/3 = 0.33
So after killing one Enemy the Rule 1 is generated with Dangerous Zone detection with position x and y. Now after
killing TWO Enemy then,
ImpactFactor= 2/3 = 0.66
Figure 8. Rule Formulation
So after killing Second Enemy a one more Rule 2 will be generated describing the Second dangerous Zone. So the
more we kill enemy tank the more our Intelligence factor increase and thereby more Dangerous Zone is detected
by Player.

Gambar 8. Peraturan Formulasi


Jadi setelah membunuh kedua Musuh yang lebih Aturan 2 akan dihasilkan menggambarkan Zona
berbahaya Kedua. Jadi semakin kita membunuh tank musuh lebih kami peningkatan faktor Intelijen dan
Zona demikian lebih berbahaya terdeteksi oleh Player.
Figure 9. Dangerous Zone Detection
V. CONCLUSION
From the survey and self observations, it is concluded that the adaptive AI in Battle City certainly added some value
to the game. It made the Artificial Intelligence seem more intelligent to the player, and slightly increased the game-
play. One of the goals of this paper was to help realize the practicality of machine learning in game AI. The fact that
Battle City used four adaptive Artificial Intelligence models in various ways and that the Artificial Intelligence system
and the game as a whole were enhanced because of it, shows that machine learning can, and should be a major
consideration in the design of a video game AI system.

Gambar 9. Berbahaya Zona Deteksi


V. KESIMPULAN
Dari pengamatan survei dan mandiri, dapat disimpulkan bahwa AI adaptif di Kota Pertempuran pasti
ditambahkan beberapa nilai ke permainan. Hal itu membuat Artificial Intelligence tampak lebih cerdas
untuk pemain, dan sedikit meningkatkan game-play. Salah satu tujuan dari makalah ini adalah untuk
membantu mewujudkan kepraktisan mesin belajar dalam permainan AI. Fakta bahwa Pertempuran Kota
menggunakan empat model Artificial Intelligence adaptif dalam berbagai cara dan sistem Artificial
Intelligence dan permainan secara keseluruhan yang ditingkatkan karena itu, menunjukkan bahwa
pembelajaran mesin dapat, dan harus menjadi pertimbangan utama dalam desain video permainan
sistem AI.