IMPLEMENTASI ADAPTIVE AI UNTUK UNIT BEHAVIOUR DALAM TURN BASED STRATEGY BATTLE SYSTEM PADA MMORPG MALING HUNTER

dokumen-dokumen yang mirip
IMPLEMENTASI ADAPTIVE AI UNTUK UNIT BEHAVIOUR DALAM TURN BASED STRATEGY BATTLE SYSTEM PADA MMORPG MALING HUNTER

Penerapan Algoritma A* Untuk Pencarian Rute Terdekat Pada Permainan Berbasis Ubin (Tile Based Game)

PERANCANGAN GAME TURN BASED STRATEGY MENGGUNAKAN LOGIKA FUZZY DAN NAIVE BAYES CLASSIFIER

Implementasi Artificial Intelligence pada game Defender of Metal City dengan menggunakan Finite State Machine

VIDEO GAME SEJARAH KERAJAAN MAJAPAHIT BERBASIS TACTICAL ROLE-PLAYING GAME SKRIPSI MUHAMMAD KURNIAWAN WIDHIANTO

PERANCANGAN GAME TURN BASED STARATEGY MENGGUNAKAN LOGIKA FUZZY UNTUK MENGATUR PERILAKU MUSUH

BAB I PENDAHULUAN. 1.1 Latar Belakang

Implementasi Pohon Keputusan untuk Menganalisa Desain Sistem Battle pada Game Brightsouls

Pengaplikasian Pohon dalam Mekanisme Pengambilan Skill Game Dota 2

BAB 1 PENDAHULUAN. Semakin berkembangnya teknologi pada era ini telah membuat banyak

Algoritma Greedy untuk Pengambilan Keputusan pada Battle Game Pokemon

BAB III ANALISA DAN PERANCANGAN

Penggunaan Pohon Biner dalam Binary Space Partition untuk Membuat Dungeon Game Roguelike RPG

BAB I PENDAHULUAN. 1.1 Latar Belakang

DISTRIBUSI DAN SINKRONISASI DATA PADA GAME MMO MALING HUNTER MENGGUNAKAN UNITY3D NETWORK API

BAB I PENDAHULUAN Latar belakang

BAB 2 LANDASAN TEORI

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

Penerapan Kombinatorial dan Penggunaan Pohon Keputusan pada Role Jungler dalam Permainan League of Legends

APLIKASI GAME EDUKASI BOOK OF PHANTASM DENGAN MENGGUNAKAN UNITY3D UNTUK MENINGKATKAN FREKUENSI BELAJAR

Pembuatan Turn Based Strategy Role Playing Game Menggunakan Unity Game Engine

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

SEMINAR TUGAS AKHIR PERIODE JANUARI Kata Kunci: XNA, Game, Flex-Linear-Motion Battle System.

BAB III ANALISIS. III.1 Gambaran Global MMORPG

BAB 1 PENDAHULUAN 1.1 Latar Belakang

ARTIFICIAL INTELEGENCE ALGORITMA A* (A STAR) SEBAGAI PATHFINDING ENEMY ATTACK PADA GAME TRASH COLLECTION

PERANCANGAN DAN IMPLEMENTASI ARTIFICIAL INTELLIGENCE PADA GAME STRATEGY TURN-BASED ROLE PLAYING GAME MENGGUNAKAN ALGORITMA A*

PROTOTIPE GAME MAZE CHASER DENGAN ALGORITMA A*

Calyptra: Jurnal Ilmiah Mahasiswa Universitas Surabaya Vol.5 No.1 (2016) Pembuatan Aplikasi Game Shape Master

BAB III ANALISIS DAN PERANCANGAN SISTEM

Kompleksitas Algoritma A* Pada Implementasi PassiveAI Untuk Game Mobile AI

Aplikasi Shortest Path dalam Strategy Game Mount & Blade: Warband

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

ABSTRAK. Kata kunci: Kartu, Domino, Poin, Smartphone, Android

Pengaturan Perilaku Pasukan Non Player Character menggunakan metode Flocking Behavior berbasis Agent pada permainan Real Time Strategy

Pembangunan Game First Person Shooter 3D Alien Hunter Berbasis Desktop Sidang Skripsi Refi Meisadri ( )

Copyright ATLANTICA. Asep Herman Suyanto

BAB 1 PENDAHULUAN Latar Belakang

ABSTRACT. Keyword : RPG, Flash, actionscript 3.0, elements concept, real world trading concept. Universitas Kristen Maranatha

KUESIONER SKRIPSI. Nama : Jenis Kelamin: L / P. Kelas : (Coret yang tidak perlu)

xiii TAKARIR Action : ActionScript : Android : Array : Attack : Background Music : Block Inventory : Battle System : Touchscreen : Controller :

Menerapkan Prinsip Greedy Dalam Bermain Digimon Card Battle

