PRILAKU MELARIKAN DIRI NPC BERBASIS GAME RPG DENGAN MENGGUNAKAN METODE RULE-BASED MANAGEMENT
PRILAKU MELARIKAN DIRI NPC BERBASIS GAME
MANAGEMENT
1 Hardianto Wibowo 1) Jurusan Teknik Informatika, Fakultas Teknik Universitas Muhammadiyah Malang
Email : ardi@umm.ac.id Abstrak
Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan
ada yang kalah, biasanya game dimainkan dalam konteks tidak serius atau dengan tujuan refreshing.
Game dalam bahasa Indonesia berarti permainan, ada permainan tradisional yaitu permainan yang
dimainkan turun-temurun dari nenek moyang seperti petakumpet, gangsing dan lain-lain, ada juga
permainan modern yang dapat dibeli ditoko yang menyediakannya. Perkembangan teknologi yang
semakin maju di semua bidag khususnya pada dunia game, menjadikan teknologi game dapat
dimainkan di komputer atau dalam perangkat bergerak. Hal tersebut dapat memudahka dan sekaligus
menjadikan game lebih powerfull. Salah satu cara untuk menjadikan game menjadi lebih menarik
yaitu dengan menggunakan artificial intelligence (AI). Pada umumnya, algoritma diimplementasikan
di dalam sebuah game sebagai bentuk dari artificial intelligence (AI). Implementasi artificial
intelligence pada sebuah game dapat berupa chasing and evading, movement, pathfinding, maupun
decisions. Melarikan diri merupakan sebuah prilaku yang diangap perlu pada sebuah permainan agar
permaian tersebut menjadi menarik. Melarikan diri dapat juga disimpulkan sebagai kondisi untuk
mencari posisi yang lebih aman untuk bertahan ataupun menyerang. Melarikan diri bukan berarti
berlari keluar dari sebuah permaian, tapi lebih mengarah keluar dari kondisi yang membahayakan
NPC (non playing character) untuk menyusun strategi berikutnya, baik bertahan maupun menyerang.
Kata Kunci: Prilaku NPC, R u l e B a s e d , Game Pendahuluan
Perkembangan ilmu pengetahuan dan teknologi semakin lama kian pesat. Hal tersebut dapat kita lihat dan kita rasakan di sekeliling kita. Secara langsung maupun tidak langsung perkembangan tersebut tengah berdampak pada segala aspek kehidupan manusia, salah satunya pada dunia game.
Game adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang
dan ada yang kalah, biasanya game dimainkan dalam konteks tidak serius atau dengan tujuan refreshing. Game dalam bahasa Indonesia berarti permainan, ada permainan tradisional yaitu permainan yang dimainkan turun-temurun dari nenek moyang seperti petakumpet, gangsing dan lain- lain, ada juga permainan modern yang dapat dibeli ditoko yang menyediakannya. Perkembangan teknologi yang semakin maju di semua bidag khususnya pada dunia game, menjadikan teknologi game dapat dimainkan di komputer atau dalam perangkat bergerak. Hal tersebut dapat memudahka dan sekaligus menjadikan game lebih powerfull. Salah satu cara untuk menjadikan game menjadi lebih menarik yaitu dengan menggunakan artificial intelligence (AI).
Pada umumnya, algoritma diimplementasikan di dalam sebuah game sebagai bentuk dari
artificial intelligence (AI). Implementasi artificial intelligence di dalam karakter pada sebuah game
dapat membuat karakter tersebut memiliki perilaku cerdas. Karakter tersebut dapat berperilaku sesuai dengan yang terjadi di dunia nyata sehingga gameplay akan terlihat realistis. Selain itu, implementasi
artificial intelligence juga dapat membuat sebuah game semakin menantang, menarik, dan
menyenangkan untuk dimainkan. Implementasi artificial intelligence pada sebuah game dapat berupa maupun decisions.
chasing and evading, movement, pathfinding,
Melarikan diri merupakan sebuah prilaku yang diangap perlu pada sebuah permainan agar permaian tersebut menjadi menarik. Melarikan diri dapat juga disimpulkan sebagai kondisi untuk mencari posisi yang lebih aman untuk bertahan ataupun menyerang. Melarikan diri bukan berarti berlari keluar dari sebuah permaian, tapi lebih mengarah keluar dari kondisi yang membahayakan NPC (non playing character) untuk menyusun strategi berikutnya, baik bertahan maupun menyerang.
2. Pengertian Game
Game dalam bahasa Indonesia berarti permainan,permainan adalah kegiatan yang kompleks
yang didalamnya terdapat peraturan, play dan budaya. Ada permainan traditional yang merupakan permainan keturunan leluhur dan dimainkan turun-temurun seperti gangsing, petak umpet dan lain- lain, ada juga permainan modern yaitu permainan yang bisa didapatkan di toko yang menyediakannya. Permainan juga merupakan sebuah system, dan seorang pemain akan masuk ke dalam sebuah konflik buatan dengan peraturan sebagai pembatas untuk membatasi perilaku dan menentukan alur permainan. Tujuan dari permainan biasanya sebagai penyalur hobi, sebagai kegitan penghibur, dan juga refreshing, bahkan pada saat ini game juga dapat digunakan sebagai media pembelajaran.
Game bisa juga dikatakan sebagai sebuah aktivitas terstruktur, dan bisa dikarakteristikkan dari
apa yang pemain lakukan, contoh : Peralatan Contoh : Bola, Kartu, Papan, atau sebuah Komputer.
Peraturan Peraturan digunakan sebagai tata cara permainan meliputi giliran pemain, hak dan keharusan tiap- tiap pemain, dan tujuan permainan. Skill, Strategi, dan Keberuntungan
Game dengan skill, contohnya game catur, dimana diperlukan logika dan strategi untuk
memenangkannya. Game dengan keberuntungan contohnya bermain kartu, dimana bukan hanya teknik yang diperlukan, tapi juga keberuntungan. Single-Player Game (satu orang pemain) dan Multi-Player (lebih dari satu pemain)Jika Single-
, pemain harus bermain dengan keahlian, berpacu dengan waktu dan keberuntungan,
Player
sedangkan Multi-Player pemain diharuskan untuk menggunakan suatu strategi dan kekompakan sesama pemain, untuk mencapai tujuan tertentu atau sebaliknya pemain harus berlomba dengan pemain lainnnya untuk mencapai suatu tujuan.
Game sebenarnya sangat penting untuk perkembangan otak, karena dalam game terdapat
permasalahan, tantangan, dan kelincahan yang akan memicu kreatifitas seorang pemain untuk menyelesaikan atau melewati sebuah konflik yang ada. Tetapi game juga dapat merugikan jika di mainkan tanpa rasa tanggung jawab, karena jika seorang pemain yang sudah terlanjur kecanduan oleh
game mereka cenderung lupa waktu, menggangu aktifitas yang seharusnya dilakukan, dan bahkan
melalaikan kewajiban.Game dalam bahasa Indonesia berarti permainan,permainan adalah kegiatan yang kompleks
yang didalamnya terdapat peraturan, play dan budaya. Ada permainan traditional yang merupakan permainan keturunan leluhur dan dimainkan turun-temurun seperti gangsing, petak umpet dan lain- lain, ada juga permainan modern yaitu permainan yang bisa didapatkan di toko yang menyediakannya. Permainan juga merupakan sebuah system, dan seorang pemain akan masuk ke dalam sebuah konflik buatan dengan peraturan sebagai pembatas untuk membatasi perilaku dan menentukan alur permainan. Tujuan dari permainan biasanya sebagai penyalur hobi, sebagai kegitan penghibur, dan juga refreshing, bahkan pada saat ini game juga dapat digunakan sebagai media pembelajaran.
Game bisa juga dikatakan sebagai sebuah aktivitas terstruktur, dan bisa dikarakteristikkan dari
apa yang pemain lakukan, contoh : Peralatan Contoh : Bola, Kartu, Papan, atau sebuah Komputer.
Peraturan Peraturan digunakan sebagai tata cara permainan meliputi giliran pemain, hak dan keharusan tiap- tiap pemain, dan tujuan permainan. Skill, Strategi, dan Keberuntungan
Game dengan skill, contohnya game catur, dimana diperlukan logika dan strategi untuk
memenangkannya. Game dengan keberuntungan contohnya bermain kartu, dimana bukan hanya teknik yang diperlukan, tapi juga keberuntungan. Single-Player Game (satu orang pemain) dan Multi-Player (lebih dari satu pemain)Jika Single-
Player , pemain harus bermain dengan keahlian, berpacu dengan waktu dan keberuntungan, sedangkan Multi-Player pemain diharuskan untuk menggunakan suatu strategi dan kekompakan sesama pemain, untuk mencapai tujuan tertentu atau sebaliknya pemain harus berlomba dengan pemain lainnnya untuk mencapai suatu tujuan.
Game sebenarnya sangat penting untuk perkembangan otak, karena dalam game terdapat
permasalahan, tantangan, dan kelincahan yang akan memicu kreatifitas seorang pemain untuk menyelesaikan atau melewati sebuah konflik yang ada. Tetapi game juga dapat merugikan jika di mainkan tanpa rasa tanggung jawab, karena jika seorang pemain yang sudah terlanjur kecanduan oleh
game ,mereka cenderung lupa waktu, menggangu aktifitas yang seharusnya dilakukan, dan bahkan
melalaikan kewajiban.3. Rule Based
Sistem berbasis aturan (Rule Based System) adalah suatu program komputer yang memproses informasi yang terdapat di dalam working memory dengan sekumpulan aturan yang terdapat di dalam basis pengetahuan menggunakan mesin inferensi untuk menghasilkan informasi baru.
Sebuah Rule-Based System dapat dibentuk dengan menggunakan sebuah assertions set, yang secara kolektif membentuk working memory, dan sebuah rule set yang menentukan aksi pada assertions set. RBS secara relatif adalah model sederhana yang bisa diadaptasi ke banyak masalah. Namun, jika ada terlalu banyak peraturan, pemeliharaan sistem akan rumit dan terdapat banyak failure dalam kerjanya. Untuk membuat sistem berbasis aturan, anda harus memiliki : 1.
Sekumpulan fakta yang mewakili working memory. Ini dapat berupa suatu keadaan yang relevan dengan keadaan awal sistem bekerja.
2. Sekumpulan aturan. Aturan ini mencakup setiap tindakan yang harus diambil dalam ruang lingkup permasalahan yang dibutuhkan.
3. Kondisi yang menentukan bahwa solusi telah ditemukan atau tidak (none exist). Hal ini berguna untuk menghindari looping yang tidak akan pernah berakhir.
Teori sistem berbasis aturan ini menggunakan tekhnik yang sederhana, yang dimulai dengan dasar aturan yang berisi semua pengetahuan dari permasalahan yang dihadapi yang kemudian dikodekan ke dalam aturan IF-THEN dan sebuah tempat penyimpanan (basis data) yang mengandung data, pernyataan dan informasi awal. Sistem akan memeriksa semua aturan kondisi (IF) yang menentukan subset, set konflik yang ada. Jika ditemukan, maka sistem akan melakukan kondisi THEN. Perulangan atau looping ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu, jika aturan tidak diketemukan maka sistem tersebut harus keluar dari perulangan (terminate).
3.1 Pendekatan
Forward Chaining : dimana rules diproses berdasarkan sejumlah fakta yang ada, dan didapatkan konklusi sesuai dengan fakta-fakta tersebut. Pendekatan forward chaining disebut juga data driven. Backward Chaining : dimana diberikan target (goal), kemudian rulesyang aksinya mengandung goal di-trigger. Backward chaining ini cocok untuk menelusuri fakta yang masih belum lengkap, disebut jugagoal driven.
3.2 Strategi Rule-Base System
First Applicable : Ini adalah strategi yang paling sederhana tetapi berpotensi menimbulkan masalah besar, yaitu akan terjadinya looping yang tak terbatas pada kondisi yang sama. Random : Meskipun tidak menggunakan prediksi atau first applicable control, metode ini cukup memberikan keuntungan, yaitu dapat diprediksi (seperi game yang membutuhkan strategi). Sebuah strategi acak akan memilih aturan acak tunggal dari sebuah set konflik. Kemungkinan lain untuk strategi acak adalah dengan sistem berbasis aturan fuzzy (fuzzy rule based system) dimana masing-masing aturan memiliki probabilitas sebuah kondisi akan lebih mungkin terjadi daripada yang lainnya.
Most Spesific : Strategi ini berdasarkan pada jumlah kondisi aturan. Hal ini didasari pada asumsi jika ia memiliki sebagian besar kondisi maka memiliki relevansi ke data yang ada. Least Recently Used : Menyimpan data yang terakhir dipakai untuk selanjutnya dipakai kembali ke dalam permasalahan jika memang problem yang dihadapi sama.
4. Pengujian
4.1 Tingkah Laku Melarikan Diri
Tingkah laku melarikan diri pada game RPG adalah mencari titik aman untuk sebuah kondisi yang berbahaya untuk sebuah NPC. Ada banyak hal yang dapat mempengaruhi dari kondisi tersebut, berikut adalah aturan yang akan dipakai dalam game:
Kondisi Tindakan Lawan masuk dalam batas aman zona 1 NPC melawan dengan menembak seluruh musuh yang masuk dalam batas aman tersebut Lawan masuk dalam batas aman zona 2 NPC melawan dengan menembak seluruh musuh dan NPC bergerak menjauh dari jangkauan musuh. Nyawa NPC kurang dari 30 % NPC mencari tempat aman dari jangkauan musuh
Dari rule atau aturan dalam rule base ini dapat meningkatakan waktu hidup sebuah NPC. Aturan atau rule yang ada akan ditanam disetiap NPC dan pada tim pertahanan atau tim serang.
4.2 Trigonometri Dalam game ini terdapat beberapa implementasi rumus matematika terutama pada trigonometri.
Dalam penelitian ini trigonometri digunakan untuk menentukan perputan arah agen-NPC untuk mengara ke NPC target.
Dalam kondisi ini diasumsikan jika B adalah agen-NPC dan A adalah NPC target. Dengan koordinat A dan B diketahui. Dengan demikian B dapat menghitung berapa besar sudut yang diperlukan untuk membidik target A.
Dalam kasus lain juga dapat menggunakan rumus trigonometri pada selain segitiga siku- siku. Hal ini digunakan untuk menghitung jika ingin mengetahui 2 target sekaligus.
4.3 Implementasi Enemy
Fungsi dari enemy adalah musuh yang akan mengejar NPC, pada tahapan ini musuh akan di creat secara otomatis dengan jedah waktu 3 detik permusuh untuk level prajurit dan untuk level komandan sebesar 5 detik.
Untuk pergerakan enemy menggunakan Nav Mesh yang telah disediakan oleh game engine
4.4 Implementasi agen-NPC Fungsi NPC ini adalah untuk menerapkan algoritma rule-based managemen dalam game ini.
Kondisi perteama adalah bagaimana mendeteksi musuk dalam area yang telah kita tentukan, berikut adalah potongan programnya
double x; double y; x = Mathf.Sqrt( Mathf.Pow( Mathf.Sqrt (Mathf.Pow (player.position.x, 2)) - Mathf.Sqrt(Mathf.Pow (transform.position.x, 2)),2)); y = Mathf.Sqrt( Mathf.Pow( Mathf.Sqrt (Mathf.Pow (player.position.y, 2)) - Mathf.Sqrt(Mathf.Pow (transform.position.y, 2)),2));
rule berikutnya adalah implementasi dari rumus trigonometri
double sudut; sudut = Mathf.Asin (opposite / hipotenusa); Kesimpulan
Sebuah game adalah rangkaian dari algoritma penyusun yang dapat menyajiakan sebuah kesenangan pada pemain yang menggunakannya. Pada dasarnya game buka hanya rangkaian algoritma saja tapi lebih luas lagi, mulai dari desain karakter, map, sound, kontrol dan lain-lain pendukung game tersebut.
Dari psalah satu komponen game tersebut didapat sebuah kesimpulan, game akan lebih fun jika game yang dimainkan mendekati dengan kata real. Dengan implementasi metode rule-based management kata real dalam sebuah game akan semakin dekat. Hal ini dapat dibulihat dengan berjalannya semua kondisi pada rule yang kita buat dapat berjalan dengan baik.
Referensi
[1] McShaffry, Mike .2003.Game Coding Complete. Paraglyph Press [2] Eberly, David H. 2005. 3D Game Engine Architecture. Magic Software, Inc. [3] Sheldon, lee. 2005. Character Development and Story Telling. Permier Press. U