BAB 4 HASIL DAN PENELITIAN

Bab I PENDAHULUAN 1.1. Latar Belakang Masalah

Penggunaan Peluang dan Graf dalam Merancang Digital Game

APLIKASI GAME ONLINE MULTI GENRE BERBASIS FLASH

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

OPTIMISASI TOTAL TEMPUH NPC PADA RTS GAME MENGGUNAKAN HARMONY SEARCH ALGORITHM. Herti Miawarni 1* Jl. A. Yani 114, Surabaya 60231, Telp.

Perancangan Algoritma Greedy pada AI Permainan Turn Based Strategy

Penerapan Graf dan Pohon dalam Permainan Dota 2

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB III ANALISA DAN PERANCANGAN

2014 IMPLEMENTASI FUZZY LOGIC METODE MAMDANI UNTUK PENGEMBANGAN INTELLIGENT NON- PLAYER CHARACTER PADA GAME STRATEGY

Muttaqin 1, Atthariq 2, Mursyidah 3

Oleh : Afifudin Mahdan. Dosen Pembimbing 2 Umi Laili Yuhana, S.Kom.,M.Sc. Imam Kuswardayan, S.Kom.,M.T.

Perencanan Pembuatan Game Anime MMORPG dengan pendekatan Penjualan Item mall untuk Player

PENINGKATAN KECERDASAN COMPUTER PLAYER PADA GAME PERTARUNGAN BERBASIS K-NEAREST NEIGHBOR BERBOBOT

Penerapan Pohon Untuk Membantu Intelegensi Buatan Membuat Keputusan Pada Bot

BAB IV HASIL DAN UJI COBA

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Algoritma Greedy untuk AI dalam Permainan DotA

OPTIMASI PENCAPAIAN TARGET PADA SIMULASI PERENCANAAN JALUR ROBOT BERGERAK DI LINGKUNGAN DINAMIS

PERANCANGAN DAN IMPLEMENTASI GUIDE DOTA 2 PROFESIONAL BERBASIS ANDROID NASKAH PUBLIKASI. diajukan oleh Ozy Oktavianda

BAB IV IMPLEMENTASI DAN PENGUJIAN. Pada bab 4 ini akan dilakukan implementasi dan pengujian terhadap sistem.

BAB I PENDAHULUAN. Khususnya bermunculannya smartphone yang membantu pekerjaan manusia atau

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2010/2011

@UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pemrograman Game STMIK AMIKOM Purwokerto

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN. Dilihat dari perkembangan informasi saat ini, industri game sudah sangat

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah

Algoritma Pathfinding untuk Game

JURNAL TEKIK ITS Vol. 7, No. 1 (2018), ( X Print)

IMPLEMENTASI NON PLAYER CHARACTER PADA GAME PERTARUNGAN GALAH ASIN MENGGUNAKAN LOGIKA FUZZY

Pohon Keputusan dalam Pemrograman AI Pokemon Trading Card Game Online

LAMPIRAN-LAMPIRAN. Kuisioner Analisis User 1. Berapakah umur Anda? a. < 15 b c d e. > Anda pria atau wanita?

Rancang Bangun Modul Editor Ruangan dan Fitur Sosial pada Aplikasi Game Sosial Food Merchant Saga

Penerapan Graf dalam Game dengan Kecerdasan Buatan

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

Pemodelan Data pada Massively Multiplayer Online Role-Playing Game

IMPLEMENTASI AUTOMATED PATH DAN ROUTE FINDING UNTUK UNIT BEHAVIOR PADA REAL-TIME STRATEGY GAME DENGAN MENGGUNAKAN FUZZY LOGIC

UKDW BAB 1 PENDAHULUAN Latar Belakang

RANCANG BANGUN APLIKASI GAME KOCOK DADU PADA PLATFORM ANDROID DENGAN METODE LINIER CONGRUENTIAL GENERATOR (LCG)

BAB 2 LANDASAN TEORI

PENERAPAN ALGORITMA MONTE CARLO TREE SEARCH PADA PERMAINAN HALMA SKRIPSI VINCENTIUS

BAB I PENDAHULUAN. 1.1 Latar Belakang Penelitian

Permainan Trading Card Game Magic & Wizard Card Battle

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 4 IMPLEMENTASI DAN EVALUASI

Ronan Deovolenta Malelak

Aplikasi Game Strategi Menggunakan Metode Algoritma Genetika untuk Pembuatan Pasukan

BAB I PENDAHULUAN. 1.1 Latar Belakang

Implementasi Pohon Dalam Permainan Ragnarok Online Valkyrie Uprising

PENERAPAN MODIFIKASI ALGORITMA A* PATHFINDING DALAM GAME BALAP 3D BERBASIS MOBILE KOMPETENSI REKAYASA PERANGKAT LUNAK SKRIPSI

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

Transkripsi:

IMPLEMENTASI ADAPTIVE AI UNTUK UNIT BEHAVIOUR DALAM TURN BASED STRATEGY BATTLE SYSTEM PADA MMORPG MALING HUNTER Fitra Raditya Saputra 1, Imam Kuswardayan, S.Kom, M.T. 2 Jurusan Teknik Informatika, Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember, Surabaya Email: dith.ordinarypeople@gmail.com 1 ABSTRAK Dalam MMORPG (Massively Multiplayer Online Role Playing Game), umumnya terdapat sistem untuk melakukan pertarungan. Salah satu jenis pertarungan yang digunakan adalah Turn-Based Strategy (TBS). Dalam pertarungan tersebut selalu ada metode pencarian rute yang bisa dilewati oleh karakter ketika berjalan, dan metode yang umum digunakan adalah A* Pathfinding. Dalam sebuah pertarungan pasti ada kondisi melawan karakter yang dikendalikan oleh Artificial Intelligence (AI). Umumnya AI yang dibuat untuk game dengan genre ini tidak harus selalu menang agar pemain tetap bermain. AI yang dibuat harus bisa mengimbangi permainan yang dilakukan oleh pemain. Oleh karena itu aplikasi ini mengimplementasikan metode Adaptive Game AI untuk mengatur pergerakan karakter AI saat pertarungan sehingga bisa menyesuaikan diri dan mengimbangi aksi pemain. Metode adaptif yang digunakan adalah kalkulasi Evaluation Function dan Difficulty Adjusment. Dengan penggunaan metode adaptif AI, maka sistem AI bisa melakukan penyesuaian dengan arena pertarungan dan bisa memperkirakan seberapa besar tingkat keseimbangan permainan antara pemain dengan karakter AI ketika akan melakukan sebuah aksi. Sehingga aksi-aksi yang dilakukan karakter AI dalam sistem pertarungan yang menggunakan TBS bisa berjalan seimbang. Kata kunci : Turn-Based Strategy Games, Artificial Intelligence, Pathfinding, Evaluation Function, Difficulty Adjusment I. PENDAHULUAN Perkembangan teknologi yang pesat telah membawa perubahan pada pengembangan game yang ada, terutama game online. Salah satu jenis game yang banyak digemari adalah yang berjenis RPG (Role Playing Game), karena dimainkan secara online oleh orang banyak maka namanya menjadi MMORPG (Massively Multiplayer Online RPG). Dalam game dengan jenis tersebut pasti ada Artificial Intelligence (AI) yang dibuat untuk mengendalikan semua skenario dalam game, mulai skenario untuk pembuatan misi, jual-beli barang sampai pertarungan antar pemain. Salah satu jenis pertarungan yang bisa digunakan dalam game seperti ini adalah dengan cara Turn-Based Strategy (TBS). Pertarungan dilakukan secara bergantian dimana lawan yang dihadapi bisa sesama pemain atau karakter yang dikendalikan oleh AI (AI player). Salah satu AI yang digunakan adalah dengan adaptive AI. Dengan adanya AI tersebut maka AI player bisa menyesuaikan diri dengan keadaan battle sehingga bisa mengatur strategi untuk melakukan pertarungan yang seimbang melawan pemain. Metode adaptive AI yang digunakan dalam battle system game Maling Hunter ini adalah dengan kalkulasi Evaluation Function dan Difficulty Adjusment. Pembahasan dalam paper ini dibagi menjadi lima bab. Bab 1 adalah pendahuluan, yang telah dijelaskan di atas. Bab 2 adalah tinjauan pustaka yang mencakup Turn-Based Strategy Game, Game AI, Battle Statistic, Evaluation Function, dan Difficultty Adjusment. Bab 3 adalah penjelasan mengenai Gameplay dalam battle system Maling Hunter beserta penggunaan game AI di dalamnya. Bab 4 adalah uji coba fungsionalitas semua proses dalam battle system serta adaptive game AI yang diterapkan untuk pergerakan AI player dan uji coba non-fungsional. Terakhir bab 5 adalah kesimpulan yang diperoleh setelah melakukan uji coba. II. TINJAUAN PUSTAKA A. Turn-Based Strategy Game Turn-Based Strategy Game merupakan strategy game yang mengharuskan pemainnya hanya bisa berjalan pada saat gilirannya saja. Ketika gilirannya selesai maka pemain tersebut harus menunggu pemain lain atau AI player menyelesaikan gilirannya masing-masing, setelah itu pemain tersebut bisa menjalankan gilirannya lagi. Hal tersebut diulang terus-menerus sampai ada suatu kondisi yang telah terpenuhi, misalnya telah ada satu orang atau satu tim yang menang, atau permainan berakhir imbang. 1

Game AI menggunakan teknik-teknik kecerdasan buatan namun dengan penerapan yang lebih sederhana dikarenakan keterbatasan komputasi dan kemampuan penyimpanan data pada game. Secara sederhana umumnya game AI dapat digambarkan seperti model gambar 2. Pathfinding merupakan salah satu jenis game AI. Dalam model game AI proses pathfinding terletak di perbatasan antara decision making dan movement, seperti ditunjukkan pada gambar 3. Mayoritas pathfinding dalam game menggunakan algoritma A*. Gambar 1 Arsitektur AI Turn-Based Strategy Game Dalam tiap gilirannya pemain bisa melakukan satu atau lebih action yang disediakan dalam game tersebut. Umumnya tidak ada batasan waktu dalam tiap giliran sehingga pemain bisa memikirkan strategi yang digunakan dengan matang, tetapi ada beberapa game di genre ini yang menggunakan batasan waktu. Seperti pada game Maling Hunter ini yang menggunakan batasan waktu di setiap giliran pemainnya, agar tidak merugikan pemain lainnya, sebab game ini dimainkan secara online dengan orang banyak. Pada gambar 1 ditunjukkan arsitektur AI untuk Turn-Based Strategy Game yang terdiri dari tiga bagian utama yaitu movement, decision making, dan strategy. B. Game AI Artificial Intelligence (AI) atau kecerdasan buatan merupakan suatu program komputer yang bertindak dan berpikir seperti manusia dan juga bertindak dan berpikir secara rasional pada saat yang bersamaan. AI banyak digunakan di berbagai bidang, dan salah satunya digunakan dalam sebuah game yang biasa disebut Game AI. Game Artificial Intelligence (Game AI) merupakan suatu kecerdasan buatan yang digunakan dalam game untuk membuat unit-unit yang ada pada game dapat mengambil keputusan yang cerdas ketika pada game tersedia banyak pilihan untuk situasi tersebut, dan menghasilkan perilaku yang relevan, efektif dan berguna. Sehingga membuat game tersebut menjadi lebih seimbang dan sesuai dengan gameplay yang dirancang. Gambar 3 Letak pathfinding dalam game AI model A* didesain untuk pathfinding dari suatu titik ke titik lain dan tidak untuk mengatasi masalah shortest path pada graph, tetapi algoritma A* pasti menghasilkan sebuah rute dari titik awal ke titik tujuan, dengan asumsi titik tujuan tersebut benarbenar ada dan memang ada rute dari titik asal ke titik tujuan tersebut. A* menggunakan konsep graph dimana terdapat kumpulan node, yang merepresentasikan titik asal, tujuan, serta area untuk pencarian, dan edge, yang merepresentasikan jalan penghubung antar node. Flowchart pada gambar 4 menunjukkan alur proses A* pathfinding. Gambar 4 Flowchart A* pathfinding Gambar 2 Model Game AI 2

Proses A* pathfinding dimulai sistem dengan menerima input berupa node asal dan node tujuan setelah itu dilakukan pencarian rute dengan algoritma A*. Output yang dihasilkan ada dua kemungkinan yaitu ada rute atau tidak ada rute dari node asal ke node tujuan. Adaptive game AI adalah salah satu game AI yang mempunyai kemampuan untuk self-correction dan kreatifitas untuk menyesuaikan diri dengan keadaan sekitar sesuai dengan perubahan yang terjadi pada saat game berjalan. Dengan menggunakan adaptive game AI bisa menyebabkan banyak keadaan yang tidak terduga dan banyak faktor acak dalam gameplay, selain itu juga membuat gameplay menjadi lebih dinamis. Penggunaan adaptive game AI yang dibahas disini adalah yang menggunakan Evaluation Function dan Difficulty Adjusment. Sisi adaptif dari metode ini adalah kemampuan pemain yang dikontrol oleh AI untuk menyesuaikan level permainan dengan pemain yang dikontrol oleh manusia. Untuk melakukan penyesuaian, karakter AI perlu mengetahui skor yang diperoleh lawannya pada saat terakhir melakukan aksi dan kebiasaankebiasaan yang dilakukan pada saat battle atau battle statistic dari lawannya. C. Battle Statistic Battle statistic merupakan komponen pendukung dalam adaptive game AI yang digunakan dalam battle system Maling Hunter ini. Battle statistic digunakan untuk menyimpan statistik battle yang dilakukan pemain dengan AI player. Atribut battle statistic pemain yang disimpan ada beberapa poin seperti ditunjukkan pada tabel 1. Tabel 1 Model Game AI Atribut Keterangan Count jumlah battle yang terjadi antar karakter OwnerPlayer human player RefferencedEnemy AI player AtkHit jumlah attack sukses AtkMiss jumlah attack gagal AtkHitRate prosentase attack sukses AtkMissRate prosentase attack gagal NormalHit jumlah attack sukses yang normal CriticalHit jumlah attack sukses yang critical NormalHitRate prosentase attack sukses yang normal CriticalHitRate prosentase attack sukses yang critical SingleAtk jumlah serangan dengan target tunggal AreaAtk jumlah serangan dengan target banyak SingleAtkRate prosentase serangan target AreaAtkRate FleeSuccess FleeFail FleeSuccessRate FleeFailRate MeleeAtk RangeAtk MeleeAtkRate RangeAtkRate DamageOut DamageIn DamageOutRate DamageInRate OffSkill DefSkill OffSkillRate DefSkillRate D. Evaluation Function tunggal prosentase serangan target banyak jumlah flee sukses jumlah flee gagal prosentase flee sukses prosentase flee gagal jumlah serangan jarak dekat jumlah serangan jarak jauh prosentase serangan jarak dekat prosentase serangan jarak jauh jumlah damage yang dibuat jumlah damage yang diterima prosentase damage yang dibuat prosentase damage yang diterima jumlah penggunaan offense skill jumlah penggunaan defense skill prosentase penggunaan offense skill prosentase penggunaan defense skill Evaluation function adalah fungsi yang digunakan untuk melakukan kalkulasi dalam game AI. Evaluation function dalam adaptive game AI disini digunakan untuk menghitung skor yang dihasilkan oleh karakter di tiap gilirannya. Fungsinya adalah sebagai berikut :, = β EN,DS,δ c,x,y + γ EN,δ c,x,y C A : representasi set semua ally C E : representasi set semua enemy c : pemain (ally / enemy) dalam sebuah set β(en, DS, d) : fungsi untuk menghitung skor terhadap set enemy o EN : informasi tentang keadaan enemy o DS : damage score yang dihasilkan o d : jarak dari karakter d ke enemy γ (EN, d) : fungsi untuk menghitung skor terhadap set ally o EN : informasi tentang keadaan ally o d : jarak dari karakter d ke ally σ(c, x, y) : jarak dari karakter c ke tile(x, y) S(x, y) : skor yang dihasilkan jika bergerak ke tile(x, y) 3

Secara garis besar dapat disimpulkan bahwa evaluation function di atas berguna untuk menghitung prediksi skor yang dihasilkan jika karakter bergerak ke tile(x, y) dengan menggunakan informasi yang diperoleh dari set enemy dan set ally serta jarak ke tiap karakter yang ada dalam satu battle scene. Informasi tersebut berisi keadaan enemy atau ally saat karakter akan menjalankan gilirannya. Dalam evaluation function di atas terdapat dua fungsi utama untuk menghasilkan skor, yaitu fungsi untuk kalkulasi terhadap enemy (enemy function) dan fungsi untuk kalkulasi terhadap ally (ally function). Untuk kedua fungsi tersebut, baik untuk enemy maupun untuk ally, bisa dibagi lagi menjadi dua bagian yaitu global score dan position score. Global score adalah skor yang diperoleh akan bernilai sama untuk semua tile yang hendak dituju. Sedangkan position score adalah skor yang dipengaruhi dengan letak tile yang hendak dituju, sehingga nilainya bisa berbeda-beda tergantung letak tile. Enemy function merupakan bagian dari evaluation function yang berguna untuk melakukan kalkulasi terhadap set enemy jika karakter bergerak ke sebuah tile. Fungsinya adalah sebagai berikut : β EN,DS,δ c,x,y Rumus untuk menghasilkan enemy score di tiap tile adalah : gs = 10 * b * ((0.2 * DS) + (0.6 * DHP) + (0.2 * DF)) ps = dr * DDMG * C / ds ES = gs * ps gs : global score untuk semua tile yang bisa dituju b : bonus value hasil perbedaan job dan kalkulasi battle statistic yang diperlukan D S : perbandingan player stats D HP : perbandingan health poin D F : perbandingan player fitness ps : position score untuk tiap tile dr : nilai untuk arah serangan D DMG : perbandingan damage score yang mungkin bisa dihasilkan C : hasil kalkulasi battle statistic yang diperlukan ds : jarak dari tile ke enemy yang menjadi target ES : enemy score untuk sebuah tile yang sekaligus menjadi output dari enemy function Ally function merupakan bagian dari evaluation function yang berguna untuk melakukan kalkulasi terhadap set ally jika karakter bergerak ke sebuah tile. Fungsinya adalah sebagai berikut : γ EN,δ c,x,y Rumus untuk menghasilkan ally score di tiap tile adalah : gs = 10 * ((0.2 * DS) + (0.6 * DHP) + (0.2 * DF)) ps = 1 / ds AS = gs * ps AS : ally score untuk sebuah tile yang sekaligus menjadi output dari ally function. variable lain sama dengan yang ada di enemy function E. Difficulty Adjusment Difficulty Adjusment merupakan fungsi untuk menentukan seberapa bagus pergerakan yang akan dilakukan berdasarkan skor evaluation function untuk tile yang dipilih. Dengan menganalisa skor pemain yang bukan satu tim pada giliran sebelumnya, sistem ini bisa membuat pergerakan yang seimbang. Fungsinya adalah sebagai berikut :, = x,y Σ N E(x, y) : evenness score untuk tile(x, y) S AI (x, y) : AI score jika bergerak ke tile (x, y) S OP : skor yang dihasilkan oleh tim lain setelah giliran terakhir pemain yang satu tim dengan pemain yang sedang mendapat giliran. Harus dijumlahkan karena ada kemungkinan bisa lebih dari satu giliran dari tim lain tersebut. T : set dari giliran tim lain N : jumlah anggota dalam T Secara garis besar dapat disimpulkan bahwa rumus untuk menghitung evenness score di atas digunakan untuk menghitung seberapa besar tingkat keseimbangan jika karakter bergerak menuju sebuah tile/node yang dibandingkan dengan skor rata-rata dari pergerakan yang telah dilakukan oleh tim lain setelah pergerakan terakhir karakter yang satu tim. Nilai E positif berarti berada dalam posisi yang lebih bagus, begitu juga sebaliknya jika E negatif berarti berada dalam posisi yang lebih jelek. Jika nilainya nol berarti telah melakukan pergerakan yang seimbang. 4

III. GAMEPLAY Maling Hunter merupakan sebuah MMORPG yang dikembangkan untuk menyelesaikan tugas akhir. Dalam Maling hunter terdapat empat modul yang menjadi komponen penyusun. Empat modul tersebut adalah Gameplay engine, Battle system, Mission generator, dan Networking. Dari keempat modul tersebut, Battle system dan penggunaan adaptive AI dalam battle merupakan modul yang menjadi pembahasan di paper ini. Modul ini merupakan komponen untuk menangani proses battle yang terjadi dalam Maling Hunter. Segala aturan mengenai battle dan penggunaan adaptive AI dikendalikan oleh modul ini. Jenis battle dalam Maling Hunter ada tiga jenis yaitu random battle, mission battle, dan player versus player battle. Random battle adalah pertarungan yang terjadi secara acak antara pemain dibantu dengan dua karakter AI melawan tiga karakter AI sehingga jumlahnya berimbang. Penentuan karakter AI dalam random battle dilakukan secara acak juga. ng kedua adalah mission battle yaitu pertarungan yang terjadi di akhir misi yang berjenis battle, dimana seorang pemain bisa dibantu oleh pemain lain dalam dunia Maling Hunter untuk melawan karakter AI yang jumlahnya tergantung dengan misi yang diambil. Pemain lain yang bisa ikut battle mission adalah pemain yang sedang online, tidak sedang melakukan battle lain dan pemain tersebut sudah diajak oleh pemain yang mengambill misi. Penentuan karakter AI dalam mission battle sudah diatur dalam misi yang diambil, jadi tidak dilakukan secara acak. Dan yang terakhir adalah player versus player dimana pemain bisa menantang pemain lain yang sedang online dalam dunia Maling Hunter untuk melakukan battle satu lawan satu. Untuk game AI dalam battle digunakan metode adaptive AI yang bisa membuat karakter AI melakukan pembelajaran terhadap kebiasaan lawannya sehingga membuat pertarungan menjadi seimbang, sebab sisi adaptive yang diangkat adalah sebisa mungkin membuat level pertarungan antara karakter AI dengan pemain menjadi seimbang. Semua itu dirangkum dalam sebuah battle system yang berbasis Turn-Based Strategy Game, dan diimplementasikan dalam bentuk 3D menggunakan game engine Unity3D. Setiap pemain, baik itu human player maupun AI player, dalam battle system mempunyai aksi yang sama dalam setiap gilirannya. Aksi aksi yang bisa dilakukan oleh pemain adalah : Bergerak menuju suatu titik dalam arena pertarungan yang menggunakan tile based map. (Move). Pencarian rute yang ditempuh menggunakan A* pathfinding. Menyerang pemain lain, baik itu teman maupun lawan, menggunakan serangan default berdasarkan job pemain. (Attack). Menggunakan item yang dimiliki untuk diri sendiri atau pemain lain, bisa teman atau lawan. (Using item). Menggunakan jurus lain yang dimiliki untuk menyerang atau menolong pemain lain, bisa teman atau lawan. (Using skill). Menentukan arah pandangan ke salah satu arah dari empat arah yang disediakan. (Set direction). Melarikan diri dari arena pertarungan (Flee). Aksi ini hanya bisa dilakukan oleh human player, dan itupun terbatas hanya pada saat random battle. Selain itu aksi flee tidak diperbolehkan. Flowchart pada gambar 5 menunjukkan urutan aksi yang bisa dilakukan tiap pemain ketika gilirannya. Battle system Pilih aksi yang akan dilakukan Kalkulasi untuk melarikan diri Flee sukses Meninggalkan arena battle Aksi flee Jika belum aksi move Lakukan aksi terhadap target Mulai Jika giliran AI player Aksi move Aksi dengan target (attack, using skill, using item) Aksi Set direction Update skor AI dan battle statistic dari aksi yang dilakukan Selesai Berjalan ke node tujuan Jika belum aksi dengan target Tentukan direction yang baru Gambar 5 Flowchart Battle System Kalkulasi AI untuk memilih aksi-aksi yang akan dilakukan Simpan semua aksi ke dalam list Daftar aksi yang akan dilakukan Eksekusi semua aksi dalam list Dari flowchart tersebut bisa dilihat bahwa tiap pemain hanya bisa melakukan satu kali move dan satu kali attack, using item, atau using skill. Setelah itu pemain harus melakukan set direction untuk mengakhiri giliran dan berganti giliran ke pemain selanjutnya. Untuk melakukan flee pemain hanya bisa melakukannya pada saat awal gilirannya, jika sukses maka pemain akan meninggalkan arena battle, tetapi jika gagal maka gilirannya habis dan ganti giliran ke pemain selanjutnya. Jika giliran AI player maka sistem yang akan melakukan kalkulasi untuk menentukan daftar aksi yang akan dilakukan. Semua aksi disimpan ke dalam list untuk kemudian dieksekusi oleh AI player. Pada gambar 6 flowchart proses penentuan aksi-aksi apa saja yang akan dilakukan oleh AI player dimulai dengan pengambilan data-data mengenai informasi keadaan tim enemy, informasi 5

keadaan tim ally, skor terakhir hasil aksi yang dilakukan tim enemy, dan battle statistic antara AI player dengan human player. Setelah memperoleh semua data maka AI akan melakukan kalkulasi untuk memilih healing state atau adaptive state. Jika memilih healing state maka AI player akan mencari player yang akan disembuhkan. Jika memilih adaptive state maka AI player harus melakukan kalkulasi skor untuk semua node yang ada di dalam movement area dengan menggunakan Evaluation Function dan Difficulty Adjusment. Setelah tahap state di atas selesai maka AI player harus melakukan aksi set direction untuk menentukan direction yang baru dan mengakhiri giliran dan berganti giliran ke pemain selanjutnya. Gambar 6 Flowchart untuk Adaptive AI Setelah kalkulasi AI selesai, semua aksi tersebut disimpan ke dalam sebuah list yang selanjutnya akan dieksekusi. Selama proses eksekusi sudah tidak ada lagi kalkulasi, sebab semua aksi dan efek dari aksi tersebut sudah disimpan di dalam list. ng terjadi saat eksekusi hanya animasi dari karakter yang menunjukkan aksi yang ada di dalam list. Jadi selama kalkulasi AI tidak ada pergerakan sama sekali dari karakter, semuanya masih berupa perkiraan bergerak ke node mana, target mana yang diserang, atau target mana yang disembuhkan. Semua pergerakan baru dilakukan semua di akhir kalkulasi. Setelah semua aksi selesai dilakukan maka AI player akan melakukan update action score untuk timnya. Selain update action score, AI player juga melakukan update battle statistic antara dirinya sendiri dengan karakter lawan dimana semua itu akan digunakan oleh tim lawan dalam melakukan kalkulasi AI jika lawannya AI player juga. IV. UJI COBA Uji coba dibagi menjadi dua macam yaitu uji coba fungsionalitas dan non-fungsionali. Uji coba fungsionalitas dilakukan untuk melihat apakah fungsi-fungsi dasar aplikasi berjalan sebagaimana mestinya. Uji coba fungsionalitas meliputi semua use case yang dibuat. Sedangkan uji coba nonfungsional digunakan untuk memeriksa waktu eksekusi yang dibutuhkan ketika melakukan kalkulasi AI dan pathfinding, serta proses integrasi battle system ke dalam game Maling Hunter. Uji coba fungsionalitas meliputi uji coba proses move, attack, using skill, using item, set direction, flee, pathfinding, dan kalkulasi adaptive AI. Semua proses yang telah diuji coba berjalan lancar dan menghasilkan aksi sesuai yang diharapkan. Tabel 2 menunjukkan hasil uji coba untuk proses kalkulasi adaptive AI pada battle system. Untuk proses yang lain telah berhasil juga. Tabel 2 Hasil uji coba kalkulasi adaptive AI ID UJI-BS-08 Uji coba proses Kalkulasi Adaptive Nama AI Menguji proses kalkulasi adaptive AI Tujuan uji yang dilakukan oleh sistem untuk coba menghasilkan aksi-aksi yang dilakukan oleh AI player. Sistem mendapatkan input berupa daftar node dalam movement area, kondisi AI player, kondisi teman, Precondition kondisi lawan, statistik pertarungan, dan skor AI lawan untuk melakukan kalkulasi. Sistem melakukan kalkulasi movement area, menentukan state yang digunakan, menentukan node Skenario 1 tujuan, menentukan aksi lain yang dilakukan dan targetnya, menyimpan semua aksi ke dalam list, menyampaikan list ke AI player. Daftar node yang ada di movement area, kondisi AI player, kondisi terbaru lawan, kondisi terbaru teman, Input statistik pertarungan antara AI player dengan human player, dan skor AI dari pergerakan tim lawan Output yang diharapkan Hasil uji coba Postcondition List berisi aksi-aksi hasil kalkulasi AI yang akan dilakukan oleh AI player Kalkulasi selalu menghasilkan list yang berisi aksi-aksi yang akan dilakukan AI player. Setelah itu AI player mengeksekusi aksi yang diberikan dalam bentuk gerak animasi sesuai dengan aksi yang sedang dieksekusi. (Berhasil). Pemain melakukan semua aksi yang ada di dalam list. 6

Pada gambar 7 ditunjukkan AI player melakukan pergerakan pindah ke belakang target yang akan diserang lalu melakukan serangan dari belakang, sebab peluang untuk critical hit lebih besar dan peluang untuk miss lebih kecil daripada langsung menyerang dari depan. Untuk pengintegrasian battle system ke dalam game Maling Hunter telah berhasil dilakukan. Proses perpindahan dari scene dunia Maling Hunter ke scene arena battle berjalan lancar. Gambar 7 AI player menyerang dari belakang Pada gambar 8 AI player melakukan serangan dengan menggunakan skill. Sebab sistem mengetahui ada pemain dari tim lawan yang bergerombol. Dengan menyerang menggunakan skill maka pemain bisa menyerang beberapa target dalam satu kali serangan, maksimal lima target, dan bisa dilakukan dari jarak jauh, sehingga bisa menghasilkan damage yang lebih besar. Dengan demikian AI player sudah bisa melakukan aksi sesuai dengan kemampuannya dan keadaan arena battle. Jika keadaan berubah, maka aksi yang dilakukan juga akan berubah. Gambar 8 AI player menyerang menggunakan skill Hasil uji coba non-fungsionalitas untuk pathfinding waktu yang ditempuh kurang dari satu milidetik. Sedangkan untuk kalkulasi adaptive AI membutuhkan waktu antara 10 milidetik sampai 100 milidetik untuk menghasilkan sebuah list yang berisi aksi-aksi yang akan dilakukan oleh AI player. Gambar 9 Flowchart untuk Adaptive AI Besar kecilnya angka tersebut tergantung dari movement area AI player dan kalkulasi aksi yang akan dilakukan. Contoh waktu hasil eksekusi untuk kedua proses tersebut ditunjukkan pada gambar 9. Gambar 10 Counter sebelum masuk ke scene arena battle untuk random battle Gambar 10 menunjukkan hitungan mundur yang terjadi di dunia Maling Hunter untuk memulai random battle. Jika angkanya sampai nol maka pemain akan pindah scenee menuju arena battle melawan enemy yang dibuat secara acak dengan jumlah maksimal tiga enemy dan ditemani maksimal dua ally. Ada tiga cara untuk memasuki scene arena battle. Cara pertama seperti telah disebutkan pada gambar 10, cara kedua dengan mengundang pemain lain untuk melakukan player versus player battle, dan cara ketiga dengan berbicara ke NPC tertentu untuk melakukan mission battle. V. KESIMPULAN Sistem Artificial Intelligence yang digunakan dalam Maling Hunter sudah menerapkan Adaptive Game AI sehingga membuat AI player bisa mengimbangi strategi permainan yang dilakukan oleh pemain dan bisa menyesuaikan diri dengan keadaan arena battle. Battle system dalam Maling Hunter menggunakan Turn-Based Strategy dan bisa dimainkan secara multiplayer bersama pemain lain untuk mission battle dan player versus player battle. Sedangkan untuk random battle hanya melawan AI player dan dibantu oleh AI player juga. Proses pathfinding dalam battle system pasti menghasilkan sebuah rute, sebab node asal dan tujuan selalu berada di dalam movement area. Semua aksi yang tersedia dalam battle system bisa bekerja dengan baik sesuai dengan fungsinya ketika diintegrasikan ke dalam game Maling Hunter. DAFTAR PUSTAKA [1] Millington, Ian, Artificial Intelligence For Games, 2006, Morgan Kaufmann Publishers, USA [2] M. Bourg, D., Seeman, G., AI for Game Developers, 2004, O Reilly Media Inc., USA [3] Potisartra, Kittisak, Kotrajaras, Vishnu, Towards an Evenly Match Opponent AI in Turn-based Strategy Games, Chulalongkorn University, Thailand 7